@reusa/ngx-reusa-app-lib 0.0.1371 → 0.0.1373

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.
@@ -1934,7 +1934,6 @@ export class AddEmployerComponent {
1934
1934
  this.logger.debug('recordIndexToEdit', this.recordIndexToEdit);
1935
1935
  this.logger.debug('this.validationService.bpEmpLstFrmService.getValue()', this.validationService.bpEmpLstFrmService.getValue());
1936
1936
  esm = this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.recordIndexToEdit];
1937
- console.log("esm", esm);
1938
1937
  qtrWageList = esm.wageAmountArray;
1939
1938
  this.customerName = esm.employerData.displayName;
1940
1939
  if (esm.employerData.tradeName) {
@@ -3162,7 +3161,7 @@ export class AddEmployerComponent {
3162
3161
  }
3163
3162
  }
3164
3163
  save() {
3165
- console.log('this.save.value', this.addEmployerForm);
3164
+ this.logger.debug('this.save.value', this.addEmployerForm);
3166
3165
  if (this.workFlag.value === 'N') {
3167
3166
  if (this.addEmployerForm.valid) {
3168
3167
  this.addEmployerForm.value.isEmployerEdited = true;
@@ -3723,4 +3722,4 @@ export class AddEmployerComponent {
3723
3722
  type: Output
3724
3723
  }] }); })();
3725
3724
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddEmployerComponent, { className: "AddEmployerComponent", filePath: "lib\\components\\add-employer\\add-employer.component.ts", lineNumber: 29 }); })();
3726
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVtcGxveWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUF3RixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsSSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFNcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBT2hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztJQ0ozRSwyQkFBK0I7SUFDN0IsWUFBOEQ7O0lBQUEsaUJBQU07OztJQUFwRSxlQUE4RDtJQUE5RCxnSEFBOEQ7OztJQUVoRSwyQkFBb0UsZUFBQTtJQUNsQyxZQUNoQztJQUFBLGlCQUFPLEVBQUE7OztJQUR5QixlQUNoQztJQURnQyw4REFDaEM7OztJQUVGLDJCQUFxRDtJQUNuRCxxQkFBSTtJQUNKLFlBQ0Y7O0lBQUEsaUJBQU07O0lBREosZUFDRjtJQURFLG9HQUNGOzs7SUFNUSwwQkFBZ0MsUUFBQTtJQUMzQixZQUE4QjtJQUFBLGlCQUFJLEVBQUE7OztJQUFsQyxlQUE4QjtJQUE5QixrREFBOEI7OztJQUluQywwQkFBZ0M7SUFDOUIsWUFDRjs7SUFBQSxpQkFBSzs7O0lBREgsZUFDRjtJQURFLHlFQUNGOzs7SUFSRiwwQkFBSTtJQUNGLCtGQUVLO0lBQ1AsaUJBQUs7SUFDTCwwQkFBSTtJQUNGLCtGQUVLO0lBQ1AsaUJBQUs7OztJQVJpQixlQUFVO0lBQVYscUNBQVU7SUFLVixlQUFVO0lBQVYscUNBQVU7OztJQVZ0QywrQkFBaUMsa0JBQUE7SUFHN0IsbUdBV2M7SUFDaEIsaUJBQVUsRUFBQTs7O0lBZEQsZUFBK0I7SUFBL0IscURBQStCLDBDQUFBOzs7SUFkNUMsK0JBQWdEO0lBQzlDLFlBQ0E7SUFBQSw0RUFDc0U7SUFDdEUscUJBQUk7SUFDSiw0RUFHTSwrREFBQSwrREFBQTtJQXNCUixpQkFBTTs7O0lBN0JKLGVBQ0E7SUFEQSxvREFDQTtJQUFNLGVBQXVCO0lBQXZCLCtDQUF1QjtJQUd2QixlQUE0RDtJQUE1RCw0RkFBNEQ7SUFJNUQsZUFBNkM7SUFBN0MsNkVBQTZDO0lBSS9CLGVBQVc7SUFBWCxtQ0FBVzs7O0lBbUJqQywrQkFBeUUsZ0JBQUE7SUFDakQsWUFBd0Q7O0lBQUEscUJBQU0sU0FBQTtJQUNsRixZQUE4RDs7SUFBQSxpQkFBUSxFQUFBOztJQURsRCxlQUF3RDtJQUF4RCxzRkFBd0Q7SUFDNUUsZUFBOEQ7SUFBOUQsc0dBQThEOzs7OztJQUdsRSwrQkFBaUQsZ0JBQUE7SUFDckIsWUFBc0Q7O0lBQUEsaUJBQVE7SUFDeEYsK0JBQW1DLHlCQUFBO0lBRy9CLGtNQUFpQixlQUFBLDBDQUFrQyxDQUFBLElBQUM7SUFBQyxpQkFBaUI7SUFDeEUsK0JBRXVCO0lBQ3pCLGlCQUFNLEVBQUE7Ozs7SUFSb0IsZUFBc0Q7SUFBdEQsb0ZBQXNEO0lBRXhCLGVBQStCO0lBQS9CLG9EQUErQixvQ0FBQTtJQUcxRSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQywyQ0FBc0IsYUFBQSx1Q0FBQTs7OztJQU0xRCwrQkFBK0UsZ0JBQUE7SUFDbkQsWUFBc0Q7O0lBQUEsaUJBQVE7SUFDeEYsK0NBQ29DO0lBRDRCLDJMQUFXLGVBQUEsMkJBQW1CLENBQUEsSUFBQyw4S0FDbEYsZUFBQSw2QkFBcUIsQ0FBQSxJQUQ2RDtJQUMzRCxpQkFBc0I7SUFDMUQsK0JBRWU7SUFDakIsaUJBQU07Ozs7SUFOc0IsZUFBc0Q7SUFBdEQsb0ZBQXNEO0lBQzNELGVBQTRCO0lBQTVCLGlEQUE0QjtJQUV0QyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQywyQ0FBc0IsYUFBQSxzQ0FBQTs7OztJQUt4RCwrQkFBeUYsZ0JBQUE7SUFDMUQsWUFBMEQ7O0lBQUEsaUJBQVE7SUFDL0YsK0NBQ3VDO0lBRDRCLDJMQUFXLGVBQUEsOEJBQXNCLENBQUEsSUFBQyw4S0FDeEYsZUFBQSxnQ0FBd0IsQ0FBQSxJQURnRTtJQUM5RCxpQkFBc0I7SUFDN0QsK0JBRWU7SUFDakIsaUJBQU07Ozs7SUFOeUIsZUFBMEQ7SUFBMUQsd0ZBQTBEO0lBQ2xFLGVBQStCO0lBQS9CLG9EQUErQjtJQUV6QyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyw4Q0FBeUIsYUFBQSxzQ0FBQTs7O0lBSzNELCtCQUFtRixnQkFBQTtJQUN0RCxZQUEyRDs7SUFBQSxpQkFBUTtJQUM5RixtQ0FDb0YsbUJBQUE7SUFJdEYsaUJBQU07Ozs7SUFOdUIsZUFBMkQ7SUFBM0QseUZBQTJEO0lBQ3hFLGVBQWtDO0lBQWxDLHVEQUFrQyxxQ0FBQSwyQkFBQTtJQUVyQyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyw0Q0FBdUIsYUFBQSx1Q0FBQTs7O0lBTXpELCtCQUFvRixnQkFBQTtJQUN2RCxZQUEyRDs7SUFBQSxpQkFBUTtJQUM5RixtQ0FDb0YsbUJBQUE7SUFJdEYsaUJBQU07Ozs7SUFOdUIsZUFBMkQ7SUFBM0QseUZBQTJEO0lBQ3hFLGVBQTJDO0lBQTNDLGdFQUEyQyxxQ0FBQSwyQkFBQTtJQUU5QyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyw0Q0FBdUIsYUFBQSx1Q0FBQTs7OztJQUt6RCwrQkFBNEMsa0JBQUEsY0FBQSxnQkFBQTtJQUdaLFlBQXNEOztJQUFBLGlCQUFRO0lBQ3hGLHNDQUkrQjtJQUZrQyxvTEFBVSxlQUFBLHdCQUFnQixDQUFBLElBQUMsMktBQzlFLGVBQUEsd0JBQWdCLENBQUEsSUFEOEQseUtBQ1QsZUFBQSx5QkFBaUIsQ0FBQSxJQURSO0lBRzVGLGlCQUFhO0lBQ2IsK0JBRWU7SUFDakIsaUJBQU0sRUFBQTtJQUVSLDhCQUE0QjtJQUM1QixtQ0FBK0IsZUFBQSxpQkFBQTtJQUVILGFBQW9EOztJQUFBLGlCQUFRO0lBQ3BGLHVDQUdzRDtJQUE5Qix1TEFBVyxlQUFBLHlCQUFpQixDQUFBLElBQUM7SUFBQyxpQkFBYTtJQUNuRSxnQ0FFZTtJQUNqQixpQkFBTSxFQUFBLEVBQUE7Ozs7SUF2QnNCLGVBQXNEO0lBQXRELHFGQUFzRDtJQUN2QyxlQUFpQjtJQUFqQiwrQkFBaUIsb0NBQUEsNEJBQUEsdUJBQUEsc0JBQUEsb0NBQUE7SUFNL0MsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsMkNBQXNCLGFBQUEsdUNBQUE7SUFROUIsZUFBb0Q7SUFBcEQsb0ZBQW9EO0lBQ3JDLGVBQWlCO0lBQWpCLCtCQUFpQiw0QkFBQSwyQkFBQSx1QkFBQSxrQ0FBQSxzQkFBQTtJQUk3QyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyx5Q0FBb0IsYUFBQSx1Q0FBQTs7O0lBTzFELCtCQUEyRCxrQkFBQSxjQUFBLGdCQUFBO0lBR2hDLFlBQXFEOztJQUFBLGlCQUFRO0lBQ2xGLDRCQUE0RixtQkFBQTtJQUk5RixpQkFBTSxFQUFBO0lBRVIsOEJBQTRCO0lBQzVCLG1DQUErQixlQUFBLGlCQUFBO0lBRUssYUFBNEQ7O0lBQUEsaUJBQVE7SUFDcEcsNkJBQWtILG9CQUFBO0lBS3BILGlCQUFNLEVBQUEsRUFBQTs7OztJQWhCaUIsZUFBcUQ7SUFBckQsb0ZBQXFEO0lBQzlCLGVBQXVCO0lBQXZCLDRDQUF1QjtJQUN4RCxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxzQ0FBaUIsYUFBQSx1Q0FBQTtJQVFqQixlQUE0RDtJQUE1RCw0RkFBNEQ7SUFDckMsZUFBa0M7SUFBbEMsdURBQWtDO0lBQzlFLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLGlEQUE0QixhQUFBLHVDQUFBOzs7SUFRbEUsK0JBQXFFLGtCQUFBO0lBRWpFLHNDQUNjO0lBQ2hCLGlCQUFVLEVBQUE7OztJQUZlLGVBQXVCO0lBQXZCLDZDQUF1Qix5QkFBQSxtQkFBQTs7O0lBSWxELCtCQUFzRyxrQkFBQTtJQUVsRyxzQ0FDYztJQUNoQixpQkFBVSxFQUFBOzs7SUFGZSxlQUF1QjtJQUF2Qiw2Q0FBdUIseUJBQUEsbUJBQUE7Ozs7SUFLbEQsK0JBQXNEO0lBQ3BELHNDQUF3RyxtQkFBQTtJQUkxRyxpQkFBTTs7OztJQUptQixlQUF1QjtJQUF2Qiw2Q0FBdUIsbUJBQUE7SUFDbkMsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsdUNBQWlCLGFBQUEsc0NBQUE7OztJQU1uRCwrQkFDcUgsZ0JBQUE7SUFDOUUsWUFBMkQ7O0lBQUEsaUJBQVE7SUFFeEcsa0NBQzJDLG1CQUFBO0lBTzdDLGlCQUFNOzs7O0lBVmlDLGVBQTJEO0lBQTNELHlGQUEyRDtJQUVsQyxlQUF1QztJQUF2Qyw2REFBdUM7SUFJMUYsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsdURBQWlDLGFBQUEsc0NBQUE7OztJQU9uRSwrQkFBd0Usa0JBQUEsY0FBQSxnQkFBQTtJQUc1QyxZQUE0RDs7SUFBQSxpQkFBUTtJQUMxRiw0QkFBNkcsbUJBQUE7SUFJL0csaUJBQU0sRUFBQTtJQUVSLDhCQUE0QjtJQUM1QixtQ0FBK0IsZUFBQSxpQkFBQTtJQUVKLGFBQTREOztJQUFBLGlCQUFRO0lBQzNGLG9DQUNnRSxvQkFBQTtJQUlsRSxpQkFBTSxFQUFBLEVBQUE7Ozs7SUFoQmtCLGVBQTREO0lBQTVELG9HQUE0RDtJQUNyQyxlQUF3QjtJQUF4Qiw4Q0FBd0I7SUFDMUQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsd0NBQWtCLGFBQUEsdUNBQUE7SUFRM0IsZUFBNEQ7SUFBNUQsNEZBQTREO0lBQ3JFLGVBQXlCO0lBQXpCLCtDQUF5QixrQ0FBQSwyQkFBQTtJQUU1QixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyx5Q0FBbUIsYUFBQSx1Q0FBQTs7O0lBT3pELCtCQUFzRCxnQkFBQTtJQUN4QixZQUFrRTs7SUFBQSxpQkFBUTtJQUN0RyxtQ0FDcUYsbUJBQUE7SUFJdkYsaUJBQU07Ozs7SUFOd0IsZUFBa0U7SUFBbEUsZ0dBQWtFO0lBQ2hGLGVBQThCO0lBQTlCLG9EQUE4Qix1Q0FBQSwyQkFBQTtJQUVqQyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyw4Q0FBd0IsYUFBQSx1Q0FBQTs7O0lBZ0J4RCxtQ0FBOEQsY0FBQSxnQkFBQTtJQUVoQyxZQUE0RDs7SUFBQSxpQkFBUTtJQUM5RixtQ0FDbUYsbUJBQUE7SUFJckYsaUJBQU0sRUFBQTs7OztJQU5zQixlQUE0RDtJQUE1RCwwRkFBNEQ7SUFDeEUsZUFBeUI7SUFBekIsK0NBQXlCLHFDQUFBLDJCQUFBO0lBRTVCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLDRDQUFzQixhQUFBLHVDQUFBOzs7SUFoQjVELCtCQUE0QyxrQkFBQSxjQUFBLGdCQUFBO0lBR2IsWUFBMkQ7O0lBQUEsaUJBQVE7SUFDNUYsNEJBQW1ILG1CQUFBO0lBSXJILGlCQUFNLEVBQUE7SUFFUiw4QkFBNEI7SUFDNUIsMEZBU1U7SUFDWixpQkFBVTs7OztJQWxCcUIsZUFBMkQ7SUFBM0QseUZBQTJEO0lBQ3BDLGVBQTJCO0lBQTNCLGlEQUEyQjtJQUNoRSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQywyQ0FBcUIsYUFBQSx1Q0FBQTtJQU16QixlQUE0QjtJQUE1QixxREFBNEI7Ozs7SUFpQjlELCtCQUE0QyxrQkFBQSxjQUFBLGdCQUFBO0lBR1osWUFBc0Q7O0lBQUEsaUJBQVE7SUFDeEYsc0NBSStCO0lBRmtCLG9MQUFVLGVBQUEsd0JBQWdCLENBQUEsSUFBQyw0S0FDOUQsZUFBQSx5QkFBZ0IsQ0FBQSxJQUQ4QywwS0FDTyxlQUFBLDBCQUFpQixDQUFBLElBRHhCO0lBRzVFLGlCQUFhO0lBQ2IsK0JBRWU7SUFDakIsaUJBQU0sRUFBQTtJQUVSLDhCQUE0QjtJQUM1QixtQ0FBK0IsZUFBQSxpQkFBQTtJQUVILGFBQW9EOztJQUFBLGlCQUFRO0lBQ3BGLHVDQUdzRDtJQUE5Qix3TEFBVyxlQUFBLDBCQUFpQixDQUFBLElBQUM7SUFBQyxpQkFBYTtJQUNuRSxnQ0FFZTtJQUNqQixpQkFBTSxFQUFBLEVBQUE7Ozs7SUF2QnNCLGVBQXNEO0lBQXRELHFGQUFzRDtJQUN2QyxlQUFpQjtJQUFqQiwrQkFBaUIsNkJBQUEscUNBQUEsdUJBQUEsc0JBQUEscUNBQUE7SUFNL0MsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsNENBQXNCLGFBQUEsdUNBQUE7SUFROUIsZUFBb0Q7SUFBcEQsb0ZBQW9EO0lBQ3JDLGVBQWlCO0lBQWpCLCtCQUFpQiw2QkFBQSw0QkFBQSx1QkFBQSxtQ0FBQSxzQkFBQTtJQUk3QyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQywwQ0FBb0IsYUFBQSx1Q0FBQTs7O0lBTzFELCtCQUFzRCxnQkFBQTtJQUNsQixZQUFxRDs7SUFBQSxpQkFBUTtJQUMvRiw0QkFDMEMsbUJBQUE7SUFjNUMsaUJBQU07Ozs7SUFoQjhCLGVBQXFEO0lBQXJELG1GQUFxRDtJQUM5QixlQUFvQztJQUFwQywwREFBb0M7SUFZbEYsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsb0RBQThCLGFBQUEsc0NBQUE7OztJQUtoRSwrQkFBc0QsZ0JBQUE7SUFDM0IsWUFBcUQ7O0lBQUEsaUJBQVE7SUFDdEYsK0JBQXVDO0lBQ3JDLHFDQUNzRjtJQUN4RixpQkFBTTtJQUNOLCtCQUVlO0lBQ2pCLGlCQUFNOzs7O0lBUnFCLGVBQXFEO0lBQXJELDRGQUFxRDtJQUV2QixlQUF3QjtJQUF4Qiw4Q0FBd0Isb0NBQUE7SUFHcEUsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsMkNBQXFCLGFBQUEsdUNBQUE7Ozs7SUFJdkQsK0JBQ2tFLGtCQUFBLGNBQUEsZ0JBQUE7SUFHckMsWUFBc0Q7O0lBQUEsaUJBQVE7SUFDckYsc0NBR3NHO0lBRHJDLHNMQUFVLGVBQUEseUJBQWdCLENBQUEsSUFBQyw2S0FDOUUsZUFBQSx5QkFBZ0IsQ0FBQSxJQUQ4RCwyS0FDVCxlQUFBLDBCQUFpQixDQUFBLElBRFI7SUFFNUYsaUJBQWE7SUFDYiwrQkFFZTtJQUNqQixpQkFBTSxFQUFBO0lBRVIsOEJBQTRCO0lBQzVCLG1DQUErQixlQUFBLGlCQUFBO0lBRU4sYUFBb0Q7O0lBQUEsaUJBQVE7SUFDakYsdUNBSTRDO0lBRDFDLHVMQUFVLGVBQUEscUNBQTRCLENBQUEsSUFBQyw0S0FBa0MsZUFBQSwwQkFBaUIsQ0FBQSxJQUFuRCw4S0FDM0IsZUFBQSxxQ0FBNEIsQ0FBQSxJQUREO0lBQ0csaUJBQWE7SUFDekQsZ0NBRWU7SUFDakIsaUJBQU0sRUFBQSxFQUFBOzs7O0lBdkJtQixlQUFzRDtJQUF0RCxxRkFBc0Q7SUFDdkMsZUFBaUI7SUFBakIsK0JBQWlCLDZCQUFBLGtDQUFBLHVCQUFBLHFDQUFBLHNCQUFBO0lBSzVDLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLHlDQUFtQixhQUFBLHVDQUFBO0lBUTlCLGVBQW9EO0lBQXBELG9GQUFvRDtJQUNyQyxlQUFpQjtJQUFqQiwrQkFBaUIsNEJBQUEsNkJBQUEsdUJBQUEsZ0NBQUEsc0JBQUE7SUFLMUMsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsdUNBQWlCLGFBQUEsdUNBQUE7OztJQU92RCwrQkFDK0YsZ0JBQUE7SUFDN0QsWUFBK0Q7O0lBQUEsaUJBQVE7SUFDdkcsK0JBQXVDO0lBQ3JDLHFDQUM2RixtQkFBQTtJQUkvRixpQkFBTSxFQUFBOzs7O0lBUDBCLGVBQStEO0lBQS9ELDZGQUErRDtJQUVqQyxlQUF3QjtJQUF4Qiw4Q0FBd0IsMkNBQUE7SUFFekUsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsa0RBQTRCLGFBQUEsdUNBQUE7Ozs7SUFNaEUsK0JBRW9JLGdCQUFBO0lBQ3RHLFlBQTJEOztJQUFBLGlCQUFRO0lBQy9GLDJCQUFLLHFCQUFBO0lBR2dFLG9MQUFXLGVBQUEsMEJBQWlCLENBQUEsSUFBQztJQUNoRyxpQkFBYTtJQUNiLCtCQUVpQjtJQUNuQixpQkFBTSxFQUFBOzs7O0lBVHNCLGVBQTJEO0lBQTNELDBGQUEyRDtJQUV6RSxlQUFpQjtJQUFqQiwrQkFBaUIsdUNBQUEsdUJBQUEsc0JBQUE7SUFJbEIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsOENBQXdCLGFBQUEsdUNBQUE7OztJQU01RCwwQkFZVTs7O0lBa0JWLCtCQUFzRCxnQkFBQTtJQUN0QixZQUEwRDs7SUFBQSxpQkFBUTtJQUNoRywrQkFBdUM7SUFDckMscUNBQzJGLG1CQUFBO0lBSTdGLGlCQUFNLEVBQUE7Ozs7SUFQd0IsZUFBMEQ7SUFBMUQsd0ZBQTBEO0lBRTVCLGVBQXdCO0lBQXhCLDhDQUF3Qix5Q0FBQTtJQUV2RSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxnREFBMEIsYUFBQSx1Q0FBQTs7O0lBTTlELCtCQUNtSCxnQkFBQTtJQUNsRixZQUFxRDs7SUFBQSxpQkFBUTtJQUM1Riw0QkFBMEcsbUJBQUE7SUFjNUcsaUJBQU07Ozs7SUFmMkIsZUFBcUQ7SUFBckQsbUZBQXFEO0lBQzlCLGVBQWlDO0lBQWpDLHVEQUFpQztJQVc1RSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxpREFBMkIsYUFBQSxzQ0FBQTs7O0lBTTNELG1DQUF1RyxjQUFBLGdCQUFBO0lBRTlFLFlBQWdEOztJQUFBLGlCQUFRO0lBQzdFLG9DQUNrRSxtQkFBQTtJQUlwRSxpQkFBTSxFQUFBOzs7O0lBTmlCLGVBQWdEO0lBQWhELDhFQUFnRDtJQUNwQyxlQUF1QjtJQUF2Qiw4Q0FBdUIsa0JBQUE7SUFFN0MsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsd0NBQWlCLGFBQUEsdUNBQUE7OztJQU1yRCxtQ0FBbUYsY0FBQSxnQkFBQTtJQUVqRCxZQUE0Qzs7SUFBQSxpQkFBUTtJQUNsRixtQ0FDdUYsbUJBQUE7SUFJekYsaUJBQU0sRUFBQTs7OztJQU4wQixlQUE0QztJQUE1QywwRUFBNEM7SUFDNUQsZUFBMEI7SUFBMUIsaURBQTBCLDBDQUFBLDJCQUFBO0lBRTdCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLGlEQUEwQixhQUFBLHVDQUFBOzs7SUFNOUQsbUNBQWtJLGNBQUEsZ0JBQUE7SUFFcEUsa0NBQWtCO0lBQUEsaUJBQVE7SUFDcEYsb0NBRWdCLG1CQUFBO0lBSWxCLGlCQUFNLEVBQUE7Ozs7SUFOVyxlQUEwQjtJQUExQixpREFBMEIsa0JBQUE7SUFHOUIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsMkNBQW9CLGFBQUEsc0NBQUE7OztJQTdCMUQsK0JBQXVHO0lBQ3JHLDBGQVNVLDZFQUFBLDRFQUFBO0lBd0JaLGlCQUFVOzs7SUFqQ2tFLGVBQTJCO0lBQTNCLG9EQUEyQjtJQVcvQyxlQUEyQjtJQUEzQixvREFBMkI7SUFXdkUsZUFBNEY7SUFBNUYsZ0lBQTRGOzs7SUFjdEcsbUNBQ3lELGNBQUEsZ0JBQUE7SUFFaEMsWUFBb0Q7O0lBQUEsaUJBQVE7SUFDakYsb0NBQ2lDLG1CQUFBO0lBSW5DLGlCQUFNLEVBQUE7Ozs7SUFOaUIsZUFBb0Q7SUFBcEQsa0ZBQW9EO0lBQzFELGVBQXVCO0lBQXZCLDhDQUF1QixrQkFBQTtJQUUzQixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyx3Q0FBaUIsYUFBQSx1Q0FBQTs7O0lBTXJELG1DQUEyRixjQUFBLGdCQUFBO0lBRXpELFlBQWdEOztJQUFBLGlCQUFRO0lBQ3RGLG1DQUN1RixtQkFBQTtJQUl6RixpQkFBTSxFQUFBOzs7O0lBTjBCLGVBQWdEO0lBQWhELDhFQUFnRDtJQUNoRSxlQUEwQjtJQUExQixpREFBMEIsMENBQUEsMkJBQUE7SUFFN0IsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsaURBQTBCLGFBQUEsdUNBQUE7OztJQWxCaEUsK0JBQTRFO0lBQzFFLDBGQVVVLDZFQUFBO0lBWVosaUJBQVU7OztJQXJCTCxlQUFvRDtJQUFwRCxxRkFBb0Q7SUFXbEIsZUFBb0Q7SUFBcEQscUZBQW9EOzs7SUFZM0YsK0JBQ2dGLGdCQUFBO0lBQ3pELFlBQW9EOztJQUFBLGlCQUFRO0lBQ2pGLG9DQUFnRyxtQkFBQTtJQUlsRyxpQkFBTTs7OztJQUxpQixlQUFvRDtJQUFwRCxrRkFBb0Q7SUFDMUQsZUFBdUI7SUFBdkIsNkNBQXVCLFlBQUE7SUFDM0IsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsdUNBQWlCLGFBQUEsdUNBQUE7OztJQVFqRCxrQ0FDcUc7Ozs7SUFEekYsb0NBQXNCLDRCQUFBLDJCQUFBLCtCQUFBOzs7SUFIcEMsK0JBQ2dGLGlCQUFBO0lBQzNELFlBQWtEOztJQUFBLGlCQUFRO0lBQzdFLDRGQUNxRztJQUNyRywrQkFFZTtJQUNqQixpQkFBTTs7OztJQU5lLGVBQWtEO0lBQWxELGdGQUFrRDtJQUVoRCxlQUFlO0lBQWYsOENBQWU7SUFDekIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMscUNBQWUsYUFBQSxzQ0FBQTs7O0lBTWpELCtCQUNpRixpQkFBQTtJQUMxRCxZQUFvRDs7SUFBQSxpQkFBUTtJQUNqRixvQ0FDOEQsbUJBQUE7SUFJaEUsaUJBQU07Ozs7SUFOaUIsZUFBb0Q7SUFBcEQsa0ZBQW9EO0lBQzNELGVBQTBCO0lBQTFCLGdEQUEwQixnQ0FBQSwyQkFBQTtJQUU3QixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyx1Q0FBaUIsYUFBQSx1Q0FBQTs7O0lBVWpELGtDQUUyQzs7OztJQUYvQix1Q0FBeUIsNEJBQUEsMkJBQUEsa0NBQUE7OztJQUh2QywrQkFDZ0YsaUJBQUE7SUFDeEQsWUFBcUQ7O0lBQUEsaUJBQVE7SUFDbkYsNEZBRTJDO0lBQzNDLCtCQUVlO0lBQ2pCLGlCQUFNOzs7O0lBUGtCLGVBQXFEO0lBQXJELG1GQUFxRDtJQUV0RCxlQUFrQjtJQUFsQixpREFBa0I7SUFFNUIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsd0NBQWtCLGFBQUEsc0NBQUE7OztJQVNoRCwyQkFBeUM7SUFBQSxZQUN6Qzs7SUFBQSxpQkFBTTs7SUFEbUMsZUFDekM7SUFEeUMsc0dBQ3pDOzs7SUFDQSwyQkFBeUM7SUFBQSxZQUN6Qzs7SUFBQSxpQkFBTTs7SUFEbUMsZUFDekM7SUFEeUMsc0dBQ3pDOzs7SUFOSiwrQkFDaUUsaUJBQUE7SUFFN0QsNEVBQ00sK0RBQUE7SUFHUixpQkFBUTtJQUVSLG9DQUN1RixtQkFBQTtJQUl6RixpQkFBTTs7OztJQVhJLGVBQWdDO0lBQWhDLDJEQUFnQztJQUVoQyxlQUFnQztJQUFoQywyREFBZ0M7SUFJMUIsZUFBc0M7SUFBdEMsNERBQXNDLHlDQUFBLDJCQUFBO0lBRXpDLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLGdEQUEwQixhQUFBLHVDQUFBOzs7SUFLNUQsK0JBRW1DLGlCQUFBO0lBRVQsWUFBd0U7O0lBQUEsaUJBQVE7SUFDeEcsb0NBQ3NGLG1CQUFBO0lBSXhGLGlCQUFNOzs7O0lBTm9CLGVBQXdFO0lBQXhFLHNHQUF3RTtJQUNsRixlQUFxQztJQUFyQywyREFBcUMsd0NBQUEsMkJBQUE7SUFFeEMsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsK0NBQXlCLGFBQUEsdUNBQUE7OztJQUszRCwrQkFFaUMsaUJBQUE7SUFDSCxZQUFtRTs7SUFBQSxpQkFBUTtJQUN2RyxvQ0FDcUYsbUJBQUE7SUFJdkYsaUJBQU07Ozs7SUFOd0IsZUFBbUU7SUFBbkUsaUdBQW1FO0lBQ2pGLGVBQW1DO0lBQW5DLHlEQUFtQyx1Q0FBQSwyQkFBQTtJQUV0QyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyw4Q0FBd0IsYUFBQSx1Q0FBQTs7O0lBSzFELCtCQUF1RCxpQkFBQTtJQUN6QixZQUMxQjs7SUFBQSxxQkFBSTtJQUFDLFlBQ1A7O0lBQUEsaUJBQVE7SUFDUiwrQkFBdUM7SUFDckMsc0NBQ3lGLG1CQUFBO0lBSTNGLGlCQUFNLEVBQUE7Ozs7SUFUc0IsZUFDMUI7SUFEMEIsNEZBQzFCO0lBQUssZUFDUDtJQURPLHlHQUNQO0lBRTBELGVBQXdCO0lBQXhCLDhDQUF3Qix1Q0FBQTtJQUVyRSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyw4Q0FBd0IsYUFBQSx1Q0FBQTs7OztJQUs1RCwrQkFDdUcsaUJBQUE7SUFDckUsWUFBeUQ7O0lBQUEsaUJBQVE7SUFDakcsMkJBQUssc0JBQUE7SUFHZ0Usb0xBQVcsZUFBQSwwQkFBaUIsQ0FBQSxJQUFDO0lBQ2hHLGlCQUFhO0lBQ2IsK0JBRWlCO0lBQ25CLGlCQUFNLEVBQUE7Ozs7SUFUMEIsZUFBeUQ7SUFBekQsd0ZBQXlEO0lBRTNFLGVBQWlCO0lBQWpCLCtCQUFpQiwyQ0FBQSx1QkFBQSxzQkFBQTtJQUlsQixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxrREFBNEIsYUFBQSx1Q0FBQTs7OztJQU1oRSwrQkFBdUQsaUJBQUE7SUFDOUIsWUFDdkI7O0lBQUEsaUJBQVE7SUFBQSxxQkFBSTtJQUNaLGdDQUE2RCwwQkFBQTtJQUVsQixvTUFBaUIsZUFBQSxpQ0FBd0IsQ0FBQSxJQUFDO0lBQUMsaUJBQWlCLEVBQUEsRUFBQTs7O0lBSmhGLGVBQ3ZCO0lBRHVCLDBGQUN2QjtJQUVxRCxlQUF3QjtJQUF4Qiw4Q0FBd0Isa0NBQUE7OztJQWMvRSxvQ0FBZ0UsY0FBQTtJQUU1RCwwQkFBeUI7SUFDM0IsaUJBQVUsRUFBQTs7O0lBRVosb0NBQWdFLGNBQUE7SUFFNUQsMEJBQXlCO0lBQzNCLGlCQUFVLEVBQUE7OztJQUVaLG9DQUFnRSxjQUFBO0lBRTVELDBCQUF5QjtJQUMzQixpQkFBVSxFQUFBOzs7SUFLWixvQ0FBK0QsY0FBQTtJQUUzRCwwQkFBeUI7SUFDM0IsaUJBQVUsRUFBQTs7O0lBRVosb0NBQStELGNBQUE7SUFFM0QsMEJBQXlCO0lBQzNCLGlCQUFVLEVBQUE7OztJQUdaLCtCQUFxRSxtQkFBQTtJQUdqRSwyQkFDTTs7SUFVTiwyQkFDTTs7SUFDUixpQkFBVSxFQUFBOzs7SUFiSCxlQUFpQztJQUFqQyxvRkFBaUM7SUFXakMsZUFBbUU7SUFBbkUsK0hBQW1FOzs7SUFLNUUsK0JBQXFFLG1CQUFBO0lBR2pFLDJCQUNNOztJQUVOLDJCQUNNOztJQUdOLDJCQUVNOztJQUdSLGlCQUFVLEVBQUE7OztJQVpILGVBQW1DO0lBQW5DLHNGQUFtQztJQUduQyxlQUFzRTtJQUF0RSxpSUFBc0U7SUFJdEUsZUFBdUU7SUFBdkUsa0lBQXVFOzs7SUFPaEYsK0JBQTZHLGtCQUFBLGNBQUEsZ0JBQUE7SUFHN0Msa0NBQWtCO0lBQUEsaUJBQVE7SUFDcEYsb0NBRWdCLG1CQUFBO0lBSWxCLGlCQUFNLEVBQUEsRUFBQTs7OztJQU5XLGVBQTBCO0lBQTFCLGdEQUEwQixrQkFBQTtJQUc5QixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQywwQ0FBb0IsYUFBQSxzQ0FBQTs7O0lBTzFELCtCQUF1RCxpQkFBQTtJQUN6QixZQUMxQjs7SUFBQSxxQkFBSTtJQUFDLFlBQ1A7O0lBQUEsaUJBQVE7SUFDUixnQ0FBb0Q7SUFDbEQsc0NBQ3lGLDRCQUFBOztJQUczRixpQkFBTTtJQUNOLGdDQUVlO0lBQ2pCLGlCQUFNOzs7O0lBWndCLGVBQzFCO0lBRDBCLDZGQUMxQjtJQUFLLGVBQ1A7SUFETyx5R0FDUDtJQUUwRCxlQUF3QjtJQUF4Qiw4Q0FBd0IsdUNBQUE7SUFFOUQsZUFBd0U7SUFBeEUsNEdBQXdFO0lBR2pGLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLDhDQUF3QixhQUFBLHVDQUFBOzs7O0lBSTFELCtCQUN1RyxpQkFBQTtJQUNyRSxZQUF5RDs7SUFBQSxpQkFBUTtJQUNqRywyQkFBSyxzQkFBQTtJQUdnRSxvTEFBVyxlQUFBLDBCQUFpQixDQUFBLElBQUM7SUFDaEcsaUJBQWE7SUFDYiwrQkFFaUI7SUFDbkIsaUJBQU0sRUFBQTs7OztJQVQwQixlQUF5RDtJQUF6RCx3RkFBeUQ7SUFFM0UsZUFBaUI7SUFBakIsK0JBQWlCLDJDQUFBLHVCQUFBLHNCQUFBO0lBSWxCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLGtEQUE0QixhQUFBLHVDQUFBOzs7SUFNaEUsK0JBQXFGLGlCQUFBO0lBQzNELFlBQXNEOztJQUFBLGlCQUFRO0lBQ3RGLCtCQUF1QztJQUNyQyxzQ0FDMEQsbUJBQUE7SUFJNUQsaUJBQU0sRUFBQTs7OztJQVBrQixlQUFzRDtJQUF0RCxvRkFBc0Q7SUFFeEIsZUFBd0I7SUFBeEIsOENBQXdCLG1DQUFBO0lBRWpFLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLDBDQUFvQixhQUFBLHVDQUFBOzs7SUFPeEQsK0JBQXNFLGtCQUFBLGNBQUEsaUJBQUE7SUFHdEMsWUFBaUU7O0lBQUEsaUJBQVE7SUFDbkcscUNBRWdCLG1CQUFBO0lBSWxCLGlCQUFNLEVBQUE7SUFHUixtQ0FBb0MsY0FBQSxrQkFBQTtJQUVMLGFBQTREOztJQUFBLGlCQUFRO0lBQy9GLHNDQUVnQixvQkFBQTtJQUlsQixpQkFBTSxFQUFBO0lBR1IsZ0NBQVMsZUFBQSxrQkFBQTtJQUVxQixhQUFrRTs7SUFBQSxpQkFBUTtJQUNwRyxzQ0FFZ0Isb0JBQUE7SUFJbEIsaUJBQU0sRUFBQSxFQUFBOzs7O0lBL0JzQixlQUFpRTtJQUFqRSxnR0FBaUU7SUFDNUUsZUFBNEI7SUFBNUIsa0RBQTRCLGtCQUFBO0lBR2hDLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLDRDQUFzQixhQUFBLHVDQUFBO0lBUTNCLGVBQTREO0lBQTVELDRGQUE0RDtJQUNoRCxlQUFxQjtJQUFyQixtQ0FBcUIsc0NBQUE7SUFHakQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsNkNBQXVCLGFBQUEsdUNBQUE7SUFRN0IsZUFBa0U7SUFBbEUsa0dBQWtFO0lBQzdFLGVBQTRCO0lBQTVCLGtEQUE0QixrQkFBQTtJQUdoQyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyw0Q0FBc0IsYUFBQSx1Q0FBQTs7OztJQU81RCwrQkFBc0Usa0JBQUEsY0FBQSxpQkFBQTtJQUduQyxZQUFpRTs7SUFBQSxpQkFBUTtJQUN0Ryx1Q0FHd0U7SUFIaEIsc0xBQVUsZUFBQSx5QkFBZ0IsQ0FBQSxJQUFDLDZLQUNyRSxlQUFBLHlCQUFnQixDQUFBLElBRHFELDJLQUc5QixlQUFBLDBCQUFpQixDQUFBLElBSGE7SUFJbkYsaUJBQWE7SUFDYiwrQkFFZTtJQUNqQixpQkFBTSxFQUFBO0lBR1IsbUNBQW9DLGNBQUEsa0JBQUE7SUFFTCxhQUErRDs7SUFBQSxpQkFBUTtJQUNsRyx3Q0FHZ0M7SUFBOUIseUxBQVcsZUFBQSwwQkFBaUIsQ0FBQSxJQUFDO0lBQy9CLGlCQUFhO0lBQ2IsZ0NBRWU7SUFDakIsaUJBQU0sRUFBQTtJQUdSLGdDQUFTLGVBQUEsa0JBQUE7SUFHMEIsYUFBK0Q7O0lBQUEsaUJBQVE7SUFDdEcsd0NBRWlHO0lBQTlCLHlMQUFXLGVBQUEsMEJBQWlCLENBQUEsSUFBQztJQUNoRyxpQkFBYTtJQUNiLGdDQUdlO0lBQ2pCLGlCQUFNLEVBQUEsRUFBQTs7OztJQXRDeUIsZUFBaUU7SUFBakUsZ0dBQWlFO0lBQ2xGLGVBQWlCO0lBQWpCLCtCQUFpQix3Q0FBQSx1QkFBQSxzQkFBQTtJQUtsQixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQywrQ0FBeUIsYUFBQSx1Q0FBQTtJQVE5QixlQUErRDtJQUEvRCwrRkFBK0Q7SUFDOUUsZUFBaUI7SUFBakIsK0JBQWlCLHNDQUFBLHVCQUFBLDRCQUFBLHNCQUFBO0lBS2xCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLDZDQUF1QixhQUFBLHVDQUFBO0lBU3hCLGVBQStEO0lBQS9ELCtGQUErRDtJQUNsRixlQUFpQjtJQUFqQiwrQkFBaUIsK0NBQUEsdUJBQUEsc0JBQUE7SUFJbEIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsc0RBQWdDLGFBQUEsdUNBQUE7OztJQVN0RSwrQkFBd0csaUJBQUE7SUFDN0UsWUFBb0Q7O0lBQUEsaUJBQVE7SUFDckYsZ0NBQW9EO0lBQ2xELHNDQUNzRiw0QkFBQTs7SUFHdEYsK0JBRWE7SUFDZixpQkFBTSxFQUFBOzs7O0lBVG1CLGVBQW9EO0lBQXBELGtGQUFvRDtJQUV0QixlQUF3QjtJQUF4Qiw4Q0FBd0Isb0NBQUE7SUFFekQsZUFBd0U7SUFBeEUsMkdBQXdFO0lBRWpGLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLDJDQUFxQixhQUFBLHVDQUFBOzs7O0lBTXpELCtCQUM2RCxpQkFBQTtJQUM5QixZQUF5RDs7SUFBQSxpQkFBUTtJQUM5RiwyQkFBSyxzQkFBQTtJQUdnRSxvTEFBVyxlQUFBLDBCQUFpQixDQUFBLElBQUM7SUFDaEcsaUJBQWE7SUFDYiwrQkFFaUI7SUFDbkIsaUJBQU0sRUFBQTs7OztJQVR1QixlQUF5RDtJQUF6RCx3RkFBeUQ7SUFFeEUsZUFBaUI7SUFBakIsK0JBQWlCLHdDQUFBLHVCQUFBLHNCQUFBO0lBSWxCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLCtDQUF5QixhQUFBLHVDQUFBOzs7SUFNN0QsK0JBQWlGLGlCQUFBO0lBQ25ELFlBQXFEOztJQUFBLHFCQUFNO0lBQ3JGLFlBQStEOztJQUFBLGlCQUFRO0lBQ3pFLGdDQUFvRDtJQUNsRCxzQ0FDeUYsNEJBQUE7O0lBRzNGLGlCQUFNO0lBQ04sZ0NBRWU7SUFDakIsaUJBQU07Ozs7SUFYd0IsZUFBcUQ7SUFBckQsNkZBQXFEO0lBQy9FLGVBQStEO0lBQS9ELHdHQUErRDtJQUVQLGVBQXdCO0lBQXhCLDhDQUF3Qix1Q0FBQTtJQUU5RCxlQUF3RTtJQUF4RSw0R0FBd0U7SUFHakYsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsOENBQXdCLGFBQUEsdUNBQUE7Ozs7SUFLMUQsK0JBQzZELGlCQUFBO0lBQzNCLFlBQXlEOztJQUFBLGlCQUFRO0lBQ2pHLDJCQUFLLHNCQUFBO0lBR2dFLG9MQUFXLGVBQUEsMEJBQWlCLENBQUEsSUFBQztJQUNoRyxpQkFBYTtJQUNiLCtCQUVpQjtJQUNuQixpQkFBTSxFQUFBOzs7O0lBVDBCLGVBQXlEO0lBQXpELHdGQUF5RDtJQUUzRSxlQUFpQjtJQUFqQiwrQkFBaUIsMkNBQUEsdUJBQUEsc0JBQUE7SUFJbEIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsa0RBQTRCLGFBQUEsdUNBQUE7OztJQU1oRSwrQkFDb0UsaUJBQUE7SUFDcEMsWUFBMEQ7O0lBQUEsaUJBQVE7SUFDaEcsZ0NBQW9EO0lBQ2xELHNDQUMyRjtJQUM3RixpQkFBTTtJQUNOLCtCQUVlO0lBQ2pCLGlCQUFNOzs7O0lBUjBCLGVBQTBEO0lBQTFELHdGQUEwRDtJQUU1QixlQUF3QjtJQUF4Qiw4Q0FBd0IseUNBQUE7SUFHekUsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsZ0RBQTBCLGFBQUEsdUNBQUE7OztJQVUxRCxrQ0FFMkM7Ozs7SUFGL0IsbURBQXFDLDRCQUFBLDJCQUFBLDhDQUFBOzs7SUFKbkQsK0JBRW9ILGlCQUFBO0lBQ2hGLFlBQThEOztJQUFBLGlCQUFRO0lBQ3hHLDRGQUUyQztJQUMzQywrQkFFYztJQUNoQixpQkFBTTs7OztJQVA4QixlQUE4RDtJQUE5RCw0RkFBOEQ7SUFFM0UsZUFBMkI7SUFBM0IsMERBQTJCO0lBRXJDLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLG9EQUE4QixhQUFBLHNDQUFBOzs7SUFLaEUsK0JBQzJFLGlCQUFBO0lBQzdDLFlBQXdEOztJQUFBLGlCQUFRO0lBQzVGLGdDQUFvRDtJQUNsRCxzQ0FDMEQ7SUFDNUQsaUJBQU07SUFDTiwrQkFFc0I7SUFDeEIsaUJBQU07Ozs7SUFSd0IsZUFBd0Q7SUFBeEQsc0ZBQXdEO0lBRTFCLGVBQXdCO0lBQXhCLDhDQUF3Qix1Q0FBQTtJQUd2RSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyw4Q0FBd0IsYUFBQSx1Q0FBQTs7O0lBTTFELCtCQUM0RSxpQkFBQTtJQUM1QyxZQUEwRDs7SUFBQSxpQkFBUTtJQUNoRyxnQ0FBb0Q7SUFDbEQsc0NBQzBEO0lBQzVELGlCQUFNO0lBQ04sK0JBRXVCO0lBQ3pCLGlCQUFNOzs7O0lBUjBCLGVBQTBEO0lBQTFELHdGQUEwRDtJQUU1QixlQUF3QjtJQUF4Qiw4Q0FBd0IseUNBQUE7SUFHekUsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsZ0RBQTBCLGFBQUEsdUNBQUE7OztJQVMxRCxrQ0FFMkM7Ozs7SUFGL0IsbURBQXFDLDRCQUFBLDJCQUFBLDhDQUFBOzs7SUFKbkQsK0JBRThILGlCQUFBO0lBQzFGLFlBQThEOztJQUFBLGlCQUFRO0lBQ3hHLDRGQUUyQztJQUMzQywrQkFFd0I7SUFDMUIsaUJBQU07Ozs7SUFQOEIsZUFBOEQ7SUFBOUQsNEZBQThEO0lBRTNFLGVBQTJCO0lBQTNCLDBEQUEyQjtJQUVyQyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxvREFBOEIsYUFBQSxzQ0FBQTs7O0lBS2hFLCtCQUM0RSxpQkFBQTtJQUM5QyxZQUF3RDs7SUFBQSxpQkFBUTtJQUM1RixnQ0FBb0Q7SUFDbEQsc0NBQzBEO0lBQzVELGlCQUFNO0lBQ04sK0JBRXVCO0lBQ3pCLGlCQUFNOzs7O0lBUndCLGVBQXdEO0lBQXhELHNGQUF3RDtJQUUxQixlQUF3QjtJQUF4Qiw4Q0FBd0IsdUNBQUE7SUFHdkUsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsOENBQXdCLGFBQUEsdUNBQUE7OztJQU0xRCwrQkFDOEQsaUJBQUE7SUFFakMsWUFBd0U7O0lBQUEsaUJBQVE7SUFDM0csZ0NBQXFEO0lBQ25ELHNDQUM2Riw0QkFBQTs7SUFJL0YsaUJBQU07SUFDTiwrQkFFZTtJQUNqQixpQkFBTTs7OztJQVh1QixlQUF3RTtJQUF4RSxzR0FBd0U7SUFFckMsZUFBd0I7SUFBeEIsOENBQXdCLDJDQUFBO0lBR2xGLGVBQXVGO0lBQXZGLDBIQUF1RjtJQUdoRixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxrREFBNEIsYUFBQSx1Q0FBQTs7O0lBSzlELCtCQUN5SSxpQkFBQTtJQUNuRyxZQUNjOzs7SUFBQSxpQkFBUTtJQUMxRCwrQkFBdUM7SUFDckMsc0NBQ2lHLG1CQUFBO0lBS25HLGlCQUFNLEVBQUE7Ozs7SUFUOEIsZUFDYztJQURkLG1MQUNjO0lBRWdCLGVBQXdCO0lBQXhCLDhDQUF3QiwrQ0FBQTtJQUU3RSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxzREFBZ0MsYUFBQSx1Q0FBQTs7O0lBT3BFLCtCQUN3SSxpQkFBQTtJQUNyRyxZQUE2RDs7SUFBQSxpQkFBUTtJQUN0RywrQkFBdUM7SUFDckMsc0NBQzhGLG1CQUFBO0lBS2hHLGlCQUFNLEVBQUE7Ozs7SUFSMkIsZUFBNkQ7SUFBN0QsMkZBQTZEO0lBRS9CLGVBQXdCO0lBQXhCLDhDQUF3Qiw0Q0FBQTtJQUUxRSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxtREFBNkIsYUFBQSx1Q0FBQTs7O0lBVS9ELGtDQUUyQzs7OztJQUYvQixnREFBa0MsNEJBQUEsMkJBQUEsMkNBQUE7OztJQUhoRCwrQkFDNk0saUJBQUE7SUFDNUssWUFBK0Q7O0lBQUEsaUJBQVE7SUFDdEcsNEZBRTJDO0lBQzNDLCtCQUVlO0lBQ2pCLGlCQUFNOzs7O0lBUDJCLGVBQStEO0lBQS9ELDZGQUErRDtJQUV6RSxlQUEwQjtJQUExQix5REFBMEI7SUFFcEMsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsaURBQTJCLGFBQUEsc0NBQUE7OztJQUs3RCwrQkFDOEosaUJBQUE7SUFDdEksWUFBMkQ7O0lBQUEsaUJBQVE7SUFDekYsK0JBQXVDO0lBQ3JDLHNDQUMwRCxtQkFBQTtJQUk1RCxpQkFBTSxFQUFBOzs7O0lBUGdCLGVBQTJEO0lBQTNELHlGQUEyRDtJQUU3QixlQUF3QjtJQUF4Qiw4Q0FBd0IsaUNBQUE7SUFFL0QsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsd0NBQWtCLGFBQUEsdUNBQUE7OztJQXVEcEQsK0JBQTJELGlCQUFBO0lBQ25DLFlBQXlFOztJQUFBLGlCQUFRO0lBQ3ZHLG1DQUNjLG1CQUFBO0lBSWhCLGlCQUFNOzs7O0lBTmtCLGVBQXlFO0lBQXpFLHVHQUF5RTtJQUNqRCxlQUF3QjtJQUF4QiwrQ0FBd0I7SUFFM0QsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMseUNBQWtCLGFBQUEsc0NBQUE7OztJQXJEdEQsMkJBQ2tLLGNBQUEsU0FBQTtJQUUxSixZQUFzRTs7SUFBQSxpQkFBSyxFQUFBO0lBRWpGLCtCQUFtQixZQUFBO0lBQ1YsWUFBeUU7O0lBQUEsaUJBQVEsRUFBQTtJQUcxRixtQ0FBK0IsZUFBQSxrQkFBQTtJQUVMLGFBQXdEOztJQUFBLGlCQUFRO0lBQ3RGLDhCQUF1RixvQkFBQTtJQUl6RixpQkFBTSxFQUFBO0lBR1IsZ0NBQW1CLGtCQUFBO0lBQ1EsYUFBdUU7O0lBQUEsaUJBQVE7SUFDeEcsdUNBQ3NGLG9CQUFBO0lBSXhGLGlCQUFNO0lBRU4sZ0NBQW1CLGtCQUFBO0lBQ1MsYUFBb0U7O0lBQUEsaUJBQVE7SUFDdEcsdUNBQ3VGLG9CQUFBO0lBSXpGLGlCQUFNO0lBRU4sZ0NBQW1CLGtCQUFBO0lBQ1MsYUFFMUI7OztJQUFBLGlCQUFRO0lBQ1IsZ0NBQXVDO0lBQ3JDLHVDQUN1RixvQkFBQTtJQUl6RixpQkFBTSxFQUFBO0lBRVIsK0VBT007SUFTUixpQkFBTTs7OztJQTlERSxlQUFzRTtJQUF0RSxxR0FBc0U7SUFHbkUsZUFBeUU7SUFBekUsd0dBQXlFO0lBS3hELGVBQXdEO0lBQXhELHNGQUF3RDtJQUNqQyxlQUF3QjtJQUF4Qiw4Q0FBd0I7SUFDMUQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsd0NBQWtCLGFBQUEsdUNBQUE7SUFPM0IsZUFBdUU7SUFBdkUsdUdBQXVFO0lBQzNDLGVBQTRCO0lBQTVCLGtEQUE0QixvQ0FBQTtJQUV0RSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQywyQ0FBcUIsYUFBQSx1Q0FBQTtJQU0zQixlQUFvRTtJQUFwRSxvR0FBb0U7SUFDeEMsZUFBNEI7SUFBNUIsa0RBQTRCLHFDQUFBO0lBRXZFLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLDRDQUFzQixhQUFBLHVDQUFBO0lBTTVCLGVBRTFCO0lBRjBCLHFNQUUxQjtJQUV3RCxlQUF3QjtJQUF4Qiw4Q0FBd0IscUNBQUE7SUFFbkUsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsNENBQXNCLGFBQUEsdUNBQUE7SUFLdEMsZUFBcUM7SUFBckMseURBQXFDOzs7SUFrQ3ZELCtCQUE0RCxpQkFBQTtJQUV4QyxZQUEwRTs7SUFBQSxpQkFBUTtJQUNwRyw2QkFBeUYsbUJBQUE7SUFJM0YsaUJBQU07Ozs7SUFMYyxlQUEwRTtJQUExRSx3R0FBMEU7SUFDOUMsZUFBeUI7SUFBekIsZ0RBQXlCO0lBQzVELGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLDBDQUFtQixhQUFBLHNDQUFBOzs7SUFwQnpELCtCQUNtSyxrQkFBQSxjQUFBLGlCQUFBO0lBSXZJLFlBRXRCOzs7SUFBQSxpQkFBUTtJQUNSLCtCQUF1QztJQUNyQyxzQ0FDd0YsbUJBQUE7SUFJMUYsaUJBQU0sRUFBQTtJQUVSLG1GQU9NO0lBQ1IsaUJBQVUsRUFBQTs7OztJQW5CZ0IsZUFFdEI7SUFGc0Isb01BRXRCO0lBRXlELGVBQXdCO0lBQXhCLDhDQUF3QixzQ0FBQTtJQUVwRSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyw2Q0FBdUIsYUFBQSx1Q0FBQTtJQUt2QyxlQUFzQztJQUF0QywwREFBc0M7OztJQStDNUQsK0JBQXNELFlBQUEsUUFBQTtJQUMxQyxZQUErRDs7SUFBQSxpQkFBSSxFQUFBLEVBQUE7O0lBQW5FLGVBQStEO0lBQS9ELDZGQUErRDs7O0lBRTNFLCtCQUFzRCxZQUFBLFFBQUE7SUFDMUMsWUFBK0Q7O0lBQUEsaUJBQUksRUFBQSxFQUFBOztJQUFuRSxlQUErRDtJQUEvRCw2RkFBK0Q7OztJQUUzRSwrQkFBc0QsWUFBQTtJQUM3QyxZQUF5RTs7SUFBQSxpQkFBUSxFQUFBOztJQUFqRixlQUF5RTtJQUF6RSx1R0FBeUU7OztJQVkxRSwrQkFDMkksU0FBQTtJQUV2SSxZQUNGO0lBQUEsaUJBQUs7SUFDTCwwQkFBSTtJQUNGLHFDQUdnQjtJQUNsQixpQkFBSyxFQUFBOzs7OztJQVBILGVBQ0Y7SUFERSwrRUFDRjtJQUVpQixlQUE0QjtJQUE1QiwrQ0FBNEIsVUFBQSxrQkFBQTs7O0lBUmpELGtDQUNzQjtJQUNwQiw0RkFXSztJQUNQLDBCQUFlOzs7OztJQWJiLHNDQUFtQjtJQUVoQixlQUFrSDtJQUFsSCx5SkFBa0g7Ozs7SUFZdkgsMEJBQStELGNBQUE7SUFFM0QsK0JBR2E7SUFDZixpQkFBSyxFQUFBOzs7O0lBSlEsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsZ0RBQXlCLGFBQUEsc0NBQUE7OztJQVVuRSwrQkFBc0Q7SUFDcEQsMkJBQW1GOztJQUduRiwyQkFDb0M7O0lBQ3RDLGlCQUFNOzs7SUFMQyxlQUF1RTtJQUF2RSxvSUFBdUU7SUFHdkUsZUFBdUU7SUFBdkUsb0lBQXVFOzs7SUFsRGhGLDJCQUN1RjtJQUNyRiw0RUFFTSwrREFBQSwrREFBQTtJQU9OLCtCQUFtQixpQkFBQSxTQUFBLGNBQUE7SUFHbUIsWUFDaEM7O0lBQUEsaUJBQUs7SUFDTCwyQkFBSTtJQUFBLGFBQW9FOztJQUFBLGlCQUFLLEVBQUE7SUFFL0UsbUNBQThDO0lBQzVDLGtHQWNlLCtEQUFBO0lBVWpCLDBCQUFlO0lBQ2pCLGlCQUFRLEVBQUE7SUFFViw4RUFNTTtJQUNSLGlCQUFNOzs7SUFuRGdCLGVBQWdDO0lBQWhDLDJEQUFnQztJQUdoQyxlQUFnQztJQUFoQywyREFBZ0M7SUFHaEMsZUFBZ0M7SUFBaEMsMkRBQWdDO0lBTWQsZUFDaEM7SUFEZ0MsNEdBQ2hDO0lBQ0ksZUFBb0U7SUFBcEUsb0dBQW9FO0lBRy9CLGVBQTZCO0lBQTdCLDBEQUE2QjtJQWVqRSxlQUF3RDtJQUF4RCxnSUFBd0Q7SUFZL0MsZUFBZ0M7SUFBaEMsMkRBQWdDOzs7O0lBZ0J4RCx1Q0FBMkc7SUFBNUQsaUxBQVMsZUFBQSxlQUFNLENBQUEsSUFBQztJQUM3RCxZQUFpRDs7SUFBQSxpQkFBYTs7SUFBOUQsZUFBaUQ7SUFBakQseUZBQWlEOzs7O0lBQ25ELHVDQUEyRztJQUE1RCxpTEFBUyxlQUFBLGNBQUssQ0FBQSxJQUFDO0lBQzVELFlBQWdEOztJQUFBLGlCQUFhOztJQUE3RCxlQUFnRDtJQUFoRCx3RkFBZ0Q7Ozs7QUR4cEM1RCxNQUFNLE9BQU8sb0JBQW9CO0lBeUgvQixZQUFtQixXQUErQixFQUFTLGlCQUFvQyxFQUN0RixJQUFpQixFQUFTLGFBQTRCLEVBQVMsTUFBcUIsRUFDcEYsU0FBdUIsRUFBUyxhQUE0QixFQUFTLEVBQWdCLEVBQ3JGLEVBQWMsRUFBVSxFQUFrQixFQUFTLGVBQWdDO1FBSHpFLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUFTLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDdEYsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNwRixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFjO1FBQ3JGLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFnQjtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQXBIckYsd0JBQW1CLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUNoRCxtQkFBYyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDckMsc0JBQWlCLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUN4QyxtQkFBYyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFDeEMsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIsNkJBQXdCLEdBQU8sRUFBRSxDQUFDO1FBQ2xDLHNCQUFpQixHQUFPLEVBQUUsQ0FBQztRQUMzQixpQkFBWSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN2QyxxQkFBZ0IsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDO1FBQzlDLHFCQUFnQixHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFDMUMsMkJBQXNCLEdBQW1CLEVBQUUsQ0FBQztRQUM1Qyx5QkFBb0IsR0FBbUIsRUFBRSxDQUFDO1FBRTFDLGNBQVMsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQ25DLDRCQUF1QixHQUFtQixFQUFFLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztRQUM5QywyQkFBc0IsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7UUFDdEQsb0NBQStCLEdBQUcsV0FBVyxDQUFDLHFCQUFxQixDQUFDO1FBQ3BFLDRCQUF1QixHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztRQUN6RCxpQkFBWSxHQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDL0IsbUJBQWMsR0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ25DLG9CQUFlLEdBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNyQyw2QkFBd0IsR0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7UUFjekQsYUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFLdEIsOEJBQXlCLEdBQW1CLEVBQUUsQ0FBQztRQUMvQyw0QkFBdUIsR0FBbUIsRUFBRSxDQUFDO1FBQzdDLCtCQUEwQixHQUFtQixFQUFFLENBQUM7UUFFaEQsWUFBTyxHQUFDLE1BQU0sQ0FBQztRQUVmLGVBQVUsR0FBRSxvREFBb0QsQ0FBQztRQUNqRSxlQUFVLEdBQUUsb0RBQW9ELENBQUM7UUFDakUsZUFBVSxHQUFFLG9EQUFvRCxDQUFDO1FBQ2pFLGVBQVUsR0FBRSxvREFBb0QsQ0FBQztRQUNqRSxZQUFPLEdBQUUsaURBQWlELENBQUM7UUFDM0QsWUFBTyxHQUFDLGlEQUFpRCxDQUFDO1FBQzFELGNBQVMsR0FBQyxtREFBbUQsQ0FBQztRQUM5RCxhQUFRLEdBQUMsa0RBQWtELENBQUM7UUFDNUQsYUFBUSxHQUFDLGtEQUFrRCxDQUFDO1FBQzVELFlBQU8sR0FBQyxpREFBaUQsQ0FBQztRQUUxRCxjQUFTLEdBQUUsZ0RBQWdELENBQUM7UUFDNUQsY0FBUyxHQUFDLGdEQUFnRCxDQUFDO1FBQzNELGdCQUFXLEdBQUMsa0RBQWtELENBQUM7UUFDL0QsZUFBVSxHQUFDLGlEQUFpRCxDQUFDO1FBQzdELGVBQVUsR0FBQyxpREFBaUQsQ0FBQztRQUtwRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHMUMsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBTXpDLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQVc3QyxvQkFBZSxHQUEyQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBV3RELGtCQUFhLEdBQVUsR0FBRyxDQUFDO1FBQzNCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUVwQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUU3QixhQUFRLEdBQWEsQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUUvQyxDQUFDLENBQUM7UUFDTSxZQUFPLEdBQWEsR0FBRyxFQUFFO1FBRWpDLENBQUMsQ0FBQztJQUs4RixDQUFDO0lBRWpHLFFBQVE7UUFFTixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzdGLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxZQUFZLEVBQUUsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbkgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU3QixJQUFHLElBQUksQ0FBQyxZQUFZLElBQUUsSUFBSSxFQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7U0FDakQ7UUFDRCxJQUFJLEdBQWlDLENBQUM7UUFDdEMsSUFBSSxXQUF1QyxDQUFDO1FBQzVDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLEVBQUU7WUFDekUsR0FBRyxHQUFHLElBQUksNEJBQTRCLEVBQUUsQ0FBQztZQUN6QyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxFQUFFLHNCQUFzQixDQUFDO1lBQzNGLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLGtCQUFrQixJQUFJLEdBQUcsRUFBRTtnQkFDbEYsSUFBSSxXQUFXLEtBQUssWUFBWSxFQUFFO29CQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztpQkFDekI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN2RjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO2FBQ3pCO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1lBQzlELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNEQUFzRCxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBRWhJLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzdGLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLFdBQVcsR0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDakQsSUFBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBQztnQkFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQzthQUM3QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtZQUNELElBQUcsR0FBRyxDQUFDLGlCQUFpQixFQUFDO2dCQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQzthQUM1QztZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7WUFDM0MsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUM7WUFDcEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQzlDLElBQUksV0FBVyxLQUFLLFlBQVksRUFBRTtnQkFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDO2FBQ3ZGO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7WUFDNUQsSUFBRyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMscUJBQXFCLElBQUksR0FBRyxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixFQUFDO2dCQUNoRyxJQUFJLENBQUMscUJBQXFCLEdBQUcsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDO2FBQ3pFO1NBQ0Y7UUFFRCxJQUFJLENBQUMsbUNBQW1DLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFckgsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1FBQ2hHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNoSCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1FBRTVHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNFLElBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFDO1lBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDbkQ7YUFBSztZQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUdwQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzVDLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQzNJLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNoTCxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMzSix5QkFBeUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pSLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDak8sV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2TyxtQkFBbUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDN1Asa0JBQWtCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMvUixpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6VSxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0VSxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDL04sa0JBQWtCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25TLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeFMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsUyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNTLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeFMsb0JBQW9CLEVBQUUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6VSxnQkFBZ0IsRUFBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssS0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDclcsYUFBYSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDM00saUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdFIsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEwsb0JBQW9CLEVBQUMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUEsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyTyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBQztZQUM3UixzQkFBc0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMVMsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBQztZQUN2UixrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBQztZQUM3UixzQkFBc0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFL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SSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsSUFB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cEQsZUFDcUQ7WUFEckQsNEtBQ3FEO1lBWXRFLGVBQ3dIO1lBRHhILG1OQUN3SDtZQVV2RyxlQUNxRDtZQURyRCw0S0FDcUQ7WUFZckQsZUFDdUM7WUFEdkMsNEtBQ3VDO1lBZ0J4RCxlQUFvSTtZQUFwSSw2S0FBb0k7WUFjcEksZUFBbUk7WUFBbkksNktBQW1JO1lBYW5JLGVBQXdNO1lBQXhNLDZQQUF3TTtZQVd4TSxlQUF5SjtZQUF6Six1TUFBeUo7WUFZekosZUFBNko7WUFBN0oscU1BQTZKO1lBbUU3SixlQUE4SjtZQUE5SixxTUFBOEo7WUE0RDNKLGVBQzhFO1lBRDlFLG9UQUM4RTtZQTREdkUsZUFBbUQ7WUFBbkQsNEZBQW1EO1lBQ2EsZUFBMEI7WUFBMUIsK0NBQTBCO1lBRTNCLGVBQTJCO1lBQTNCLGdEQUEyQjs7O2lGRHZwQ3RHLG9CQUFvQjtjQUxoQyxTQUFTOzJCQUNFLGtCQUFrQjsyVUFNTCxRQUFRO2tCQUE5QixTQUFTO21CQUFDLFVBQVU7WUFDRSxRQUFRO2tCQUE5QixTQUFTO21CQUFDLFVBQVU7WUFDRSxRQUFRO2tCQUE5QixTQUFTO21CQUFDLFVBQVU7WUFHZCx3QkFBd0I7a0JBRDlCLFNBQVM7bUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBd0V4RCxXQUFXO2tCQURWLE1BQU07WUFJUCxPQUFPO2tCQUROLE1BQU07WUFJQSxpQkFBaUI7a0JBRHZCLEtBQUs7WUFJQyxvQkFBb0I7a0JBRDFCLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsR0FBRztrQkFEVCxLQUFLO1lBTU4sZUFBZTtrQkFEZCxNQUFNOztrRkFqR0ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIE5nRm9ybSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UsIFNlbGVjdEl0ZW1Hcm91cCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsJztcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XG5pbXBvcnQgeyBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0VtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0JztcbmltcG9ydCB7IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F0clllYXJFbXBsb3llcldhZ2VNb2RlbCc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS92YWxpZGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBZGRyZXNzQ29tcG9uZW50TW9kZWwsIENob2ljZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9BZGRyZXNzQ29tcG9uZW50TW9kZWwnO1xuaW1wb3J0IHsgQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1zL2NsYWltcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnQgfSBmcm9tICcuLi9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50JztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgS2V5VmFsdWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0tleVZhbHVlTW9kZWwnO1xuaW1wb3J0IHsgUmVhc29uU2VwYXJhdGlvblJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9SZWFzb25TZXBhcmF0aW9uUmVxdWVzdE1vZGVsJztcbmltcG9ydCB7IEVtcGxveWVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VtcGxveWVyL2VtcGxveWVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLWVtcGxveWVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1lbXBsb3llci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1lbXBsb3llci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBZGRFbXBsb3llckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZCgnYWRkcmVzczEnKSBhZGRyZXNzMTogQWRkcmVzc0NvbXBvbmVudDsgXG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3MyJykgYWRkcmVzczI6IEFkZHJlc3NDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3MzJykgYWRkcmVzczM6IEFkZHJlc3NDb21wb25lbnQ7IFxuXG4gIEBWaWV3Q2hpbGQoJ2FkZEVtcGxveWVyRm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XG4gIHB1YmxpYyBlbXBsb3llclR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uRU1QTE9ZRVJfVFlQRTtcbiAgcHVibGljIGNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcbiAgcHVibGljIGNvdW50cnlGZWRPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcbiAgcHVibGljIHBheVJhdGVPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRDtcbiAgcHVibGljIHN0YXRlT3B0aW9uczogYW55ID0gW107XG4gIHB1YmxpYyBmZWRTdGF0ZU9wdGlvbnM6IGFueSA9IFtdO1xuICBwdWJsaWMgam9iVGlsZU9yUG9zaXRpb25PcHRpb25zOiBhbnkgPVtdO1xuICBwdWJsaWMgZmVkSm9iVGlsZU9wdGlvbnM6IGFueSA9W107XG4gIHB1YmxpYyByYWRpb09wdGlvbnMgPSBDb21ib09wdGlvbi5ZRVNfTk87XG4gIHB1YmxpYyB3b3JrT3B0aW9ucyA9IENvbWJvT3B0aW9uLldPUktfRk9SX0VNUEw7XG4gIHB1YmxpYyB5ZXNOb05hT3B0aW9ucyA9IENvbWJvT3B0aW9uLllFU19OT19OQTtcbiAgcHVibGljIHBheU1ldGhvZE9wdGlvbnMgPSBDb21ib09wdGlvbi5QQVlNRU5UX01FVEhPRDtcbiAgcHVibGljIHdhZ2VQcm9vZk9wdGlvbnMgPSBDb21ib09wdGlvbi5XQUdFX1BST09GO1xuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uczogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgc3RhdGVzT3B0aW9ucztcbiAgcHVibGljIHBheVBlcmlvZCA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XG4gIHB1YmxpYyBlbXBsb3ltZW50U3RhdHVzT3B0aW9uczogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHdvcmtDb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLldPUktfQ09VTlRSWTtcbiAgcHVibGljIG1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFO1xuICBwdWJsaWMgbWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1dpdGhTcGFjZSA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0VfVVNTRjtcbiAgcHVibGljIHJlbXVuZXJhdGlvblR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uUkVNVU5FUkFUSU9OX1RZUEVTO1xuICBwdWJsaWMgc2hpZnRPcHRpb25zPUNvbWJvT3B0aW9uLlNISUZUO1xuICBwdWJsaWMgZGlkV29ya09wdGlvbnM9Q29tYm9PcHRpb24uRElEV09SSztcbiAgcHVibGljIHdvcmtXZWVrT3B0aW9ucz1Db21ib09wdGlvbi5XT1JLV0VFSztcbiAgcHVibGljIGRpc3NtaXNhbENoZWNrQm94T3B0aW9ucz1Db21ib09wdGlvbi5ESVNTTUlTQUxQQVlPUFRJT05TO1xuICBwdWJsaWMgYWRkRW1wbG95ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgZGlzcGxheTogYm9vbGVhbjtcbiAgcHVibGljIGJhc2VQZXJpb2RTdGFydERhdGU6IERhdGU7XG4gIHB1YmxpYyBiYXNlUGVyaW9kRW5kRGF0ZTogRGF0ZTtcbiAgcHVibGljIGJwU3RhcnREYXRlVG9EaXNwbGF5OiBEYXRlO1xuICBwdWJsaWMgbWluRGF0ZTogRGF0ZTtcbiAgcHVibGljIG1pblN0YXJ0RGF0ZTogRGF0ZTtcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZU9uZT86IHN0cmluZztcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZVR3bz86IHN0cmluZztcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZVRocmVlPzogc3RyaW5nO1xuICBwdWJsaWMgcXVhcnRlclJhbmdlRm91cj86IHN0cmluZztcbiAgcHVibGljIGN1cnJlbnRRdWFydGVyUmFuZ2U/OiBzdHJpbmc7XG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VGaXZlPzogc3RyaW5nO1xuICBwdWJsaWMgZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xuICAvL3B1YmxpYyBncm91cGVkUmVhc29ucz0gQ29tYm9PcHRpb24uR1JPVVBfUkVBU09OUztcbiAgcHVibGljIG1pbldvcmtTdGFydERhdGUgOiBEYXRlO1xuICBwdWJsaWMgbWluV2Vla0ZvckNoYXJnZWFiaWxpdHkgOiBudW1iZXI7XG5cbiAgcHVibGljIGRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyB2b2xRdWl0UmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuXG4gIHB1YmxpYyBzZjhJbmZvPVwiU0YtOFwiO1xuXG4gIHB1YmxpYyBzdGF0ZW1lbnQxID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQud2FnZS5wcm9vZi5zdGF0ZW1lbnQxXCI7XG4gIHB1YmxpYyBzdGF0ZW1lbnQyID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQud2FnZS5wcm9vZi5zdGF0ZW1lbnQyXCI7XG4gIHB1YmxpYyBzdGF0ZW1lbnQzID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQud2FnZS5wcm9vZi5zdGF0ZW1lbnQzXCI7XG4gIHB1YmxpYyBzdGF0ZW1lbnQ0ID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQud2FnZS5wcm9vZi5zdGF0ZW1lbnQ0XCI7IFxuICBwdWJsaWMgcGFyYU9uZSA9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLm9uZVwiO1xuICBwdWJsaWMgcGFyYVR3bz1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEudHdvXCI7XG4gIHB1YmxpYyBwYXJhVGhyZWU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnRocmVlXCI7XG4gIHB1YmxpYyBwYXJhRm91cj1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEuZm91clwiO1xuICBwdWJsaWMgcGFyYUZpdmU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLmZpdmVcIjtcbiAgcHVibGljIHBhcmFTaXg9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnNpeFwiO1xuXG4gIHB1YmxpYyBub1BhcmFPbmUgPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLm9uZVwiO1xuICBwdWJsaWMgbm9QYXJhVHdvPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLnR3b1wiO1xuICBwdWJsaWMgbm9QYXJhVGhyZWU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lm5vLnBhcmEudGhyZWVcIjtcbiAgcHVibGljIG5vUGFyYUZvdXI9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lm5vLnBhcmEuZm91clwiO1xuICBwdWJsaWMgbm9QYXJhRml2ZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5maXZlXCI7XG5cbiAgcHVibGljIGVtcGxveWVyUHJvdmlkZWRXYWdlczogUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsW107XG5cbiAgQE91dHB1dCgpXG4gIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVjb3JkSW5kZXhUb0VkaXQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNCYXNlUGVyaW9kRW1wbG95ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNOZXdDbGFpbTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZG9iOiBEYXRlO1xuXG4gIHB1YmxpYyBoaWRlRmljQ29kZTogdHJ1ZTtcblxuICBAT3V0cHV0KCkgXG4gIGJhc2VQZXJpb2RJbmRleDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgY3VycmVudFN0YXRlIDogc3RyaW5nO1xuXG4gIHB1YmxpYyBjdXN0b21lck5hbWU6IHN0cmluZztcbiAgcHVibGljIGFsaWFzTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbWFpbGluZ0FkZHJlc3NEaXNwbGF5OiBzdHJpbmc7XG4gIHB1YmxpYyBzY2hvb2xGbGFnOnN0cmluZztcbiAgcHVibGljIHNwb3J0c0ZsYWc6c3RyaW5nO1xuICBwdWJsaWMgY2xhaW1UeXBlRHVhOnN0cmluZztcbiAgcHVibGljIHNzblZhbGlkV29ya1NoYXJlOnN0cmluZztcbiAgcHVibGljIGlzT3NhRW1wbG95ZXI6c3RyaW5nID0gXCIwXCI7XG4gIHB1YmxpYyBlbXBsb3llclR5cGVQcmVTZXQgOiBzdHJpbmcgPSBcIlJFR1wiO1xuICBwdWJsaWMgaXNDU1I6Ym9vbGVhbjtcbiAgcHVibGljIHNob3dXb3JrU3RhdGU6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgcmVhc29uU2VwYXJhdGlvblZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKHZhbHVlOiBTdHJpbmcpID0+IHtcblxuICB9O1xuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4ge1xuXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2UsIFxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSxwcml2YXRlIGZpbHRlclNlcnZpY2U6IEZpbHRlclNlcnZpY2UscHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIFxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHVibGljIGNsYWltc1NlcnZpY2UgOiBDbGFpbVNlcnZpY2UsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLFxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBhcjogQWN0aXZhdGVkUm91dGUsIHB1YmxpYyBlbXBsb3llclNlcnZpY2U6IEVtcGxveWVyU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLnNldFdvcmtTdGFydERhdGUoKTtcblxuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IENvbWJvT3B0aW9uLlVTX1NUQVRFUy5maW5kKHN0YXRlID0+IHN0YXRlLnZhbHVlID09IHRoaXMudXRpbC5nZXRTdGF0ZSgpKVxuICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IFtjdXJyZW50U3RhdGUsIC4uLkNvbWJvT3B0aW9uLlVTX1NUQVRFUy5maWx0ZXIoc3RhdGUgPT4gc3RhdGUudmFsdWUgIT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXTtcblxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdpc0Jhc2VQZXJpb2RFbXBsb3llciBpcyA9ICcsIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdpc05ld0NsYWltID0gJywgdGhpcy5pc05ld0NsYWltKTtcbiAgICB0aGlzLmN1cnJlbnRTdGF0ZSA9IHRoaXMudXRpbC5nZXRTdGF0ZSgpO1xuICAgIHRoaXMubG9hZE1hc3RlckRhdGEoKTtcbiAgICB0aGlzLmlzQ1NSID0gdGhpcy5scy5pc0NzcigpO1xuICAgXG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGU9PSdDVCcpe1xuICAgICAgdGhpcy5wYXlQZXJpb2QgPSBDb21ib09wdGlvbi5QQVlfUEVSSU9EX0NUO1xuICAgICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0RfQ1Q7XG4gICAgfVxuICAgIGxldCBlc206IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWw7XG4gICAgbGV0IHF0cldhZ2VMaXN0OiBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWxbXTtcbiAgICBsZXQgcHJvY2Vzc3R5cGUgPSB0aGlzLmFyLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdwcm9jZXNzdHlwZScpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiY2FsbCBzZXJ2aWNlID1cIiwgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XG4gICAgaWYgKHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgPT0gdW5kZWZpbmVkIHx8IHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgPT0gbnVsbCkge1xuICAgICAgZXNtID0gbmV3IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwoKTtcbiAgICAgIHF0cldhZ2VMaXN0ID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8ucXRyWWVhcldhZ2VMaXN0R2VuZXJpYztcbiAgICAgIGlmICh0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmRpc2FzdGVyQWN0aXZlRmxhZyAhPSAnMCcpIHtcbiAgICAgICAgaWYgKHByb2Nlc3N0eXBlID09PSAnYWljLXJlb3BlbicpIHtcbiAgICAgICAgICB0aGlzLmNsYWltVHlwZUR1YSA9ICcxJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNsYWltVHlwZUR1YSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuY2xhaW1UeXBlRHVhO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsYWltVHlwZUR1YSA9ICcwJztcbiAgICAgIH0gICAgICBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlY29yZEluZGV4VG9FZGl0JywgdGhpcy5yZWNvcmRJbmRleFRvRWRpdClcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpJywgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XG5cbiAgICAgIGVzbSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W3RoaXMucmVjb3JkSW5kZXhUb0VkaXRdO1xuICAgICAgY29uc29sZS5sb2coXCJlc21cIixlc20pO1xuICAgICAgcXRyV2FnZUxpc3Q9ZXNtLndhZ2VBbW91bnRBcnJheTtcbiAgICAgIHRoaXMuY3VzdG9tZXJOYW1lID0gZXNtLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZTtcbiAgICAgIGlmKGVzbS5lbXBsb3llckRhdGEudHJhZGVOYW1lKXtcbiAgICAgICAgdGhpcy5hbGlhc05hbWUgPSBlc20uZW1wbG95ZXJEYXRhLnRyYWRlTmFtZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWxpYXNOYW1lID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmKGVzbS5vc2FCcEVtcGxveWVyRmxhZyl7XG4gICAgICAgIHRoaXMuaXNPc2FFbXBsb3llciA9IGVzbS5vc2FCcEVtcGxveWVyRmxhZztcbiAgICAgIH1cbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiaXNPc2FFbXBsb3llciA9PT09PT09IFwiICwgdGhpcy5pc09zYUVtcGxveWVyKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiZW1wbG95ZXJUeXBlID09PT09PT0gXCIgLCBlc20uZW1wbG95ZXJUeXBlKTtcbiAgICAgIHRoaXMuZW1wbG95ZXJUeXBlUHJlU2V0ID0gZXNtLmVtcGxveWVyVHlwZTtcbiAgICAgIHRoaXMubWFpbGluZ0FkZHJlc3NEaXNwbGF5ID0gZXNtLmVtcGxveWVyRGF0YS5tYWlsaW5nQWRkcmVzc0Rpc3BsYXk7XG4gICAgICB0aGlzLnNjaG9vbEZsYWcgPSBlc20uZW1wbG95ZXJEYXRhLnNjaG9vbEZsYWc7XG4gICAgICB0aGlzLnNwb3J0c0ZsYWcgPSBlc20uZW1wbG95ZXJEYXRhLnNwb3J0c0ZsYWc7XG4gICAgICBpZiAocHJvY2Vzc3R5cGUgPT09ICdhaWMtcmVvcGVuJykge1xuICAgICAgICB0aGlzLmNsYWltVHlwZUR1YSA9ICcxJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xhaW1UeXBlRHVhID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5jbGFpbVR5cGVEdWE7XG4gICAgICB9XG4gICAgICB0aGlzLnNzblZhbGlkV29ya1NoYXJlID0gZXNtLmVtcGxveWVyRGF0YS5zc25WYWxpZFdvcmtTaGFyZTtcbiAgICAgIGlmKHRoaXMuaXNDU1IgPT09IHRydWUgJiYgZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcyAmJiBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzLndhZ2VzTGlzdFF0cldpc2Upe1xuICAgICAgICB0aGlzLmVtcGxveWVyUHJvdmlkZWRXYWdlcyA9IGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmdldFJlYXNvblNlcGVyYXRpb25CYXNlZE9uQ29uZGl0aW9uKHRoaXMuc2Nob29sRmxhZywgdGhpcy5zcG9ydHNGbGFnLCB0aGlzLmNsYWltVHlwZUR1YSwgdGhpcy5zc25WYWxpZFdvcmtTaGFyZSlcblxuICAgIHRoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYmFzZVBlcmlvZFN0YXJ0RGF0ZTtcbiAgICB0aGlzLmJhc2VQZXJpb2RFbmREYXRlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5iYXNlUGVyaW9kRW5kRGF0ZTtcbiAgICB0aGlzLmJwU3RhcnREYXRlVG9EaXNwbGF5ID0gbmV3IERhdGUodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icFN0YXJ0RGF0ZVRvRGlzcGxheSk7XG4gICAgdGhpcy5taW5XZWVrRm9yQ2hhcmdlYWJpbGl0eSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkubWluV2Vla0ZvckNoYXJnZWFiaWxpdHk7XG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInRoaXMubWluV29ya1N0YXJ0RGF0ZSBhcyBpbnB1dFwiLCB0aGlzLm1pbldvcmtTdGFydERhdGUpO1xuICAgIGlmKHRoaXMubWluV29ya1N0YXJ0RGF0ZSl7XG4gICAgICB0aGlzLmJwU3RhcnREYXRlVG9EaXNwbGF5ID0gdGhpcy5taW5Xb3JrU3RhcnREYXRlO1xuICAgIH0gZWxzZXtcbiAgICAgIHRoaXMubWluV29ya1N0YXJ0RGF0ZSA9IHRoaXMuZG9iO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInRoaXMubWluV29ya1N0YXJ0RGF0ZSBwb3N0IHNldHVwIFwiLCB0aGlzLm1pbldvcmtTdGFydERhdGUpO1xuICAgIHRoaXMuY2xhaW1zU2VydmljZS5sb2FkTWFzdGVyRGF0YSgpO1xuXG4gICAgXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICdlbXBsb3llclR5cGUnOiBbZXNtLmVtcGxveWVyVHlwZSAhPSBudWxsID8gZXNtLmVtcGxveWVyVHlwZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXG4gICAgICAnZW1wbG95ZXJOYW1lJzogW2VzbS5lbXBsb3llck5hbWUgIT0gbnVsbCA/IGVzbS5lbXBsb3llck5hbWUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpXSxcbiAgICAgICdmZWRFbXBsb3llck5hbWUnOiBbZXNtLmZlZEVtcGxveWVyTmFtZSAhPSBudWxsID8gZXNtLmZlZEVtcGxveWVyTmFtZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJzogW2VzbS5lbXBsb3llclRlbGVwaG9uZU51bWJlciAhPSBudWxsID8gZXNtLmVtcGxveWVyVGVsZXBob25lTnVtYmVyIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ2VuZERhdGUnOiBbZXNtLmVuZERhdGUgIT0gbnVsbCA/IGVzbS5lbmREYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ3N0YXJ0RGF0ZSc6IFtlc20uc3RhcnREYXRlICE9IG51bGwgPyBlc20uc3RhcnREYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ2pvYlRpbGVPclBvc2l0aW9uJzogW2VzbS5qb2JUaWxlT3JQb3NpdGlvbiAhPSBudWxsID8gZXNtLmpvYlRpbGVPclBvc2l0aW9uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpXSxcbiAgICAgICdyZWFzb25TZXBhcmF0aW9uJzogW2VzbS5yZWFzb25TZXBhcmF0aW9uICE9IG51bGwgPyBlc20ucmVhc29uU2VwYXJhdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2Rpc2NoYXJnZURldGFpbCc6IFtlc20uZGlzY2hhcmdlRGV0YWlsICE9IG51bGwgPyBlc20uZGlzY2hhcmdlRGV0YWlsIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSkgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUhPSdNSUwnICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZSAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdEQ0ZJJykpKV0sXG4gICAgICAndm9sUXVpdERldGFpbHMnOiBbZXNtLnZvbFF1aXREZXRhaWxzICE9IG51bGwgPyBlc20udm9sUXVpdERldGFpbHMgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ1ZPTFEnKSkpXSxcbiAgICAgICdwYXlSYXRlJzogW2VzbS5wYXlSYXRlICE9IG51bGwgPyBlc20ucGF5UmF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKV0sXG4gICAgICAncGF5UmF0ZUZyZXF1ZW5jeSc6IFtlc20ucGF5UmF0ZUZyZXF1ZW5jeSAhPSBudWxsID8gZXNtLnBheVJhdGVGcmVxdWVuY3kgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpKV0sXG4gICAgICAnaHJzV2Vlayc6IFtlc20uaHJzV2VlayAhPSBudWxsID8gZXNtLmhyc1dlZWsgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyB8fCB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKSkpXSxcbiAgICAgICdzaGlmdCc6IFtlc20uc2hpZnQgIT0gbnVsbCA/IGVzbS5zaGlmdCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpKSldLFxuICAgICAgJ3dvcmtXZWVrJzogW2VzbS53b3JrV2VlayAhPSBudWxsID8gZXNtLndvcmtXZWVrIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSkpKV0sXG4gICAgICAnZGlkV29yayc6IFtlc20uZGlkV29yayAhPSBudWxsID8gZXNtLmRpZFdvcmsgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyB8fCB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKSkpXSxcbiAgICAgICdzZXBhcmF0aW9uRGF0ZUZsYWcnOiBbZXNtLnNlcGFyYXRpb25EYXRlRmxhZyAhPSBudWxsID8gZXNtLnNlcGFyYXRpb25EYXRlRmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpKSldLFxuICAgICAgJ3NlcGFyYXRpb25EYXRlJzogIFtlc20uc2VwYXJhdGlvbkRhdGUgIT0gbnVsbCA/IGVzbS5zZXBhcmF0aW9uRGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykgJiYgdGhpcy5zZXBhcmF0aW9uRGF0ZUZsYWcudmFsdWU9PT0nWScpKSldLFxuICAgICAgJ3BlbnNpb25GbGFnJzogW2VzbS5wZW5zaW9uRmxhZyAhPSBudWxsID8gZXNtLnBlbnNpb25GbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAncGVuc2lvblJlY3ZEYXRlJzogW2VzbS5wZW5zaW9uUmVjdkRhdGUgIT0gbnVsbCA/IGVzbS5wZW5zaW9uUmVjdkRhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLnBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJykpXSxcbiAgICAgICdyZWdQZW5zaW9uRmxhZyc6IFtlc20ucmVnUGVuc2lvbkZsYWcgIT0gbnVsbCA/IGVzbS5yZWdQZW5zaW9uRmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ3JlZ1BlbnNpb25SZWN2RGF0ZSc6W2VzbS5yZWdQZW5zaW9uUmVjdkRhdGUgIT0gbnVsbCA/IGVzbS5yZWdQZW5zaW9uUmVjdkRhdGU6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMucmVnUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJykpXSwgICAgICBcbiAgICAgICdyZWdEaXNzbWlzYWxGbGFnJzogW2VzbS5yZWdEaXNzbWlzYWxGbGFnICE9IG51bGwgPyBlc20ucmVnRGlzc21pc2FsRmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgKSkpXSxcbiAgICAgICdyZWdEaXNzbWlzYWxDaGVja0JveCc6IFtlc20ucmVnRGlzc21pc2FsQ2hlY2tCb3ggIT0gbnVsbCA/IGVzbS5yZWdEaXNzbWlzYWxDaGVja0JveCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSkpKV0sXG4gICAgICAncmVnTGFpZE9mZkZsYWcnOiBbZXNtLnJlZ0xhaWRPZmZGbGFnICE9IG51bGwgPyBlc20ucmVnTGFpZE9mZkZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICkpKV0sXG4gICAgICAnZmVkRGlzc21pc2FsRmxhZyc6IFtlc20uZmVkRGlzc21pc2FsRmxhZyAhPSBudWxsID8gZXNtLmZlZERpc3NtaXNhbEZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICkpKV0sXG4gICAgICAnZmVkRGlzc21pc2FsQ2hlY2tCb3gnOiBbZXNtLmZlZERpc3NtaXNhbENoZWNrQm94ICE9IG51bGwgPyBlc20uZmVkRGlzc21pc2FsQ2hlY2tCb3ggOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpKSldLFxuICAgICAgJ2ZlZExhaWRPZmZGbGFnJzogW2VzbS5mZWRMYWlkT2ZmRmxhZyAhPSBudWxsID8gZXNtLmZlZExhaWRPZmZGbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyApKSldLFxuICAgICAgJ2lzQ2xtdFBhaWRXaGlsZUxvdyc6IFtlc20uaXNDbG10UGFpZFdoaWxlTG93ICE9IG51bGwgPyBlc20uaXNDbG10UGFpZFdoaWxlTG93IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ0NUJykgXSxcbiAgICAgICdoYXNTaG9ydFRlcm1EaXNhYmlsaXR5JzogW2VzbS5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5ICE9IG51bGwgPyBlc20uaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXG4gICAgICAnaGFzUmVjdlJlbXVuZXJhdGlvbic6IFtlc20uaGFzUmVjdlJlbXVuZXJhdGlvbiAhPSBudWxsID8gZXNtLmhhc1JlY3ZSZW11bmVyYXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyldLFxuICAgICAgJ3JlbXVuZXJhdGlvblR5cGVzJzogW2VzbS5yZW11bmVyYXRpb25UeXBlcyAhPSBudWxsID8gZXNtLnJlbXVuZXJhdGlvblR5cGVzIDogbnVsbF0sXG4gICAgICAndmFjYXRpb24nOiBbZXNtLnZhY2F0aW9uICE9IG51bGwgPyBlc20udmFjYXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLnNjaG9vbEZsYWcgPT09JzEnKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXG4gICAgICBcbiAgICAgICdncm9zc1dhZ2VzJzogW2VzbS5ncm9zc1dhZ2VzICE9IG51bGwgPyBlc20uZ3Jvc3NXYWdlcyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSB8fCB0aGlzLmlzT3NhRW1wbG95ZXIgPT09JzEnKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01TJyldLFxuICAgICAgLy8ncGFpZEJ5JzogW2VzbS5wYWlkQnkgIT0gbnVsbCA/IGVzbS5wYWlkQnkgOiBudWxsLEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cudmFsdWU9PT0nWScpKV0sXG4gICAgICAncGF5bWVudFR5cGUnOiBbZXNtLnBheW1lbnRUeXBlICE9IG51bGwgPyBlc20ucGF5bWVudFR5cGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxuICAgICAgJ2RvY3NSZWNlaXZlZCc6IFtlc20uZG9jc1JlY2VpdmVkICE9IG51bGwgPyBlc20uZG9jc1JlY2VpdmVkIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICdvdGhlclNTTkZsYWcnOiBbZXNtLm90aGVyU1NORmxhZyAhPSBudWxsID8gZXNtLm90aGVyU1NORmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXG4gICAgICAnb3RoZXJTU04nOiBbZXNtLm90aGVyU1NOICE9IG51bGwgPyBlc20ub3RoZXJTU04gOiBudWxsICwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLm90aGVyU1NORmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ290aGVyTmFtZUZsYWcnOiBbZXNtLm90aGVyTmFtZUZsYWcgIT0gbnVsbCA/IGVzbS5vdGhlck5hbWVGbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICdvdGhlck5hbWUnOiBbZXNtLm90aGVyTmFtZSAhPSBudWxsID8gZXNtLm90aGVyTmFtZSA6IG51bGwgLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMub3RoZXJOYW1lRmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgLy8nZG9pbmdCdXNpbmVzc0FzJzogW2VzbS5kb2luZ0J1c2luZXNzQXMgIT0gbnVsbCA/IGVzbS5kb2luZ0J1c2luZXNzQXMgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J01TJykpXSxcbiAgICAgICd3b3JrU3RhdGUnOiBbZXNtLndvcmtTdGF0ZSAhPSBudWxsID8gZXNtLndvcmtTdGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ3dvcmtDaXR5JzogW2VzbS53b3JrQ2l0eSAhPSBudWxsID8gZXNtLndvcmtDaXR5IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAvLydudW1iZXJFbXBsb3llZCc6IFtlc20ubnVtYmVyRW1wbG95ZWQgIT0gbnVsbCA/IGVzbS5udW1iZXJFbXBsb3llZCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICd3b3JrVHlwZSc6IFtlc20ud29ya1R5cGUgIT0gbnVsbCA/IGVzbS53b3JrVHlwZSA6IG51bGxdLFxuICAgICAgLy8gJ2ZlaW4nOiBbZXNtLmZlaW4gIT0gbnVsbCA/IGVzbS5mZWluIDogbnVsbF0sXG4gICAgIC8vICdoaXJlZEJ5JzogW2VzbS5oaXJlZEJ5ICE9IG51bGwgPyBlc20uaGlyZWRCeSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nTVMnKSldLFxuICAgICAgLy8nYnVzaW5lc3NPd25lcic6IFtlc20uYnVzaW5lc3NPd25lciAhPSBudWxsID8gZXNtLmJ1c2luZXNzT3duZXIgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J01TJykpXSxcbiAgICAgIC8vJ2J1c2luZXNzTmF0dXJlJzogW2VzbS5idXNpbmVzc05hdHVyZSAhPSBudWxsID8gZXNtLmJ1c2luZXNzTmF0dXJlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXG4gICAgICAnd29ya0ZsYWcnOiBbZXNtLndvcmtGbGFnICE9IG51bGwgPyBlc20ud29ya0ZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcildLFxuICAgICAgLy8ncXVpdHJlYXNvbic6IFtlc20ucXVpdHJlYXNvbiAhPSBudWxsID8gZXNtLnF1aXRyZWFzb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKSAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlLnZhbHVlID09PSAnVk9MUScpKSldLFxuICAgICAgJ2Rpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzJzogW2VzbS5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyAhPSBudWxsID8gZXNtLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzIDogbnVsbF0sXG4gICAgICAnZmljRGVzdGluYXRpb25Db2RlJzogW2VzbS5maWNEZXN0aW5hdGlvbkNvZGUgIT0gbnVsbCA/IGVzbS5maWNEZXN0aW5hdGlvbkNvZGUgOiBudWxsXSxcbiAgICAgICdmaWNDb2RlJzogW2VzbS5maWNDb2RlICE9IG51bGwgPyBlc20uZmljQ29kZSA6IG51bGxdLFxuICAgICAgJ2ZpY0Rlc3RpbmF0aW9uTmFtZSc6IFtlc20uZmljRGVzdGluYXRpb25OYW1lICE9IG51bGwgPyBlc20uZmljRGVzdGluYXRpb25OYW1lIDogbnVsbF0sXG4gICAgICAnZmljRGVzdGluYXRpb25JZCc6IFtlc20uZmljRGVzdGluYXRpb25JZCAhPSBudWxsID8gZXNtLmZpY0Rlc3RpbmF0aW9uSWQgOiBudWxsXSxcbiAgICAgICdzZkVpZ2h0ZmxhZyc6IFtlc20uc2ZFaWdodGZsYWcgIT0gbnVsbCA/IGVzbS5zZkVpZ2h0ZmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2ZlZFdvcmtDaXR5JzogW2VzbS5mZWRXb3JrQ2l0eSAhPSBudWxsID8gZXNtLmZlZFdvcmtDaXR5IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZmVkV29ya1N0YXRlJzogW2VzbS5mZWRXb3JrU3RhdGUgIT0gbnVsbCA/IGVzbS5mZWRXb3JrU3RhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdmZWRXb3JrQ291bnRyeSc6IFtlc20uZmVkV29ya0NvdW50cnkgIT0gbnVsbCA/IGVzbS5mZWRXb3JrQ291bnRyeSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ3N0YXJ0RGF0ZUZlZCc6IFtlc20uc3RhcnREYXRlRmVkICE9IG51bGwgPyBlc20uc3RhcnREYXRlRmVkIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZW5kRGF0ZUZlZCc6IFtlc20uZW5kRGF0ZUZlZCAhPSBudWxsID8gZXNtLmVuZERhdGVGZWQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdmZWRKb2JUaWxlT3JQb3NpdGlvbic6IFtlc20uZmVkSm9iVGlsZU9yUG9zaXRpb24gIT0gbnVsbCA/IGVzbS5mZWRKb2JUaWxlT3JQb3NpdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgLy8nY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByJzogW2VzbS5jbGFpbWFudEVtcGxveWVkV2l0aEVtcHIgIT0gbnVsbCA/IGVzbS5jbGFpbWFudEVtcGxveWVkV2l0aEVtcHIgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdwZXJmb3JtZWRTZXJ2aWNlJzogW2VzbS5wZXJmb3JtZWRTZXJ2aWNlICE9IG51bGwgPyBlc20ucGVyZm9ybWVkU2VydmljZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2ZlZFBlbnNpb25GbGFnJzogW2VzbS5mZWRQZW5zaW9uRmxhZyAhPSBudWxsID8gZXNtLmZlZFBlbnNpb25GbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZmVkUGVuc2lvblJlY3ZEYXRlJzpbZXNtLmZlZFBlbnNpb25SZWN2RGF0ZSAhPSBudWxsID8gZXNtLmZlZFBlbnNpb25SZWN2RGF0ZTogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKSldLFxuICAgICAgJ3NldlBheUZsYWcnOiBbZXNtLnNldlBheUZsYWcgIT0gbnVsbCA/IGVzbS5zZXZQYXlGbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpKV0sXG4gICAgICAnd2Vla2x5QW1vdW50JzogW2VzbS5zZXZQYXlGbGFnICE9IG51bGwgPyBlc20ud2Vla2x5QW1vdW50IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAnbnVtYmVyT2ZXZWVrcyc6IFtlc20uc2V2UGF5RmxhZyAhPSBudWxsID8gZXNtLm51bWJlck9mV2Vla3MgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcbiAgICAgICdzZXZQYXlBbW91bnQnOiBbZXNtLnNldlBheUZsYWcgIT0gbnVsbCA/IGVzbS5zZXZQYXlBbW91bnQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcbiAgICAgICdzZXZQYXlTdGFydERhdGUnOiBbZXNtLnNldlBheVN0YXJ0RGF0ZSAhPSBudWxsID8gZXNtLnNldlBheVN0YXJ0RGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ3NldlBheUVuZERhdGUnOiBbZXNtLnNldlBheUVuZERhdGUgIT0gbnVsbCA/IGVzbS5zZXZQYXlFbmREYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAnc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSc6IFtlc20uc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSAhPSBudWxsID8gZXNtLnNldlBheVBheW1lbnRTdGFydERhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcbiAgICAgICdyZWdFbXBsb3llckZvdW5kJzogW2VzbS5yZWdFbXBsb3llckZvdW5kICE9IG51bGwgPyBlc20ucmVnRW1wbG95ZXJGb3VuZCA6IG51bGxdLFxuICAgICAgJ2VtcGxveWVySWQnOiBbZXNtLmVtcGxveWVySWQgIT0gbnVsbCA/IGVzbS5lbXBsb3llcklkIDogbnVsbF0sXG4gICAgICAnc2VydmljZUJyYW5jaCc6IFtlc20uc2VydmljZUJyYW5jaCAhPSBudWxsID8gZXNtLnNlcnZpY2VCcmFuY2ggOiBudWxsXSxcbiAgICAgICdzdGFydERhdGVNaWwnOiBbZXNtLnN0YXJ0RGF0ZU1pbCAhPSBudWxsID8gZXNtLnN0YXJ0RGF0ZU1pbCA6IG51bGxdLFxuICAgICAgJ2VuZERhdGVNaWwnOiBbZXNtLmVuZERhdGVNaWwgIT0gbnVsbCA/IGVzbS5lbmREYXRlTWlsIDogbnVsbF0sXG4gICAgICAnZGQyMTRGbGFnJzogW2VzbS5kZDIxNEZsYWcgIT0gbnVsbCA/IGVzbS5kZDIxNEZsYWcgOiBudWxsXSxcbiAgICAgICdsYXN0UGF5R3JhZGUnOiBbZXNtLmxhc3RQYXlHcmFkZSAhPSBudWxsID8gZXNtLmxhc3RQYXlHcmFkZSA6IG51bGxdLFxuICAgICAgJ2xhc3RkdXR5JzogW2VzbS5sYXN0ZHV0eSAhPSBudWxsID8gZXNtLmxhc3RkdXR5IDogbnVsbF0sXG4gICAgICAncGxhY2VTZXBhcmF0ZWQnOiBbZXNtLnBsYWNlU2VwYXJhdGVkICE9IG51bGwgPyBlc20ucGxhY2VTZXBhcmF0ZWQgOiBudWxsXSxcbiAgICAgICdub0xlYXZlRGF5cyc6IFtlc20ubm9MZWF2ZURheXMgIT0gbnVsbCA/IGVzbS5ub0xlYXZlRGF5cyA6IG51bGxdLFxuICAgICAgJ2NvbXBsZXRlZEZ1bGxUZXJtRmxhZyc6IFtlc20uY29tcGxldGVkRnVsbFRlcm1GbGFnICE9IG51bGwgPyBlc20uY29tcGxldGVkRnVsbFRlcm1GbGFnIDogbnVsbF0sXG4gICAgICAncmVzZXJ2ZU9yR3VhcmRGbGFnJzogW2VzbS5yZXNlcnZlT3JHdWFyZEZsYWcgIT0gbnVsbCA/IGVzbS5yZXNlcnZlT3JHdWFyZEZsYWcgOiBudWxsXSxcbiAgICAgICdtaWxQZW5zaW9uRmxhZyc6IFtlc20ubWlsUGVuc2lvbkZsYWcgIT0gbnVsbCA/IGVzbS5taWxQZW5zaW9uRmxhZyA6IG51bGxdLFxuICAgICAgJ21pbFBlbnNpb25SZWN2RGF0ZSc6W2VzbS5taWxQZW5zaW9uUmVjdkRhdGUgIT0gbnVsbCA/IGVzbS5taWxQZW5zaW9uUmVjdkRhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnTUlMJyAmJiB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJykpXSxcbiAgICAgICdhZGRyZXNzTGluZTEnOiBbZXNtLmFkZHJlc3NMaW5lMSAhPSBudWxsID8gZXNtLmFkZHJlc3NMaW5lMSA6IG51bGxdLFxuICAgICAgJ2FkZHJlc3NMaW5lMic6IFtlc20uYWRkcmVzc0xpbmUyICE9IG51bGwgPyBlc20uYWRkcmVzc0xpbmUyIDogbnVsbF0sXG4gICAgICAnYWRkcmVzc0xpbmUzJzogW2VzbS5hZGRyZXNzTGluZTMgIT0gbnVsbCA/IGVzbS5hZGRyZXNzTGluZTMgOiBudWxsXSxcbiAgICAgICdyZXNlcnZlQnJhbmNoJzpbZXNtLnJlc2VydmVCcmFuY2ggIT0gbnVsbCA/IGVzbS5yZXNlcnZlQnJhbmNoIDogbnVsbF0sXG4gICAgICAnc3RhcnREYXRlUmVzZXJ2ZSc6W2VzbS5zdGFydERhdGVSZXNlcnZlICE9IG51bGwgPyBlc20uc3RhcnREYXRlUmVzZXJ2ZSA6IG51bGxdLFxuICAgICAgJ2VuZERhdGVSZXNlcnZlJzpbZXNtLmVuZERhdGVSZXNlcnZlICE9IG51bGwgPyBlc20uZW5kRGF0ZVJlc2VydmUgOiBudWxsXSxcbiAgICAgICdkZDIxNEZpbGUnOltlc20uZGQyMTRGaWxlICE9IG51bGwgPyBlc20uZGQyMTRGaWxlIDogbnVsbF0sXG4gICAgICAnYWRkcmVzcyc6W2VzbS5hZGRyZXNzICE9IG51bGwgPyBlc20uYWRkcmVzcyA6IG51bGxdLFxuICAgICAgd2FnZUFtb3VudEFycmF5OiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtdKSxcbiAgICAgIHRlc3RFbXAgOiBbZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcyAmJiBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzLndhZ2VzTGlzdFF0cldpc2UgIT0gbnVsbCA/IGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZSA6IG51bGxdLFxuICAgICAgJ29zYUJwRW1wbG95ZXJGbGFnJzpbZXNtLm9zYUJwRW1wbG95ZXJGbGFnICE9bnVsbCA/IGVzbS5vc2FCcEVtcGxveWVyRmxhZyA6IFwiMFwiXSxcbiAgICAgICdkaXNwbGF5U2Vhc29uYWxFbXAnOltlc20uZGlzcGxheVNlYXNvbmFsRW1wICE9IG51bGwgPyBlc20uZGlzcGxheVNlYXNvbmFsRW1wIDogdHJ1ZV1cbiAgICB9KTtcblxuICAgIGlmKGVzbS5hZGRyZXNzPy5zdGF0ZT8udmFsdWUgPT09IG51bGwgJiYgZXNtLmFkZHJlc3M/LnN0YXRlPy50ZXh0ID09PSBudWxsKXtcbiAgICAgIGVzbS5hZGRyZXNzLnN0YXRlID0gbnVsbDtcbiAgICB9XG4gICAgaWYoZXNtLmFkZHJlc3M/LmNvdW50cnk/LnZhbHVlID09PSBudWxsICYmIGVzbS5hZGRyZXNzPy5jb3VudHJ5Py50ZXh0ID09PSBudWxsKXtcbiAgICAgIGVzbS5hZGRyZXNzLmNvdW50cnkgPSBudWxsO1xuICAgIH1cblxuICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09ICdNUycpe1xuICAgICAgdGhpcy5lbXBsb3llclR5cGUuc2V0VmFsdWUodGhpcy5lbXBsb3llclR5cGVQcmVTZXQpO1xuICAgIH1cbiAgICB0aGlzLnNldFJlcXVpcmVkVmFsaWRhdGlvbigpOyBcbiAgICBcbiAgICB0aGlzLnJlYXNvblNlcGFyYXRpb25WYWx1ZSA9IGVzbS5yZWFzb25TZXBhcmF0aW9uPy52YWx1ZTtcbiAgICBsZXQgZW1wU3RhdCA9IHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwuZmlsdGVyKHN0YXQgPT4gc3RhdC52YWx1ZSA9PSBlc20ucmVhc29uU2VwYXJhdGlvbj8udmFsdWUpWzBdO1xuICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi5zZXRWYWx1ZShlbXBTdGF0KTtcblxuICAgIGlmKCF0aGlzLnBheVJhdGVGcmVxdWVuY3kudmFsdWUpeyAgICAgIFxuICAgICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcpe1xuICAgICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnRleHQ9PSdIb3VyJylbMF0pO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5wYXRjaFZhbHVlKHRoaXMucGF5UmF0ZU9wdGlvbnMuZmlsdGVyKHAgPT4gcC50ZXh0PT0naG91cicpWzBdKTtcbiAgICAgIH1cbiAgICB9ZWxzZXtcbiAgICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnKXtcbiAgICAgICAgdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnNldFZhbHVlKHRoaXMucGF5UmF0ZU9wdGlvbnMuZmlsdGVyKHAgPT4gcC52YWx1ZT09ZXNtLnBheVJhdGVGcmVxdWVuY3k/LnZhbHVlKVswXSk7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnBhdGNoVmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnZhbHVlPT1lc20ucGF5UmF0ZUZyZXF1ZW5jeT8udmFsdWUpWzBdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlKSB7XG4gICAgICBpZiAocXRyV2FnZUxpc3QpIHtcbiAgICAgICAgY29uc3Qgc29ydGVkUXVhcnRlciA9IHF0cldhZ2VMaXN0LnNvcnQoKGEsIGIpID0+IGEuZGlzcGxheU9yZGVyIC0gYi5kaXNwbGF5T3JkZXIpO1xuICAgICAgICBmb3IgKHZhciBxdHJXYWdlIG9mIHNvcnRlZFF1YXJ0ZXIpIHtcbiAgICAgICAgICB0aGlzLndhZ2VBbW91bnRBcnJheS5wdXNoKHRoaXMud2FnZUFycmF5KHF0cldhZ2UpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSB8fCAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT0gJ0ZFRCcgJiYgdGhpcy5pc05ld0NsYWltKSkge1xuICAgICAgICB0aGlzLnNldFdhZ2VWYWxpZGF0aW9uKCk7XG4gICAgICB9XG4gICAgfTtcblxuICB9XG4gIHNldFdvcmtTdGFydERhdGUoKSB7XG4gICAgbGV0IGRhdGEgPSB0aGlzLmFyLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdkYXRhJyk7XG4gICAgaWYoZGF0YSl7XG4gICAgICBsZXQgcGFyc2VkRGF0YSA6IEtleVZhbHVlTW9kZWxbXSA9IEpTT04ucGFyc2UoYXRvYihkYXRhKSk7XG4gICAgICBpZihBcnJheS5pc0FycmF5KHBhcnNlZERhdGEpKXtcbiAgICAgICAgbGV0IGxhc3RDd2UgPSBwYXJzZWREYXRhLmZpbHRlcihrID0+IGsua2V5ID09ICdsYXN0Q3dlRGF0ZScpO1xuICAgICAgICBpZihsYXN0Q3dlLmxlbmd0aCA+IDAgJiYgbGFzdEN3ZVswXS5rZXkgPT0gJ2xhc3RDd2VEYXRlJyAmJiAhdGhpcy5pc05ld0NsYWltKXtcbiAgICAgICAgICB0aGlzLm1pbldvcmtTdGFydERhdGUgPSBuZXcgRGF0ZShsYXN0Q3dlWzBdLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFJlYXNvblNlcGVyYXRpb25CYXNlZE9uQ29uZGl0aW9uKHNjaG9vbEZsYWc6IHN0cmluZyA9IFwiMFwiLCBzcG9ydHNGbGFnOiBzdHJpbmcgPSBcIjBcIiwgY2xhaW1UeXBlRHVhID0gXCIwXCIsIHNzblZhbGlkV29ya1NoYXJlID0gXCIwXCIpIHtcbiAgICBsZXQgbW9kZWwgPSBuZXcgUmVhc29uU2VwYXJhdGlvblJlcXVlc3RNb2RlbCgpO1xuICAgIG1vZGVsLnNjaG9vbEZsYWcgPSBzY2hvb2xGbGFnO1xuICAgIG1vZGVsLnNwb3J0c0ZsYWcgPSBzcG9ydHNGbGFnO1xuICAgIG1vZGVsLmNsYWltVHlwZUR1YSA9IGNsYWltVHlwZUR1YTtcbiAgICBtb2RlbC5zc25WYWxpZFdvcmtTaGFyZSA9IHNzblZhbGlkV29ya1NoYXJlO1xuICAgIHRoaXMuY2xhaW1zU2VydmljZS5jbGVhckZpbHRlcmVkUmVhc29uU2VwYXJhdGlvbigpO1xuICAgIHRoaXMuY2xhaW1zU2VydmljZS5sb2FkRmlsdGVyZWRSZWFzb25TZXBhcmF0aW9uKG1vZGVsKTtcbiAgfVxuXG4gIGxvYWRNYXN0ZXJEYXRhKCkge1xuXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldEZpbHRlcmVkUmVhc29uU2VwYXJhdGlvbigpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5sZW5ndGggPSAwO1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLnB1c2goYXJyKSk7XG4gICAgICAgIGlmICh0aGlzLnJlYXNvblNlcGFyYXRpb25WYWx1ZSkge1xuICAgICAgICAgIGxldCBlbXBTdGF0ID0gdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5maWx0ZXIoc3RhdCA9PiBzdGF0LnZhbHVlID09IHRoaXMucmVhc29uU2VwYXJhdGlvblZhbHVlKVswXTtcbiAgICAgICAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24uc2V0VmFsdWUoZW1wU3RhdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldERpc2NoYXJnZVJlYXNvbnMoKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldFF1aXRSZWFzb25zKCkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICBpZih0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zIT0gbnVsbClcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cblxuICB3YWdlQXJyYXkocXRyV2FnZTpRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICB3YWdlQW1vdW50OiBbcXRyV2FnZS53YWdlQW1vdW50IT1udWxsP3F0cldhZ2Uud2FnZUFtb3VudDpudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5lbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykgfHwgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgcXRyV2FnZS5kaXNwbGF5Rm9yQWxsICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09dGhpcy5jdXJyZW50U3RhdGUpICkpKV0sXG4gICAgICBxdWFydGVyOiBbcXRyV2FnZS5xdWFydGVyIT1udWxsP3F0cldhZ2UucXVhcnRlcjpudWxsXSxcbiAgICAgIHllYXI6IFtxdHJXYWdlLnllYXIhPW51bGw/cXRyV2FnZS55ZWFyOm51bGxdLFxuICAgICAgcXRyWWVhckRpc3BsYXlTdHJpbmc6IFtxdHJXYWdlLnF0clllYXJEaXNwbGF5U3RyaW5nIT1udWxsP3F0cldhZ2UucXRyWWVhckRpc3BsYXlTdHJpbmc6bnVsbF0sXG4gICAgICBkaXNwbGF5T3JkZXI6IFtxdHJXYWdlLmRpc3BsYXlPcmRlciE9bnVsbD9xdHJXYWdlLmRpc3BsYXlPcmRlcjpudWxsXSxcbiAgICAgIGRpc3BsYXlGb3JBbGw6IFtxdHJXYWdlLmRpc3BsYXlGb3JBbGwhPW51bGw/cXRyV2FnZS5kaXNwbGF5Rm9yQWxsOm51bGxdLFxuICAgIH0pXG4gfVxuXG4gIGdldCB3YWdlQW1vdW50QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzW1wid2FnZUFtb3VudEFycmF5XCJdIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgdGVzdEVtcCgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1tcInRlc3RFbXBcIl0gO1xuICB9XG4gIHNldFJlcXVpcmVkVmFsaWRhdGlvbigpIHtcbiAgICB0aGlzLnNldlBheUZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyl7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk9uU2VydkZpZWxkcygpO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uU2VydkZpZWxkcygpO1xuICAgICAgfVxuICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMud29ya1N0YXRlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbCAmJiB2YWwudmFsdWU9PT10aGlzLmN1cnJlbnRTdGF0ZSAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKXtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmZlZFdvcmtDb3VudHJ5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmICh2YWwgJiYgdmFsLnZhbHVlID09PSAnVVMnIHx8IHZhbCAmJiB2YWwudmFsdWUgPT09ICdDQScgKSB7XG4gICAgICAgIHRoaXMuc2hvd1dvcmtTdGF0ZSA9IHRydWU7IFxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgICAgIFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93V29ya1N0YXRlID0gZmFsc2U7IFxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkV29ya1N0YXRlKTtcbiAgICAgICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICB9XG4gICAgICBpZih2YWwgJiYgdmFsLnZhbHVlID09PSAnVVMnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkV29ya1N0YXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkV29ya1N0YXRlKTtcbiAgICAgICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmVuZERhdGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSAodmFsID0+IHtcbiAgICAgIGlmKHRoaXMud29ya1N0YXRlLnZhbHVlPy52YWx1ZSA9PSB0aGlzLmN1cnJlbnRTdGF0ZSAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbCkge1xuICAgICAgICBpZih2YWwudmFsdWUgPT09ICdEQ0ZJJyl7XG4gICAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZGlzY2hhcmdlRGV0YWlsKTtcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudm9sUXVpdERldGFpbHMpO1xuICAgICAgICAgIHRoaXMudm9sUXVpdERldGFpbHMuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZih0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdWT0xRJyl7XG4gICAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMudm9sUXVpdERldGFpbHMpO1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kaXNjaGFyZ2VEZXRhaWwpO1xuICAgICAgICAgIHRoaXMuZGlzY2hhcmdlRGV0YWlsLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB9IGVsc2UgaWYgKCh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpICYmICh2YWwudmFsdWUgPT09ICdXUlBUJyB8fCB2YWwudmFsdWUgPT09ICdFV0ZUJykpIHtcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW5kRGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykgJiYgKHZhbC52YWx1ZSA9PT0gJ1dSUFQnIHx8IHZhbC52YWx1ZSA9PT0gJ0VXRlQnKSkge1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbmREYXRlRmVkKTtcbiAgICAgICAgfSBcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmRpc2NoYXJnZURldGFpbCk7XG4gICAgICAgICAgdGhpcy5kaXNjaGFyZ2VEZXRhaWwuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnZvbFF1aXREZXRhaWxzKTtcbiAgICAgICAgICB0aGlzLnZvbFF1aXREZXRhaWxzLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMucGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScgKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMucmVnUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ01JTCcgJiYgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScgKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmhhc1JlY3ZSZW11bmVyYXRpb24udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmhhc1JlY3ZSZW11bmVyYXRpb24udmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyAmJiB0aGlzLmlzT3NhRW1wbG95ZXIgPT09ICcwJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlbXVuZXJhdGlvblR5cGVzKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnJlbXVuZXJhdGlvblR5cGVzLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVtdW5lcmF0aW9uVHlwZXMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zZXBhcmF0aW9uRGF0ZUZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSBcbiAgICAgICAgJiYgKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZT09PSdZJyB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcilcbiAgICAgICAgJiYgdGhpcy5zZXBhcmF0aW9uRGF0ZUZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PSAnQ1QnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2VwYXJhdGlvbkRhdGUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuc2VwYXJhdGlvbkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZXBhcmF0aW9uRGF0ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5yZWdEaXNzbWlzYWxGbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMucmVnRGlzc21pc2FsRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdDVCcpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWdEaXNzbWlzYWxDaGVja0JveCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5yZWdEaXNzbWlzYWxDaGVja0JveC5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlZ0Rpc3NtaXNhbENoZWNrQm94KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmZlZERpc3NtaXNhbEZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy5mZWREaXNzbWlzYWxGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ0NUJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZERpc3NtaXNhbENoZWNrQm94KTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAgdGhpcy5mZWREaXNzbWlzYWxDaGVja0JveC5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWREaXNzbWlzYWxDaGVja0JveCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZiAodmFsID09PSAnRkVEJykge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PblJlZ3VsYXJGaWVsZHMoKVxuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25Pbk1pbGl0YXJ5RmllbGRzKCk7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk9uRmVkZXJhbEZpZWxkcygpO1xuICAgICAgfVxuICAgICAgaWYgKHZhbCA9PT0gJ1JFRycpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25GZWRlcmFsRmllbGRzKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uTWlsaXRhcnlGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25SZWd1bGFyRmllbGRzKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWwgPT09ICdNSUwnKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uRmVkZXJhbEZpZWxkcygpO1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PblJlZ3VsYXJGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25NaWxpdGFyeUZpZWxkcygpO1xuICAgICAgfVxuXG4gICAgfSk7XG5cbiAgICB0aGlzLm90aGVyU1NORmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWwgJiYgdmFsID09ICdZJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm90aGVyU1NOKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdGhlclNTTik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm90aGVyTmFtZUZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsICYmIHZhbCA9PSAnWScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5vdGhlck5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyTmFtZSk7XG4gICAgICB9XG4gICAgfSkgICAgXG4gIH1cblxuICBzZXRWYWxpZGF0aW9uT25TZXJ2RmllbGRzKCl7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMud2Vla2x5QW1vdW50KTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5udW1iZXJPZldlZWtzKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXZQYXlBbW91bnQpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNldlBheVN0YXJ0RGF0ZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2V2UGF5RW5kRGF0ZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSk7XG4gIH1cblxuICByZW1vdmVWYWxpZGF0aW9uT25TZXJ2RmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53ZWVrbHlBbW91bnQpO1xuICAgIHRoaXMud2Vla2x5QW1vdW50LnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubnVtYmVyT2ZXZWVrcyk7XG4gICAgdGhpcy5udW1iZXJPZldlZWtzLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2V2UGF5QW1vdW50KTtcbiAgICB0aGlzLnNldlBheUFtb3VudC5zZXRWYWx1ZSgnJyk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNldlBheVN0YXJ0RGF0ZSk7XG4gICAgdGhpcy5zZXZQYXlTdGFydERhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNldlBheUVuZERhdGUpO1xuICAgIHRoaXMuc2V2UGF5RW5kRGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSk7XG4gICAgdGhpcy5zZXZQYXlQYXltZW50U3RhcnREYXRlLnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgc2V0VmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpIHtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wYXltZW50VHlwZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMud29ya1R5cGUpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmRvY3NSZWNlaXZlZCk7XG4gICAvLyB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5kb2luZ0J1c2luZXNzQXMpO1xuICAgLy8gdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaGlyZWRCeSk7XG4gICAgLy90aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5idXNpbmVzc05hdHVyZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMub3RoZXJOYW1lRmxhZyk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMub3RoZXJTU05GbGFnKTtcbiAgICB0aGlzLnNldFdhZ2VWYWxpZGF0aW9uKCk7XG4gIH1cblxuICBzZXRXYWdlVmFsaWRhdGlvbigpIHtcbiAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLndhZ2VBbW91bnRBcnJheSwgQXBwVmFsaWRhdG9ycy5hdExlYXN0T25lTm9uWmVyb1ZhbHVlVmFsaWRhdG9yKDEsICd3YWdlQW1vdW50JykpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXR0aW5nIHZhbGlkYXRpb24gZm9yIGZlZCBlbXBsb3llcicpO1xuICB9XG5cbiAgcmVtb3ZlV2FnZVZhbGlkYXRpb24oKSB7XG4gICAgaWYodGhpcy5lbXBsb3llclR5cGUudmFsdWUgIT0gJ0ZFRCcpe1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndhZ2VBbW91bnRBcnJheSk7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVtb3ZpbmcgdmFsaWRhdGlvbiBmb3IgZmVkIGVtcGxveWVyJyk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpIHtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGF5bWVudFR5cGUpO1xuICAgIHRoaXMucGF5bWVudFR5cGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmRvY3NSZWNlaXZlZCk7XG4gICAgdGhpcy5kb2NzUmVjZWl2ZWQuc2V0VmFsdWUobnVsbCk7XG4gICAvLyB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZG9pbmdCdXNpbmVzc0FzKTtcbiAgIC8vIHRoaXMuZG9pbmdCdXNpbmVzc0FzLnNldFZhbHVlKG51bGwpO1xuICAgLy8gdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmhpcmVkQnkpO1xuICAgLy8gdGhpcy5oaXJlZEJ5LnNldFZhbHVlKG51bGwpO1xuICAgIC8vdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmJ1c2luZXNzTmF0dXJlKTtcbiAgICAvL3RoaXMuYnVzaW5lc3NOYXR1cmUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyTmFtZUZsYWcpO1xuICAgIHRoaXMub3RoZXJOYW1lRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJTU05GbGFnKTtcbiAgICB0aGlzLm90aGVyU1NORmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJOYW1lKTtcbiAgICB0aGlzLm90aGVyTmFtZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJTU04pO1xuICAgIHRoaXMub3RoZXJTU04uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5yZW1vdmVXYWdlVmFsaWRhdGlvbigpO1xuICB9XG5cbiAgc2V0VmFsaWRhdGlvbk9uUmVndWxhckZpZWxkcygpIHtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUnLCB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlLCAnIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXInLCB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKTtcblxuICAgIGlmKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSl7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWFzb25TZXBhcmF0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAoKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wYXlSYXRlRnJlcXVlbmN5KTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBheVJhdGUpOyAgICAgIFxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuam9iVGlsZU9yUG9zaXRpb24pOyAgICAgIFxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW5kRGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbXBsb3llclRlbGVwaG9uZU51bWJlcik7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbXBsb3llck5hbWUpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXRlKTtcbiAgICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMudmFjYXRpb24pO1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5KTtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaGFzUmVjdlJlbXVuZXJhdGlvbik7XG4gICAgICB9XG4gICAgICBpZih0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmhyc1dlZWspO1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zaGlmdCk7ICBcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMud29ya1dlZWspOyBcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZGlkV29yayk7ICAgIFxuICAgICAgICBpZih0aGlzLnNlcGFyYXRpb25EYXRlRmxhZy52YWx1ZSA9PT0gJ1knKXtcbiAgICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXBhcmF0aW9uRGF0ZSk7XG4gICAgICAgIH0gIFxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWdEaXNzbWlzYWxGbGFnKTtcbiAgICAgICAgaWYodGhpcy5yZWdEaXNzbWlzYWxGbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlZ0Rpc3NtaXNhbENoZWNrQm94KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWdMYWlkT2ZmRmxhZyk7XG4gICAgICB9XG4gICAgICBpZih0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnQ1QnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaXNDbG10UGFpZFdoaWxlTG93KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZigodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSl7XG4gICAgICBpZih0aGlzLnBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLndvcmtTdGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53b3JrQ2l0eSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWdQZW5zaW9uRmxhZyk7XG4gICAgICBpZih0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRpb25PblJlZ3VsYXJGaWVsZHMoKSB7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBlbnNpb25GbGFnKTtcbiAgICB0aGlzLnBlbnNpb25GbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wZW5zaW9uUmVjdkRhdGUpO1xuICAgIHRoaXMucGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXlSYXRlRnJlcXVlbmN5KTtcbiAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnRleHQ9PSdob3VyJylbMF0pO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXlSYXRlKTtcbiAgICB0aGlzLnBheVJhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmpvYlRpbGVPclBvc2l0aW9uKTtcbiAgICB0aGlzLmpvYlRpbGVPclBvc2l0aW9uLnNldFZhbHVlKG51bGwpOyAgICBcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW5kRGF0ZSk7XG4gICAgdGhpcy5lbmREYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llclRlbGVwaG9uZU51bWJlcik7XG4gICAgdGhpcy5lbXBsb3llclRlbGVwaG9uZU51bWJlci5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJOYW1lKTtcbiAgICB0aGlzLmVtcGxveWVyTmFtZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXRlKTtcbiAgICB0aGlzLnN0YXJ0RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud29ya1N0YXRlKTtcbiAgICB0aGlzLndvcmtTdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud29ya0NpdHkpO1xuICAgIHRoaXMud29ya0NpdHkuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlZ1BlbnNpb25GbGFnKTtcbiAgICB0aGlzLnJlZ1BlbnNpb25GbGFnLnNldFZhbHVlKG51bGwpO1xuXHQgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUpO1xuICAgIHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdGhlck5hbWUpO1xuICAgIHRoaXMub3RoZXJOYW1lLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdGhlck5hbWVGbGFnKTtcbiAgICB0aGlzLm90aGVyTmFtZUZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyU1NOKTtcbiAgICB0aGlzLm90aGVyU1NOLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdGhlclNTTkZsYWcpO1xuICAgIHRoaXMub3RoZXJTU05GbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKXtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy52YWNhdGlvbik7XG4gICAgICB0aGlzLnZhY2F0aW9uLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmhhc1Nob3J0VGVybURpc2FiaWxpdHkpO1xuICAgICAgdGhpcy5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmhhc1JlY3ZSZW11bmVyYXRpb24pO1xuICAgICAgdGhpcy5oYXNSZWN2UmVtdW5lcmF0aW9uLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlbXVuZXJhdGlvblR5cGVzKTtcbiAgICAgIHRoaXMucmVtdW5lcmF0aW9uVHlwZXMuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnKXtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5ocnNXZWVrKTtcbiAgICAgIHRoaXMuaHJzV2Vlay5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zaGlmdCk7XG4gICAgICB0aGlzLnNoaWZ0LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndvcmtXZWVrKTtcbiAgICAgIHRoaXMud29ya1dlZWsuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZGlkV29yayk7XG4gICAgICB0aGlzLmRpZFdvcmsuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnRleHQ9PSdIb3VyJylbMF0pO1xuICAgICAgdGhpcy5zZXBhcmF0aW9uRGF0ZUZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVnRGlzc21pc2FsRmxhZyk7XG4gICAgICB0aGlzLnJlZ0Rpc3NtaXNhbEZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVnRGlzc21pc2FsQ2hlY2tCb3gpO1xuICAgICAgdGhpcy5yZWdEaXNzbWlzYWxDaGVja0JveC5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZWdMYWlkT2ZmRmxhZyk7XG4gICAgICB0aGlzLnJlZ0xhaWRPZmZGbGFnLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNlcGFyYXRpb25EYXRlKTtcbiAgICAgIHRoaXMuc2VwYXJhdGlvbkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICAgIGlmKHRoaXMuY3VycmVudFN0YXRlICE9ICdDVCcpe1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdyk7XG4gICAgICB0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdy5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgfVxuXG4gIHNldFZhbGlkYXRpb25PbkZlZGVyYWxGaWVsZHMoKSB7XG4gICAvLyB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5jbGFpbWFudEVtcGxveWVkV2l0aEVtcHIpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVuZERhdGVGZWQpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZEVtcGxveWVyTmFtZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkSm9iVGlsZU9yUG9zaXRpb24pO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFBlbnNpb25GbGFnKTtcbiAgICBpZih0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlKTtcbiAgICB9XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkV29ya0NpdHkpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFdvcmtDb3VudHJ5KTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBlcmZvcm1lZFNlcnZpY2UpO1xuICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXZQYXlGbGFnKTtcbiAgICB9XG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcpe1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaHJzV2Vlayk7ICAgXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zaGlmdCk7ICBcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLndvcmtXZWVrKTsgIFxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZGlkV29yayk7ICBcbiAgICAgIGlmKHRoaXMuc2VwYXJhdGlvbkRhdGVGbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXBhcmF0aW9uRGF0ZSk7XG4gICAgICB9ICBcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZERpc3NtaXNhbEZsYWcpO1xuICAgICAgICBpZih0aGlzLmZlZERpc3NtaXNhbEZsYWcudmFsdWUgPT09ICdZJyl7XG4gICAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkRGlzc21pc2FsQ2hlY2tCb3gpO1xuICAgICAgICB9IFxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkTGFpZE9mZkZsYWcpO1xuICAgIH1cbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZkVpZ2h0ZmxhZyk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXRlRmVkKTtcbiAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLmZlZEVtcGxveWVyTmFtZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcblxuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBheVJhdGVGcmVxdWVuY3kpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBheVJhdGUpO1xuICAgIGlmKHRoaXMuaXNOZXdDbGFpbSl7XG4gICAgICB0aGlzLnNldFdhZ2VWYWxpZGF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdGlvbk9uRmVkZXJhbEZpZWxkcygpIHtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXRlRmVkKTtcbiAgICB0aGlzLnN0YXJ0RGF0ZUZlZC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2ZFaWdodGZsYWcpO1xuICAgIHRoaXMuc2ZFaWdodGZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNldlBheUZsYWcpO1xuICAgIHRoaXMuc2V2UGF5RmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGVyZm9ybWVkU2VydmljZSk7XG4gICAgdGhpcy5wZXJmb3JtZWRTZXJ2aWNlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgIHRoaXMuZmVkV29ya1N0YXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrQ291bnRyeSk7XG4gICAgdGhpcy5mZWRXb3JrQ291bnRyeS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkV29ya0NpdHkpO1xuICAgIHRoaXMuZmVkV29ya0NpdHkuc2V0VmFsdWUobnVsbCk7XG5cbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkUGVuc2lvbkZsYWcpO1xuICAgIHRoaXMuZmVkUGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgdGhpcy5mZWRQZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG5cbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkSm9iVGlsZU9yUG9zaXRpb24pO1xuICAgIHRoaXMuZmVkSm9iVGlsZU9yUG9zaXRpb24uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZEVtcGxveWVyTmFtZSk7XG4gICAgdGhpcy5mZWRFbXBsb3llck5hbWUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGVGZWQpO1xuICAgIHRoaXMuZW5kRGF0ZUZlZC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnJlbW92ZVdhZ2VWYWxpZGF0aW9uKCk7XG5cbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGF5UmF0ZSk7XG4gICAgdGhpcy5wYXlSYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIFxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXlSYXRlRnJlcXVlbmN5KTtcbiAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnRleHQ9PSdob3VyJylbMF0pO1xuICAgLy8gdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wcik7XG4gICAgLy90aGlzLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wci5zZXRWYWx1ZShudWxsKVxuICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnKXtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5ocnNXZWVrKTtcbiAgICAgIHRoaXMuaHJzV2Vlay5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zaGlmdCk7XG4gICAgICB0aGlzLnNoaWZ0LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndvcmtXZWVrKTtcbiAgICAgIHRoaXMud29ya1dlZWsuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZGlkV29yayk7XG4gICAgICB0aGlzLmRpZFdvcmsuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnRleHQ9PSdIb3VyJylbMF0pO1xuICAgICAgdGhpcy5zZXBhcmF0aW9uRGF0ZUZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2VwYXJhdGlvbkRhdGUpO1xuICAgICAgdGhpcy5zZXBhcmF0aW9uRGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWREaXNzbWlzYWxGbGFnKTtcbiAgICAgIHRoaXMuZmVkRGlzc21pc2FsRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWREaXNzbWlzYWxDaGVja0JveCk7XG4gICAgICB0aGlzLmZlZERpc3NtaXNhbENoZWNrQm94LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZExhaWRPZmZGbGFnKTtcbiAgICAgIHRoaXMuZmVkTGFpZE9mZkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsaWRhdGlvbk9uTWlsaXRhcnlGaWVsZHMoKSB7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2VydmljZUJyYW5jaCk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXRlTWlsKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlTWlsKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5kZDIxNEZsYWcpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm1pbFBlbnNpb25GbGFnKTtcbiAgICBpZih0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGQyMTRGbGFnLnZhbHVlID09PSAnTicpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmxhc3RQYXlHcmFkZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5sYXN0ZHV0eSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wbGFjZVNlcGFyYXRlZCk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5ub0xlYXZlRGF5cyk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5jb21wbGV0ZWRGdWxsVGVybUZsYWcpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVzZXJ2ZU9yR3VhcmRGbGFnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGQyMTRGbGFnLnZhbHVlID09PSAnWScpIHt9XG5cbiAgICBpZiAodGhpcy5yZXNlcnZlT3JHdWFyZEZsYWcudmFsdWUgPT09ICdZJykge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVzZXJ2ZUJyYW5jaCk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERhdGVSZXNlcnZlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVuZERhdGVSZXNlcnZlKTtcbiAgICB9XG4gICAgLy9taWxpdGFyeSBkb2VzIG5vdCBoYXZlIHJlYXNvbiBvZiBzZXBhcmF0aW9uXG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi5zZXRWYWx1ZShudWxsKTtcbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRpb25Pbk1pbGl0YXJ5RmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZXJ2aWNlQnJhbmNoKTtcbiAgICB0aGlzLnNlcnZpY2VCcmFuY2guc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXJ0RGF0ZU1pbCk7XG4gICAgdGhpcy5zdGFydERhdGVNaWwuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGVNaWwpO1xuICAgIHRoaXMuZW5kRGF0ZU1pbC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZGQyMTRGbGFnKTtcbiAgICB0aGlzLmRkMjE0RmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubGFzdFBheUdyYWRlKTtcbiAgICB0aGlzLmxhc3RQYXlHcmFkZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubGFzdGR1dHkpO1xuICAgIHRoaXMubGFzdGR1dHkuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBsYWNlU2VwYXJhdGVkKTtcbiAgICB0aGlzLnBsYWNlU2VwYXJhdGVkLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5ub0xlYXZlRGF5cyk7XG4gICAgdGhpcy5ub0xlYXZlRGF5cy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY29tcGxldGVkRnVsbFRlcm1GbGFnKTtcbiAgICB0aGlzLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVzZXJ2ZU9yR3VhcmRGbGFnKTtcbiAgICB0aGlzLnJlc2VydmVPckd1YXJkRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubWlsUGVuc2lvbkZsYWcpO1xuICAgIHRoaXMubWlsUGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlc2VydmVCcmFuY2gpO1xuICAgIHRoaXMucmVzZXJ2ZUJyYW5jaC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXRlUmVzZXJ2ZSk7XG4gICAgdGhpcy5zdGFydERhdGVSZXNlcnZlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbmREYXRlUmVzZXJ2ZSk7XG4gICAgdGhpcy5lbmREYXRlUmVzZXJ2ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlKTtcbiAgICB0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgfVxuXG4gIGdldCBlbXBsb3llclR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llclR5cGUnXTtcbiAgfVxuICBnZXQgZW1wbG95ZXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJOYW1lJ107XG4gIH1cblxuICBnZXQgZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llclRlbGVwaG9uZU51bWJlciddO1xuICB9XG5cbiAgZ2V0IHN0YXJ0RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZSddO1xuICB9XG5cbiAgZ2V0IGVuZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlJ107XG4gIH1cblxuICBnZXQgam9iVGlsZU9yUG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydqb2JUaWxlT3JQb3NpdGlvbiddO1xuICB9XG5cbiAgZ2V0IHJlYXNvblNlcGFyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWFzb25TZXBhcmF0aW9uJ107XG4gIH1cblxuICBnZXQgZGlzY2hhcmdlRGV0YWlsKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGlzY2hhcmdlRGV0YWlsJ107XG4gIH1cblxuICBnZXQgdm9sUXVpdERldGFpbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd2b2xRdWl0RGV0YWlscyddO1xuICB9XG5cbiAgZ2V0IHBheVJhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlJ107XG4gIH1cblxuICBnZXQgZ3Jvc3NXYWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2dyb3NzV2FnZXMnXTtcbiAgfVxuXG4gIGdldCBwYXlSYXRlRnJlcXVlbmN5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZUZyZXF1ZW5jeSddO1xuICB9XG5cbiAgZ2V0IGhyc1dlZWsoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydocnNXZWVrJ107XG4gIH1cblxuICBnZXQgc2hpZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzaGlmdCddO1xuICB9XG5cbiAgZ2V0IHdvcmtXZWVrKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya1dlZWsnXTtcbiAgfVxuICBnZXQgcmVnRGlzc21pc2FsQ2hlY2tCb3goKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlZ0Rpc3NtaXNhbENoZWNrQm94J107XG4gIH1cbiAgZ2V0IGZlZERpc3NtaXNhbENoZWNrQm94KCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWREaXNzbWlzYWxDaGVja0JveCddO1xuICB9XG4gIGdldCBmZWRMYWlkT2ZmRmxhZygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkTGFpZE9mZkZsYWcnXTtcbiAgfVxuXG4gIGdldCBkaWRXb3JrKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGlkV29yayddO1xuICB9XG5cbiAgZ2V0IHNlcGFyYXRpb25EYXRlRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NlcGFyYXRpb25EYXRlRmxhZyddO1xuICB9XG4gIGdldCByZWdEaXNzbWlzYWxGbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnRGlzc21pc2FsRmxhZyddO1xuICB9XG4gIGdldCBmZWREaXNzbWlzYWxGbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkRGlzc21pc2FsRmxhZyddO1xuICB9XG4gIGdldCByZWdMYWlkT2ZmRmxhZygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnTGFpZE9mZkZsYWcnXTtcbiAgfVxuXG4gIGdldCBzZXBhcmF0aW9uRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NlcGFyYXRpb25EYXRlJ107XG4gIH1cblxuICBnZXQgcGVuc2lvbkZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZW5zaW9uRmxhZyddO1xuICB9XG4gIFxuICBnZXQgcGVuc2lvblJlY3ZEYXRlKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZW5zaW9uUmVjdkRhdGUnXTtcbiAgfVxuXG4gIGdldCByZWdQZW5zaW9uRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlZ1BlbnNpb25GbGFnJ107XG4gIH1cbiAgXG4gIGdldCByZWdQZW5zaW9uUmVjdkRhdGUoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlZ1BlbnNpb25SZWN2RGF0ZSddO1xuICB9XG5cbiAgZ2V0IGlzQ2xtdFBhaWRXaGlsZUxvdygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2lzQ2xtdFBhaWRXaGlsZUxvdyddO1xuICB9XG5cbiAgZ2V0IGhhc1Nob3J0VGVybURpc2FiaWxpdHkoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hhc1Nob3J0VGVybURpc2FiaWxpdHknXTtcbiAgfVxuXG4gIGdldCBoYXNSZWN2UmVtdW5lcmF0aW9uKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydoYXNSZWN2UmVtdW5lcmF0aW9uJ107XG4gIH1cblxuICBnZXQgcmVtdW5lcmF0aW9uVHlwZXMoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlbXVuZXJhdGlvblR5cGVzJ107XG4gIH1cblxuICBnZXQgdmFjYXRpb24oKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3ZhY2F0aW9uJ107XG4gIH1cbiAgLy8gZ2V0IHBhaWRCeSgpIHtcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BhaWRCeSddO1xuICAvLyB9XG5cbiAgZ2V0IHBheW1lbnRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5bWVudFR5cGUnXTtcbiAgfVxuXG4gIGdldCBkb2NzUmVjZWl2ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkb2NzUmVjZWl2ZWQnXTtcbiAgfVxuXG4gIGdldCBvdGhlclNTTkZsYWcoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyU1NORmxhZyddO1xuICB9XG5cbiAgZ2V0IG90aGVyU1NOKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJTU04nXTtcbiAgfVxuXG4gIGdldCBvdGhlck5hbWVGbGFnKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlck5hbWVGbGFnJ107XG4gIH1cblxuICBnZXQgb3RoZXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJOYW1lJ107XG4gIH1cblxuICBnZXQgZG9pbmdCdXNpbmVzc0FzKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZG9pbmdCdXNpbmVzc0FzJ107XG4gIH1cblxuICBnZXQgd29ya0ZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrRmxhZyddO1xuICB9XG5cbiAgLy8gZ2V0IHF1aXRyZWFzb24oKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydxdWl0cmVhc29uJ107XG4gIC8vIH1cblxuICBnZXQgd29ya0NpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrQ2l0eSddO1xuICB9XG5cbiAgZ2V0IHdvcmtTdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtTdGF0ZSddO1xuICB9XG5cbiAgLypnZXQgaGlyZWRCeSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hpcmVkQnknXTtcbiAgfVxuXG4gIGdldCBmZWluKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVpbiddO1xuICB9Ki9cblxuICBnZXQgd29ya1R5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrVHlwZSddO1xuICB9XG5cbiAgLypnZXQgbnVtYmVyRW1wbG95ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydudW1iZXJFbXBsb3llZCddO1xuICB9Ki9cblxuICAvKmdldCBidXNpbmVzc05hdHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2J1c2luZXNzTmF0dXJlJ107XG4gIH0qL1xuXG4gIGdldCBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Rpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzJ107XG4gIH1cblxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIxKCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXIxJ107XG4gIC8vIH1cblxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIyKCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXIyJ107XG4gIC8vIH1cblxuXG4gIC8vIGdldCB3YWdlUXVhcnRlcjMoKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjMnXTtcbiAgLy8gfVxuXG5cblxuICAvLyBnZXQgd2FnZVF1YXJ0ZXI0KCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXI0J107XG4gIC8vIH1cblxuICBnZXQgZmljQ29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0NvZGUnXTtcbiAgfVxuXG4gIGdldCBmaWNEZXN0aW5hdGlvbkNvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbkNvZGUnXTtcbiAgfVxuXG4gIGdldCBmaWNEZXN0aW5hdGlvbklkKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25JZCddO1xuICB9XG4gICAgICBcbiAgXG4gIC8vIGdldCBmb3JtZXJseUtub3duQXMoKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmb3JtZXJseUtub3duQXMnXTtcbiAgLy8gfVxuXG4gIGdldCBzZkVpZ2h0ZmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NmRWlnaHRmbGFnJ107XG4gIH1cblxuICBnZXQgZmVkV29ya0NpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRXb3JrQ2l0eSddO1xuICB9XG5cbiAgZ2V0IGZlZFdvcmtTdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtTdGF0ZSddO1xuICB9XG5cblxuICBnZXQgZmVkV29ya0NvdW50cnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRXb3JrQ291bnRyeSddO1xuICB9XG5cblxuICBnZXQgc3RhcnREYXRlRmVkKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlRmVkJ107XG4gIH1cblxuICBnZXQgZW5kRGF0ZUZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVGZWQnXTtcbiAgfVxuXG4gIGdldCBmZWRKb2JUaWxlT3JQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZEpvYlRpbGVPclBvc2l0aW9uJ107XG4gIH1cblxuICAvKiBnZXQgY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByJ107XG4gIH0gKi9cblxuICBnZXQgcGVyZm9ybWVkU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlcmZvcm1lZFNlcnZpY2UnXTtcbiAgfVxuXG4gIGdldCBmZWRQZW5zaW9uRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFBlbnNpb25GbGFnJ107XG4gIH1cblxuICBnZXQgZmVkUGVuc2lvblJlY3ZEYXRlKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRQZW5zaW9uUmVjdkRhdGUnXTtcbiAgfVxuXG4gIGdldCBzZXZQYXlGbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5RmxhZyddO1xuICB9XG5cbiAgZ2V0IHdlZWtseUFtb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dlZWtseUFtb3VudCddO1xuICB9XG5cbiAgZ2V0IG51bWJlck9mV2Vla3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydudW1iZXJPZldlZWtzJ107XG4gIH1cblxuICBnZXQgc2V2UGF5QW1vdW50KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5QW1vdW50J107XG4gIH1cblxuXG4gIGdldCBzZXZQYXlTdGFydERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlTdGFydERhdGUnXTtcbiAgfVxuXG5cbiAgZ2V0IHNldlBheUVuZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlFbmREYXRlJ107XG4gIH1cblxuICBnZXQgc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheVBheW1lbnRTdGFydERhdGUnXTtcbiAgfVxuXG4gIGdldCByZWdFbXBsb3llckZvdW5kKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnRW1wbG95ZXJGb3VuZCddO1xuICB9XG5cbiAgZ2V0IGVtcGxveWVySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llcklkJ107XG4gIH1cblxuICBnZXQgZmVkRW1wbG95ZXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkRW1wbG95ZXJOYW1lJ107XG4gIH1cbiAgZ2V0IHNlcnZpY2VCcmFuY2goKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXJ2aWNlQnJhbmNoJ107XG4gIH1cblxuICBnZXQgc3RhcnREYXRlTWlsKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlTWlsJ107XG4gIH1cblxuICBnZXQgZW5kRGF0ZU1pbCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVNaWwnXTtcbiAgfVxuXG4gIGdldCBkZDIxNEZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkZDIxNEZsYWcnXTtcbiAgfVxuXG4gIGdldCBsYXN0UGF5R3JhZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydsYXN0UGF5R3JhZGUnXTtcbiAgfVxuXG4gIGdldCBsYXN0ZHV0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RkdXR5J107XG4gIH1cblxuICBnZXQgcGxhY2VTZXBhcmF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwbGFjZVNlcGFyYXRlZCddO1xuICB9XG5cbiAgZ2V0IG5vTGVhdmVEYXlzKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbm9MZWF2ZURheXMnXTtcbiAgfVxuXG4gIGdldCBjb21wbGV0ZWRGdWxsVGVybUZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydjb21wbGV0ZWRGdWxsVGVybUZsYWcnXTtcbiAgfVxuXG4gIGdldCByZXNlcnZlT3JHdWFyZEZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlT3JHdWFyZEZsYWcnXTtcbiAgfVxuXG4gIGdldCBtaWxQZW5zaW9uRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ21pbFBlbnNpb25GbGFnJ107XG4gIH1cblxuICBnZXQgbWlsUGVuc2lvblJlY3ZEYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbWlsUGVuc2lvblJlY3ZEYXRlJ107XG4gIH1cblxuICBnZXQgYWRkcmVzc0xpbmUxKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzTGluZTEnXTtcbiAgfVxuXG4gIGdldCBhZGRyZXNzTGluZTIoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3NMaW5lMiddO1xuICB9XG5cbiAgZ2V0IGFkZHJlc3NMaW5lMygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzc0xpbmUzJ107XG4gIH1cblxuICBnZXQgZmljRGVzdGluYXRpb25OYW1lKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbk5hbWUnXTtcbiAgfVxuXG4gIGdldCByZXNlcnZlQnJhbmNoKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlQnJhbmNoJ107XG4gIH1cblxuICBnZXQgc3RhcnREYXRlUmVzZXJ2ZSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlUmVzZXJ2ZSddO1xuICB9XG5cbiAgZ2V0IGVuZERhdGVSZXNlcnZlKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlUmVzZXJ2ZSddO1xuICB9XG4gIFxuICBnZXQgZGQyMTRGaWxlKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkZDIxNEZpbGUnXTtcbiAgfVxuXG4gIGdldCBhZGRyZXNzKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ107XG4gIH1cblxuICBnZXQgb3NhQnBFbXBsb3llckZsYWcoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ29zYUJwRW1wbG95ZXJGbGFnJ107XG4gIH1cblxuICBnZXQgZGlzcGxheVNlYXNvbmFsRW1wKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkaXNwbGF5U2Vhc29uYWxFbXAnXTtcbiAgfVxuXG4gIG9uVG9nZ2xlQ2hhbmdlRW1wbG95ZXJUeXBlKG9iajogYW55KSB7XG4gICAgdGhpcy5lbXBsb3llclR5cGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnNldFZhbHVlKHRoaXMucGF5UmF0ZU9wdGlvbnMuZmlsdGVyKHAgPT4gcC50ZXh0PT0naG91cicpWzBdKTtcbiAgICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcbiAgICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuZmljQ29kZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuZmljRGVzdGluYXRpb25Db2RlLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRyZXNzTGluZTEuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKG51bGwpO1xuICAgICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcpe1xuICAgICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnRleHQ9PSdIb3VyJylbMF0pO1xuICAgICAgfVxuICAgICAgdGhpcy5nZXRSZWFzb25TZXBlcmF0aW9uQmFzZWRPbkNvbmRpdGlvbigpO1xuICAgIH0pXG4gIH1cblxuIFxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICAvL3RoaXMuZW1wTmFtZSA9IG9iajtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cbiAgfVxuXG4gIG9uTW9kZWxDYW5jZWwoY2FuY2VsOiBib29sZWFuKSB7XG4gICAgdGhpcy5tb2RlbENhbmNlbC5lbWl0KGNhbmNlbCk7XG4gIH1cblxuICBzZXRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2V0RW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIsIFwidHlwZVwiLCB0aGlzLmVtcGxveWVyVHlwZSwgJ3RoaXMuYWRkRW1wbG95ZXJGb3JtJyx0aGlzLmFkZEVtcGxveWVyRm9ybSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VtcGxveWVyLnN0YXRlJywgZW1wbG95ZXIuc3RhdGUpXG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcpIHtcbiAgICAgIHRoaXMuZW1wbG95ZXJTZXJ2aWNlLmdldEVtcGxveWVyRGF0YUJ5SWQoZW1wbG95ZXIuZW1wbG95ZXJJZCkuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgdGhpcy5nZXRSZWFzb25TZXBlcmF0aW9uQmFzZWRPbkNvbmRpdGlvbihyZXNwb25zZS5zY2hvb2xGbGFnLCByZXNwb25zZS5zcG9ydHNGbGFnKTtcbiAgICAgIH1cbiAgICApO1xuICAgIH1cbiAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6ZW1wbG95ZXIuY291bnRyeSwgY2l0eTplbXBsb3llci5jaXR5XG4gICAgLCB6aXA6ZW1wbG95ZXIuemlwLHN0cmVldEFkZHJlc3M6ZW1wbG95ZXIuYWRkcmVzc0Rpc3BsYXlWYWwsc3RhdGU6ZW1wbG95ZXIuc3RhdGUsXG4gICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXG4gICAgfSk7XG4gICAgdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcbiAgICB0aGlzLmVtcGxveWVySWQuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJJZCk7XG4gICAgdGhpcy5hZGRyZXNzTGluZTEuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUxKTtcbiAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTIpO1xuICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMyk7XG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKHRydWUpO1xuICB9XG5cbiAgc2V0RmVkRW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KXtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2V0RmVkRW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIsIFwiemlwIFwiLCBlbXBsb3llci56aXApO1xuICAgIHRoaXMuZ2V0UmVhc29uU2VwZXJhdGlvbkJhc2VkT25Db25kaXRpb24oKTsgICAgICAgICAgICBcbiAgICB0aGlzLmZpY0NvZGUuc2V0VmFsdWUoZW1wbG95ZXIuZmljQ29kZSk7XG4gICAgdGhpcy5maWNDb2RlLmRpc2FibGUoKTtcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbk5hbWUpO1xuICAgIHRoaXMuZmljRGVzdGluYXRpb25JZC5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbklkKTtcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbkNvZGUuc2V0VmFsdWUoZW1wbG95ZXIuZmljRGVzdGluYXRpb25Db2RlKTtcbiAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6ZW1wbG95ZXIuY291bnRyeSwgY2l0eTplbXBsb3llci5jaXR5XG4gICAgICAsIHppcDplbXBsb3llci56aXAsc3RyZWV0QWRkcmVzczplbXBsb3llci5hZGRyZXNzTGluZTEsc3RhdGU6ZW1wbG95ZXIuc3RhdGUsXG4gICAgICBvcHRpb25hbEFkZHJlc3M6ZW1wbG95ZXIuYWRkcmVzc0xpbmUyLGNvdW50eTpudWxsLHRvd246bnVsbFxuICAgICAgfSk7XG4gICAgdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcbiAgICB0aGlzLmVtcGxveWVySWQuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJJZCk7XG4gICAgdGhpcy5hZGRyZXNzTGluZTEuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUxKTtcbiAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTIpO1xuICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMyk7XG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcbiAgfVxuXG4gIHJlc2V0RmVkRW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KXtcbiAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5Om51bGwsIGNpdHk6bnVsbFxuICAgICAgLCB6aXA6bnVsbCxzdHJlZXRBZGRyZXNzOm51bGwsc3RhdGU6bnVsbCxcbiAgICAgIG9wdGlvbmFsQWRkcmVzczpudWxsLGNvdW50eTpudWxsLHRvd246bnVsbFxuICAgICAgfSk7XG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcbiAgfVxuXG4gIHJlc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KSB7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXNldEVtcGxveWVyIGNhbGxlZCcsIGVtcGxveWVyKTtcbiAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xuICAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6bnVsbCwgY2l0eTpudWxsXG4gICAgICAsIHppcDpudWxsLHN0cmVldEFkZHJlc3M6bnVsbCxzdGF0ZTpudWxsLFxuICAgICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXG4gICAgICB9KTtcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUoZmFsc2UpO1xuICB9XG5cblxuICBwdXRNaWxSZXNCcmFuY2hWYWxpZGF0aW9uKGV2ZW50KXtcbiAgICBpZiAoZXZlbnQub3B0aW9uLnZhbHVlID09PSAnWScpIHtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVzZXJ2ZUJyYW5jaCk7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXJ0RGF0ZVJlc2VydmUpO1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlUmVzZXJ2ZSk7XG4gICAgfVxuICAgIGVsc2V7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVzZXJ2ZUJyYW5jaCddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlc2VydmVCcmFuY2gpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZVJlc2VydmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERhdGVSZXNlcnZlKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlUmVzZXJ2ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGVSZXNlcnZlKTtcbiAgICB9XG4gIH1cblxuICBwdXRNaWxWYWxpZGF0aW9uKGV2ZW50KXtcbiAgICAvKmlmIChldmVudC5vcHRpb24udmFsdWUgPT09ICdOJykge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubGFzdFBheUdyYWRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmxhc3RkdXR5KTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBsYWNlU2VwYXJhdGVkKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm5vTGVhdmVEYXlzKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZyk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZXNlcnZlT3JHdWFyZEZsYWcpO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RQYXlHcmFkZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RkdXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGxhY2VTZXBhcmF0ZWQnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydub0xlYXZlRGF5cyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2NvbXBsZXRlZEZ1bGxUZXJtRmxhZyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVPckd1YXJkRmxhZyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmxhc3RQYXlHcmFkZSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubGFzdGR1dHkpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBsYWNlU2VwYXJhdGVkKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5ub0xlYXZlRGF5cyk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY29tcGxldGVkRnVsbFRlcm1GbGFnKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZXNlcnZlT3JHdWFyZEZsYWcpO1xuICAgIH0qL1xuICB9XG5cbiAgb25PcHRpb25DaGFuZ2UoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQub3B0aW9uLnZhbHVlID09PSAnWScpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmpvYlRpbGVPclBvc2l0aW9uKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGF5UmF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wYXlSYXRlRnJlcXVlbmN5KTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBlbnNpb25GbGFnKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llclRlbGVwaG9uZU51bWJlciddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydqb2JUaWxlT3JQb3NpdGlvbiddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlYXNvblNlcGFyYXRpb24nXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZUZyZXF1ZW5jeSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25GbGFnJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaXNDbG10UGFpZFdoaWxlTG93J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW5kRGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuam9iVGlsZU9yUG9zaXRpb24pO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBheVJhdGUpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBheVJhdGVGcmVxdWVuY3kpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBlbnNpb25GbGFnKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmUoKXtcbiAgICBjb25zb2xlLmxvZygndGhpcy5zYXZlLnZhbHVlJywgdGhpcy5hZGRFbXBsb3llckZvcm0pO1xuICAgIGlmKHRoaXMud29ya0ZsYWcudmFsdWU9PT0nTicpe1xuICAgICAgaWYgKHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZS5pc0VtcGxveWVyRWRpdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcbiAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgIH1cbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMuYWRkKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkKCkge1xuXG4gICAgY29uc3QgaW52YWxpZCA9IFtdO1xuICAgICAgY29uc3QgY29udHJvbHMgPSB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9scztcbiAgICAgIGZvciAoY29uc3QgbmFtZSBpbiBjb250cm9scykge1xuICAgICAgICAgIGlmIChjb250cm9sc1tuYW1lXS5pbnZhbGlkKSB7XG4gICAgICAgICAgICAgIGludmFsaWQucHVzaChuYW1lKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJpbnZhbGlkW11cIiwgaW52YWxpZCkgO1xuICAgICAgICBcblx0ICBpZigoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgfHwgdGhpcy5vc2FCcEVtcGxveWVyRmxhZy52YWx1ZT09PScxJykgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgIT0gJ01JTCcpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd2YWxpZGF0ZSBhZGRyZXNzIGNvbXBvbmVudCcpO1xuICAgICBcdHRoaXMudmFsaWRhdGVBZGRyZXNzKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuYWRkLnZhbHVlJywgdGhpcy5hZGRFbXBsb3llckZvcm0pOyBcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNDb2RlJ10uZW5hYmxlKCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25OYW1lJ10uZW5hYmxlKCk7XG4gICAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZS5pc0VtcGxveWVyRWRpdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiYWRkIGZvcm0gZGV0YWlscyBhZGQoKS0gXCIsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcbiAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgIH0gZWxzZXtcbiAgICAgIHRoaXMudXRpbC5mb2N1c09uU3VibWl0KHRoaXMuZWwpXG4gICAgfVxuXG4gIH1cblxuICB2YWxpZGF0ZUFkZHJlc3MoKSB7XG4gICAgbGV0IGFkZHJlc3NDb21wVmFsdWU6IEFkZHJlc3NDb21wb25lbnRNb2RlbDtcbiAgICBhZGRyZXNzQ29tcFZhbHVlID0gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXS52YWx1ZTtcbiAgICBpZiAoYWRkcmVzc0NvbXBWYWx1ZSkge1xuICAgICAgaWYgKCFhZGRyZXNzQ29tcFZhbHVlLmNpdHkgfHwgIWFkZHJlc3NDb21wVmFsdWUuc3RhdGUgfHxcbiAgICAgICAgIWFkZHJlc3NDb21wVmFsdWVbJ3ppcCddIHx8ICFhZGRyZXNzQ29tcFZhbHVlLmNvdW50cnkgfHxcbiAgICAgICAgIWFkZHJlc3NDb21wVmFsdWVbJ3N0cmVldEFkZHJlc3MnXVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ10uc2V0RXJyb3JzKHsgYWRkcmVzc1ZhbGlkYXRpb25GbGFnOiB0cnVlIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzcyddLnNldEVycm9ycyh7IGFkZHJlc3NWYWxpZGF0aW9uRmxhZzogdHJ1ZSB9KTtcbiAgICB9XG4gICAgaWYodGhpcy5hZGRyZXNzMSl7XG4gICAgICB0aGlzLmFkZHJlc3MxLnN1Ym1pdCgpO1xuICAgIH1cbiAgICBpZih0aGlzLmFkZHJlc3MyKXtcbiAgICAgIHRoaXMuYWRkcmVzczIuc3VibWl0KCk7XG4gICAgfVxuICAgIGlmKHRoaXMuYWRkcmVzczMpe1xuICAgICAgdGhpcy5hZGRyZXNzMy5zdWJtaXQoKTtcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJDb3VudHJ5KGV2ZW50KSB7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdldmVudCcsIGV2ZW50KVxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLmNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcbiAgICAvL3RoaXMuc3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNvdW50cnlPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgY291bnRyeSA9IHRoaXMuY291bnRyeU9wdGlvbnNbaV07XG4gICAgICBpZiAoY291bnRyeS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goY291bnRyeSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBmaWx0ZXJlZDtcbiAgfVxuXG4gIGZpbHRlckZlZENvdW50cnkoZXZlbnQpIHtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2V2ZW50JywgZXZlbnQpXG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMuY291bnRyeUZlZE9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xuICAgIC8vdGhpcy5zdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY291bnRyeUZlZE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBjb3VudHJ5ID0gdGhpcy5jb3VudHJ5RmVkT3B0aW9uc1tpXTtcbiAgICAgIGlmIChjb3VudHJ5LnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChjb3VudHJ5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jb3VudHJ5RmVkT3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9XG5cbiAgc2V0RmVkV29ya1N0YXRlVmFsdWVzKGV2ZW50KXtcbiAgICBpZihldmVudC52YWx1ZSA9PT0gJ1VTJyl7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgZmlsdGVyV29ya0NvdW50cnkoZXZlbnQpIHtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2V2ZW50JywgZXZlbnQpXG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMud29ya0NvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19DT1VOVFJZO1xuICAgIC8vdGhpcy5zdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMud29ya0NvdW50cnlPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgY291bnRyeSA9IHRoaXMud29ya0NvdW50cnlPcHRpb25zW2ldO1xuICAgICAgaWYgKGNvdW50cnkudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNvdW50cnkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLndvcmtDb3VudHJ5T3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9XG5cblxuICBmaWx0ZXJNaWxpdGFyeVNlcnZpY2VPcHRpb25zKGV2ZW50KSB7XG5cbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5taWxpdGFyeVNlcnZpY2VPcHRpb25zID0gQ29tYm9PcHRpb24uTUlMSVRBUllfU0VSVklDRTtcbiAgICAvL3RoaXMuc3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBvcHRpb25zID0gdGhpcy5taWxpdGFyeVNlcnZpY2VPcHRpb25zW2ldO1xuICAgICAgaWYgKG9wdGlvbnMudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBmaWx0ZXJlZDtcblxuICB9XG5cbiAgZmlsdGVyTWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1dpdGhTcGFjZShldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnNXaXRoU3BhY2UgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFX1VTU0Y7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnNXaXRoU3BhY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBvcHRpb25zID0gdGhpcy5taWxpdGFyeVNlcnZpY2VPcHRpb25zV2l0aFNwYWNlW2ldO1xuICAgICAgaWYgKG9wdGlvbnMudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnNXaXRoU3BhY2UgPSBmaWx0ZXJlZDtcbiAgfVxuXG4gIGZpbHRlclBheVJhdGUoZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0RcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucGF5UmF0ZU9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBwYXkgPSB0aGlzLnBheVJhdGVPcHRpb25zW2ldO1xuICAgICAgaWYgKHBheS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2gocGF5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9XG5cbiAgZmlsdGVyUmVhc29uU2VwYXJhdGlvbihldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTsgICAgXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc2VwUmVhc29uID0gdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbFtpXTtcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKHNlcFJlYXNvbik7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnMgPSBmaWx0ZXJlZDsgIFxuICBcbiAgfVxuXG4gIGZpbHRlclVzU3RhdGUoZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zdGF0ZXNPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc3RhdGUgPSB0aGlzLnN0YXRlc09wdGlvbnNbaV07XG4gICAgICBpZiAoc3RhdGUudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKHN0YXRlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuICAvKmNoZWNrRm9yU3RhdGUoc2VsZWN0ZWRTdGF0ZVZhbHVlKXtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2VsZWN0ZWRTdGF0ZVZhbHVlJyxzZWxlY3RlZFN0YXRlVmFsdWUudmFsdWUpO1xuICAgIGxldCBicFN0YXJ0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZSk7XG4gICAgbGV0IGJwRW5kRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYmFzZVBlcmlvZEVuZERhdGUpO1xuICAgIGxldCBzdGFydGVEYXRlVmFsOiBEYXRlID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUudmFsdWUpO1xuICAgIGxldCBlbmREYXRlVmFsOiBEYXRlID0gbmV3IERhdGUodGhpcy5lbmREYXRlLnZhbHVlKVxuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnYnBTdGFydERhdGUgJywgYnBTdGFydERhdGUsICdzdGFydGVEYXRlVmFsICcsIHN0YXJ0ZURhdGVWYWwpO1xuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW5kRGF0ZVZhbCAnLCBlbmREYXRlVmFsLCAnYnBFbmREYXRlICcsIGJwRW5kRGF0ZSk7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzdGFydGVEYXRlVmFsID49IGJwRW5kRGF0ZSAnLCBzdGFydGVEYXRlVmFsID49IGJwRW5kRGF0ZSk7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbmREYXRlVmFsPD0gYnBFbmREYXRlICcsIGVuZERhdGVWYWw8PSBicEVuZERhdGUpO1xuICAgIGlmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgc2VsZWN0ZWRTdGF0ZVZhbHVlLnZhbHVlPT09dGhpcy5jdXJyZW50U3RhdGUpIHtcbiAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkluc2lkZSBJRlwiKVxuICAgICAgaWYgKHN0YXJ0ZURhdGVWYWwuZ2V0VGltZSgpIDwgYnBFbmREYXRlLmdldFRpbWUoKSAmJiBlbmREYXRlVmFsLmdldFRpbWUoKT4gYnBTdGFydERhdGUuZ2V0VGltZSgpKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZShmYWxzZSk7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMgPSAnLCB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzKTsgICBcbiAgfSovXG5cblxuICAvKmZpbHRlckpvYlRpbGVPclBvc2l0aW9uKGV2ZW50KSB7XG4gICAgbGV0IGZpbHRlcmVkOiBBdXRvY29kZXJNb2RlbFtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQoYC9jbGFpbXMtc2VydmljZS9jbGFpbS9qb2J0aXRsZS9gICsgYCR7cXVlcnl9YCkuc3Vic2NyaWJlKFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXMnLCByZXMpO1xuICAgICAgICB0aGlzLmpvYlRpbGVPclBvc2l0aW9uT3B0aW9ucyA9IHJlcztcbiAgICAgIH0pO1xuICB9XG5cbiAgZmlsdGVyRmVkSm9iVGlsZU9yUG9zaXRpb24oZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IEF1dG9jb2Rlck1vZGVsW10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldChgL2NsYWltcy1zZXJ2aWNlL2NsYWltL2pvYnRpdGxlL2AgKyBgJHtxdWVyeX1gKS5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlcycsIHJlcyk7XG4gICAgICAgIHRoaXMuZmVkSm9iVGlsZU9wdGlvbnMgPSByZXM7XG4gICAgICB9KTtcbiAgfSovXG5cbiAgLypmaWx0ZXJEaXNjaGFyZ2VSZWFzb25zKGV2ZW50KSB7XG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc2VwUmVhc29uID0gdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsW2ldO1xuICAgICAgaWYgKHNlcFJlYXNvbi50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuICBmaWx0ZXJWb2x1bnRhcnlSZWFzb24oZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc2VwUmVhc29uID0gdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbFtpXTtcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKHNlcFJlYXNvbik7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnMgPSBmaWx0ZXJlZDtcbiAgfSovXG5cbiAgdmFsaWRhdGUoZXZlbnQpIHtcbiAgICBpZihldmVudC50YXJnZXQ/LnZhbHVlKXtcbiAgICAgIHRoaXMubWluRGF0ZSA9IG5ldyBEYXRlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSBlbHNlIGlmKCBldmVudCBpbnN0YW5jZW9mIERhdGUpe1xuICAgICAgdGhpcy5taW5EYXRlID0gZXZlbnQ7XG4gICAgfVxuICAgIHRoaXMuZW5kRGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlJywgdGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlKSAgXG4gIH1cblxuICB2YWxpZGF0ZVdhZ2VzRGlzcGxheShldmVudCl7XG4gICAgbGV0IGJwU3RhcnREYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlKTtcbiAgICBsZXQgYnBFbmREYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5iYXNlUGVyaW9kRW5kRGF0ZSk7XG4gICAgbGV0IHN0YXJ0ZURhdGVWYWw6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZS52YWx1ZSk7XG4gICAgbGV0IGVuZERhdGVWYWw6IERhdGUgPSBldmVudC50YXJnZXQ/LnZhbHVlID8gbmV3IERhdGUoZXZlbnQudGFyZ2V0LnZhbHVlKSA6IGV2ZW50O1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdicFN0YXJ0RGF0ZSAnLCBicFN0YXJ0RGF0ZSwgJ3N0YXJ0ZURhdGVWYWwgJywgc3RhcnRlRGF0ZVZhbCk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VuZERhdGVWYWwgJywgZW5kRGF0ZVZhbCwgJ2JwRW5kRGF0ZSAnLCBicEVuZERhdGUpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzdGFydGVEYXRlVmFsIGJlZm9yZSBicEVuZERhdGUgJywgc3RhcnRlRGF0ZVZhbCA8IGJwRW5kRGF0ZSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VuZERhdGVWYWwgYWZ0ZXIgYnBTdGFydERhdGUgJywgZW5kRGF0ZVZhbCA+IGJwU3RhcnREYXRlKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy53b3JrU3RhdGUgJywgdGhpcy53b3JrU3RhdGUpO1xuICAgIGlmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgXG4gICAgICAgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlID09PSB0aGlzLmN1cnJlbnRTdGF0ZSAmJiB0aGlzLmlzTmV3Q2xhaW0pIHtcbiAgICAgICAgaWYgKChzdGFydGVEYXRlVmFsLmdldFRpbWUoKSA8IGJwRW5kRGF0ZS5nZXRUaW1lKCkgJiYgZW5kRGF0ZVZhbC5nZXRUaW1lKCk+IGJwU3RhcnREYXRlLmdldFRpbWUoKSkgfHwgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWUgPT0gJ01FJykge1xuICAgICAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICAgICAgaWYoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpe1xuICAgICAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICAgICAgfWVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgXG4gICAgICAgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlICE9IHRoaXMuY3VycmVudFN0YXRlICYmIHRoaXMuaXNOZXdDbGFpbSl7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJPU0EgY29uZGl0aW9uIG1ldFwiKTtcbiAgICAgICAgICB0aGlzLm9zYUJwRW1wbG95ZXJGbGFnLnNldFZhbHVlKFwiMVwiKTtcbiAgICAgICAgaWYodGhpcy5jdXJyZW50U3RhdGUgIT0gJ01TJykge1xuICAgICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmdyb3NzV2FnZXMpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSBcbiAgICAgICAgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlID09PSB0aGlzLmN1cnJlbnRTdGF0ZSAmJiAhdGhpcy5pc05ld0NsYWltICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnXG4gICAgICAgICAmJiB0aGlzLnJlZ0VtcGxveWVyRm91bmQudmFsdWUgPT09IG51bGwgJiYgc3RhcnRlRGF0ZVZhbCAhPW51bGwgJiYgZW5kRGF0ZVZhbCAhPSBudWxsKVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxldCB3ZWVrc0JldHdlZW5TdGFydEVuZERhdGU6IG51bWJlciA9IHRoaXMubnVtYmVyT2ZXZWVrc0JldHdlZW5EYXRlcyhzdGFydGVEYXRlVmFsLCBlbmREYXRlVmFsKTtcbiAgICAgICAgICAgIGlmKHdlZWtzQmV0d2VlblN0YXJ0RW5kRGF0ZSArIDEgPiB0aGlzLm1pbldlZWtGb3JDaGFyZ2VhYmlsaXR5KVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZShmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLypmaWx0ZXJHcm91cGVkUmVhc29uKGV2ZW50KSB7XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3F1ZXJ5JyxxdWVyeSk7XG4gICAgbGV0IGZpbHRlcmVkR3JvdXBzID0gW107XG4gICAgdGhpcy5ncm91cGVkUmVhc29ucz0gQ29tYm9PcHRpb24uR1JPVVBfUkVBU09OUztcblxuICAgIGZvciAobGV0IG9wdGdyb3VwIG9mIHRoaXMuZ3JvdXBlZFJlYXNvbnMpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdvcHRncm91cC5pdGVtcycsb3B0Z3JvdXAuaXRlbXMpO1xuICAgICAgbGV0IGZpbHRlcmVkU3ViT3B0aW9ucyA9IHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIoXG4gICAgICAgIG9wdGdyb3VwLml0ZW1zLFxuICAgICAgICBbXCJsYWJlbFwiXSxcbiAgICAgICAgcXVlcnksXG4gICAgICAgIFwiY29udGFpbnNcIlxuICAgICAgKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdmaWx0ZXJlZFN1Yk9wdGlvbnMnLGZpbHRlcmVkU3ViT3B0aW9ucyk7XG4gICAgICBpZiAoZmlsdGVyZWRTdWJPcHRpb25zICYmIGZpbHRlcmVkU3ViT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZmlsdGVyZWRHcm91cHMucHVzaCh7XG4gICAgICAgICAgbGFiZWw6IG9wdGdyb3VwLmxhYmVsLFxuICAgICAgICAgIHZhbHVlOiBvcHRncm91cC52YWx1ZSxcbiAgICAgICAgICBpdGVtczogZmlsdGVyZWRTdWJPcHRpb25zXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnMgPSBmaWx0ZXJlZEdyb3VwcztcbiAgfSovXG5cbiAgb25DbGVhckFjdGlvbihldmVudCkge1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gIH1cblxuICBkYXRlSW5wdXQoZXZlbnQpe1xuICAgIGxldCBjdXJyZW50VmFsdWUgOiBzdHJpbmcgPSBldmVudC5zcmNFbGVtZW50LnZhbHVlO1xuICAgIGlmKGN1cnJlbnRWYWx1ZSl7XG4gICAgICAgIGlmKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gMiAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDIpICE9ICcvJyl7XG4gICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcbiAgICAgICAgfVxuICAgICAgICBpZihjdXJyZW50VmFsdWUubGVuZ3RoID09IDUgJiYgY3VycmVudFZhbHVlLmNoYXJBdCg1KSAhPSAnLycpe1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBudW1iZXJPZldlZWtzQmV0d2VlbkRhdGVzKHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IG51bWJlclxuICB7XG4gICAgY29uc3QgdGltZURpZmYgPSBlbmREYXRlLmdldFRpbWUoKSAtIHN0YXJ0RGF0ZS5nZXRUaW1lKCk7XG4gICAgXG4gICAgY29uc3QgZGF5c0RpZmYgPSB0aW1lRGlmZiAvICgxMDAwICogMzYwMCAqIDI0KTtcblxuICAgIGNvbnN0IHdlZWtzID0gZGF5c0RpZmYgLyA3O1xuXG4gICAgcmV0dXJuIE1hdGguZmxvb3Iod2Vla3MpOyAgXG4gIH1cblxuXG59XG4iLCI8cC1kaWFsb2cgdmlzaWJsZT1cInRydWVcIiBtb2RhbD1cInRydWVcIiBwb3NpdGlvbj1cInRvcFwiIGFwcGVuZFRvPVwiYm9keVwiIFtzaG93SGVhZGVyXT1cImZhbHNlXCIgW2RyYWdnYWJsZV09XCJmYWxzZVwiXHJcbiAgW3Jlc2l6YWJsZV09XCJmYWxzZVwiIFtzdHlsZV09XCJ7d2lkdGg6ICc4MHZ3J31cIlxyXG4gIFticmVha3BvaW50c109XCJ7JzEyMDBweCc6ICc2NjBweCcsICc5OTJweCc6ICc2NjBweCcsICc3NjhweCc6ICcxMDB2dycsICc1NzZweCc6ICcxMDB2dyd9XCI+XHJcbiAgPGg0IHN0eWxlPVwiY29sb3I6IHZhcigtLWlvbi1jb2xvci1ncmV5KTsgcGFkZGluZy1sZWZ0OiAyMHB4O1wiPiB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5oZWFkaW5nXCJ8dHJhbnNsYXRlfX1cclxuICA8L2g0PlxyXG5cclxuXHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJhZGRFbXBsb3llckZvcm1cIiAjYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICA8aW9uLWdyaWQ+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTJcIiBzaXplTGc9XCIxMFwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgIHt7Y3VzdG9tZXJOYW1lfX1cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWxpYXNOYW1lICE9IG51bGxcIj5cclxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmRiYVwifHRyYW5zbGF0ZX19IHt7YWxpYXNOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyICYmIG9zYUJwRW1wbG95ZXJGbGFnLnZhbHVlID09PScwJ1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCI+IHt7bWFpbGluZ0FkZHJlc3NEaXNwbGF5fX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNDU1IgJiYgb3NhQnBFbXBsb3llckZsYWcudmFsdWUgPT09JzAnXCI+XHJcbiAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5lbXBsb3llci53YWdlc1wifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJpc0NTUlwiPlxyXG4gICAgICAgICAgICAgICAgPHAtdGFibGUgW3ZhbHVlXT1cImVtcGxveWVyUHJvdmlkZWRXYWdlc1wiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiZW1wbG95ZXJQcm92aWRlZFdhZ2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IGNvbC5xdHJZZWFyRGlzcGxheVN0cmluZyB9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sLndhZ2VBbW91bnQgfCBjdXJyZW5jeX19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZSA9PSAnTidcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya0ZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC53b3JrZmxhZy5ub1wifHRyYW5zbGF0ZX19PGJyIC8+IDxiciAvPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQud29ya2ZsYWcubm8ubGluZTJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wbG95ZXJUeXBlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci50eXBlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogaW5oZXJpdDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cImVtcGxveWVyVHlwZVwiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJlbXBsb3llclR5cGVPcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIFtmb3JtQ29udHJvbF09XCJlbXBsb3llclR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAob25PcHRpb25DbGljayk9XCJvblRvZ2dsZUNoYW5nZUVtcGxveWVyVHlwZSgkZXZlbnQpXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llclR5cGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wbG95ZXJOYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVyIFtmb3JtQ29udHJvbF09XCJlbXBsb3llck5hbWVcIiBlbXBUeXBlPVwiUkVHXCIgKG9uRm91bmQpPVwic2V0RW1wbG95ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAob25FbXB0eSk9XCJyZXNldEVtcGxveWVyKCRldmVudClcIj48L2FwcC1zZWFyY2gtZW1wbG95ZXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyTmFtZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgc3R5bGU9XCJ3aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1wiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkRW1wbG95ZXJOYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci5mZWQubmFtZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLXNlYXJjaC1lbXBsb3llciBbZm9ybUNvbnRyb2xdPVwiZmVkRW1wbG95ZXJOYW1lXCIgZW1wVHlwZT1cIkZFRFwiIChvbkZvdW5kKT1cInNldEZlZEVtcGxveWVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKG9uRW1wdHkpPVwicmVzZXRGZWRFbXBsb3llcigkZXZlbnQpXCI+PC9hcHAtc2VhcmNoLWVtcGxveWVyPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRFbXBsb3llck5hbWUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXJ2aWNlQnJhbmNoXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc2VydmljZS5icmFuY2hcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJtaWxpdGFyeVNlcnZpY2VPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNlcnZpY2VCcmFuY2hcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwic2VydmljZUJyYW5jaFwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXJ2aWNlQnJhbmNoJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8IS0tIE1haW5lIGluY2x1ZGVzIFNwYWNlIEZvcmNlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNlcnZpY2VCcmFuY2hcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5zZXJ2aWNlLmJyYW5jaFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cIm1pbGl0YXJ5U2VydmljZU9wdGlvbnNXaXRoU3BhY2VcIiBbZm9ybUNvbnRyb2xdPVwic2VydmljZUJyYW5jaFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJzZXJ2aWNlQnJhbmNoXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NlcnZpY2VCcmFuY2gnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlTWlsXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlTWlsXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic3RhcnREYXRlTWlsXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlTWlsXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluV29ya1N0YXJ0RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVNaWwnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVNaWxcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZU1pbFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVNaWxcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVNaWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW5kRGF0ZU1pbCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiBoaWRlRmljQ29kZVwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWNDb2RlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuZmljLmNvZGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpY0NvZGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmaWNDb2RlXCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNDb2RlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWNEZXN0aW5hdGlvbk5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5maWMuZGVzdGluYXRpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpY0Rlc3RpbmF0aW9uTmFtZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZpY0Rlc3RpbmF0aW9uTmFtZVwiIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmljRGVzdGluYXRpb25OYW1lJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1hZGRyZXNzICNhZGRyZXNzMSBbZm9ybUNvbnRyb2xdPVwiYWRkcmVzc1wiIFtjb3VudHlSZXF1aXJlZF09XCJmYWxzZVwiIFtmcm9tUG9wdXBdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtYWRkcmVzcz5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBvc2FCcEVtcGxveWVyRmxhZy52YWx1ZSA9PT0nMScgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWFkZHJlc3MgI2FkZHJlc3MzIFtmb3JtQ29udHJvbF09XCJhZGRyZXNzXCIgW2NvdW50eVJlcXVpcmVkXT1cImZhbHNlXCIgW2Zyb21Qb3B1cF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxhcHAtYWRkcmVzcyAjYWRkcmVzczIgW2Zvcm1Db250cm9sXT1cImFkZHJlc3NcIiBjb3VudHlSZXF1aXJlZD1cImZhbHNlXCIgW2Zyb21Qb3B1cF09XCJ0cnVlXCI+IDwvYXBwLWFkZHJlc3M+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2FkZHJlc3MnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIGFkZHJlc3NWYWxpZGF0aW9uRmxhZzogJ1BsZWFzZSBwcm92aWRlLCBhIHZhbGlkIGFkZHJlc3MuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmICBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJylcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXJcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5lbXBsb3llci5waG9uZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPHAtaW5wdXRNYXNrIG1hc2s9XCI5OTktOTk5LTk5OTlcIiBpZD1cImVtcGxveWVyVGVsZXBob25lTnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cImVtcGxveWVyVGVsZXBob25lTnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiOTk5LTk5OS05OTk5XCI+PC9wLWlucHV0TWFzaz5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llclRlbGVwaG9uZU51bWJlcicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcclxuICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIighaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX0gPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwid29ya0NpdHlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3b3JrQ2l0eVwiIG1heGxlbmd0aD1cIjMwXCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrQ2l0eScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya1N0YXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC53b3JrLmxvY2F0aW9uLnN0YXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cInN0YXRlc09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwid29ya1N0YXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ3b3JrU3RhdGVcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtTdGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrQ291bnRyeVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLndvcmsubG9jYXRpb24uY291bnRyeVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cIndvcmtDb3VudHJ5T3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRXb3JrQ291bnRyeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJmZWRXb3JrQ291bnRyeVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRXb3JrQ291bnRyeScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmZWRXb3JrQ2l0eVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZlZFdvcmtDaXR5XCIgbWF4bGVuZ3RoPVwiMzBcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFdvcmtDaXR5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiICpuZ0lmPVwic2hvd1dvcmtTdGF0ZSA9PT0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwic3RhdGVzT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRXb3JrU3RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cImZlZFdvcmtTdGF0ZVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya1N0YXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlRmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlRmVkXCIgW3Nob3dJY29uXT1cInRydWVcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIGlucHV0SWQ9XCJzdGFydERhdGVGZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVGZWRcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluV29ya1N0YXJ0RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVGZWQnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVGZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVGZWRcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVGZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW5kRGF0ZUZlZCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmpvYnRpdGxlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIlxyXG4gICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTAwXCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgICAgPCEtLSAgPHAtYXV0b0NvbXBsZXRlIFtmb3JtQ29udHJvbF09XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiIFtzdWdnZXN0aW9uc109XCJmZWRKb2JUaWxlT3B0aW9uc1wiIFxyXG4gICAgICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cImZpbHRlckZlZEpvYlRpbGVPclBvc2l0aW9uKCRldmVudClcIiBmaWVsZD1cImpvYlRpdGxlXCIgW2Ryb3Bkb3duXT1cImZhbHNlXCIgXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlN0YXJ0Li4uIHR5cGluZyBqb2IgdGl0bGVcIiBtaW5MZW5ndGg9MyBmb3JjZVNlbGVjdGlvbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t2YWx1ZS5qb2JUaXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZEpvYlRpbGVPclBvc2l0aW9uJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNmRWlnaHRmbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2ZlaWdodFwifHRyYW5zbGF0ZX19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cInNmRWlnaHRmbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZkVpZ2h0ZmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZkVpZ2h0ZmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSBcclxuICAgICAgICAgICAgICAgICAgICB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdGFydERhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5zdGFydGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJzdGFydERhdGVcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzdGFydERhdGVcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBbbWluRGF0ZV09XCJtaW5Xb3JrU3RhcnREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVcIiBbbWluRGF0ZV09XCJtaW5EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkJsdXIpPVwidmFsaWRhdGVXYWdlc0Rpc3BsYXkoJGV2ZW50KVwiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwidmFsaWRhdGVXYWdlc0Rpc3BsYXkoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VuZERhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgXHJcbiAgICAgICAgICAgICAgJiYgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIHx8IGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PSAnQ1QnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXBhcmF0aW9uRGF0ZUZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5zZXBhcmF0aW9uRGF0ZUZsYWdcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cInNlcGFyYXRpb25EYXRlRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VwYXJhdGlvbkRhdGVGbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VwYXJhdGlvbkRhdGVGbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcilcclxuICAgICAgICAgICAgICAgJiYgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIHx8IGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PSAnQ1QnICAmJiBzZXBhcmF0aW9uRGF0ZUZsYWcudmFsdWU9PT0nWScgKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXBhcmF0aW9uRGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnNlcGFyYXRpb25EYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXBhcmF0aW9uRGF0ZVwiIFtmb3JtQ29udHJvbF09XCJzZXBhcmF0aW9uRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VwYXJhdGlvbkRhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIoZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJylcIj5cclxuICAgICAgICAgICAgICA8IS0tIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJudW1iZXJFbXBsb3llZFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLmVtcGxveWVlcy5ub1wiIHwgdHJhbnNsYXRlfX0gPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lkXT1cIm51bWJlckVtcGxveWVkXCIgW3VzZUdyb3VwaW5nXT1cImZhbHNlXCIgW2Zvcm1Db250cm9sXT1cIm51bWJlckVtcGxveWVkXCJcclxuICAgICAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCI5XCI+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbnVtYmVyRW1wbG95ZWQnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+IC0tPiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNsYWltYW50RW1wbG95ZWRXaXRoRW1wclwiPldlcmUgeW91IGVtcGxveWVkIHdoaWxlIGEgc3BvdXNlIG9mIGEgVVMgbWlsaXRhcnkgbWVtYmVyIHN0YXRpb25lZCBhdFxyXG4gICAgICAgICAgICAgICAgYSBmb3JlaWduIG1pbGl0YXJ5IGJhc2U/PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJ5ZXNOb05hT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJjbGFpbWFudEVtcGxveWVkV2l0aEVtcHJcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZXJmb3JtZWRTZXJ2aWNlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuY2l2aWxpYW4ud29ya1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwicGVyZm9ybWVkU2VydmljZVwiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicGVyZm9ybWVkU2VydmljZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlcmZvcm1lZFNlcnZpY2UnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJqb2JUaWxlT3JQb3NpdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmpvYnRpdGxlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBpZD1cImpvYlRpbGVPclBvc2l0aW9uXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiam9iVGlsZU9yUG9zaXRpb25cIiBtYXhsZW5ndGg9XCIxMDBcIiAvPlxyXG4gICAgICAgICAgICAgIDwhLS0gPHAtYXV0b0NvbXBsZXRlIFtmb3JtQ29udHJvbF09XCJqb2JUaWxlT3JQb3NpdGlvblwiIFtzdWdnZXN0aW9uc109XCJqb2JUaWxlT3JQb3NpdGlvbk9wdGlvbnNcIiBcclxuICAgICAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJKb2JUaWxlT3JQb3NpdGlvbigkZXZlbnQpXCIgZmllbGQ9XCJqb2JUaXRsZVwiIChvbkNsZWFyKT1cIm9uQ2xlYXJBY3Rpb24oJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgICAgIFtkcm9wZG93bl09XCJmYWxzZVwiIHBsYWNlaG9sZGVyPVwiU3RhcnQuLi4gdHlwaW5nIGpvYiB0aXRsZVwiIG1pbkxlbmd0aD0zIGZvcmNlU2VsZWN0aW9uPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC12YWx1ZSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3ZhbHVlLmpvYlRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvcC1hdXRvQ29tcGxldGU+IC0tPlxyXG5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nam9iVGlsZU9yUG9zaXRpb24nIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiKChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyB8fCBlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyKVwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7IHBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXRvcDogMHB4O1wiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBheVJhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnBheXJhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJwYXlSYXRlXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OTk5OTkuOTlcIiBtYXhsZW5ndGg9XCIxMlwiIGxvY2FsZT1cImVuLVVTXCI+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5UmF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtwYWRkaW5nLXRvcDogMHB4O1wiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnBlclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJwYXlSYXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwYXlSYXRlRnJlcXVlbmN5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJwYXlSYXRlRnJlcXVlbmN5XCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlRnJlcXVlbmN5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cInRoaXMuY3VycmVudFN0YXRlICE9ICdNUycgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJncm9zc1dhZ2VzXCIgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XCI+VG90YWwgV2FnZXMgRWFybmVkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cImdyb3NzV2FnZXNcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjk5OTk5OS45OVwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2dyb3NzV2FnZXMnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIHx8IGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKVwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7IHBhZGRpbmctbGVmdDogMHB4O1wiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIihpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJylcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBheXJhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtmb3JtQ29udHJvbF09XCJwYXlSYXRlXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBbbWF4XT1cIjk5OTk5OS45OVwiIG1heGxlbmd0aD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbGU9XCJlbi1VU1wiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCIgKm5nSWY9XCIoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwicGF5UmF0ZU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZUZyZXF1ZW5jeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5UmF0ZUZyZXF1ZW5jeScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmIChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyB8fCBlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykpXHJcbiAgICAgICAgICAgICAmJiAoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJocnNXZWVrXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuaHJzd2Vla1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwiaHJzV2Vla1wiIFttYXhdPVwiOTk5XCIgbWF4bGVuZ3RoPVwiM1wiIGxvY2FsZT1cImVuLVVTXCI+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdocnNXZWVrJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIHx8IGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSlcclxuICAgICAgICAgICAgICYmICgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNoaWZ0XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuc2hpZnRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtY2hlY2tib3ggW25hbWVdPVwiJ3NoaWZ0LWdyb3VwJ1wiIFt2YWx1ZV09XCJjaG9pY2UudmFsdWVcIiBbbGFiZWxdPVwiY2hvaWNlLnRleHRcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNob2ljZSBvZiBzaGlmdE9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwic2hpZnRcIiBzdHlsZUNsYXNzPVwiYXBwLXAtY2hlY2tib3hcIj48L3AtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NoaWZ0JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmIChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyB8fCBlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykpXHJcbiAgICAgICAgICAgICAgJiYgKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSlcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGlkV29ya1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmRpZHdvcmtcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJkaWRXb3JrT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJkaWRXb3JrXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cImRpZFdvcmtcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlkV29yaycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmIChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyB8fCBlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykpXHJcbiAgICAgICAgICAgICAmJiAoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrV2Vla1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50Lndvcmt3ZWVrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWNoZWNrYm94IFtuYW1lXT1cIid3b3JrV2Vlay1ncm91cCdcIiBbdmFsdWVdPVwiY2hvaWNlLnZhbHVlXCIgW2xhYmVsXT1cImNob2ljZS50ZXh0XCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2Ygd29ya1dlZWtPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cIndvcmtXZWVrXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJhcHAtcC1jaGVja2JveFwiPjwvcC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd29ya1dlZWsnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZSAmJiAoKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgXHJcbiAgICAgICAgICAgICAgICAgICAgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiBlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWFzb25TZXBhcmF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucmVhc29uLnNlcGFyYXRpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJyZWFzb25TZXBhcmF0aW9uXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInJlYXNvblNlcGFyYXRpb25cIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVhc29uU2VwYXJhdGlvbicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIGFkZCBmb3IgcXVpdCBhbmQgZGlzY2hhcmdlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSBcclxuICAgICAgICAgICAgICAgIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgcmVhc29uU2VwYXJhdGlvbi52YWx1ZSAmJiByZWFzb25TZXBhcmF0aW9uLnZhbHVlLnZhbHVlID09PSAnRENGSScgXHJcbiAgICAgICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwiZGlzY2hhcmdlRGV0YWlsXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24uZGlzY2hhcmdlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJkaXNjaGFyZ2VEZXRhaWxcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZGlzY2hhcmdlRGV0YWlsXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2Rpc2NoYXJnZURldGFpbCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgXHJcbiAgICAgICAgICAgICAgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiByZWFzb25TZXBhcmF0aW9uLnZhbHVlICYmIHJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdWT0xRJyBcclxuICAgICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ2b2xRdWl0RGV0YWlsc1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlYXNvbi5zZXBhcmF0aW9uLnF1aXRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJ2b2xRdWl0UmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJ2b2xRdWl0RGV0YWlsc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ2b2xRdWl0RGV0YWlsc1wiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd2b2xRdWl0RGV0YWlscycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibWlsUGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDxicj4ge3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwucGVuc2lvbi5kaXNjbGFpbWVyXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaWQ9XCJtaWxQZW5zaW9uRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwibWlsUGVuc2lvbkZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdtaWxQZW5zaW9uRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibWlsUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJtaWxQZW5zaW9uUmVjdkRhdGVcIiBbZm9ybUNvbnRyb2xdPVwibWlsUGVuc2lvblJlY3ZEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdtaWxQZW5zaW9uUmVjdkRhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGQyMTRGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTRcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+PGJyPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6IGlubGluZS1mbGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwiZGQyMTRGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJkZDIxNEZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCIgKG9uT3B0aW9uQ2xpY2spPVwicHV0TWlsVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkZDIxNEZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcblxyXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInBhZC1zcGFjZVwiPiBcclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInBhZC1zcGFjZVwiPiBcclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnICYmIGRkMjE0RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwiYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJwYXJhT25lIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1maWxlLXVwbG9hZGVyIFtmb3JtQ29udHJvbF09XCJkZDIxNEZpbGVcIiBbdXBsb2FkZWRGaWxlRm9yRWRpdF09XCJkZDIxNEZpbGUudmFsdWVcIj48L2FwcC1maWxlLXVwbG9hZGVyPiAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhVHdvIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFUaHJlZSB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhRm91ciB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhRml2ZSB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYVNpeHwgdHJhbnNsYXRlKVwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnICYmIGRkMjE0RmxhZy52YWx1ZT09PSdOJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwiYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIm5vUGFyYU9uZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZmlsZS11cGxvYWRlciBbZm9ybUNvbnRyb2xdPVwiZGQyMTRGaWxlXCIgW3VwbG9hZGVkRmlsZUZvckVkaXRdPVwiZGQyMTRGaWxlLnZhbHVlXCI+PC9hcHAtZmlsZS11cGxvYWRlcj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYVR3byB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYVRocmVlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFGb3VyIHwgdHJhbnNsYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhRml2ZSB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIodGhpcy5jdXJyZW50U3RhdGUgIT0gJ01TJyAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBvc2FCcEVtcGxveWVyRmxhZy52YWx1ZSA9PT0nMScpXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXRvcDogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJncm9zc1dhZ2VzXCIgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XCI+VG90YWwgV2FnZXMgRWFybmVkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cImdyb3NzV2FnZXNcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjk5OTk5OS45OVwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2dyb3NzV2FnZXMnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZFBlbnNpb25GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucGVuc2lvblwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICA8YnI+IHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uZGlzY2xhaW1lclwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cImZlZFBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uRmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uaW5mbyd8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRQZW5zaW9uRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgdGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJmZWRQZW5zaW9uUmVjdkRhdGVcIiBbZm9ybUNvbnRyb2xdPVwiZmVkUGVuc2lvblJlY3ZEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRQZW5zaW9uUmVjdkRhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwic2V2UGF5RmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwic2V2UGF5RmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NldlBheUZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIHNldlBheUZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3ZWVrbHlBbW91bnRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2Uud2Vla2x5LmFtdFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cIndlZWtseUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIiBpbnB1dElkPVwid2Vla2x5QW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dlZWtseUFtb3VudCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibnVtYmVyT2ZXZWVrc1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cIm51bWJlck9mV2Vla3NcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwibnVtYmVyT2ZXZWVrc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdudW1iZXJPZldlZWtzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5QW1vdW50XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLmVudGl0bGVtZW50XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwic2V2UGF5QW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiIGlucHV0SWQ9XCJzZXZQYXlBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5QW1vdW50JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIHNldlBheUZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlTdGFydERhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2Uuc3RhcnQuZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic2V2UGF5U3RhcnREYXRlXCIgKG9uQmx1cik9XCJ2YWxpZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwidmFsaWRhdGUoJGV2ZW50KVwiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlTdGFydERhdGVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBhcHBlbmRUbz1cImJvZHlcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5U3RhcnREYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlFbmREYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLmVuZC5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlFbmREYXRlXCIgW2Zvcm1Db250cm9sXT1cInNldlBheUVuZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFttaW5EYXRlXT1cIm1pbkRhdGVcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5RW5kRGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwic2V2UGF5UGF5bWVudFN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS5wYXkuZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic2V2UGF5UGF5bWVudFN0YXJ0RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NldlBheVBheW1lbnRTdGFydERhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBlbnNpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTpmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaWQ9XCJwZW5zaW9uRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicGVuc2lvbkZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBlbnNpb24uaW5mbyd8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlbnNpb25GbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIihpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJyAmJiBwZW5zaW9uRmxhZy52YWx1ZT09PSdZJyBcclxuICAgICAgICAgICAgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJylcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJwZW5zaW9uUmVjdkRhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGVuc2lvblJlY3ZEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwZW5zaW9uUmVjdkRhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWdQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb25cInx0cmFuc2xhdGV9fSA8YnIgLz5cclxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uZGlzY2xhaW1lclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cInJlZ1BlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJyZWdQZW5zaW9uRmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uaW5mbyd8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZWdQZW5zaW9uRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIFxyXG4gICAgICAgICAgICAmJiByZWdQZW5zaW9uRmxhZy52YWx1ZT09PSdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWdQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJyZWdQZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlZ1BlbnNpb25SZWN2RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gUkVHIERpc21pc3NhbFBheUZsYWcgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgXHJcbiAgICAgICAgICAgICAgICAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgKSAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PSAnQ1QnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWdEaXNzbWlzYWxGbGFnXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZGlzc21pc2FsRmxhZ1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cInJlZ0Rpc3NtaXNhbEZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJlZ0Rpc3NtaXNhbEZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVnRGlzc21pc2FsRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBSRUcgZGlzbWlzc2FsQ2hlY2tCb3gtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIigodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKSlcclxuICAgICAgICAgICAgJiYgKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSkgJiYgdGhpcy5yZWdEaXNzbWlzYWxGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ0Rpc3NtaXNhbENoZWNrQm94XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZGlzc21pc2FsQ2hlY2tCb3hcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtY2hlY2tib3ggW25hbWVdPVwiJ3JlZ0Rpc3NtaXNhbENoZWNrQm94LWdyb3VwJ1wiIFt2YWx1ZV09XCJjaG9pY2UudmFsdWVcIiBbbGFiZWxdPVwiY2hvaWNlLnRleHRcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNob2ljZSBvZiBkaXNzbWlzYWxDaGVja0JveE9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicmVnRGlzc21pc2FsQ2hlY2tCb3hcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cImFwcC1wLWNoZWNrYm94XCI+PC9wLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZWdEaXNzbWlzYWxDaGVja0JveCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBSRUcgTGFpZE9mZkZsYWctLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgKSAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PSAnQ1QnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWdMYWlkT2ZmRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmxhaWRPZmZGbGFnXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwicmVnTGFpZE9mZkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInJlZ0xhaWRPZmZGbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlZ0xhaWRPZmZGbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICA8IS0tIEZFRCBEaXNtaXNzYWxQYXlGbGFnIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgKSAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PSAnQ1QnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWREaXNzbWlzYWxGbGFnXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZGlzc21pc2FsRmxhZ1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cImZlZERpc3NtaXNhbEZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImZlZERpc3NtaXNhbEZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkRGlzc21pc2FsRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBGRUQgIGRpc21pc3NhbENoZWNrQm94IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKCh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgJiYgKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSkgJiYgdGhpcy5mZWREaXNzbWlzYWxGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZERpc3NtaXNhbENoZWNrQm94XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZGlzc21pc2FsQ2hlY2tCb3hcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtY2hlY2tib3ggW25hbWVdPVwiJ2ZlZERpc3NtaXNhbENoZWNrQm94LWdyb3VwJ1wiIFt2YWx1ZV09XCJjaG9pY2UudmFsdWVcIiBbbGFiZWxdPVwiY2hvaWNlLnRleHRcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNob2ljZSBvZiBkaXNzbWlzYWxDaGVja0JveE9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZmVkRGlzc21pc2FsQ2hlY2tCb3hcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cImFwcC1wLWNoZWNrYm94XCI+PC9wLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWREaXNzbWlzYWxDaGVja0JveCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIEZFRCAgTGFpZE9mZkZsYWctLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJiYgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICkgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT0gJ0NUJylcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkTGFpZE9mZkZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5sYWlkT2ZmRmxhZ1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cImZlZExhaWRPZmZGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRMYWlkT2ZmRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRMYWlkT2ZmRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcilcclxuICAgICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnQ1QnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJpc0NsbXRQYWlkV2hpbGVMb3dcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5lbXBsb3llci5wYXkucmV0dXJuLnRvLndvcmtcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTpmbGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwiaXNDbG10UGFpZFdoaWxlTG93XCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpc0NsbXRQYWlkV2hpbGVMb3dcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvXHJcbiAgICAgICAgICAgICAgICAgIG92ZXJsYXlUZXh0PVwie3snaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5lbXBsb3llclBheVJldHVyblRvV29ya0luZm8nfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naXNDbG10UGFpZFdoaWxlTG93JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZSA9PT0nTUUnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhhc1Nob3J0VGVybURpc2FiaWxpdHlcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5zaG9ydHRlcm1kaXNhYmlsaXR5XCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIHt7YnBTdGFydERhdGVUb0Rpc3BsYXkgfCBkYXRlOidNTU1NIGQsIHl5eXknfX0gPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cImhhc1Nob3J0VGVybURpc2FiaWxpdHlcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImhhc1Nob3J0VGVybURpc2FiaWxpdHlcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoYXNTaG9ydFRlcm1EaXNhYmlsaXR5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzUmVjdlJlbXVuZXJhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlbXVuZXJhdGlvbi5wYXlcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cImhhc1JlY3ZSZW11bmVyYXRpb25cIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImhhc1JlY3ZSZW11bmVyYXRpb25cIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoYXNSZWN2UmVtdW5lcmF0aW9uJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBjdXJyZW50U3RhdGU9PT0nTUUnICYmIGhhc1JlY3ZSZW11bmVyYXRpb24udmFsdWU9PT0nWScgJiYgb3NhQnBFbXBsb3llckZsYWcudmFsdWU9PT0nMCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVtdW5lcmF0aW9uVHlwZXNcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZW11bmVyYXRpb24udHlwZXNcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtY2hlY2tib3ggW25hbWVdPVwiJ3JlbXVuZXJhdGlvbnR5cGVzLWdyb3VwJ1wiIFt2YWx1ZV09XCJjaG9pY2UudmFsdWVcIiBbbGFiZWxdPVwiY2hvaWNlLnRleHRcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNob2ljZSBvZiByZW11bmVyYXRpb25UeXBlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJyZW11bmVyYXRpb25UeXBlc1wiXHJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwiYXBwLXAtY2hlY2tib3hcIj48L3AtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlbXVuZXJhdGlvblR5cGVzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJyAmJiBzY2hvb2xGbGFnID09PScxJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZSA9PT0nTUUnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInZhY2F0aW9uXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQudmFjYXRpb24uYnJlYWtcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cInZhY2F0aW9uXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJ2YWNhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZhY2F0aW9uJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09dGhpcy5jdXJyZW50U3RhdGUgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8aDQ+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmhlYWRlclwifHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuc3ViaGVhZGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya1R5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy53b3JrLnR5cGVcIiB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwid29ya1R5cGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3b3JrVHlwZVwiIG1heGxlbmd0aD1cIjUwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtUeXBlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXltZW50VHlwZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5wYXltb2RlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwicGF5bWVudFR5cGVcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicGF5TWV0aG9kT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwYXltZW50VHlwZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheW1lbnRUeXBlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRvY3NSZWNlaXZlZFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5kb2NzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwiZG9jc1JlY2VpdmVkXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cIndhZ2VQcm9vZk9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZG9jc1JlY2VpdmVkXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZG9jc1JlY2VpdmVkJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm90aGVyU1NORmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5zc24uZmxhZ1wifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgIHt7YnBTdGFydERhdGVUb0Rpc3BsYXkgfCBkYXRlOidNTU1NIGQsIHl5eXknfX0gP1xyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cIm90aGVyU1NORmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJvdGhlclNTTkZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyU1NORmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ0aGlzLm90aGVyU1NORmxhZy52YWx1ZSA9PT0gJ1knXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwib3RoZXJTU05cIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMub3RoZXIuc3NuXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtaW5wdXRNYXNrIG1hc2s9XCI5OTktOTktOTk5OVwiIGlkPVwib3RoZXJTU05cIiBbZm9ybUNvbnRyb2xdPVwib3RoZXJTU05cIiBwbGFjZWhvbGRlcj1cIjk5OS05OS05OTk5XCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtaW5wdXRNYXNrPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyU1NOJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpcmVkQnlcIj5NYW5hZ2VyJ3MgTmFtZSAmIFRpdGxlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiaGlyZWRCeVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImhpcmVkQnlcIiBtYXhsZW5ndGg9XCI0MFwiLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hpcmVkQnknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3dcclxuICAgICAgICAgICAgICAqbmdJZj1cIndvcmtTdGF0ZS52YWx1ZSAmJiB3b3JrU3RhdGUudmFsdWUudmFsdWU9PT0gdGhpcy5jdXJyZW50U3RhdGUgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwib3RoZXJOYW1lRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lLmZsYWdcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIHt7YnBTdGFydERhdGVUb0Rpc3BsYXkgfCBkYXRlOidNTU1NIGQsIHl5eXknfX0gP1xyXG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cIm90aGVyTmFtZUZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJvdGhlck5hbWVGbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyTmFtZUZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwidGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwib3RoZXJOYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLm5hbWVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIm90aGVyTmFtZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIm90aGVyTmFtZVwiIG1heGxlbmd0aD1cIjMwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyTmFtZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxpb24tcm93ICpuZ0lmPVwid29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdNUycgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlaW5cIj5GRUlOPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lkXT1cImZlaW5cIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwiZmVpblwiIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWluJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkb2luZ0J1c2luZXNzQXNcIj5Eb2luZyBCdXNpbmVzcyBBcy9UcmFkZSBOYW1lPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZG9pbmdCdXNpbmVzc0FzXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZG9pbmdCdXNpbmVzc0FzXCIgbWF4bGVuZ3RoPVwiMTAwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZG9pbmdCdXNpbmVzc0FzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+IC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLTxpb24tcm93ICpuZ0lmPVwid29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PXRoaXMuY3VycmVudFN0YXRlICYmIGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlIFxyXG4gICAgICAgICAgICAgICAgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImJ1c2luZXNzTmF0dXJlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLm5hdHVyZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiYnVzaW5lc3NOYXR1cmVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJidXNpbmVzc05hdHVyZVwiIG1heGxlbmd0aD1cIjI1MFwiLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2J1c2luZXNzTmF0dXJlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+LS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoKHdvcmtTdGF0ZS52YWx1ZSAmJiB3b3JrU3RhdGUudmFsdWUudmFsdWU9PT1jdXJyZW50U3RhdGUgJiYgZW1wbG95ZXJUeXBlICYmIGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJykgXHJcbiAgICAgICAgICAgICAgICAgICAgfHwgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIGlzTmV3Q2xhaW0pKSAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlIT0nTUlMJylcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+PGI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQudmVyaWZpY2F0aW9uLndhZ2VzXCJ8dHJhbnNsYXRlfX08L2I+PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+PGI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzXCJ8dHJhbnNsYXRlfX08L2I+PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQudmVyaWZpY2F0aW9uLndhZ2VzLnN0YXRlbWVudFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDx0YWJsZSBydWxlcz1yb3dzPlxyXG4gICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5jb2wxXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuY29sMlwifHRyYW5zbGF0ZX19PC90aD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtQXJyYXlOYW1lPVwid2FnZUFtb3VudEFycmF5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgd2FnZUFtb3VudEZvcm0gb2Ygd2FnZUFtb3VudEFycmF5LmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cImlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0clxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIigoZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcpIHx8IChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiB3YWdlQW1vdW50Rm9ybS52YWx1ZS5kaXNwbGF5Rm9yQWxsPT09dHJ1ZSkgKVwiIGNsYXNzPVwicXVhcnRlclRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7d2FnZUFtb3VudEZvcm0udmFsdWUucXRyWWVhckRpc3BsYXlTdHJpbmd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lucHV0SWRdPVwiJ3dhZ2VBbW91bnQnICsgaVwiIGFyaWFMYWJlbD1cIndhZ2VBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwid2FnZUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIFttaW5dPVwiMC4wMFwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k9XCJVU0RcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwid2FnZUFtb3VudEFycmF5LmVycm9ycz8ucmVxdWlyZUNoZWNrYm94VG9CZUNoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2FnZUFtb3VudEFycmF5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZUNoZWNrYm94VG9CZUNoZWNrZWQ6ICdhdCBsZWFzdCBvbmUgYW1vdW50IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8nXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChzdGF0ZW1lbnQxIHwgdHJhbnNsYXRlKVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN0YXRlbWVudDIgfCB0cmFuc2xhdGUpXCI+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN0YXRlbWVudDMgfCB0cmFuc2xhdGUpXCI+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChzdGF0ZW1lbnQ0IHwgdHJhbnNsYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxNXB4O1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHN0eWxlPVwid2lkdGg6IDgwcHg7XCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwib25Nb2RlbENhbmNlbChmYWxzZSlcIlxyXG4gICAgICAgICAgICB0eXBlPVwicmVzZXRcIj57e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLmNhbmNlbFwifHRyYW5zbGF0ZX19IDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiIChjbGljayk9XCJzYXZlKClcIiB0eXBlPVwic3VibWl0XCIgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLnNhdmVcInx0cmFuc2xhdGV9fSA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAoY2xpY2spPVwiYWRkKClcIiB0eXBlPVwic3VibWl0XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LmJ1dHRvbi5hZGRcInx0cmFuc2xhdGV9fSA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgPC9pb24tZ3JpZD5cclxuICA8L2Zvcm0+XHJcbjwvcC1kaWFsb2c+Il19
3725
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVtcGxveWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUF3RixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsSSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFNcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBT2hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztJQ0ozRSwyQkFBK0I7SUFDN0IsWUFBOEQ7O0lBQUEsaUJBQU07OztJQUFwRSxlQUE4RDtJQUE5RCxnSEFBOEQ7OztJQUVoRSwyQkFBb0UsZUFBQTtJQUNsQyxZQUNoQztJQUFBLGlCQUFPLEVBQUE7OztJQUR5QixlQUNoQztJQURnQyw4REFDaEM7OztJQUVGLDJCQUFxRDtJQUNuRCxxQkFBSTtJQUNKLFlBQ0Y7O0lBQUEsaUJBQU07O0lBREosZUFDRjtJQURFLG9HQUNGOzs7SUFNUSwwQkFBZ0MsUUFBQTtJQUMzQixZQUE4QjtJQUFBLGlCQUFJLEVBQUE7OztJQUFsQyxlQUE4QjtJ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QyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDM00saUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdFIsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEwsb0JBQW9CLEVBQUMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUEsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyTyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBQztZQUM3UixzQkFBc0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMVMsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBQztZQUN2UixrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBQztZQUM3UixzQkFBc0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMVMsZ0JBQWdCLEVB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TkFDd0g7WUFVdkcsZUFDcUQ7WUFEckQsNEtBQ3FEO1lBWXJELGVBQ3VDO1lBRHZDLDRLQUN1QztZQWdCeEQsZUFBb0k7WUFBcEksNktBQW9JO1lBY3BJLGVBQW1JO1lBQW5JLDZLQUFtSTtZQWFuSSxlQUF3TTtZQUF4TSw2UEFBd007WUFXeE0sZUFBeUo7WUFBekosdU1BQXlKO1lBWXpKLGVBQTZKO1lBQTdKLHFNQUE2SjtZQW1FN0osZUFBOEo7WUFBOUoscU1BQThKO1lBNEQzSixlQUM4RTtZQUQ5RSxvVEFDOEU7WUE0RHZFLGVBQW1EO1lBQW5ELDRGQUFtRDtZQUNhLGVBQTBCO1lBQTFCLCtDQUEwQjtZQUUzQixlQUEyQjtZQUEzQixnREFBMkI7OztpRkR2cEN0RyxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxrQkFBa0I7MlVBTUwsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBQ0UsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBQ0UsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBR2Qsd0JBQXdCO2tCQUQ5QixTQUFTO21CQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQXdFeEQsV0FBVztrQkFEVixNQUFNO1lBSVAsT0FBTztrQkFETixNQUFNO1lBSUEsaUJBQWlCO2tCQUR2QixLQUFLO1lBSUMsb0JBQW9CO2tCQUQxQixLQUFLO1lBSUMsVUFBVTtrQkFEaEIsS0FBSztZQUlDLEdBQUc7a0JBRFQsS0FBSztZQU1OLGVBQWU7a0JBRGQsTUFBTTs7a0ZBakdJLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWx0ZXJTZXJ2aWNlLCBTZWxlY3RJdGVtR3JvdXAgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCc7XG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xuaW1wb3J0IHsgRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9FbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCc7XG5pbXBvcnQgeyBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb25zL0FwcFZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudE1vZGVsLCBDaG9pY2VzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvQWRkcmVzc0NvbXBvbmVudE1vZGVsJztcbmltcG9ydCB7IENsYWltU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XG5pbXBvcnQgeyBBZGRyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi4vYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEtleVZhbHVlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9LZXlWYWx1ZU1vZGVsJztcbmltcG9ydCB7IFJlYXNvblNlcGFyYXRpb25SZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvUmVhc29uU2VwYXJhdGlvblJlcXVlc3RNb2RlbCc7XG5pbXBvcnQgeyBFbXBsb3llclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbXBsb3llci9lbXBsb3llci1zZXJ2aWNlJztcbmltcG9ydCB7IENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFkZC1lbXBsb3llcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtZW1wbG95ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtZW1wbG95ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRkRW1wbG95ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3MxJykgYWRkcmVzczE6IEFkZHJlc3NDb21wb25lbnQ7IFxuICBAVmlld0NoaWxkKCdhZGRyZXNzMicpIGFkZHJlc3MyOiBBZGRyZXNzQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdhZGRyZXNzMycpIGFkZHJlc3MzOiBBZGRyZXNzQ29tcG9uZW50OyBcblxuICBAVmlld0NoaWxkKCdhZGRFbXBsb3llckZvcm1EaXJlY3RpdmUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIGFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZTogTmdGb3JtO1xuICBwdWJsaWMgZW1wbG95ZXJUeXBlT3B0aW9ucyA9IENvbWJvT3B0aW9uLkVNUExPWUVSX1RZUEU7XG4gIHB1YmxpYyBjb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XG4gIHB1YmxpYyBjb3VudHJ5RmVkT3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XG4gIHB1YmxpYyBwYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XG4gIHB1YmxpYyBzdGF0ZU9wdGlvbnM6IGFueSA9IFtdO1xuICBwdWJsaWMgZmVkU3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcbiAgcHVibGljIGpvYlRpbGVPclBvc2l0aW9uT3B0aW9uczogYW55ID1bXTtcbiAgcHVibGljIGZlZEpvYlRpbGVPcHRpb25zOiBhbnkgPVtdO1xuICBwdWJsaWMgcmFkaW9PcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PO1xuICBwdWJsaWMgd29ya09wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0ZPUl9FTVBMO1xuICBwdWJsaWMgeWVzTm9OYU9wdGlvbnMgPSBDb21ib09wdGlvbi5ZRVNfTk9fTkE7XG4gIHB1YmxpYyBwYXlNZXRob2RPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZTUVOVF9NRVRIT0Q7XG4gIHB1YmxpYyB3YWdlUHJvb2ZPcHRpb25zID0gQ29tYm9PcHRpb24uV0FHRV9QUk9PRjtcbiAgcHVibGljIGRpc2NoYXJnZVJlYXNvbk9wdGlvbnM6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyB2b2xRdWl0UmVhc29uT3B0aW9uczogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHN0YXRlc09wdGlvbnM7XG4gIHB1YmxpYyBwYXlQZXJpb2QgPSBDb21ib09wdGlvbi5QQVlfUEVSSU9EO1xuICBwdWJsaWMgZW1wbG95bWVudFN0YXR1c09wdGlvbnM6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyB3b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUlk7XG4gIHB1YmxpYyBtaWxpdGFyeVNlcnZpY2VPcHRpb25zID0gQ29tYm9PcHRpb24uTUlMSVRBUllfU0VSVklDRTtcbiAgcHVibGljIG1pbGl0YXJ5U2VydmljZU9wdGlvbnNXaXRoU3BhY2UgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFX1VTU0Y7XG4gIHB1YmxpYyByZW11bmVyYXRpb25UeXBlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlJFTVVORVJBVElPTl9UWVBFUztcbiAgcHVibGljIHNoaWZ0T3B0aW9ucz1Db21ib09wdGlvbi5TSElGVDtcbiAgcHVibGljIGRpZFdvcmtPcHRpb25zPUNvbWJvT3B0aW9uLkRJRFdPUks7XG4gIHB1YmxpYyB3b3JrV2Vla09wdGlvbnM9Q29tYm9PcHRpb24uV09SS1dFRUs7XG4gIHB1YmxpYyBkaXNzbWlzYWxDaGVja0JveE9wdGlvbnM9Q29tYm9PcHRpb24uRElTU01JU0FMUEFZT1BUSU9OUztcbiAgcHVibGljIGFkZEVtcGxveWVyRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHVibGljIGRpc3BsYXk6IGJvb2xlYW47XG4gIHB1YmxpYyBiYXNlUGVyaW9kU3RhcnREYXRlOiBEYXRlO1xuICBwdWJsaWMgYmFzZVBlcmlvZEVuZERhdGU6IERhdGU7XG4gIHB1YmxpYyBicFN0YXJ0RGF0ZVRvRGlzcGxheTogRGF0ZTtcbiAgcHVibGljIG1pbkRhdGU6IERhdGU7XG4gIHB1YmxpYyBtaW5TdGFydERhdGU6IERhdGU7XG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VPbmU/OiBzdHJpbmc7XG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VUd28/OiBzdHJpbmc7XG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VUaHJlZT86IHN0cmluZztcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZUZvdXI/OiBzdHJpbmc7XG4gIHB1YmxpYyBjdXJyZW50UXVhcnRlclJhbmdlPzogc3RyaW5nO1xuICBwdWJsaWMgcXVhcnRlclJhbmdlRml2ZT86IHN0cmluZztcbiAgcHVibGljIGRhdGVUaW1lID0gbmV3IERhdGUoKTtcbiAgLy9wdWJsaWMgZ3JvdXBlZFJlYXNvbnM9IENvbWJvT3B0aW9uLkdST1VQX1JFQVNPTlM7XG4gIHB1YmxpYyBtaW5Xb3JrU3RhcnREYXRlIDogRGF0ZTtcbiAgcHVibGljIG1pbldlZWtGb3JDaGFyZ2VhYmlsaXR5IDogbnVtYmVyO1xuXG4gIHB1YmxpYyBkaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyBlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcblxuICBwdWJsaWMgc2Y4SW5mbz1cIlNGLThcIjtcblxuICBwdWJsaWMgc3RhdGVtZW50MSA9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLndhZ2UucHJvb2Yuc3RhdGVtZW50MVwiO1xuICBwdWJsaWMgc3RhdGVtZW50MiA9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLndhZ2UucHJvb2Yuc3RhdGVtZW50MlwiO1xuICBwdWJsaWMgc3RhdGVtZW50MyA9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLndhZ2UucHJvb2Yuc3RhdGVtZW50M1wiO1xuICBwdWJsaWMgc3RhdGVtZW50NCA9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLndhZ2UucHJvb2Yuc3RhdGVtZW50NFwiOyBcbiAgcHVibGljIHBhcmFPbmUgPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5vbmVcIjtcbiAgcHVibGljIHBhcmFUd289XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnR3b1wiO1xuICBwdWJsaWMgcGFyYVRocmVlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS50aHJlZVwiO1xuICBwdWJsaWMgcGFyYUZvdXI9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLmZvdXJcIjtcbiAgcHVibGljIHBhcmFGaXZlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5maXZlXCI7XG4gIHB1YmxpYyBwYXJhU2l4PVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5zaXhcIjtcblxuICBwdWJsaWMgbm9QYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5vbmVcIjtcbiAgcHVibGljIG5vUGFyYVR3bz1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS50d29cIjtcbiAgcHVibGljIG5vUGFyYVRocmVlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLnRocmVlXCI7XG4gIHB1YmxpYyBub1BhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLmZvdXJcIjtcbiAgcHVibGljIG5vUGFyYUZpdmU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lm5vLnBhcmEuZml2ZVwiO1xuXG4gIHB1YmxpYyBlbXBsb3llclByb3ZpZGVkV2FnZXM6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdO1xuXG4gIEBPdXRwdXQoKVxuICBtb2RlbENhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAT3V0cHV0KClcbiAgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlY29yZEluZGV4VG9FZGl0OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzQmFzZVBlcmlvZEVtcGxveWVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzTmV3Q2xhaW06IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRvYjogRGF0ZTtcblxuICBwdWJsaWMgaGlkZUZpY0NvZGU6IHRydWU7XG5cbiAgQE91dHB1dCgpIFxuICBiYXNlUGVyaW9kSW5kZXg6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGN1cnJlbnRTdGF0ZSA6IHN0cmluZztcblxuICBwdWJsaWMgY3VzdG9tZXJOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhbGlhc05hbWU6IHN0cmluZztcbiAgcHVibGljIG1haWxpbmdBZGRyZXNzRGlzcGxheTogc3RyaW5nO1xuICBwdWJsaWMgc2Nob29sRmxhZzpzdHJpbmc7XG4gIHB1YmxpYyBzcG9ydHNGbGFnOnN0cmluZztcbiAgcHVibGljIGNsYWltVHlwZUR1YTpzdHJpbmc7XG4gIHB1YmxpYyBzc25WYWxpZFdvcmtTaGFyZTpzdHJpbmc7XG4gIHB1YmxpYyBpc09zYUVtcGxveWVyOnN0cmluZyA9IFwiMFwiO1xuICBwdWJsaWMgZW1wbG95ZXJUeXBlUHJlU2V0IDogc3RyaW5nID0gXCJSRUdcIjtcbiAgcHVibGljIGlzQ1NSOmJvb2xlYW47XG4gIHB1YmxpYyBzaG93V29ya1N0YXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHJlYXNvblNlcGFyYXRpb25WYWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIG9uQ2hhbmdlOiBGdW5jdGlvbiA9ICh2YWx1ZTogU3RyaW5nKSA9PiB7XG5cbiAgfTtcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHtcblxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgdmFsaWRhdGlvblNlcnZpY2U6IFZhbGlkYXRpb25TZXJ2aWNlLCBcbiAgICBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UscHJpdmF0ZSBmaWx0ZXJTZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIHB1YmxpYyBjbGFpbXNTZXJ2aWNlIDogQ2xhaW1TZXJ2aWNlLCBwdWJsaWMgbHM6IExvZ2luU2VydmljZSxcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgYXI6IEFjdGl2YXRlZFJvdXRlLCBwdWJsaWMgZW1wbG95ZXJTZXJ2aWNlOiBFbXBsb3llclNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5zZXRXb3JrU3RhcnREYXRlKCk7XG5cbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBDb21ib09wdGlvbi5VU19TVEFURVMuZmluZChzdGF0ZSA9PiBzdGF0ZS52YWx1ZSA9PSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSlcbiAgICB0aGlzLnN0YXRlc09wdGlvbnMgPSBbY3VycmVudFN0YXRlLCAuLi5Db21ib09wdGlvbi5VU19TVEFURVMuZmlsdGVyKHN0YXRlID0+IHN0YXRlLnZhbHVlICE9IHRoaXMudXRpbC5nZXRTdGF0ZSgpKV07XG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnaXNCYXNlUGVyaW9kRW1wbG95ZXIgaXMgPSAnLCB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnaXNOZXdDbGFpbSA9ICcsIHRoaXMuaXNOZXdDbGFpbSk7XG4gICAgdGhpcy5jdXJyZW50U3RhdGUgPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKTtcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XG4gICAgdGhpcy5pc0NTUiA9IHRoaXMubHMuaXNDc3IoKTtcbiAgIFxuICAgIGlmKHRoaXMuY3VycmVudFN0YXRlPT0nQ1QnKXtcbiAgICAgIHRoaXMucGF5UGVyaW9kID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRF9DVDtcbiAgICAgIHRoaXMucGF5UmF0ZU9wdGlvbnMgPSBDb21ib09wdGlvbi5QQVlfUEVSSU9EX0NUO1xuICAgIH1cbiAgICBsZXQgZXNtOiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsO1xuICAgIGxldCBxdHJXYWdlTGlzdDogUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsW107XG4gICAgbGV0IHByb2Nlc3N0eXBlID0gdGhpcy5hci5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgncHJvY2Vzc3R5cGUnKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImNhbGwgc2VydmljZSA9XCIsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xuICAgIGlmICh0aGlzLnJlY29yZEluZGV4VG9FZGl0ID09IHVuZGVmaW5lZCB8fCB0aGlzLnJlY29yZEluZGV4VG9FZGl0ID09IG51bGwpIHtcbiAgICAgIGVzbSA9IG5ldyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKCk7XG4gICAgICBxdHJXYWdlTGlzdCA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCk/LnF0clllYXJXYWdlTGlzdEdlbmVyaWM7XG4gICAgICBpZiAodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5kaXNhc3RlckFjdGl2ZUZsYWcgIT0gJzAnKSB7XG4gICAgICAgIGlmIChwcm9jZXNzdHlwZSA9PT0gJ2FpYy1yZW9wZW4nKSB7XG4gICAgICAgICAgdGhpcy5jbGFpbVR5cGVEdWEgPSAnMSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jbGFpbVR5cGVEdWEgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmNsYWltVHlwZUR1YTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jbGFpbVR5cGVEdWEgPSAnMCc7XG4gICAgICB9ICAgICAgXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZWNvcmRJbmRleFRvRWRpdCcsIHRoaXMucmVjb3JkSW5kZXhUb0VkaXQpXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKScsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xuXG4gICAgICBlc20gPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFt0aGlzLnJlY29yZEluZGV4VG9FZGl0XTtcbiAgICAgIHF0cldhZ2VMaXN0PWVzbS53YWdlQW1vdW50QXJyYXk7XG4gICAgICB0aGlzLmN1c3RvbWVyTmFtZSA9IGVzbS5lbXBsb3llckRhdGEuZGlzcGxheU5hbWU7XG4gICAgICBpZihlc20uZW1wbG95ZXJEYXRhLnRyYWRlTmFtZSl7XG4gICAgICAgIHRoaXMuYWxpYXNOYW1lID0gZXNtLmVtcGxveWVyRGF0YS50cmFkZU5hbWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFsaWFzTmFtZSA9IG51bGw7XG4gICAgICB9XG4gICAgICBpZihlc20ub3NhQnBFbXBsb3llckZsYWcpe1xuICAgICAgICB0aGlzLmlzT3NhRW1wbG95ZXIgPSBlc20ub3NhQnBFbXBsb3llckZsYWc7XG4gICAgICB9XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImlzT3NhRW1wbG95ZXIgPT09PT09PSBcIiAsIHRoaXMuaXNPc2FFbXBsb3llcik7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImVtcGxveWVyVHlwZSA9PT09PT09IFwiICwgZXNtLmVtcGxveWVyVHlwZSk7XG4gICAgICB0aGlzLmVtcGxveWVyVHlwZVByZVNldCA9IGVzbS5lbXBsb3llclR5cGU7XG4gICAgICB0aGlzLm1haWxpbmdBZGRyZXNzRGlzcGxheSA9IGVzbS5lbXBsb3llckRhdGEubWFpbGluZ0FkZHJlc3NEaXNwbGF5O1xuICAgICAgdGhpcy5zY2hvb2xGbGFnID0gZXNtLmVtcGxveWVyRGF0YS5zY2hvb2xGbGFnO1xuICAgICAgdGhpcy5zcG9ydHNGbGFnID0gZXNtLmVtcGxveWVyRGF0YS5zcG9ydHNGbGFnO1xuICAgICAgaWYgKHByb2Nlc3N0eXBlID09PSAnYWljLXJlb3BlbicpIHtcbiAgICAgICAgdGhpcy5jbGFpbVR5cGVEdWEgPSAnMSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsYWltVHlwZUR1YSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuY2xhaW1UeXBlRHVhO1xuICAgICAgfVxuICAgICAgdGhpcy5zc25WYWxpZFdvcmtTaGFyZSA9IGVzbS5lbXBsb3llckRhdGEuc3NuVmFsaWRXb3JrU2hhcmU7XG4gICAgICBpZih0aGlzLmlzQ1NSID09PSB0cnVlICYmIGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMgJiYgZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlKXtcbiAgICAgICAgdGhpcy5lbXBsb3llclByb3ZpZGVkV2FnZXMgPSBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzLndhZ2VzTGlzdFF0cldpc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5nZXRSZWFzb25TZXBlcmF0aW9uQmFzZWRPbkNvbmRpdGlvbih0aGlzLnNjaG9vbEZsYWcsIHRoaXMuc3BvcnRzRmxhZywgdGhpcy5jbGFpbVR5cGVEdWEsIHRoaXMuc3NuVmFsaWRXb3JrU2hhcmUpXG5cbiAgICB0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJhc2VQZXJpb2RTdGFydERhdGU7XG4gICAgdGhpcy5iYXNlUGVyaW9kRW5kRGF0ZSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYmFzZVBlcmlvZEVuZERhdGU7XG4gICAgdGhpcy5icFN0YXJ0RGF0ZVRvRGlzcGxheSA9IG5ldyBEYXRlKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBTdGFydERhdGVUb0Rpc3BsYXkpO1xuICAgIHRoaXMubWluV2Vla0ZvckNoYXJnZWFiaWxpdHkgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLm1pbldlZWtGb3JDaGFyZ2VhYmlsaXR5O1xuXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJ0aGlzLm1pbldvcmtTdGFydERhdGUgYXMgaW5wdXRcIiwgdGhpcy5taW5Xb3JrU3RhcnREYXRlKTtcbiAgICBpZih0aGlzLm1pbldvcmtTdGFydERhdGUpe1xuICAgICAgdGhpcy5icFN0YXJ0RGF0ZVRvRGlzcGxheSA9IHRoaXMubWluV29ya1N0YXJ0RGF0ZTtcbiAgICB9IGVsc2V7XG4gICAgICB0aGlzLm1pbldvcmtTdGFydERhdGUgPSB0aGlzLmRvYjtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJ0aGlzLm1pbldvcmtTdGFydERhdGUgcG9zdCBzZXR1cCBcIiwgdGhpcy5taW5Xb3JrU3RhcnREYXRlKTtcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UubG9hZE1hc3RlckRhdGEoKTtcbiAgICB0aGlzLmFkZEVtcGxveWVyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgJ2VtcGxveWVyVHlwZSc6IFtlc20uZW1wbG95ZXJUeXBlICE9IG51bGwgPyBlc20uZW1wbG95ZXJUeXBlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICdlbXBsb3llck5hbWUnOiBbZXNtLmVtcGxveWVyTmFtZSAhPSBudWxsID8gZXNtLmVtcGxveWVyTmFtZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ2ZlZEVtcGxveWVyTmFtZSc6IFtlc20uZmVkRW1wbG95ZXJOYW1lICE9IG51bGwgPyBlc20uZmVkRW1wbG95ZXJOYW1lIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInOiBbZXNtLmVtcGxveWVyVGVsZXBob25lTnVtYmVyICE9IG51bGwgPyBlc20uZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAnZW5kRGF0ZSc6IFtlc20uZW5kRGF0ZSAhPSBudWxsID8gZXNtLmVuZERhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAnc3RhcnREYXRlJzogW2VzbS5zdGFydERhdGUgIT0gbnVsbCA/IGVzbS5zdGFydERhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAnam9iVGlsZU9yUG9zaXRpb24nOiBbZXNtLmpvYlRpbGVPclBvc2l0aW9uICE9IG51bGwgPyBlc20uam9iVGlsZU9yUG9zaXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyldLFxuICAgICAgJ3JlYXNvblNlcGFyYXRpb24nOiBbZXNtLnJlYXNvblNlcGFyYXRpb24gIT0gbnVsbCA/IGVzbS5yZWFzb25TZXBhcmF0aW9uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyB8fCB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZGlzY2hhcmdlRGV0YWlsJzogW2VzbS5kaXNjaGFyZ2VEZXRhaWwgIT0gbnVsbCA/IGVzbS5kaXNjaGFyZ2VEZXRhaWwgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ0RDRkknKSkpXSxcbiAgICAgICd2b2xRdWl0RGV0YWlscyc6IFtlc20udm9sUXVpdERldGFpbHMgIT0gbnVsbCA/IGVzbS52b2xRdWl0RGV0YWlscyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlIT0nTUlMJyAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlLnZhbHVlID09PSAnVk9MUScpKSldLFxuICAgICAgJ3BheVJhdGUnOiBbZXNtLnBheVJhdGUgIT0gbnVsbCA/IGVzbS5wYXlSYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpXSxcbiAgICAgICdwYXlSYXRlRnJlcXVlbmN5JzogW2VzbS5wYXlSYXRlRnJlcXVlbmN5ICE9IG51bGwgPyBlc20ucGF5UmF0ZUZyZXF1ZW5jeSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSkpXSxcbiAgICAgICdocnNXZWVrJzogW2VzbS5ocnNXZWVrICE9IG51bGwgPyBlc20uaHJzV2VlayA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpKSldLFxuICAgICAgJ3NoaWZ0JzogW2VzbS5zaGlmdCAhPSBudWxsID8gZXNtLnNoaWZ0IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSkpKV0sXG4gICAgICAnd29ya1dlZWsnOiBbZXNtLndvcmtXZWVrICE9IG51bGwgPyBlc20ud29ya1dlZWsgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyB8fCB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKSkpXSxcbiAgICAgICdkaWRXb3JrJzogW2VzbS5kaWRXb3JrICE9IG51bGwgPyBlc20uZGlkV29yayA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpKSldLFxuICAgICAgJ3NlcGFyYXRpb25EYXRlRmxhZyc6IFtlc20uc2VwYXJhdGlvbkRhdGVGbGFnICE9IG51bGwgPyBlc20uc2VwYXJhdGlvbkRhdGVGbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSkpKV0sXG4gICAgICAnc2VwYXJhdGlvbkRhdGUnOiAgW2VzbS5zZXBhcmF0aW9uRGF0ZSAhPSBudWxsID8gZXNtLnNlcGFyYXRpb25EYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSAmJiB0aGlzLnNlcGFyYXRpb25EYXRlRmxhZy52YWx1ZT09PSdZJykpKV0sXG4gICAgICAncGVuc2lvbkZsYWcnOiBbZXNtLnBlbnNpb25GbGFnICE9IG51bGwgPyBlc20ucGVuc2lvbkZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpXSxcbiAgICAgICdwZW5zaW9uUmVjdkRhdGUnOiBbZXNtLnBlbnNpb25SZWN2RGF0ZSAhPSBudWxsID8gZXNtLnBlbnNpb25SZWN2RGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMucGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKSldLFxuICAgICAgJ3JlZ1BlbnNpb25GbGFnJzogW2VzbS5yZWdQZW5zaW9uRmxhZyAhPSBudWxsID8gZXNtLnJlZ1BlbnNpb25GbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAncmVnUGVuc2lvblJlY3ZEYXRlJzpbZXNtLnJlZ1BlbnNpb25SZWN2RGF0ZSAhPSBudWxsID8gZXNtLnJlZ1BlbnNpb25SZWN2RGF0ZTogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5yZWdQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKSldLCAgICAgIFxuICAgICAgJ3JlZ0Rpc3NtaXNhbEZsYWcnOiBbZXNtLnJlZ0Rpc3NtaXNhbEZsYWcgIT0gbnVsbCA/IGVzbS5yZWdEaXNzbWlzYWxGbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyApKSldLFxuICAgICAgJ3JlZ0Rpc3NtaXNhbENoZWNrQm94JzogW2VzbS5yZWdEaXNzbWlzYWxDaGVja0JveCAhPSBudWxsID8gZXNtLnJlZ0Rpc3NtaXNhbENoZWNrQm94IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKSkpXSxcbiAgICAgICdyZWdMYWlkT2ZmRmxhZyc6IFtlc20ucmVnTGFpZE9mZkZsYWcgIT0gbnVsbCA/IGVzbS5yZWdMYWlkT2ZmRmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgKSkpXSxcbiAgICAgICdmZWREaXNzbWlzYWxGbGFnJzogW2VzbS5mZWREaXNzbWlzYWxGbGFnICE9IG51bGwgPyBlc20uZmVkRGlzc21pc2FsRmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgKSkpXSxcbiAgICAgICdmZWREaXNzbWlzYWxDaGVja0JveCc6IFtlc20uZmVkRGlzc21pc2FsQ2hlY2tCb3ggIT0gbnVsbCA/IGVzbS5mZWREaXNzbWlzYWxDaGVja0JveCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSkpKV0sXG4gICAgICAnZmVkTGFpZE9mZkZsYWcnOiBbZXNtLmZlZExhaWRPZmZGbGFnICE9IG51bGwgPyBlc20uZmVkTGFpZE9mZkZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmICgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICkpKV0sXG4gICAgICAnaXNDbG10UGFpZFdoaWxlTG93JzogW2VzbS5pc0NsbXRQYWlkV2hpbGVMb3cgIT0gbnVsbCA/IGVzbS5pc0NsbXRQYWlkV2hpbGVMb3cgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnQ1QnKSBdLFxuICAgICAgJ2hhc1Nob3J0VGVybURpc2FiaWxpdHknOiBbZXNtLmhhc1Nob3J0VGVybURpc2FiaWxpdHkgIT0gbnVsbCA/IGVzbS5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpXSxcbiAgICAgICdoYXNSZWN2UmVtdW5lcmF0aW9uJzogW2VzbS5oYXNSZWN2UmVtdW5lcmF0aW9uICE9IG51bGwgPyBlc20uaGFzUmVjdlJlbXVuZXJhdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXG4gICAgICAncmVtdW5lcmF0aW9uVHlwZXMnOiBbZXNtLnJlbXVuZXJhdGlvblR5cGVzICE9IG51bGwgPyBlc20ucmVtdW5lcmF0aW9uVHlwZXMgOiBudWxsXSxcbiAgICAgICd2YWNhdGlvbic6IFtlc20udmFjYXRpb24gIT0gbnVsbCA/IGVzbS52YWNhdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuc2Nob29sRmxhZyA9PT0nMScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpXSxcbiAgICAgIFxuICAgICAgJ2dyb3NzV2FnZXMnOiBbZXNtLmdyb3NzV2FnZXMgIT0gbnVsbCA/IGVzbS5ncm9zc1dhZ2VzIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlIHx8IHRoaXMuaXNPc2FFbXBsb3llciA9PT0nMScpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTVMnKV0sXG4gICAgICAvLydwYWlkQnknOiBbZXNtLnBhaWRCeSAhPSBudWxsID8gZXNtLnBhaWRCeSA6IG51bGwsQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdy52YWx1ZT09PSdZJykpXSxcbiAgICAgICdwYXltZW50VHlwZSc6IFtlc20ucGF5bWVudFR5cGUgIT0gbnVsbCA/IGVzbS5wYXltZW50VHlwZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXG4gICAgICAnZG9jc1JlY2VpdmVkJzogW2VzbS5kb2NzUmVjZWl2ZWQgIT0gbnVsbCA/IGVzbS5kb2NzUmVjZWl2ZWQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxuICAgICAgJ290aGVyU1NORmxhZyc6IFtlc20ub3RoZXJTU05GbGFnICE9IG51bGwgPyBlc20ub3RoZXJTU05GbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICdvdGhlclNTTic6IFtlc20ub3RoZXJTU04gIT0gbnVsbCA/IGVzbS5vdGhlclNTTiA6IG51bGwgLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMub3RoZXJTU05GbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAnb3RoZXJOYW1lRmxhZyc6IFtlc20ub3RoZXJOYW1lRmxhZyAhPSBudWxsID8gZXNtLm90aGVyTmFtZUZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxuICAgICAgJ290aGVyTmFtZSc6IFtlc20ub3RoZXJOYW1lICE9IG51bGwgPyBlc20ub3RoZXJOYW1lIDogbnVsbCAsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAvLydkb2luZ0J1c2luZXNzQXMnOiBbZXNtLmRvaW5nQnVzaW5lc3NBcyAhPSBudWxsID8gZXNtLmRvaW5nQnVzaW5lc3NBcyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nTVMnKSldLFxuICAgICAgJ3dvcmtTdGF0ZSc6IFtlc20ud29ya1N0YXRlICE9IG51bGwgPyBlc20ud29ya1N0YXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAnd29ya0NpdHknOiBbZXNtLndvcmtDaXR5ICE9IG51bGwgPyBlc20ud29ya0NpdHkgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpXSxcbiAgICAgIC8vJ251bWJlckVtcGxveWVkJzogW2VzbS5udW1iZXJFbXBsb3llZCAhPSBudWxsID8gZXNtLm51bWJlckVtcGxveWVkIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxuICAgICAgJ3dvcmtUeXBlJzogW2VzbS53b3JrVHlwZSAhPSBudWxsID8gZXNtLndvcmtUeXBlIDogbnVsbF0sXG4gICAgICAvLyAnZmVpbic6IFtlc20uZmVpbiAhPSBudWxsID8gZXNtLmZlaW4gOiBudWxsXSxcbiAgICAgLy8gJ2hpcmVkQnknOiBbZXNtLmhpcmVkQnkgIT0gbnVsbCA/IGVzbS5oaXJlZEJ5IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdNUycpKV0sXG4gICAgICAvLydidXNpbmVzc093bmVyJzogW2VzbS5idXNpbmVzc093bmVyICE9IG51bGwgPyBlc20uYnVzaW5lc3NPd25lciA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nTVMnKSldLFxuICAgICAgLy8nYnVzaW5lc3NOYXR1cmUnOiBbZXNtLmJ1c2luZXNzTmF0dXJlICE9IG51bGwgPyBlc20uYnVzaW5lc3NOYXR1cmUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICd3b3JrRmxhZyc6IFtlc20ud29ya0ZsYWcgIT0gbnVsbCA/IGVzbS53b3JrRmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKV0sXG4gICAgICAvLydxdWl0cmVhc29uJzogW2VzbS5xdWl0cmVhc29uICE9IG51bGwgPyBlc20ucXVpdHJlYXNvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZSAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdWT0xRJykpKV0sXG4gICAgICAnZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMnOiBbZXNtLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzICE9IG51bGwgPyBlc20uZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMgOiBudWxsXSxcbiAgICAgICdmaWNEZXN0aW5hdGlvbkNvZGUnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uQ29kZSAhPSBudWxsID8gZXNtLmZpY0Rlc3RpbmF0aW9uQ29kZSA6IG51bGxdLFxuICAgICAgJ2ZpY0NvZGUnOiBbZXNtLmZpY0NvZGUgIT0gbnVsbCA/IGVzbS5maWNDb2RlIDogbnVsbF0sXG4gICAgICAnZmljRGVzdGluYXRpb25OYW1lJzogW2VzbS5maWNEZXN0aW5hdGlvbk5hbWUgIT0gbnVsbCA/IGVzbS5maWNEZXN0aW5hdGlvbk5hbWUgOiBudWxsXSxcbiAgICAgICdmaWNEZXN0aW5hdGlvbklkJzogW2VzbS5maWNEZXN0aW5hdGlvbklkICE9IG51bGwgPyBlc20uZmljRGVzdGluYXRpb25JZCA6IG51bGxdLFxuICAgICAgJ3NmRWlnaHRmbGFnJzogW2VzbS5zZkVpZ2h0ZmxhZyAhPSBudWxsID8gZXNtLnNmRWlnaHRmbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZmVkV29ya0NpdHknOiBbZXNtLmZlZFdvcmtDaXR5ICE9IG51bGwgPyBlc20uZmVkV29ya0NpdHkgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdmZWRXb3JrU3RhdGUnOiBbZXNtLmZlZFdvcmtTdGF0ZSAhPSBudWxsID8gZXNtLmZlZFdvcmtTdGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2ZlZFdvcmtDb3VudHJ5JzogW2VzbS5mZWRXb3JrQ291bnRyeSAhPSBudWxsID8gZXNtLmZlZFdvcmtDb3VudHJ5IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnc3RhcnREYXRlRmVkJzogW2VzbS5zdGFydERhdGVGZWQgIT0gbnVsbCA/IGVzbS5zdGFydERhdGVGZWQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdlbmREYXRlRmVkJzogW2VzbS5lbmREYXRlRmVkICE9IG51bGwgPyBlc20uZW5kRGF0ZUZlZCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2ZlZEpvYlRpbGVPclBvc2l0aW9uJzogW2VzbS5mZWRKb2JUaWxlT3JQb3NpdGlvbiAhPSBudWxsID8gZXNtLmZlZEpvYlRpbGVPclBvc2l0aW9uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAvLydjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInOiBbZXNtLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wciAhPSBudWxsID8gZXNtLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wciA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ3BlcmZvcm1lZFNlcnZpY2UnOiBbZXNtLnBlcmZvcm1lZFNlcnZpY2UgIT0gbnVsbCA/IGVzbS5wZXJmb3JtZWRTZXJ2aWNlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZmVkUGVuc2lvbkZsYWcnOiBbZXNtLmZlZFBlbnNpb25GbGFnICE9IG51bGwgPyBlc20uZmVkUGVuc2lvbkZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdmZWRQZW5zaW9uUmVjdkRhdGUnOltlc20uZmVkUGVuc2lvblJlY3ZEYXRlICE9IG51bGwgPyBlc20uZmVkUGVuc2lvblJlY3ZEYXRlOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScpKV0sXG4gICAgICAnc2V2UGF5RmxhZyc6IFtlc20uc2V2UGF5RmxhZyAhPSBudWxsID8gZXNtLnNldlBheUZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJykpXSxcbiAgICAgICd3ZWVrbHlBbW91bnQnOiBbZXNtLnNldlBheUZsYWcgIT0gbnVsbCA/IGVzbS53ZWVrbHlBbW91bnQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcbiAgICAgICdudW1iZXJPZldlZWtzJzogW2VzbS5zZXZQYXlGbGFnICE9IG51bGwgPyBlc20ubnVtYmVyT2ZXZWVrcyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ3NldlBheUFtb3VudCc6IFtlc20uc2V2UGF5RmxhZyAhPSBudWxsID8gZXNtLnNldlBheUFtb3VudCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ3NldlBheVN0YXJ0RGF0ZSc6IFtlc20uc2V2UGF5U3RhcnREYXRlICE9IG51bGwgPyBlc20uc2V2UGF5U3RhcnREYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAnc2V2UGF5RW5kRGF0ZSc6IFtlc20uc2V2UGF5RW5kRGF0ZSAhPSBudWxsID8gZXNtLnNldlBheUVuZERhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcbiAgICAgICdzZXZQYXlQYXltZW50U3RhcnREYXRlJzogW2VzbS5zZXZQYXlQYXltZW50U3RhcnREYXRlICE9IG51bGwgPyBlc20uc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ3JlZ0VtcGxveWVyRm91bmQnOiBbZXNtLnJlZ0VtcGxveWVyRm91bmQgIT0gbnVsbCA/IGVzbS5yZWdFbXBsb3llckZvdW5kIDogbnVsbF0sXG4gICAgICAnZW1wbG95ZXJJZCc6IFtlc20uZW1wbG95ZXJJZCAhPSBudWxsID8gZXNtLmVtcGxveWVySWQgOiBudWxsXSxcbiAgICAgICdzZXJ2aWNlQnJhbmNoJzogW2VzbS5zZXJ2aWNlQnJhbmNoICE9IG51bGwgPyBlc20uc2VydmljZUJyYW5jaCA6IG51bGxdLFxuICAgICAgJ3N0YXJ0RGF0ZU1pbCc6IFtlc20uc3RhcnREYXRlTWlsICE9IG51bGwgPyBlc20uc3RhcnREYXRlTWlsIDogbnVsbF0sXG4gICAgICAnZW5kRGF0ZU1pbCc6IFtlc20uZW5kRGF0ZU1pbCAhPSBudWxsID8gZXNtLmVuZERhdGVNaWwgOiBudWxsXSxcbiAgICAgICdkZDIxNEZsYWcnOiBbZXNtLmRkMjE0RmxhZyAhPSBudWxsID8gZXNtLmRkMjE0RmxhZyA6IG51bGxdLFxuICAgICAgJ2xhc3RQYXlHcmFkZSc6IFtlc20ubGFzdFBheUdyYWRlICE9IG51bGwgPyBlc20ubGFzdFBheUdyYWRlIDogbnVsbF0sXG4gICAgICAnbGFzdGR1dHknOiBbZXNtLmxhc3RkdXR5ICE9IG51bGwgPyBlc20ubGFzdGR1dHkgOiBudWxsXSxcbiAgICAgICdwbGFjZVNlcGFyYXRlZCc6IFtlc20ucGxhY2VTZXBhcmF0ZWQgIT0gbnVsbCA/IGVzbS5wbGFjZVNlcGFyYXRlZCA6IG51bGxdLFxuICAgICAgJ25vTGVhdmVEYXlzJzogW2VzbS5ub0xlYXZlRGF5cyAhPSBudWxsID8gZXNtLm5vTGVhdmVEYXlzIDogbnVsbF0sXG4gICAgICAnY29tcGxldGVkRnVsbFRlcm1GbGFnJzogW2VzbS5jb21wbGV0ZWRGdWxsVGVybUZsYWcgIT0gbnVsbCA/IGVzbS5jb21wbGV0ZWRGdWxsVGVybUZsYWcgOiBudWxsXSxcbiAgICAgICdyZXNlcnZlT3JHdWFyZEZsYWcnOiBbZXNtLnJlc2VydmVPckd1YXJkRmxhZyAhPSBudWxsID8gZXNtLnJlc2VydmVPckd1YXJkRmxhZyA6IG51bGxdLFxuICAgICAgJ21pbFBlbnNpb25GbGFnJzogW2VzbS5taWxQZW5zaW9uRmxhZyAhPSBudWxsID8gZXNtLm1pbFBlbnNpb25GbGFnIDogbnVsbF0sXG4gICAgICAnbWlsUGVuc2lvblJlY3ZEYXRlJzpbZXNtLm1pbFBlbnNpb25SZWN2RGF0ZSAhPSBudWxsID8gZXNtLm1pbFBlbnNpb25SZWN2RGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdNSUwnICYmIHRoaXMubWlsUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKSldLFxuICAgICAgJ2FkZHJlc3NMaW5lMSc6IFtlc20uYWRkcmVzc0xpbmUxICE9IG51bGwgPyBlc20uYWRkcmVzc0xpbmUxIDogbnVsbF0sXG4gICAgICAnYWRkcmVzc0xpbmUyJzogW2VzbS5hZGRyZXNzTGluZTIgIT0gbnVsbCA/IGVzbS5hZGRyZXNzTGluZTIgOiBudWxsXSxcbiAgICAgICdhZGRyZXNzTGluZTMnOiBbZXNtLmFkZHJlc3NMaW5lMyAhPSBudWxsID8gZXNtLmFkZHJlc3NMaW5lMyA6IG51bGxdLFxuICAgICAgJ3Jlc2VydmVCcmFuY2gnOltlc20ucmVzZXJ2ZUJyYW5jaCAhPSBudWxsID8gZXNtLnJlc2VydmVCcmFuY2ggOiBudWxsXSxcbiAgICAgICdzdGFydERhdGVSZXNlcnZlJzpbZXNtLnN0YXJ0RGF0ZVJlc2VydmUgIT0gbnVsbCA/IGVzbS5zdGFydERhdGVSZXNlcnZlIDogbnVsbF0sXG4gICAgICAnZW5kRGF0ZVJlc2VydmUnOltlc20uZW5kRGF0ZVJlc2VydmUgIT0gbnVsbCA/IGVzbS5lbmREYXRlUmVzZXJ2ZSA6IG51bGxdLFxuICAgICAgJ2RkMjE0RmlsZSc6W2VzbS5kZDIxNEZpbGUgIT0gbnVsbCA/IGVzbS5kZDIxNEZpbGUgOiBudWxsXSxcbiAgICAgICdhZGRyZXNzJzpbZXNtLmFkZHJlc3MgIT0gbnVsbCA/IGVzbS5hZGRyZXNzIDogbnVsbF0sXG4gICAgICB3YWdlQW1vdW50QXJyYXk6IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10pLFxuICAgICAgdGVzdEVtcCA6IFtlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzICYmIGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZSAhPSBudWxsID8gZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlIDogbnVsbF0sXG4gICAgICAnb3NhQnBFbXBsb3llckZsYWcnOltlc20ub3NhQnBFbXBsb3llckZsYWcgIT1udWxsID8gZXNtLm9zYUJwRW1wbG95ZXJGbGFnIDogXCIwXCJdLFxuICAgICAgJ2Rpc3BsYXlTZWFzb25hbEVtcCc6W2VzbS5kaXNwbGF5U2Vhc29uYWxFbXAgIT0gbnVsbCA/IGVzbS5kaXNwbGF5U2Vhc29uYWxFbXAgOiB0cnVlXVxuICAgIH0pO1xuXG4gICAgaWYoZXNtLmFkZHJlc3M/LnN0YXRlPy52YWx1ZSA9PT0gbnVsbCAmJiBlc20uYWRkcmVzcz8uc3RhdGU/LnRleHQgPT09IG51bGwpe1xuICAgICAgZXNtLmFkZHJlc3Muc3RhdGUgPSBudWxsO1xuICAgIH1cbiAgICBpZihlc20uYWRkcmVzcz8uY291bnRyeT8udmFsdWUgPT09IG51bGwgJiYgZXNtLmFkZHJlc3M/LmNvdW50cnk/LnRleHQgPT09IG51bGwpe1xuICAgICAgZXNtLmFkZHJlc3MuY291bnRyeSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT0gJ01TJyl7XG4gICAgICB0aGlzLmVtcGxveWVyVHlwZS5zZXRWYWx1ZSh0aGlzLmVtcGxveWVyVHlwZVByZVNldCk7XG4gICAgfVxuICAgIHRoaXMuc2V0UmVxdWlyZWRWYWxpZGF0aW9uKCk7IFxuICAgIFxuICAgIHRoaXMucmVhc29uU2VwYXJhdGlvblZhbHVlID0gZXNtLnJlYXNvblNlcGFyYXRpb24/LnZhbHVlO1xuICAgIGxldCBlbXBTdGF0ID0gdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5maWx0ZXIoc3RhdCA9PiBzdGF0LnZhbHVlID09IGVzbS5yZWFzb25TZXBhcmF0aW9uPy52YWx1ZSlbMF07XG4gICAgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnNldFZhbHVlKGVtcFN0YXQpO1xuXG4gICAgaWYoIXRoaXMucGF5UmF0ZUZyZXF1ZW5jeS52YWx1ZSl7ICAgICAgXG4gICAgICBpZih0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyl7XG4gICAgICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5zZXRWYWx1ZSh0aGlzLnBheVJhdGVPcHRpb25zLmZpbHRlcihwID0+IHAudGV4dD09J0hvdXInKVswXSk7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnBhdGNoVmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnRleHQ9PSdob3VyJylbMF0pO1xuICAgICAgfVxuICAgIH1lbHNle1xuICAgICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcpe1xuICAgICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnZhbHVlPT1lc20ucGF5UmF0ZUZyZXF1ZW5jeT8udmFsdWUpWzBdKTtcbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kucGF0Y2hWYWx1ZSh0aGlzLnBheVJhdGVPcHRpb25zLmZpbHRlcihwID0+IHAudmFsdWU9PWVzbS5wYXlSYXRlRnJlcXVlbmN5Py52YWx1ZSlbMF0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UpIHtcbiAgICAgIGlmIChxdHJXYWdlTGlzdCkge1xuICAgICAgICBjb25zdCBzb3J0ZWRRdWFydGVyID0gcXRyV2FnZUxpc3Quc29ydCgoYSwgYikgPT4gYS5kaXNwbGF5T3JkZXIgLSBiLmRpc3BsYXlPcmRlcik7XG4gICAgICAgIGZvciAodmFyIHF0cldhZ2Ugb2Ygc29ydGVkUXVhcnRlcikge1xuICAgICAgICAgIHRoaXMud2FnZUFtb3VudEFycmF5LnB1c2godGhpcy53YWdlQXJyYXkocXRyV2FnZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZih0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlIHx8ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PSAnRkVEJyAmJiB0aGlzLmlzTmV3Q2xhaW0pKSB7XG4gICAgICAgIHRoaXMuc2V0V2FnZVZhbGlkYXRpb24oKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gIH1cbiAgc2V0V29ya1N0YXJ0RGF0ZSgpIHtcbiAgICBsZXQgZGF0YSA9IHRoaXMuYXIuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2RhdGEnKTtcbiAgICBpZihkYXRhKXtcbiAgICAgIGxldCBwYXJzZWREYXRhIDogS2V5VmFsdWVNb2RlbFtdID0gSlNPTi5wYXJzZShhdG9iKGRhdGEpKTtcbiAgICAgIGlmKEFycmF5LmlzQXJyYXkocGFyc2VkRGF0YSkpe1xuICAgICAgICBsZXQgbGFzdEN3ZSA9IHBhcnNlZERhdGEuZmlsdGVyKGsgPT4gay5rZXkgPT0gJ2xhc3RDd2VEYXRlJyk7XG4gICAgICAgIGlmKGxhc3RDd2UubGVuZ3RoID4gMCAmJiBsYXN0Q3dlWzBdLmtleSA9PSAnbGFzdEN3ZURhdGUnICYmICF0aGlzLmlzTmV3Q2xhaW0pe1xuICAgICAgICAgIHRoaXMubWluV29ya1N0YXJ0RGF0ZSA9IG5ldyBEYXRlKGxhc3RDd2VbMF0udmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0UmVhc29uU2VwZXJhdGlvbkJhc2VkT25Db25kaXRpb24oc2Nob29sRmxhZzogc3RyaW5nID0gXCIwXCIsIHNwb3J0c0ZsYWc6IHN0cmluZyA9IFwiMFwiLCBjbGFpbVR5cGVEdWEgPSBcIjBcIiwgc3NuVmFsaWRXb3JrU2hhcmUgPSBcIjBcIikge1xuICAgIGxldCBtb2RlbCA9IG5ldyBSZWFzb25TZXBhcmF0aW9uUmVxdWVzdE1vZGVsKCk7XG4gICAgbW9kZWwuc2Nob29sRmxhZyA9IHNjaG9vbEZsYWc7XG4gICAgbW9kZWwuc3BvcnRzRmxhZyA9IHNwb3J0c0ZsYWc7XG4gICAgbW9kZWwuY2xhaW1UeXBlRHVhID0gY2xhaW1UeXBlRHVhO1xuICAgIG1vZGVsLnNzblZhbGlkV29ya1NoYXJlID0gc3NuVmFsaWRXb3JrU2hhcmU7XG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmNsZWFyRmlsdGVyZWRSZWFzb25TZXBhcmF0aW9uKCk7XG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmxvYWRGaWx0ZXJlZFJlYXNvblNlcGFyYXRpb24obW9kZWwpO1xuICB9XG5cbiAgbG9hZE1hc3RlckRhdGEoKSB7XG5cbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0RmlsdGVyZWRSZWFzb25TZXBhcmF0aW9uKCkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLmxlbmd0aCA9IDA7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+IHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwucHVzaChhcnIpKTtcbiAgICAgICAgaWYgKHRoaXMucmVhc29uU2VwYXJhdGlvblZhbHVlKSB7XG4gICAgICAgICAgbGV0IGVtcFN0YXQgPSB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLmZpbHRlcihzdGF0ID0+IHN0YXQudmFsdWUgPT0gdGhpcy5yZWFzb25TZXBhcmF0aW9uVmFsdWUpWzBdO1xuICAgICAgICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi5zZXRWYWx1ZShlbXBTdGF0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0RGlzY2hhcmdlUmVhc29ucygpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0UXVpdFJlYXNvbnMoKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIGlmKHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnMhPSBudWxsKVxuICAgICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHdhZ2VBcnJheShxdHJXYWdlOlF0clllYXJFbXBsb3llcldhZ2VNb2RlbCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHdhZ2VBbW91bnQ6IFtxdHJXYWdlLndhZ2VBbW91bnQhPW51bGw/cXRyV2FnZS53YWdlQW1vdW50Om51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSB8fCAodGhpcy5lbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBxdHJXYWdlLmRpc3BsYXlGb3JBbGwgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT10aGlzLmN1cnJlbnRTdGF0ZSkgKSkpXSxcbiAgICAgIHF1YXJ0ZXI6IFtxdHJXYWdlLnF1YXJ0ZXIhPW51bGw/cXRyV2FnZS5xdWFydGVyOm51bGxdLFxuICAgICAgeWVhcjogW3F0cldhZ2UueWVhciE9bnVsbD9xdHJXYWdlLnllYXI6bnVsbF0sXG4gICAgICBxdHJZZWFyRGlzcGxheVN0cmluZzogW3F0cldhZ2UucXRyWWVhckRpc3BsYXlTdHJpbmchPW51bGw/cXRyV2FnZS5xdHJZZWFyRGlzcGxheVN0cmluZzpudWxsXSxcbiAgICAgIGRpc3BsYXlPcmRlcjogW3F0cldhZ2UuZGlzcGxheU9yZGVyIT1udWxsP3F0cldhZ2UuZGlzcGxheU9yZGVyOm51bGxdLFxuICAgICAgZGlzcGxheUZvckFsbDogW3F0cldhZ2UuZGlzcGxheUZvckFsbCE9bnVsbD9xdHJXYWdlLmRpc3BsYXlGb3JBbGw6bnVsbF0sXG4gICAgfSlcbiB9XG5cbiAgZ2V0IHdhZ2VBbW91bnRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbXCJ3YWdlQW1vdW50QXJyYXlcIl0gYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCB0ZXN0RW1wKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzW1widGVzdEVtcFwiXSA7XG4gIH1cbiAgc2V0UmVxdWlyZWRWYWxpZGF0aW9uKCkge1xuICAgIHRoaXMuc2V2UGF5RmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWw9PT0nWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKXtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25TZXJ2RmllbGRzKCk7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25TZXJ2RmllbGRzKCk7XG4gICAgICB9XG4gICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy53b3JrU3RhdGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsICYmIHZhbC52YWx1ZT09PXRoaXMuY3VycmVudFN0YXRlICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpe1xuICAgICAgICB0aGlzLnNldFZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKTtcbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZmVkV29ya0NvdW50cnkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYgKHZhbCAmJiB2YWwudmFsdWUgPT09ICdVUycgfHwgdmFsICYmIHZhbC52YWx1ZSA9PT0gJ0NBJyApIHtcbiAgICAgICAgdGhpcy5zaG93V29ya1N0YXRlID0gdHJ1ZTsgXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFdvcmtTdGF0ZSk7XG4gICAgICAgICAgXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNob3dXb3JrU3RhdGUgPSBmYWxzZTsgXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgICB0aGlzLmZlZFdvcmtTdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICAgIGlmKHZhbCAmJiB2YWwudmFsdWUgPT09ICdVUycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgICB0aGlzLmZlZFdvcmtTdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZW5kRGF0ZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlICh2YWwgPT4ge1xuICAgICAgaWYodGhpcy53b3JrU3RhdGUudmFsdWU/LnZhbHVlID09IHRoaXMuY3VycmVudFN0YXRlICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsKSB7XG4gICAgICAgIGlmKHZhbC52YWx1ZSA9PT0gJ0RDRkknKXtcbiAgICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5kaXNjaGFyZ2VEZXRhaWwpO1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy52b2xRdWl0RGV0YWlscyk7XG4gICAgICAgICAgdGhpcy52b2xRdWl0RGV0YWlscy5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIGlmKHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ1ZPTFEnKXtcbiAgICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy52b2xRdWl0RGV0YWlscyk7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmRpc2NoYXJnZURldGFpbCk7XG4gICAgICAgICAgdGhpcy5kaXNjaGFyZ2VEZXRhaWwuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZiAoKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykgJiYgKHZhbC52YWx1ZSA9PT0gJ1dSUFQnIHx8IHZhbC52YWx1ZSA9PT0gJ0VXRlQnKSkge1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbmREYXRlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICgodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSAmJiAodmFsLnZhbHVlID09PSAnV1JQVCcgfHwgdmFsLnZhbHVlID09PSAnRVdGVCcpKSB7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGVGZWQpO1xuICAgICAgICB9IFxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZGlzY2hhcmdlRGV0YWlsKTtcbiAgICAgICAgICB0aGlzLmRpc2NoYXJnZURldGFpbC5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudm9sUXVpdERldGFpbHMpO1xuICAgICAgICAgIHRoaXMudm9sUXVpdERldGFpbHMuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMucGVuc2lvbkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5wZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMucGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZmVkUGVuc2lvbkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJyApe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRQZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMucmVnUGVuc2lvbkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy5yZWdQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMubWlsUGVuc2lvbkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnTUlMJyAmJiB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJyApe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5taWxQZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaGFzUmVjdlJlbXVuZXJhdGlvbi52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWw9PT0nWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMuaGFzUmVjdlJlbXVuZXJhdGlvbi52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnICYmIHRoaXMuaXNPc2FFbXBsb3llciA9PT0gJzAnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVtdW5lcmF0aW9uVHlwZXMpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMucmVtdW5lcmF0aW9uVHlwZXMuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZW11bmVyYXRpb25UeXBlcyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlcGFyYXRpb25EYXRlRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWw9PT0nWScgJiYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyB8fCB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpIFxuICAgICAgICAmJiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlPT09J1knIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKVxuICAgICAgICAmJiB0aGlzLnNlcGFyYXRpb25EYXRlRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlID09ICdDVCcpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXBhcmF0aW9uRGF0ZSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXBhcmF0aW9uRGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNlcGFyYXRpb25EYXRlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnJlZ0Rpc3NtaXNhbEZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy5yZWdEaXNzbWlzYWxGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ0NUJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlZ0Rpc3NtaXNhbENoZWNrQm94KTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnJlZ0Rpc3NtaXNhbENoZWNrQm94LnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVnRGlzc21pc2FsQ2hlY2tCb3gpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmVkRGlzc21pc2FsRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWw9PT0nWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiB0aGlzLmZlZERpc3NtaXNhbEZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnQ1QnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkRGlzc21pc2FsQ2hlY2tCb3gpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgICB0aGlzLmZlZERpc3NtaXNhbENoZWNrQm94LnNldFZhbHVlKG51bGwpO1xuICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZERpc3NtaXNhbENoZWNrQm94KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmICh2YWwgPT09ICdGRUQnKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uUmVndWxhckZpZWxkcygpXG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uTWlsaXRhcnlGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25GZWRlcmFsRmllbGRzKCk7XG4gICAgICB9XG4gICAgICBpZiAodmFsID09PSAnUkVHJykge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PbkZlZGVyYWxGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25NaWxpdGFyeUZpZWxkcygpO1xuICAgICAgICB0aGlzLnNldFZhbGlkYXRpb25PblJlZ3VsYXJGaWVsZHMoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbCA9PT0gJ01JTCcpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25GZWRlcmFsRmllbGRzKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uUmVndWxhckZpZWxkcygpO1xuICAgICAgICB0aGlzLnNldFZhbGlkYXRpb25Pbk1pbGl0YXJ5RmllbGRzKCk7XG4gICAgICB9XG5cbiAgICB9KTtcblxuICAgIHRoaXMub3RoZXJTU05GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbCAmJiB2YWwgPT0gJ1knKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMub3RoZXJTU04pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyU1NOKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMub3RoZXJOYW1lRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWwgJiYgdmFsID09ICdZJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm90aGVyTmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJOYW1lKTtcbiAgICAgIH1cbiAgICB9KSAgICBcbiAgfVxuXG4gIHNldFZhbGlkYXRpb25PblNlcnZGaWVsZHMoKXtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53ZWVrbHlBbW91bnQpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm51bWJlck9mV2Vla3MpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNldlBheUFtb3VudCk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2V2UGF5U3RhcnREYXRlKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXZQYXlFbmREYXRlKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXZQYXlQYXltZW50U3RhcnREYXRlKTtcbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRpb25PblNlcnZGaWVsZHMoKSB7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndlZWtseUFtb3VudCk7XG4gICAgdGhpcy53ZWVrbHlBbW91bnQuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5udW1iZXJPZldlZWtzKTtcbiAgICB0aGlzLm51bWJlck9mV2Vla3Muc2V0VmFsdWUoJycpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZXZQYXlBbW91bnQpO1xuICAgIHRoaXMuc2V2UGF5QW1vdW50LnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2V2UGF5U3RhcnREYXRlKTtcbiAgICB0aGlzLnNldlBheVN0YXJ0RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2V2UGF5RW5kRGF0ZSk7XG4gICAgdGhpcy5zZXZQYXlFbmREYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZXZQYXlQYXltZW50U3RhcnREYXRlKTtcbiAgICB0aGlzLnNldlBheVBheW1lbnRTdGFydERhdGUuc2V0VmFsdWUobnVsbCk7XG4gIH1cblxuICBzZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBheW1lbnRUeXBlKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53b3JrVHlwZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZG9jc1JlY2VpdmVkKTtcbiAgIC8vIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmRvaW5nQnVzaW5lc3NBcyk7XG4gICAvLyB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5oaXJlZEJ5KTtcbiAgICAvL3RoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmJ1c2luZXNzTmF0dXJlKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5vdGhlck5hbWVGbGFnKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5vdGhlclNTTkZsYWcpO1xuICAgIHRoaXMuc2V0V2FnZVZhbGlkYXRpb24oKTtcbiAgfVxuXG4gIHNldFdhZ2VWYWxpZGF0aW9uKCkge1xuICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMud2FnZUFtb3VudEFycmF5LCBBcHBWYWxpZGF0b3JzLmF0TGVhc3RPbmVOb25aZXJvVmFsdWVWYWxpZGF0b3IoMSwgJ3dhZ2VBbW91bnQnKSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NldHRpbmcgdmFsaWRhdGlvbiBmb3IgZmVkIGVtcGxveWVyJyk7XG4gIH1cblxuICByZW1vdmVXYWdlVmFsaWRhdGlvbigpIHtcbiAgICBpZih0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSAhPSAnRkVEJyl7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud2FnZUFtb3VudEFycmF5KTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZW1vdmluZyB2YWxpZGF0aW9uIGZvciBmZWQgZW1wbG95ZXInKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXltZW50VHlwZSk7XG4gICAgdGhpcy5wYXltZW50VHlwZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZG9jc1JlY2VpdmVkKTtcbiAgICB0aGlzLmRvY3NSZWNlaXZlZC5zZXRWYWx1ZShudWxsKTtcbiAgIC8vIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kb2luZ0J1c2luZXNzQXMpO1xuICAgLy8gdGhpcy5kb2luZ0J1c2luZXNzQXMuc2V0VmFsdWUobnVsbCk7XG4gICAvLyB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaGlyZWRCeSk7XG4gICAvLyB0aGlzLmhpcmVkQnkuc2V0VmFsdWUobnVsbCk7XG4gICAgLy90aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuYnVzaW5lc3NOYXR1cmUpO1xuICAgIC8vdGhpcy5idXNpbmVzc05hdHVyZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJOYW1lRmxhZyk7XG4gICAgdGhpcy5vdGhlck5hbWVGbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdGhlclNTTkZsYWcpO1xuICAgIHRoaXMub3RoZXJTU05GbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdGhlck5hbWUpO1xuICAgIHRoaXMub3RoZXJOYW1lLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdGhlclNTTik7XG4gICAgdGhpcy5vdGhlclNTTi5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnJlbW92ZVdhZ2VWYWxpZGF0aW9uKCk7XG4gIH1cblxuICBzZXRWYWxpZGF0aW9uT25SZWd1bGFyRmllbGRzKCkge1xuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZScsIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUsICcgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcicsIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpO1xuXG4gICAgaWYoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKXtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgIH1cblxuICAgIGlmICgoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBheVJhdGVGcmVxdWVuY3kpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGF5UmF0ZSk7ICAgICAgXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5qb2JUaWxlT3JQb3NpdGlvbik7ICAgICAgXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyTmFtZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERhdGUpO1xuICAgICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy52YWNhdGlvbik7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmhhc1Nob3J0VGVybURpc2FiaWxpdHkpO1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5oYXNSZWN2UmVtdW5lcmF0aW9uKTtcbiAgICAgIH1cbiAgICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaHJzV2Vlayk7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNoaWZ0KTsgIFxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53b3JrV2Vlayk7IFxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5kaWRXb3JrKTsgICAgXG4gICAgICAgIGlmKHRoaXMuc2VwYXJhdGlvbkRhdGVGbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNlcGFyYXRpb25EYXRlKTtcbiAgICAgICAgfSAgXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlZ0Rpc3NtaXNhbEZsYWcpO1xuICAgICAgICBpZih0aGlzLnJlZ0Rpc3NtaXNhbEZsYWcudmFsdWUgPT09ICdZJyl7XG4gICAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVnRGlzc21pc2FsQ2hlY2tCb3gpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlZ0xhaWRPZmZGbGFnKTtcbiAgICAgIH1cbiAgICAgIGlmKHRoaXMuY3VycmVudFN0YXRlICE9ICdDVCcpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKXtcbiAgICAgIGlmKHRoaXMucGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMud29ya1N0YXRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLndvcmtDaXR5KTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlZ1BlbnNpb25GbGFnKTtcbiAgICAgIGlmKHRoaXMucmVnUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdGlvbk9uUmVndWxhckZpZWxkcygpIHtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGVuc2lvbkZsYWcpO1xuICAgIHRoaXMucGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBlbnNpb25SZWN2RGF0ZSk7XG4gICAgdGhpcy5wZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBheVJhdGVGcmVxdWVuY3kpO1xuICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5zZXRWYWx1ZSh0aGlzLnBheVJhdGVPcHRpb25zLmZpbHRlcihwID0+IHAudGV4dD09J2hvdXInKVswXSk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBheVJhdGUpO1xuICAgIHRoaXMucGF5UmF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuam9iVGlsZU9yUG9zaXRpb24pO1xuICAgIHRoaXMuam9iVGlsZU9yUG9zaXRpb24uc2V0VmFsdWUobnVsbCk7ICAgIFxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbmREYXRlKTtcbiAgICB0aGlzLmVuZERhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyKTtcbiAgICB0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llck5hbWUpO1xuICAgIHRoaXMuZW1wbG95ZXJOYW1lLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERhdGUpO1xuICAgIHRoaXMuc3RhcnREYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53b3JrU3RhdGUpO1xuICAgIHRoaXMud29ya1N0YXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53b3JrQ2l0eSk7XG4gICAgdGhpcy53b3JrQ2l0eS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVnUGVuc2lvbkZsYWcpO1xuICAgIHRoaXMucmVnUGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XG5cdCAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZSk7XG4gICAgdGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyTmFtZSk7XG4gICAgdGhpcy5vdGhlck5hbWUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyTmFtZUZsYWcpO1xuICAgIHRoaXMub3RoZXJOYW1lRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJTU04pO1xuICAgIHRoaXMub3RoZXJTU04uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyU1NORmxhZyk7XG4gICAgdGhpcy5vdGhlclNTTkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpe1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnZhY2F0aW9uKTtcbiAgICAgIHRoaXMudmFjYXRpb24uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSk7XG4gICAgICB0aGlzLmhhc1Nob3J0VGVybURpc2FiaWxpdHkuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaGFzUmVjdlJlbXVuZXJhdGlvbik7XG4gICAgICB0aGlzLmhhc1JlY3ZSZW11bmVyYXRpb24uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVtdW5lcmF0aW9uVHlwZXMpO1xuICAgICAgdGhpcy5yZW11bmVyYXRpb25UeXBlcy5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcpe1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmhyc1dlZWspO1xuICAgICAgdGhpcy5ocnNXZWVrLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNoaWZ0KTtcbiAgICAgIHRoaXMuc2hpZnQuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud29ya1dlZWspO1xuICAgICAgdGhpcy53b3JrV2Vlay5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kaWRXb3JrKTtcbiAgICAgIHRoaXMuZGlkV29yay5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5zZXRWYWx1ZSh0aGlzLnBheVJhdGVPcHRpb25zLmZpbHRlcihwID0+IHAudGV4dD09J0hvdXInKVswXSk7XG4gICAgICB0aGlzLnNlcGFyYXRpb25EYXRlRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZWdEaXNzbWlzYWxGbGFnKTtcbiAgICAgIHRoaXMucmVnRGlzc21pc2FsRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZWdEaXNzbWlzYWxDaGVja0JveCk7XG4gICAgICB0aGlzLnJlZ0Rpc3NtaXNhbENoZWNrQm94LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlZ0xhaWRPZmZGbGFnKTtcbiAgICAgIHRoaXMucmVnTGFpZE9mZkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2VwYXJhdGlvbkRhdGUpO1xuICAgICAgdGhpcy5zZXBhcmF0aW9uRGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgIT0gJ0NUJyl7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaXNDbG10UGFpZFdoaWxlTG93KTtcbiAgICAgIHRoaXMuaXNDbG10UGFpZFdoaWxlTG93LnNldFZhbHVlKG51bGwpO1xuICAgIH1cblxuICB9XG5cbiAgc2V0VmFsaWRhdGlvbk9uRmVkZXJhbEZpZWxkcygpIHtcbiAgIC8vIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wcik7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVhc29uU2VwYXJhdGlvbik7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW5kRGF0ZUZlZCk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkRW1wbG95ZXJOYW1lKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRKb2JUaWxlT3JQb3NpdGlvbik7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkUGVuc2lvbkZsYWcpO1xuICAgIGlmKHRoaXMuZmVkUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyl7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRQZW5zaW9uUmVjdkRhdGUpO1xuICAgIH1cbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrQ2l0eSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkV29ya0NvdW50cnkpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFdvcmtTdGF0ZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGVyZm9ybWVkU2VydmljZSk7XG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNldlBheUZsYWcpO1xuICAgIH1cbiAgICBpZih0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyl7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5ocnNXZWVrKTsgICBcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNoaWZ0KTsgIFxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMud29ya1dlZWspOyAgXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5kaWRXb3JrKTsgIFxuICAgICAgaWYodGhpcy5zZXBhcmF0aW9uRGF0ZUZsYWcudmFsdWUgPT09ICdZJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNlcGFyYXRpb25EYXRlKTtcbiAgICAgIH0gIFxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkRGlzc21pc2FsRmxhZyk7XG4gICAgICAgIGlmKHRoaXMuZmVkRGlzc21pc2FsRmxhZy52YWx1ZSA9PT0gJ1knKXtcbiAgICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWREaXNzbWlzYWxDaGVja0JveCk7XG4gICAgICAgIH0gXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRMYWlkT2ZmRmxhZyk7XG4gICAgfVxuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNmRWlnaHRmbGFnKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERhdGVGZWQpO1xuICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMuZmVkRW1wbG95ZXJOYW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuXG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGF5UmF0ZUZyZXF1ZW5jeSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGF5UmF0ZSk7XG4gICAgaWYodGhpcy5pc05ld0NsYWltKXtcbiAgICAgIHRoaXMuc2V0V2FnZVZhbGlkYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVWYWxpZGF0aW9uT25GZWRlcmFsRmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERhdGVGZWQpO1xuICAgIHRoaXMuc3RhcnREYXRlRmVkLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZkVpZ2h0ZmxhZyk7XG4gICAgdGhpcy5zZkVpZ2h0ZmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2V2UGF5RmxhZyk7XG4gICAgdGhpcy5zZXZQYXlGbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wZXJmb3JtZWRTZXJ2aWNlKTtcbiAgICB0aGlzLnBlcmZvcm1lZFNlcnZpY2Uuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZFdvcmtTdGF0ZSk7XG4gICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZFdvcmtDb3VudHJ5KTtcbiAgICB0aGlzLmZlZFdvcmtDb3VudHJ5LnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrQ2l0eSk7XG4gICAgdGhpcy5mZWRXb3JrQ2l0eS5zZXRWYWx1ZShudWxsKTtcblxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRQZW5zaW9uRmxhZyk7XG4gICAgdGhpcy5mZWRQZW5zaW9uRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlKTtcbiAgICB0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcblxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRKb2JUaWxlT3JQb3NpdGlvbik7XG4gICAgdGhpcy5mZWRKb2JUaWxlT3JQb3NpdGlvbi5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkRW1wbG95ZXJOYW1lKTtcbiAgICB0aGlzLmZlZEVtcGxveWVyTmFtZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW5kRGF0ZUZlZCk7XG4gICAgdGhpcy5lbmREYXRlRmVkLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMucmVtb3ZlV2FnZVZhbGlkYXRpb24oKTtcblxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXlSYXRlKTtcbiAgICB0aGlzLnBheVJhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgXG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBheVJhdGVGcmVxdWVuY3kpO1xuICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5zZXRWYWx1ZSh0aGlzLnBheVJhdGVPcHRpb25zLmZpbHRlcihwID0+IHAudGV4dD09J2hvdXInKVswXSk7XG4gICAvLyB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByKTtcbiAgICAvL3RoaXMuY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByLnNldFZhbHVlKG51bGwpXG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcpe1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmhyc1dlZWspO1xuICAgICAgdGhpcy5ocnNXZWVrLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNoaWZ0KTtcbiAgICAgIHRoaXMuc2hpZnQuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud29ya1dlZWspO1xuICAgICAgdGhpcy53b3JrV2Vlay5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kaWRXb3JrKTtcbiAgICAgIHRoaXMuZGlkV29yay5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5zZXRWYWx1ZSh0aGlzLnBheVJhdGVPcHRpb25zLmZpbHRlcihwID0+IHAudGV4dD09J0hvdXInKVswXSk7XG4gICAgICB0aGlzLnNlcGFyYXRpb25EYXRlRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZXBhcmF0aW9uRGF0ZSk7XG4gICAgICB0aGlzLnNlcGFyYXRpb25EYXRlLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZERpc3NtaXNhbEZsYWcpO1xuICAgICAgdGhpcy5mZWREaXNzbWlzYWxGbGFnLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZERpc3NtaXNhbENoZWNrQm94KTtcbiAgICAgIHRoaXMuZmVkRGlzc21pc2FsQ2hlY2tCb3guc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkTGFpZE9mZkZsYWcpO1xuICAgICAgdGhpcy5mZWRMYWlkT2ZmRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZXRWYWxpZGF0aW9uT25NaWxpdGFyeUZpZWxkcygpIHtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXJ2aWNlQnJhbmNoKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERhdGVNaWwpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVuZERhdGVNaWwpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmRkMjE0RmxhZyk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubWlsUGVuc2lvbkZsYWcpO1xuICAgIGlmKHRoaXMubWlsUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyl7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5taWxQZW5zaW9uUmVjdkRhdGUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZDIxNEZsYWcudmFsdWUgPT09ICdOJykge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubGFzdFBheUdyYWRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmxhc3RkdXR5KTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBsYWNlU2VwYXJhdGVkKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm5vTGVhdmVEYXlzKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZyk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZXNlcnZlT3JHdWFyZEZsYWcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZDIxNEZsYWcudmFsdWUgPT09ICdZJykge31cblxuICAgIGlmICh0aGlzLnJlc2VydmVPckd1YXJkRmxhZy52YWx1ZSA9PT0gJ1knKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZXNlcnZlQnJhbmNoKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXJ0RGF0ZVJlc2VydmUpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW5kRGF0ZVJlc2VydmUpO1xuICAgIH1cbiAgICAvL21pbGl0YXJ5IGRvZXMgbm90IGhhdmUgcmVhc29uIG9mIHNlcGFyYXRpb25cbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVhc29uU2VwYXJhdGlvbik7XG4gICAgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdGlvbk9uTWlsaXRhcnlGaWVsZHMoKSB7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNlcnZpY2VCcmFuY2gpO1xuICAgIHRoaXMuc2VydmljZUJyYW5jaC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXRlTWlsKTtcbiAgICB0aGlzLnN0YXJ0RGF0ZU1pbC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW5kRGF0ZU1pbCk7XG4gICAgdGhpcy5lbmREYXRlTWlsLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kZDIxNEZsYWcpO1xuICAgIHRoaXMuZGQyMTRGbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5sYXN0UGF5R3JhZGUpO1xuICAgIHRoaXMubGFzdFBheUdyYWRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5sYXN0ZHV0eSk7XG4gICAgdGhpcy5sYXN0ZHV0eS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGxhY2VTZXBhcmF0ZWQpO1xuICAgIHRoaXMucGxhY2VTZXBhcmF0ZWQuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm5vTGVhdmVEYXlzKTtcbiAgICB0aGlzLm5vTGVhdmVEYXlzLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jb21wbGV0ZWRGdWxsVGVybUZsYWcpO1xuICAgIHRoaXMuY29tcGxldGVkRnVsbFRlcm1GbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZXNlcnZlT3JHdWFyZEZsYWcpO1xuICAgIHRoaXMucmVzZXJ2ZU9yR3VhcmRGbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5taWxQZW5zaW9uRmxhZyk7XG4gICAgdGhpcy5taWxQZW5zaW9uRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVzZXJ2ZUJyYW5jaCk7XG4gICAgdGhpcy5yZXNlcnZlQnJhbmNoLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERhdGVSZXNlcnZlKTtcbiAgICB0aGlzLnN0YXJ0RGF0ZVJlc2VydmUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGVSZXNlcnZlKTtcbiAgICB0aGlzLmVuZERhdGVSZXNlcnZlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5taWxQZW5zaW9uUmVjdkRhdGUpO1xuICAgIHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgZ2V0IGVtcGxveWVyVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyVHlwZSddO1xuICB9XG4gIGdldCBlbXBsb3llck5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llck5hbWUnXTtcbiAgfVxuXG4gIGdldCBlbXBsb3llclRlbGVwaG9uZU51bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJ107XG4gIH1cblxuICBnZXQgc3RhcnREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlJ107XG4gIH1cblxuICBnZXQgZW5kRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGUnXTtcbiAgfVxuXG4gIGdldCBqb2JUaWxlT3JQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2pvYlRpbGVPclBvc2l0aW9uJ107XG4gIH1cblxuICBnZXQgcmVhc29uU2VwYXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlYXNvblNlcGFyYXRpb24nXTtcbiAgfVxuXG4gIGdldCBkaXNjaGFyZ2VEZXRhaWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkaXNjaGFyZ2VEZXRhaWwnXTtcbiAgfVxuXG4gIGdldCB2b2xRdWl0RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3ZvbFF1aXREZXRhaWxzJ107XG4gIH1cblxuICBnZXQgcGF5UmF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGUnXTtcbiAgfVxuXG4gIGdldCBncm9zc1dhZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZ3Jvc3NXYWdlcyddO1xuICB9XG5cbiAgZ2V0IHBheVJhdGVGcmVxdWVuY3koKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlRnJlcXVlbmN5J107XG4gIH1cblxuICBnZXQgaHJzV2VlaygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hyc1dlZWsnXTtcbiAgfVxuXG4gIGdldCBzaGlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NoaWZ0J107XG4gIH1cblxuICBnZXQgd29ya1dlZWsoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrV2VlayddO1xuICB9XG4gIGdldCByZWdEaXNzbWlzYWxDaGVja0JveCgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnRGlzc21pc2FsQ2hlY2tCb3gnXTtcbiAgfVxuICBnZXQgZmVkRGlzc21pc2FsQ2hlY2tCb3goKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZERpc3NtaXNhbENoZWNrQm94J107XG4gIH1cbiAgZ2V0IGZlZExhaWRPZmZGbGFnKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRMYWlkT2ZmRmxhZyddO1xuICB9XG5cbiAgZ2V0IGRpZFdvcmsoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkaWRXb3JrJ107XG4gIH1cblxuICBnZXQgc2VwYXJhdGlvbkRhdGVGbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2VwYXJhdGlvbkRhdGVGbGFnJ107XG4gIH1cbiAgZ2V0IHJlZ0Rpc3NtaXNhbEZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdEaXNzbWlzYWxGbGFnJ107XG4gIH1cbiAgZ2V0IGZlZERpc3NtaXNhbEZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWREaXNzbWlzYWxGbGFnJ107XG4gIH1cbiAgZ2V0IHJlZ0xhaWRPZmZGbGFnKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdMYWlkT2ZmRmxhZyddO1xuICB9XG5cbiAgZ2V0IHNlcGFyYXRpb25EYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2VwYXJhdGlvbkRhdGUnXTtcbiAgfVxuXG4gIGdldCBwZW5zaW9uRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25GbGFnJ107XG4gIH1cbiAgXG4gIGdldCBwZW5zaW9uUmVjdkRhdGUoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25SZWN2RGF0ZSddO1xuICB9XG5cbiAgZ2V0IHJlZ1BlbnNpb25GbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnUGVuc2lvbkZsYWcnXTtcbiAgfVxuICBcbiAgZ2V0IHJlZ1BlbnNpb25SZWN2RGF0ZSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnUGVuc2lvblJlY3ZEYXRlJ107XG4gIH1cblxuICBnZXQgaXNDbG10UGFpZFdoaWxlTG93KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaXNDbG10UGFpZFdoaWxlTG93J107XG4gIH1cblxuICBnZXQgaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSddO1xuICB9XG5cbiAgZ2V0IGhhc1JlY3ZSZW11bmVyYXRpb24oKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hhc1JlY3ZSZW11bmVyYXRpb24nXTtcbiAgfVxuXG4gIGdldCByZW11bmVyYXRpb25UeXBlcygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVtdW5lcmF0aW9uVHlwZXMnXTtcbiAgfVxuXG4gIGdldCB2YWNhdGlvbigpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sndmFjYXRpb24nXTtcbiAgfVxuICAvLyBnZXQgcGFpZEJ5KCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGFpZEJ5J107XG4gIC8vIH1cblxuICBnZXQgcGF5bWVudFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXltZW50VHlwZSddO1xuICB9XG5cbiAgZ2V0IGRvY3NSZWNlaXZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RvY3NSZWNlaXZlZCddO1xuICB9XG5cbiAgZ2V0IG90aGVyU1NORmxhZygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJTU05GbGFnJ107XG4gIH1cblxuICBnZXQgb3RoZXJTU04oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlclNTTiddO1xuICB9XG5cbiAgZ2V0IG90aGVyTmFtZUZsYWcoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyTmFtZUZsYWcnXTtcbiAgfVxuXG4gIGdldCBvdGhlck5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlck5hbWUnXTtcbiAgfVxuXG4gIGdldCBkb2luZ0J1c2luZXNzQXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkb2luZ0J1c2luZXNzQXMnXTtcbiAgfVxuXG4gIGdldCB3b3JrRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtGbGFnJ107XG4gIH1cblxuICAvLyBnZXQgcXVpdHJlYXNvbigpIHtcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3F1aXRyZWFzb24nXTtcbiAgLy8gfVxuXG4gIGdldCB3b3JrQ2l0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtDaXR5J107XG4gIH1cblxuICBnZXQgd29ya1N0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya1N0YXRlJ107XG4gIH1cblxuICAvKmdldCBoaXJlZEJ5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGlyZWRCeSddO1xuICB9XG5cbiAgZ2V0IGZlaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWluJ107XG4gIH0qL1xuXG4gIGdldCB3b3JrVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtUeXBlJ107XG4gIH1cblxuICAvKmdldCBudW1iZXJFbXBsb3llZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ251bWJlckVtcGxveWVkJ107XG4gIH0qL1xuXG4gIC8qZ2V0IGJ1c2luZXNzTmF0dXJlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYnVzaW5lc3NOYXR1cmUnXTtcbiAgfSovXG5cbiAgZ2V0IGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMnXTtcbiAgfVxuXG4gIC8vIGdldCB3YWdlUXVhcnRlcjEoKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjEnXTtcbiAgLy8gfVxuXG4gIC8vIGdldCB3YWdlUXVhcnRlcjIoKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjInXTtcbiAgLy8gfVxuXG5cbiAgLy8gZ2V0IHdhZ2VRdWFydGVyMygpIHtcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyMyddO1xuICAvLyB9XG5cblxuXG4gIC8vIGdldCB3YWdlUXVhcnRlcjQoKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjQnXTtcbiAgLy8gfVxuXG4gIGdldCBmaWNDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljQ29kZSddO1xuICB9XG5cbiAgZ2V0IGZpY0Rlc3RpbmF0aW9uQ29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uQ29kZSddO1xuICB9XG5cbiAgZ2V0IGZpY0Rlc3RpbmF0aW9uSWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbklkJ107XG4gIH1cbiAgICAgIFxuICBcbiAgLy8gZ2V0IGZvcm1lcmx5S25vd25BcygpIHtcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Zvcm1lcmx5S25vd25BcyddO1xuICAvLyB9XG5cbiAgZ2V0IHNmRWlnaHRmbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2ZFaWdodGZsYWcnXTtcbiAgfVxuXG4gIGdldCBmZWRXb3JrQ2l0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtDaXR5J107XG4gIH1cblxuICBnZXQgZmVkV29ya1N0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkV29ya1N0YXRlJ107XG4gIH1cblxuXG4gIGdldCBmZWRXb3JrQ291bnRyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtDb3VudHJ5J107XG4gIH1cblxuXG4gIGdldCBzdGFydERhdGVGZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVGZWQnXTtcbiAgfVxuXG4gIGdldCBlbmREYXRlRmVkKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZUZlZCddO1xuICB9XG5cbiAgZ2V0IGZlZEpvYlRpbGVPclBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkSm9iVGlsZU9yUG9zaXRpb24nXTtcbiAgfVxuXG4gIC8qIGdldCBjbGFpbWFudEVtcGxveWVkV2l0aEVtcHIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInXTtcbiAgfSAqL1xuXG4gIGdldCBwZXJmb3JtZWRTZXJ2aWNlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVyZm9ybWVkU2VydmljZSddO1xuICB9XG5cbiAgZ2V0IGZlZFBlbnNpb25GbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkUGVuc2lvbkZsYWcnXTtcbiAgfVxuXG4gIGdldCBmZWRQZW5zaW9uUmVjdkRhdGUoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFBlbnNpb25SZWN2RGF0ZSddO1xuICB9XG5cbiAgZ2V0IHNldlBheUZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlGbGFnJ107XG4gIH1cblxuICBnZXQgd2Vla2x5QW1vdW50KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2Vla2x5QW1vdW50J107XG4gIH1cblxuICBnZXQgbnVtYmVyT2ZXZWVrcygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ251bWJlck9mV2Vla3MnXTtcbiAgfVxuXG4gIGdldCBzZXZQYXlBbW91bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlBbW91bnQnXTtcbiAgfVxuXG5cbiAgZ2V0IHNldlBheVN0YXJ0RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheVN0YXJ0RGF0ZSddO1xuICB9XG5cblxuICBnZXQgc2V2UGF5RW5kRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheUVuZERhdGUnXTtcbiAgfVxuXG4gIGdldCBzZXZQYXlQYXltZW50U3RhcnREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSddO1xuICB9XG5cbiAgZ2V0IHJlZ0VtcGxveWVyRm91bmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdFbXBsb3llckZvdW5kJ107XG4gIH1cblxuICBnZXQgZW1wbG95ZXJJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVySWQnXTtcbiAgfVxuXG4gIGdldCBmZWRFbXBsb3llck5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRFbXBsb3llck5hbWUnXTtcbiAgfVxuICBnZXQgc2VydmljZUJyYW5jaCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NlcnZpY2VCcmFuY2gnXTtcbiAgfVxuXG4gIGdldCBzdGFydERhdGVNaWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVNaWwnXTtcbiAgfVxuXG4gIGdldCBlbmREYXRlTWlsKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZU1pbCddO1xuICB9XG5cbiAgZ2V0IGRkMjE0RmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RkMjE0RmxhZyddO1xuICB9XG5cbiAgZ2V0IGxhc3RQYXlHcmFkZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RQYXlHcmFkZSddO1xuICB9XG5cbiAgZ2V0IGxhc3RkdXR5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbGFzdGR1dHknXTtcbiAgfVxuXG4gIGdldCBwbGFjZVNlcGFyYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BsYWNlU2VwYXJhdGVkJ107XG4gIH1cblxuICBnZXQgbm9MZWF2ZURheXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydub0xlYXZlRGF5cyddO1xuICB9XG5cbiAgZ2V0IGNvbXBsZXRlZEZ1bGxUZXJtRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2NvbXBsZXRlZEZ1bGxUZXJtRmxhZyddO1xuICB9XG5cbiAgZ2V0IHJlc2VydmVPckd1YXJkRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVPckd1YXJkRmxhZyddO1xuICB9XG5cbiAgZ2V0IG1pbFBlbnNpb25GbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbWlsUGVuc2lvbkZsYWcnXTtcbiAgfVxuXG4gIGdldCBtaWxQZW5zaW9uUmVjdkRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydtaWxQZW5zaW9uUmVjdkRhdGUnXTtcbiAgfVxuXG4gIGdldCBhZGRyZXNzTGluZTEoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3NMaW5lMSddO1xuICB9XG5cbiAgZ2V0IGFkZHJlc3NMaW5lMigpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzc0xpbmUyJ107XG4gIH1cblxuICBnZXQgYWRkcmVzc0xpbmUzKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzTGluZTMnXTtcbiAgfVxuXG4gIGdldCBmaWNEZXN0aW5hdGlvbk5hbWUoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uTmFtZSddO1xuICB9XG5cbiAgZ2V0IHJlc2VydmVCcmFuY2goKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVCcmFuY2gnXTtcbiAgfVxuXG4gIGdldCBzdGFydERhdGVSZXNlcnZlKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVSZXNlcnZlJ107XG4gIH1cblxuICBnZXQgZW5kRGF0ZVJlc2VydmUoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVSZXNlcnZlJ107XG4gIH1cbiAgXG4gIGdldCBkZDIxNEZpbGUoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RkMjE0RmlsZSddO1xuICB9XG5cbiAgZ2V0IGFkZHJlc3MoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXTtcbiAgfVxuXG4gIGdldCBvc2FCcEVtcGxveWVyRmxhZygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3NhQnBFbXBsb3llckZsYWcnXTtcbiAgfVxuXG4gIGdldCBkaXNwbGF5U2Vhc29uYWxFbXAoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Rpc3BsYXlTZWFzb25hbEVtcCddO1xuICB9XG5cbiAgb25Ub2dnbGVDaGFuZ2VFbXBsb3llclR5cGUob2JqOiBhbnkpIHtcbiAgICB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUodGhpcy5wYXlSYXRlT3B0aW9ucy5maWx0ZXIocCA9PiBwLnRleHQ9PSdob3VyJylbMF0pO1xuICAgICAgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xuICAgICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5maWNDb2RlLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5maWNEZXN0aW5hdGlvbkNvZGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUyLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUobnVsbCk7XG4gICAgICBpZih0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyl7XG4gICAgICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5zZXRWYWx1ZSh0aGlzLnBheVJhdGVPcHRpb25zLmZpbHRlcihwID0+IHAudGV4dD09J0hvdXInKVswXSk7XG4gICAgICB9XG4gICAgICB0aGlzLmdldFJlYXNvblNlcGVyYXRpb25CYXNlZE9uQ29uZGl0aW9uKCk7XG4gICAgfSlcbiAgfVxuXG4gXG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIC8vdGhpcy5lbXBOYW1lID0gb2JqO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICB9XG5cbiAgb25Nb2RlbENhbmNlbChjYW5jZWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm1vZGVsQ2FuY2VsLmVtaXQoY2FuY2VsKTtcbiAgfVxuXG4gIHNldEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXRFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llciwgXCJ0eXBlXCIsIHRoaXMuZW1wbG95ZXJUeXBlLCAndGhpcy5hZGRFbXBsb3llckZvcm0nLHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW1wbG95ZXIuc3RhdGUnLCBlbXBsb3llci5zdGF0ZSlcbiAgICBpZih0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJykge1xuICAgICAgdGhpcy5lbXBsb3llclNlcnZpY2UuZ2V0RW1wbG95ZXJEYXRhQnlJZChlbXBsb3llci5lbXBsb3llcklkKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICB0aGlzLmdldFJlYXNvblNlcGVyYXRpb25CYXNlZE9uQ29uZGl0aW9uKHJlc3BvbnNlLnNjaG9vbEZsYWcsIHJlc3BvbnNlLnNwb3J0c0ZsYWcpO1xuICAgICAgfVxuICAgICk7XG4gICAgfVxuICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTplbXBsb3llci5jb3VudHJ5LCBjaXR5OmVtcGxveWVyLmNpdHlcbiAgICAsIHppcDplbXBsb3llci56aXAsc3RyZWV0QWRkcmVzczplbXBsb3llci5hZGRyZXNzRGlzcGxheVZhbCxzdGF0ZTplbXBsb3llci5zdGF0ZSxcbiAgICBvcHRpb25hbEFkZHJlc3M6bnVsbCxjb3VudHk6bnVsbCx0b3duOm51bGxcbiAgICB9KTtcbiAgICB0aGlzLmFkZHJlc3MuZGlzYWJsZSgpO1xuICAgIHRoaXMuZW1wbG95ZXJJZC5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llcklkKTtcbiAgICB0aGlzLmFkZHJlc3NMaW5lMS5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTEpO1xuICAgIHRoaXMuYWRkcmVzc0xpbmUyLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMik7XG4gICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUzKTtcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUodHJ1ZSk7XG4gIH1cblxuICBzZXRGZWRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpe1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXRGZWRFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llciwgXCJ6aXAgXCIsIGVtcGxveWVyLnppcCk7XG4gICAgdGhpcy5nZXRSZWFzb25TZXBlcmF0aW9uQmFzZWRPbkNvbmRpdGlvbigpOyAgICAgICAgICAgIFxuICAgIHRoaXMuZmljQ29kZS5zZXRWYWx1ZShlbXBsb3llci5maWNDb2RlKTtcbiAgICB0aGlzLmZpY0NvZGUuZGlzYWJsZSgpO1xuICAgIHRoaXMuZmljRGVzdGluYXRpb25OYW1lLnNldFZhbHVlKGVtcGxveWVyLmZpY0Rlc3RpbmF0aW9uTmFtZSk7XG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbklkLnNldFZhbHVlKGVtcGxveWVyLmZpY0Rlc3RpbmF0aW9uSWQpO1xuICAgIHRoaXMuZmljRGVzdGluYXRpb25OYW1lLmRpc2FibGUoKTtcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uQ29kZS5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbkNvZGUpO1xuICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTplbXBsb3llci5jb3VudHJ5LCBjaXR5OmVtcGxveWVyLmNpdHlcbiAgICAgICwgemlwOmVtcGxveWVyLnppcCxzdHJlZXRBZGRyZXNzOmVtcGxveWVyLmFkZHJlc3NMaW5lMSxzdGF0ZTplbXBsb3llci5zdGF0ZSxcbiAgICAgIG9wdGlvbmFsQWRkcmVzczplbXBsb3llci5hZGRyZXNzTGluZTIsY291bnR5Om51bGwsdG93bjpudWxsXG4gICAgICB9KTtcbiAgICB0aGlzLmFkZHJlc3MuZGlzYWJsZSgpO1xuICAgIHRoaXMuZW1wbG95ZXJJZC5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llcklkKTtcbiAgICB0aGlzLmFkZHJlc3NMaW5lMS5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTEpO1xuICAgIHRoaXMuYWRkcmVzc0xpbmUyLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMik7XG4gICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUzKTtcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUoZmFsc2UpO1xuICB9XG5cbiAgcmVzZXRGZWRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpe1xuICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcbiAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6bnVsbCwgY2l0eTpudWxsXG4gICAgICAsIHppcDpudWxsLHN0cmVldEFkZHJlc3M6bnVsbCxzdGF0ZTpudWxsLFxuICAgICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXG4gICAgICB9KTtcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUoZmFsc2UpO1xuICB9XG5cbiAgcmVzZXRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpIHtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3Jlc2V0RW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIpO1xuICAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XG4gICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTpudWxsLCBjaXR5Om51bGxcbiAgICAgICwgemlwOm51bGwsc3RyZWV0QWRkcmVzczpudWxsLHN0YXRlOm51bGwsXG4gICAgICBvcHRpb25hbEFkZHJlc3M6bnVsbCxjb3VudHk6bnVsbCx0b3duOm51bGxcbiAgICAgIH0pO1xuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZShmYWxzZSk7XG4gIH1cblxuXG4gIHB1dE1pbFJlc0JyYW5jaFZhbGlkYXRpb24oZXZlbnQpe1xuICAgIGlmIChldmVudC5vcHRpb24udmFsdWUgPT09ICdZJykge1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZXNlcnZlQnJhbmNoKTtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXRlUmVzZXJ2ZSk7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVuZERhdGVSZXNlcnZlKTtcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlQnJhbmNoJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVzZXJ2ZUJyYW5jaCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlUmVzZXJ2ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXJ0RGF0ZVJlc2VydmUpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVSZXNlcnZlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW5kRGF0ZVJlc2VydmUpO1xuICAgIH1cbiAgfVxuXG4gIHB1dE1pbFZhbGlkYXRpb24oZXZlbnQpe1xuICAgIC8qaWYgKGV2ZW50Lm9wdGlvbi52YWx1ZSA9PT0gJ04nKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5sYXN0UGF5R3JhZGUpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubGFzdGR1dHkpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGxhY2VTZXBhcmF0ZWQpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubm9MZWF2ZURheXMpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuY29tcGxldGVkRnVsbFRlcm1GbGFnKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlc2VydmVPckd1YXJkRmxhZyk7XG4gICAgfVxuICAgIGVsc2V7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbGFzdFBheUdyYWRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbGFzdGR1dHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwbGFjZVNlcGFyYXRlZCddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ25vTGVhdmVEYXlzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snY29tcGxldGVkRnVsbFRlcm1GbGFnJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVzZXJ2ZU9yR3VhcmRGbGFnJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubGFzdFBheUdyYWRlKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5sYXN0ZHV0eSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGxhY2VTZXBhcmF0ZWQpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm5vTGVhdmVEYXlzKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jb21wbGV0ZWRGdWxsVGVybUZsYWcpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlc2VydmVPckd1YXJkRmxhZyk7XG4gICAgfSovXG4gIH1cblxuICBvbk9wdGlvbkNoYW5nZShldmVudCkge1xuICAgIGlmIChldmVudC5vcHRpb24udmFsdWUgPT09ICdZJykge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVuZERhdGUpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuam9iVGlsZU9yUG9zaXRpb24pO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVhc29uU2VwYXJhdGlvbik7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wYXlSYXRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBheVJhdGVGcmVxdWVuY3kpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGVuc2lvbkZsYWcpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaXNDbG10UGFpZFdoaWxlTG93KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2pvYlRpbGVPclBvc2l0aW9uJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVhc29uU2VwYXJhdGlvbiddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlRnJlcXVlbmN5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVuc2lvbkZsYWcnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydpc0NsbXRQYWlkV2hpbGVMb3cnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llclRlbGVwaG9uZU51bWJlcik7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXRlKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbmREYXRlKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5qb2JUaWxlT3JQb3NpdGlvbik7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVhc29uU2VwYXJhdGlvbik7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGF5UmF0ZSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGF5UmF0ZUZyZXF1ZW5jeSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucGVuc2lvbkZsYWcpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdyk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZSgpe1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLnNhdmUudmFsdWUnLCB0aGlzLmFkZEVtcGxveWVyRm9ybSk7XG4gICAgaWYodGhpcy53b3JrRmxhZy52YWx1ZT09PSdOJyl7XG4gICAgICBpZiAodGhpcy5hZGRFbXBsb3llckZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlLmlzRW1wbG95ZXJFZGl0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xuICAgICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XG4gICAgfVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5hZGQoKTtcbiAgICB9XG4gIH1cblxuICBhZGQoKSB7XG5cbiAgICBjb25zdCBpbnZhbGlkID0gW107XG4gICAgICBjb25zdCBjb250cm9scyA9IHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzO1xuICAgICAgZm9yIChjb25zdCBuYW1lIGluIGNvbnRyb2xzKSB7XG4gICAgICAgICAgaWYgKGNvbnRyb2xzW25hbWVdLmludmFsaWQpIHtcbiAgICAgICAgICAgICAgaW52YWxpZC5wdXNoKG5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImludmFsaWRbXVwiLCBpbnZhbGlkKSA7XG4gICAgICAgIFxuXHQgIGlmKCghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciB8fCB0aGlzLm9zYUJwRW1wbG95ZXJGbGFnLnZhbHVlPT09JzEnKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSAhPSAnTUlMJykge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3ZhbGlkYXRlIGFkZHJlc3MgY29tcG9uZW50Jyk7XG4gICAgIFx0dGhpcy52YWxpZGF0ZUFkZHJlc3MoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5hZGQudmFsdWUnLCB0aGlzLmFkZEVtcGxveWVyRm9ybSk7IFxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0NvZGUnXS5lbmFibGUoKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbk5hbWUnXS5lbmFibGUoKTtcbiAgICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlLmlzRW1wbG95ZXJFZGl0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJhZGQgZm9ybSBkZXRhaWxzIGFkZCgpLSBcIiwgdGhpcy5hZGRFbXBsb3llckZvcm0pO1xuICAgICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XG4gICAgfSBlbHNle1xuICAgICAgdGhpcy51dGlsLmZvY3VzT25TdWJtaXQodGhpcy5lbClcbiAgICB9XG5cbiAgfVxuXG4gIHZhbGlkYXRlQWRkcmVzcygpIHtcbiAgICBsZXQgYWRkcmVzc0NvbXBWYWx1ZTogQWRkcmVzc0NvbXBvbmVudE1vZGVsO1xuICAgIGFkZHJlc3NDb21wVmFsdWUgPSB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzcyddLnZhbHVlO1xuICAgIGlmIChhZGRyZXNzQ29tcFZhbHVlKSB7XG4gICAgICBpZiAoIWFkZHJlc3NDb21wVmFsdWUuY2l0eSB8fCAhYWRkcmVzc0NvbXBWYWx1ZS5zdGF0ZSB8fFxuICAgICAgICAhYWRkcmVzc0NvbXBWYWx1ZVsnemlwJ10gfHwgIWFkZHJlc3NDb21wVmFsdWUuY291bnRyeSB8fFxuICAgICAgICAhYWRkcmVzc0NvbXBWYWx1ZVsnc3RyZWV0QWRkcmVzcyddXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXS5zZXRFcnJvcnMoeyBhZGRyZXNzVmFsaWRhdGlvbkZsYWc6IHRydWUgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ10uc2V0RXJyb3JzKHsgYWRkcmVzc1ZhbGlkYXRpb25GbGFnOiB0cnVlIH0pO1xuICAgIH1cbiAgICBpZih0aGlzLmFkZHJlc3MxKXtcbiAgICAgIHRoaXMuYWRkcmVzczEuc3VibWl0KCk7XG4gICAgfVxuICAgIGlmKHRoaXMuYWRkcmVzczIpe1xuICAgICAgdGhpcy5hZGRyZXNzMi5zdWJtaXQoKTtcbiAgICB9XG4gICAgaWYodGhpcy5hZGRyZXNzMyl7XG4gICAgICB0aGlzLmFkZHJlc3MzLnN1Ym1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlckNvdW50cnkoZXZlbnQpIHtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2V2ZW50JywgZXZlbnQpXG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xuICAgIC8vdGhpcy5zdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY291bnRyeU9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBjb3VudHJ5ID0gdGhpcy5jb3VudHJ5T3B0aW9uc1tpXTtcbiAgICAgIGlmIChjb3VudHJ5LnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChjb3VudHJ5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jb3VudHJ5T3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9XG5cbiAgZmlsdGVyRmVkQ291bnRyeShldmVudCkge1xuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZXZlbnQnLCBldmVudClcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5jb3VudHJ5RmVkT3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XG4gICAgLy90aGlzLnN0YXRlLnNldFZhbHVlKG51bGwpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb3VudHJ5RmVkT3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGNvdW50cnkgPSB0aGlzLmNvdW50cnlGZWRPcHRpb25zW2ldO1xuICAgICAgaWYgKGNvdW50cnkudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNvdW50cnkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvdW50cnlGZWRPcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuICBzZXRGZWRXb3JrU3RhdGVWYWx1ZXMoZXZlbnQpe1xuICAgIGlmKGV2ZW50LnZhbHVlID09PSAnVVMnKXtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFdvcmtTdGF0ZSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZFdvcmtTdGF0ZSk7XG4gICAgICB0aGlzLmZlZFdvcmtTdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJXb3JrQ291bnRyeShldmVudCkge1xuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZXZlbnQnLCBldmVudClcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy53b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUlk7XG4gICAgLy90aGlzLnN0YXRlLnNldFZhbHVlKG51bGwpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy53b3JrQ291bnRyeU9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBjb3VudHJ5ID0gdGhpcy53b3JrQ291bnRyeU9wdGlvbnNbaV07XG4gICAgICBpZiAoY291bnRyeS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goY291bnRyeSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMud29ya0NvdW50cnlPcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuXG4gIGZpbHRlck1pbGl0YXJ5U2VydmljZU9wdGlvbnMoZXZlbnQpIHtcblxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFO1xuICAgIC8vdGhpcy5zdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IG9wdGlvbnMgPSB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnNbaV07XG4gICAgICBpZiAob3B0aW9ucy50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2gob3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyA9IGZpbHRlcmVkO1xuXG4gIH1cblxuICBmaWx0ZXJNaWxpdGFyeVNlcnZpY2VPcHRpb25zV2l0aFNwYWNlKGV2ZW50KSB7XG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1dpdGhTcGFjZSA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0VfVVNTRjtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1dpdGhTcGFjZS5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IG9wdGlvbnMgPSB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnNXaXRoU3BhY2VbaV07XG4gICAgICBpZiAob3B0aW9ucy50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2gob3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1dpdGhTcGFjZSA9IGZpbHRlcmVkO1xuICB9XG5cbiAgZmlsdGVyUGF5UmF0ZShldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLnBheVJhdGVPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wYXlSYXRlT3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IHBheSA9IHRoaXMucGF5UmF0ZU9wdGlvbnNbaV07XG4gICAgICBpZiAocGF5LnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChwYXkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnBheVJhdGVPcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuICBmaWx0ZXJSZWFzb25TZXBhcmF0aW9uKGV2ZW50KSB7XG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5OyAgICBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBzZXBSZWFzb24gPSB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsW2ldO1xuICAgICAgaWYgKHNlcFJlYXNvbi50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9ucyA9IGZpbHRlcmVkOyAgXG4gIFxuICB9XG5cbiAgZmlsdGVyVXNTdGF0ZShldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLnN0YXRlc09wdGlvbnMgPSBDb21ib09wdGlvbi5VU19TVEFURVM7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YXRlc09wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBzdGF0ZSA9IHRoaXMuc3RhdGVzT3B0aW9uc1tpXTtcbiAgICAgIGlmIChzdGF0ZS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goc3RhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN0YXRlc09wdGlvbnMgPSBmaWx0ZXJlZDtcbiAgfVxuXG4gIC8qY2hlY2tGb3JTdGF0ZShzZWxlY3RlZFN0YXRlVmFsdWUpe1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzZWxlY3RlZFN0YXRlVmFsdWUnLHNlbGVjdGVkU3RhdGVWYWx1ZS52YWx1ZSk7XG4gICAgbGV0IGJwU3RhcnREYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlKTtcbiAgICBsZXQgYnBFbmREYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5iYXNlUGVyaW9kRW5kRGF0ZSk7XG4gICAgbGV0IHN0YXJ0ZURhdGVWYWw6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZS52YWx1ZSk7XG4gICAgbGV0IGVuZERhdGVWYWw6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGUudmFsdWUpXG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdicFN0YXJ0RGF0ZSAnLCBicFN0YXJ0RGF0ZSwgJ3N0YXJ0ZURhdGVWYWwgJywgc3RhcnRlRGF0ZVZhbCk7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbmREYXRlVmFsICcsIGVuZERhdGVWYWwsICdicEVuZERhdGUgJywgYnBFbmREYXRlKTtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3N0YXJ0ZURhdGVWYWwgPj0gYnBFbmREYXRlICcsIHN0YXJ0ZURhdGVWYWwgPj0gYnBFbmREYXRlKTtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VuZERhdGVWYWw8PSBicEVuZERhdGUgJywgZW5kRGF0ZVZhbDw9IGJwRW5kRGF0ZSk7XG4gICAgaWYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiBzZWxlY3RlZFN0YXRlVmFsdWUudmFsdWU9PT10aGlzLmN1cnJlbnRTdGF0ZSkge1xuICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiSW5zaWRlIElGXCIpXG4gICAgICBpZiAoc3RhcnRlRGF0ZVZhbC5nZXRUaW1lKCkgPCBicEVuZERhdGUuZ2V0VGltZSgpICYmIGVuZERhdGVWYWwuZ2V0VGltZSgpPiBicFN0YXJ0RGF0ZS5nZXRUaW1lKCkpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZSh0cnVlKTtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKGZhbHNlKTtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyA9ICcsIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMpOyAgIFxuICB9Ki9cblxuXG4gIC8qZmlsdGVySm9iVGlsZU9yUG9zaXRpb24oZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IEF1dG9jb2Rlck1vZGVsW10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldChgL2NsYWltcy1zZXJ2aWNlL2NsYWltL2pvYnRpdGxlL2AgKyBgJHtxdWVyeX1gKS5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlcycsIHJlcyk7XG4gICAgICAgIHRoaXMuam9iVGlsZU9yUG9zaXRpb25PcHRpb25zID0gcmVzO1xuICAgICAgfSk7XG4gIH1cblxuICBmaWx0ZXJGZWRKb2JUaWxlT3JQb3NpdGlvbihldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogQXV0b2NvZGVyTW9kZWxbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZ2V0KGAvY2xhaW1zLXNlcnZpY2UvY2xhaW0vam9idGl0bGUvYCArIGAke3F1ZXJ5fWApLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7XG4gICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzJywgcmVzKTtcbiAgICAgICAgdGhpcy5mZWRKb2JUaWxlT3B0aW9ucyA9IHJlcztcbiAgICAgIH0pO1xuICB9Ki9cblxuICAvKmZpbHRlckRpc2NoYXJnZVJlYXNvbnMoZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBzZXBSZWFzb24gPSB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGxbaV07XG4gICAgICBpZiAoc2VwUmVhc29uLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChzZXBSZWFzb24pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnMgPSBmaWx0ZXJlZDtcbiAgfVxuXG4gIGZpbHRlclZvbHVudGFyeVJlYXNvbihldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGwubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBzZXBSZWFzb24gPSB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsW2ldO1xuICAgICAgaWYgKHNlcFJlYXNvbi50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9Ki9cblxuICB2YWxpZGF0ZShldmVudCkge1xuICAgIGlmKGV2ZW50LnRhcmdldD8udmFsdWUpe1xuICAgICAgdGhpcy5taW5EYXRlID0gbmV3IERhdGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9IGVsc2UgaWYoIGV2ZW50IGluc3RhbmNlb2YgRGF0ZSl7XG4gICAgICB0aGlzLm1pbkRhdGUgPSBldmVudDtcbiAgICB9XG4gICAgdGhpcy5lbmREYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUnLCB0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUpICBcbiAgfVxuXG4gIHZhbGlkYXRlV2FnZXNEaXNwbGF5KGV2ZW50KXtcbiAgICBsZXQgYnBTdGFydERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUpO1xuICAgIGxldCBicEVuZERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RFbmREYXRlKTtcbiAgICBsZXQgc3RhcnRlRGF0ZVZhbDogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlLnZhbHVlKTtcbiAgICBsZXQgZW5kRGF0ZVZhbDogRGF0ZSA9IGV2ZW50LnRhcmdldD8udmFsdWUgPyBuZXcgRGF0ZShldmVudC50YXJnZXQudmFsdWUpIDogZXZlbnQ7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JwU3RhcnREYXRlICcsIGJwU3RhcnREYXRlLCAnc3RhcnRlRGF0ZVZhbCAnLCBzdGFydGVEYXRlVmFsKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW5kRGF0ZVZhbCAnLCBlbmREYXRlVmFsLCAnYnBFbmREYXRlICcsIGJwRW5kRGF0ZSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3N0YXJ0ZURhdGVWYWwgYmVmb3JlIGJwRW5kRGF0ZSAnLCBzdGFydGVEYXRlVmFsIDwgYnBFbmREYXRlKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW5kRGF0ZVZhbCBhZnRlciBicFN0YXJ0RGF0ZSAnLCBlbmREYXRlVmFsID4gYnBTdGFydERhdGUpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLndvcmtTdGF0ZSAnLCB0aGlzLndvcmtTdGF0ZSk7XG4gICAgaWYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSBcbiAgICAgICAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWUgPT09IHRoaXMuY3VycmVudFN0YXRlICYmIHRoaXMuaXNOZXdDbGFpbSkge1xuICAgICAgICBpZiAoKHN0YXJ0ZURhdGVWYWwuZ2V0VGltZSgpIDwgYnBFbmREYXRlLmdldFRpbWUoKSAmJiBlbmREYXRlVmFsLmdldFRpbWUoKT4gYnBTdGFydERhdGUuZ2V0VGltZSgpKSB8fCB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZSA9PSAnTUUnKSB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZSh0cnVlKTtcbiAgICAgICAgICBpZighdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcil7XG4gICAgICAgICAgICB0aGlzLnNldFZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKTtcbiAgICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSBcbiAgICAgICAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWUgIT0gdGhpcy5jdXJyZW50U3RhdGUgJiYgdGhpcy5pc05ld0NsYWltKXtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIk9TQSBjb25kaXRpb24gbWV0XCIpO1xuICAgICAgICAgIHRoaXMub3NhQnBFbXBsb3llckZsYWcuc2V0VmFsdWUoXCIxXCIpO1xuICAgICAgICBpZih0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTVMnKSB7XG4gICAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZ3Jvc3NXYWdlcyk7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMud29ya1N0YXRlLnZhbHVlIFxuICAgICAgICAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWUgPT09IHRoaXMuY3VycmVudFN0YXRlICYmICF0aGlzLmlzTmV3Q2xhaW0gJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRSdcbiAgICAgICAgICYmIHRoaXMucmVnRW1wbG95ZXJGb3VuZC52YWx1ZSA9PT0gbnVsbCAmJiBzdGFydGVEYXRlVmFsICE9bnVsbCAmJiBlbmREYXRlVmFsICE9IG51bGwpXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGV0IHdlZWtzQmV0d2VlblN0YXJ0RW5kRGF0ZTogbnVtYmVyID0gdGhpcy5udW1iZXJPZldlZWtzQmV0d2VlbkRhdGVzKHN0YXJ0ZURhdGVWYWwsIGVuZERhdGVWYWwpO1xuICAgICAgICAgICAgaWYod2Vla3NCZXR3ZWVuU3RhcnRFbmREYXRlICsgMSA+IHRoaXMubWluV2Vla0ZvckNoYXJnZWFiaWxpdHkpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvKmZpbHRlckdyb3VwZWRSZWFzb24oZXZlbnQpIHtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncXVlcnknLHF1ZXJ5KTtcbiAgICBsZXQgZmlsdGVyZWRHcm91cHMgPSBbXTtcbiAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TO1xuXG4gICAgZm9yIChsZXQgb3B0Z3JvdXAgb2YgdGhpcy5ncm91cGVkUmVhc29ucykge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ29wdGdyb3VwLml0ZW1zJyxvcHRncm91cC5pdGVtcyk7XG4gICAgICBsZXQgZmlsdGVyZWRTdWJPcHRpb25zID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcihcbiAgICAgICAgb3B0Z3JvdXAuaXRlbXMsXG4gICAgICAgIFtcImxhYmVsXCJdLFxuICAgICAgICBxdWVyeSxcbiAgICAgICAgXCJjb250YWluc1wiXG4gICAgICApO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2ZpbHRlcmVkU3ViT3B0aW9ucycsZmlsdGVyZWRTdWJPcHRpb25zKTtcbiAgICAgIGlmIChmaWx0ZXJlZFN1Yk9wdGlvbnMgJiYgZmlsdGVyZWRTdWJPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBmaWx0ZXJlZEdyb3Vwcy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogb3B0Z3JvdXAubGFiZWwsXG4gICAgICAgICAgdmFsdWU6IG9wdGdyb3VwLnZhbHVlLFxuICAgICAgICAgIGl0ZW1zOiBmaWx0ZXJlZFN1Yk9wdGlvbnNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5ncm91cGVkUmVhc29ucyA9IGZpbHRlcmVkR3JvdXBzO1xuICB9Ki9cblxuICBvbkNsZWFyQWN0aW9uKGV2ZW50KSB7XG4gICAgdGhpcy5vbkNoYW5nZShudWxsKTtcbiAgfVxuXG4gIGRhdGVJbnB1dChldmVudCl7XG4gICAgbGV0IGN1cnJlbnRWYWx1ZSA6IHN0cmluZyA9IGV2ZW50LnNyY0VsZW1lbnQudmFsdWU7XG4gICAgaWYoY3VycmVudFZhbHVlKXtcbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxlbmd0aCA9PSAyICYmIGN1cnJlbnRWYWx1ZS5jaGFyQXQoMikgIT0gJy8nKXtcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGN1cnJlbnRWYWx1ZSArIFwiL1wiO1xuICAgICAgICB9XG4gICAgICAgIGlmKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gNSAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDUpICE9ICcvJyl7XG4gICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG51bWJlck9mV2Vla3NCZXR3ZWVuRGF0ZXMoc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogbnVtYmVyXG4gIHtcbiAgICBjb25zdCB0aW1lRGlmZiA9IGVuZERhdGUuZ2V0VGltZSgpIC0gc3RhcnREYXRlLmdldFRpbWUoKTtcbiAgICBcbiAgICBjb25zdCBkYXlzRGlmZiA9IHRpbWVEaWZmIC8gKDEwMDAgKiAzNjAwICogMjQpO1xuXG4gICAgY29uc3Qgd2Vla3MgPSBkYXlzRGlmZiAvIDc7XG5cbiAgICByZXR1cm4gTWF0aC5mbG9vcih3ZWVrcyk7ICBcbiAgfVxuXG5cbn1cbiIsIjxwLWRpYWxvZyB2aXNpYmxlPVwidHJ1ZVwiIG1vZGFsPVwidHJ1ZVwiIHBvc2l0aW9uPVwidG9wXCIgYXBwZW5kVG89XCJib2R5XCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCJcclxuICBbcmVzaXphYmxlXT1cImZhbHNlXCIgW3N0eWxlXT1cInt3aWR0aDogJzgwdncnfVwiXHJcbiAgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzEwMHZ3JywgJzU3NnB4JzogJzEwMHZ3J31cIj5cclxuICA8aDQgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWdyZXkpOyBwYWRkaW5nLWxlZnQ6IDIwcHg7XCI+IHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmhlYWRpbmdcInx0cmFuc2xhdGV9fVxyXG4gIDwvaDQ+XHJcblxyXG5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImFkZEVtcGxveWVyRm9ybVwiICNhZGRFbXBsb3llckZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj5cclxuICAgIDxpb24tZ3JpZD5cclxuICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMlwiIHNpemVMZz1cIjEwXCIgc2l6ZVhsPVwiNlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAge3tjdXN0b21lck5hbWV9fVxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhbGlhc05hbWUgIT0gbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZGJhXCJ8dHJhbnNsYXRlfX0ge3thbGlhc05hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgb3NhQnBFbXBsb3llckZsYWcudmFsdWUgPT09JzAnXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDtcIj4ge3ttYWlsaW5nQWRkcmVzc0Rpc3BsYXl9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NTUiAmJiBvc2FCcEVtcGxveWVyRmxhZy52YWx1ZSA9PT0nMCdcIj5cclxuICAgICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVtcGxveWVyLndhZ2VzXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzQ1NSXCI+XHJcbiAgICAgICAgICAgICAgICA8cC10YWJsZSBbdmFsdWVdPVwiZW1wbG95ZXJQcm92aWRlZFdhZ2VzXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZSBpb24tcGFkZGluZy10b3BcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJlbXBsb3llclByb3ZpZGVkV2FnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3sgY29sLnF0clllYXJEaXNwbGF5U3RyaW5nIH19PC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tjb2wud2FnZUFtb3VudCB8IGN1cnJlbmN5fX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvcC10YWJsZT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlID09ICdOJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LndvcmtmbGFnLm5vXCJ8dHJhbnNsYXRlfX08YnIgLz4gPGJyIC8+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC53b3JrZmxhZy5uby5saW5lMlwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclR5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmVtcGxveWVyLnR5cGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBpbmhlcml0O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwiZW1wbG95ZXJUeXBlXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cImVtcGxveWVyVHlwZU9wdGlvbnNcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCIgW2Zvcm1Db250cm9sXT1cImVtcGxveWVyVHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgIChvbk9wdGlvbkNsaWNrKT1cIm9uVG9nZ2xlQ2hhbmdlRW1wbG95ZXJUeXBlKCRldmVudClcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyVHlwZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llck5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmVtcGxveWVyLm5hbWVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgW2Zvcm1Db250cm9sXT1cImVtcGxveWVyTmFtZVwiIGVtcFR5cGU9XCJSRUdcIiAob25Gb3VuZCk9XCJzZXRFbXBsb3llcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChvbkVtcHR5KT1cInJlc2V0RW1wbG95ZXIoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJOYW1lJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiBzdHlsZT1cIndpZHRoOiBpbmhlcml0ICFpbXBvcnRhbnQ7XCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRFbXBsb3llck5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmVtcGxveWVyLmZlZC5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVyIFtmb3JtQ29udHJvbF09XCJmZWRFbXBsb3llck5hbWVcIiBlbXBUeXBlPVwiRkVEXCIgKG9uRm91bmQpPVwic2V0RmVkRW1wbG95ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAob25FbXB0eSk9XCJyZXNldEZlZEVtcGxveWVyKCRldmVudClcIj48L2FwcC1zZWFyY2gtZW1wbG95ZXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZEVtcGxveWVyTmFtZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNlcnZpY2VCcmFuY2hcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5zZXJ2aWNlLmJyYW5jaFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cIm1pbGl0YXJ5U2VydmljZU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwic2VydmljZUJyYW5jaFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJzZXJ2aWNlQnJhbmNoXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NlcnZpY2VCcmFuY2gnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwhLS0gTWFpbmUgaW5jbHVkZXMgU3BhY2UgRm9yY2UgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2VydmljZUJyYW5jaFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnNlcnZpY2UuYnJhbmNoXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwibWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1dpdGhTcGFjZVwiIFtmb3JtQ29udHJvbF09XCJzZXJ2aWNlQnJhbmNoXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInNlcnZpY2VCcmFuY2hcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VydmljZUJyYW5jaCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdGFydERhdGVNaWxcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5zdGFydGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJzdGFydERhdGVNaWxcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzdGFydERhdGVNaWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVNaWxcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5Xb3JrU3RhcnREYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZU1pbCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW5kRGF0ZU1pbFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmVuZGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJlbmREYXRlTWlsXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZW5kRGF0ZU1pbFwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbZm9ybUNvbnRyb2xdPVwiZW5kRGF0ZU1pbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlTWlsJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIGhpZGVGaWNDb2RlXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZpY0NvZGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5maWMuY29kZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmljQ29kZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZpY0NvZGVcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZpY0NvZGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZpY0Rlc3RpbmF0aW9uTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmZpYy5kZXN0aW5hdGlvblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmljRGVzdGluYXRpb25OYW1lXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmljRGVzdGluYXRpb25OYW1lXCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNEZXN0aW5hdGlvbk5hbWUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWFkZHJlc3MgI2FkZHJlc3MxIFtmb3JtQ29udHJvbF09XCJhZGRyZXNzXCIgW2NvdW50eVJlcXVpcmVkXT1cImZhbHNlXCIgW2Zyb21Qb3B1cF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyICYmIG9zYUJwRW1wbG95ZXJGbGFnLnZhbHVlID09PScxJyAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctcmlnaHQ6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtYWRkcmVzcyAjYWRkcmVzczMgW2Zvcm1Db250cm9sXT1cImFkZHJlc3NcIiBbY291bnR5UmVxdWlyZWRdPVwiZmFsc2VcIiBbZnJvbVBvcHVwXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWFkZHJlc3M+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGFwcC1hZGRyZXNzICNhZGRyZXNzMiBbZm9ybUNvbnRyb2xdPVwiYWRkcmVzc1wiIGNvdW50eVJlcXVpcmVkPVwiZmFsc2VcIiBbZnJvbVBvcHVwXT1cInRydWVcIj4gPC9hcHAtYWRkcmVzcz5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYWRkcmVzcycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgYWRkcmVzc1ZhbGlkYXRpb25GbGFnOiAnUGxlYXNlIHByb3ZpZGUsIGEgdmFsaWQgYWRkcmVzcy4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVtcGxveWVyLnBob25lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OS05OTktOTk5OVwiIGlkPVwiZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXJcIiBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCI5OTktOTk5LTk5OTlcIj48L3AtaW5wdXRNYXNrPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyVGVsZXBob25lTnVtYmVyJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiKCFpc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndvcmtDaXR5XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC53b3JrLmxvY2F0aW9uLmNpdHlcInx0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJ3b3JrQ2l0eVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIndvcmtDaXR5XCIgbWF4bGVuZ3RoPVwiMzBcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtDaXR5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwic3RhdGVzT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJ3b3JrU3RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cIndvcmtTdGF0ZVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd29ya1N0YXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZFdvcmtDb3VudHJ5XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQud29yay5sb2NhdGlvbi5jb3VudHJ5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwid29ya0NvdW50cnlPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImZlZFdvcmtDb3VudHJ5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cImZlZFdvcmtDb3VudHJ5XCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFdvcmtDb3VudHJ5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZFdvcmtDaXR5XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC53b3JrLmxvY2F0aW9uLmNpdHlcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZlZFdvcmtDaXR5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmVkV29ya0NpdHlcIiBtYXhsZW5ndGg9XCIzMFwiIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NpdHknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCIgKm5nSWY9XCJzaG93V29ya1N0YXRlID09PSB0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZFdvcmtTdGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5zdGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJzdGF0ZXNPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImZlZFdvcmtTdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZmVkV29ya1N0YXRlXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRXb3JrU3RhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdGFydERhdGVGZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zdGFydGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJzdGFydERhdGVGZWRcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCIgaW5wdXRJZD1cInN0YXJ0RGF0ZUZlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN0YXJ0RGF0ZUZlZFwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5Xb3JrU3RhcnREYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZUZlZCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW5kRGF0ZUZlZFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmVuZGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJlbmREYXRlRmVkXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZW5kRGF0ZUZlZFwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbZm9ybUNvbnRyb2xdPVwiZW5kRGF0ZUZlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlRmVkJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuam9idGl0bGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiXHJcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCIxMDBcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICA8IS0tICA8cC1hdXRvQ29tcGxldGUgW2Zvcm1Db250cm9sXT1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCIgW3N1Z2dlc3Rpb25zXT1cImZlZEpvYlRpbGVPcHRpb25zXCIgXHJcbiAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVyRmVkSm9iVGlsZU9yUG9zaXRpb24oJGV2ZW50KVwiIGZpZWxkPVwiam9iVGl0bGVcIiBbZHJvcGRvd25dPVwiZmFsc2VcIiBcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU3RhcnQuLi4gdHlwaW5nIGpvYiB0aXRsZVwiIG1pbkxlbmd0aD0zIGZvcmNlU2VsZWN0aW9uPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC12YWx1ZSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3ZhbHVlLmpvYlRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvcC1hdXRvQ29tcGxldGU+IC0tPlxyXG5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkSm9iVGlsZU9yUG9zaXRpb24nIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2ZFaWdodGZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZmVpZ2h0XCJ8dHJhbnNsYXRlfX0gPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwic2ZFaWdodGZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNmRWlnaHRmbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NmRWlnaHRmbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIFxyXG4gICAgICAgICAgICAgICAgICAgIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInN0YXJ0RGF0ZVwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIFttaW5EYXRlXT1cIm1pbldvcmtTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW5kRGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVuZGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJlbmREYXRlXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZW5kRGF0ZVwiIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cImRhdGVUaW1lXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbZm9ybUNvbnRyb2xdPVwiZW5kRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQmx1cik9XCJ2YWxpZGF0ZVdhZ2VzRGlzcGxheSgkZXZlbnQpXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZVdhZ2VzRGlzcGxheSgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW5kRGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSBcclxuICAgICAgICAgICAgICAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgfHwgZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcpICYmIHRoaXMuY3VycmVudFN0YXRlID09ICdDVCcpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNlcGFyYXRpb25EYXRlRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnNlcGFyYXRpb25EYXRlRmxhZ1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwic2VwYXJhdGlvbkRhdGVGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZXBhcmF0aW9uRGF0ZUZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXBhcmF0aW9uRGF0ZUZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKVxyXG4gICAgICAgICAgICAgICAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgfHwgZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcpICYmIHRoaXMuY3VycmVudFN0YXRlID09ICdDVCcgICYmIHNlcGFyYXRpb25EYXRlRmxhZy52YWx1ZT09PSdZJyApXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNlcGFyYXRpb25EYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuc2VwYXJhdGlvbkRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInNlcGFyYXRpb25EYXRlXCIgW2Zvcm1Db250cm9sXT1cInNlcGFyYXRpb25EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXBhcmF0aW9uRGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIihkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm51bWJlckVtcGxveWVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZWVzLm5vXCIgfCB0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaWRdPVwibnVtYmVyRW1wbG95ZWRcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwibnVtYmVyRW1wbG95ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdudW1iZXJFbXBsb3llZCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD4gLS0+ICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByXCI+V2VyZSB5b3UgZW1wbG95ZWQgd2hpbGUgYSBzcG91c2Ugb2YgYSBVUyBtaWxpdGFyeSBtZW1iZXIgc3RhdGlvbmVkIGF0XHJcbiAgICAgICAgICAgICAgICBhIGZvcmVpZ24gbWlsaXRhcnkgYmFzZT88L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInllc05vTmFPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImNsYWltYW50RW1wbG95ZWRXaXRoRW1wclwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NsYWltYW50RW1wbG95ZWRXaXRoRW1wcicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBlcmZvcm1lZFNlcnZpY2VcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5jaXZpbGlhbi53b3JrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaWQ9XCJwZXJmb3JtZWRTZXJ2aWNlXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwZXJmb3JtZWRTZXJ2aWNlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVyZm9ybWVkU2VydmljZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIigoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImpvYlRpbGVPclBvc2l0aW9uXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuam9idGl0bGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwiam9iVGlsZU9yUG9zaXRpb25cIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJqb2JUaWxlT3JQb3NpdGlvblwiIG1heGxlbmd0aD1cIjEwMFwiIC8+XHJcbiAgICAgICAgICAgICAgPCEtLSA8cC1hdXRvQ29tcGxldGUgW2Zvcm1Db250cm9sXT1cImpvYlRpbGVPclBvc2l0aW9uXCIgW3N1Z2dlc3Rpb25zXT1cImpvYlRpbGVPclBvc2l0aW9uT3B0aW9uc1wiIFxyXG4gICAgICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cImZpbHRlckpvYlRpbGVPclBvc2l0aW9uKCRldmVudClcIiBmaWVsZD1cImpvYlRpdGxlXCIgKG9uQ2xlYXIpPVwib25DbGVhckFjdGlvbigkZXZlbnQpXCIgXHJcbiAgICAgICAgICAgICAgICAgW2Ryb3Bkb3duXT1cImZhbHNlXCIgcGxhY2Vob2xkZXI9XCJTdGFydC4uLiB0eXBpbmcgam9iIHRpdGxlXCIgbWluTGVuZ3RoPTMgZm9yY2VTZWxlY3Rpb249XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXZhbHVlIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dmFsdWUuam9iVGl0bGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT4gLS0+XHJcblxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdqb2JUaWxlT3JQb3NpdGlvbicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIoKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIHx8IGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctdG9wOiAwcHg7XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cInBheVJhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjk5OTk5OS45OVwiIG1heGxlbmd0aD1cIjEyXCIgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O3BhZGRpbmctdG9wOiAwcHg7XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cInBheVJhdGVPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVGcmVxdWVuY3lcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInBheVJhdGVGcmVxdWVuY3lcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGVGcmVxdWVuY3knIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sICpuZ0lmPVwidGhpcy5jdXJyZW50U3RhdGUgIT0gJ01TJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImdyb3NzV2FnZXNcIiBzdHlsZT1cImlubGluZS1zaXplOiBtYXgtY29udGVudDtcIj5Ub3RhbCBXYWdlcyBFYXJuZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwiZ3Jvc3NXYWdlc1wiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ3Jvc3NXYWdlcycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgfHwgZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcpXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXlSYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsZT1cImVuLVVTXCI+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5UmF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIiAqbmdJZj1cIihpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJylcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBlclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJwYXlSYXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwYXlSYXRlRnJlcXVlbmN5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJwYXlSYXRlRnJlcXVlbmN5XCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlRnJlcXVlbmN5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIHx8IGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSlcclxuICAgICAgICAgICAgICYmICgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhyc1dlZWtcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5ocnN3ZWVrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtmb3JtQ29udHJvbF09XCJocnNXZWVrXCIgW21heF09XCI5OTlcIiBtYXhsZW5ndGg9XCIzXCIgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hyc1dlZWsnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKCh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgfHwgZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcpKVxyXG4gICAgICAgICAgICAgJiYgKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSlcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2hpZnRcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5zaGlmdFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1jaGVja2JveCBbbmFtZV09XCInc2hpZnQtZ3JvdXAnXCIgW3ZhbHVlXT1cImNob2ljZS52YWx1ZVwiIFtsYWJlbF09XCJjaG9pY2UudGV4dFwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIHNoaWZ0T3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzaGlmdFwiIHN0eWxlQ2xhc3M9XCJhcHAtcC1jaGVja2JveFwiPjwvcC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2hpZnQnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIHx8IGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSlcclxuICAgICAgICAgICAgICAmJiAoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkaWRXb3JrXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZGlkd29ya1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImRpZFdvcmtPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImRpZFdvcmtcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZGlkV29ya1wiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkaWRXb3JrJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigodGhpcy5jdXJyZW50U3RhdGUgPT09ICdDVCcgJiYgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIHx8IGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSlcclxuICAgICAgICAgICAgICYmICgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndvcmtXZWVrXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQud29ya3dlZWtcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtY2hlY2tib3ggW25hbWVdPVwiJ3dvcmtXZWVrLWdyb3VwJ1wiIFt2YWx1ZV09XCJjaG9pY2UudmFsdWVcIiBbbGFiZWxdPVwiY2hvaWNlLnRleHRcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNob2ljZSBvZiB3b3JrV2Vla09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwid29ya1dlZWtcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cImFwcC1wLWNoZWNrYm94XCI+PC9wLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrV2VlaycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlICYmICgoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSBcclxuICAgICAgICAgICAgICAgICAgICB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlYXNvblNlcGFyYXRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyBcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyBcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsXCIgW2Zvcm1Db250cm9sXT1cInJlYXNvblNlcGFyYXRpb25cIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicmVhc29uU2VwYXJhdGlvblwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZWFzb25TZXBhcmF0aW9uJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gYWRkIGZvciBxdWl0IGFuZCBkaXNjaGFyZ2UgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIFxyXG4gICAgICAgICAgICAgICAgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiByZWFzb25TZXBhcmF0aW9uLnZhbHVlICYmIHJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdEQ0ZJJyBcclxuICAgICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJkaXNjaGFyZ2VEZXRhaWxcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5kaXNjaGFyZ2VcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJkaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsXCIgW2Zvcm1Db250cm9sXT1cImRpc2NoYXJnZURldGFpbFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJkaXNjaGFyZ2VEZXRhaWxcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlzY2hhcmdlRGV0YWlsJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSBcclxuICAgICAgICAgICAgICB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHJlYXNvblNlcGFyYXRpb24udmFsdWUgJiYgcmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ1ZPTFEnIFxyXG4gICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInZvbFF1aXREZXRhaWxzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24ucXVpdFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cInZvbFF1aXRSZWFzb25PcHRpb25zQWxsXCIgW2Zvcm1Db250cm9sXT1cInZvbFF1aXREZXRhaWxzXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInZvbFF1aXREZXRhaWxzXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZvbFF1aXREZXRhaWxzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtaWxQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnBlbnNpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cIm1pbFBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJtaWxQZW5zaW9uRmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J21pbFBlbnNpb25GbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtaWxQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cIm1pbFBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJtaWxQZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J21pbFBlbnNpb25SZWN2RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZDIxNEZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNFwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTogaW5saW5lLWZsZXg7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaWQ9XCJkZDIxNEZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImRkMjE0RmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiAob25PcHRpb25DbGljayk9XCJwdXRNaWxWYWxpZGF0aW9uKCRldmVudClcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2RkMjE0RmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWRcIj5cclxuXHJcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwicGFkLXNwYWNlXCI+IFxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwicGFkLXNwYWNlXCI+IFxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgZGQyMTRGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInBhcmFPbmUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWZpbGUtdXBsb2FkZXIgW2Zvcm1Db250cm9sXT1cImRkMjE0RmlsZVwiIFt1cGxvYWRlZEZpbGVGb3JFZGl0XT1cImRkMjE0RmlsZS52YWx1ZVwiPjwvYXBwLWZpbGUtdXBsb2FkZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFUd28gfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYVRocmVlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFGb3VyIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFGaXZlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhU2l4fCB0cmFuc2xhdGUpXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDE1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgZGQyMTRGbGFnLnZhbHVlPT09J04nXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwibm9QYXJhT25lIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1maWxlLXVwbG9hZGVyIFtmb3JtQ29udHJvbF09XCJkZDIxNEZpbGVcIiBbdXBsb2FkZWRGaWxlRm9yRWRpdF09XCJkZDIxNEZpbGUudmFsdWVcIj48L2FwcC1maWxlLXVwbG9hZGVyPiAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhVHdvIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhVGhyZWUgfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYUZvdXIgfCB0cmFuc2xhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDE1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFGaXZlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIih0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTVMnICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIG9zYUJwRW1wbG95ZXJGbGFnLnZhbHVlID09PScxJylcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImdyb3NzV2FnZXNcIiBzdHlsZT1cImlubGluZS1zaXplOiBtYXgtY29udGVudDtcIj5Ub3RhbCBXYWdlcyBFYXJuZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwiZ3Jvc3NXYWdlc1wiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ3Jvc3NXYWdlcycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkUGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDxicj4ge3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucGVuc2lvbi5kaXNjbGFpbWVyXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwiZmVkUGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZlZFBlbnNpb25GbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucGVuc2lvbi5pbmZvJ3wgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFBlbnNpb25GbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImZlZFBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFBlbnNpb25SZWN2RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaWQ9XCJzZXZQYXlGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlGbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5RmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndlZWtseUFtb3VudFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrbHkuYW10XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwid2Vla2x5QW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiIGlucHV0SWQ9XCJ3ZWVrbHlBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2Vla2x5QW1vdW50JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJudW1iZXJPZldlZWtzXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLndlZWtzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwibnVtYmVyT2ZXZWVrc1wiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiIFtmb3JtQ29udHJvbF09XCJudW1iZXJPZldlZWtzXCJcclxuICAgICAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCI0XCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J251bWJlck9mV2Vla3MnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlBbW91bnRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UuZW50aXRsZW1lbnRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtmb3JtQ29udHJvbF09XCJzZXZQYXlBbW91bnRcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjk5OTk5OS45OVwiIGxvY2FsZT1cImVuLVVTXCIgaW5wdXRJZD1cInNldlBheUFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlBbW91bnQnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheVN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS5zdGFydC5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlTdGFydERhdGVcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgW2Zvcm1Db250cm9sXT1cInNldlBheVN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlTdGFydERhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheUVuZERhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UuZW5kLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInNldlBheUVuZERhdGVcIiBbZm9ybUNvbnRyb2xdPVwic2V2UGF5RW5kRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlFbmREYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLnBheS5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCIgW2Zvcm1Db250cm9sXT1cInNldlBheVBheW1lbnRTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBlbnNpb25GbGFnXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucGVuc2lvblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpZD1cInBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uRmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucGVuc2lvbi5pbmZvJ3wgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVuc2lvbkZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knICYmIHBlbnNpb25GbGFnLnZhbHVlPT09J1knIFxyXG4gICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlbnNpb25SZWN2RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIighaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ1BlbnNpb25GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvblwifHRyYW5zbGF0ZX19IDxiciAvPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5kaXNjbGFpbWVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwicmVnUGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25GbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5pbmZvJ3wgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlZ1BlbnNpb25GbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIighaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgXHJcbiAgICAgICAgICAgICYmIHJlZ1BlbnNpb25GbGFnLnZhbHVlPT09J1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwicmVnUGVuc2lvblJlY3ZEYXRlXCIgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVnUGVuc2lvblJlY3ZEYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBSRUcgRGlzbWlzc2FsUGF5RmxhZyAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSBcclxuICAgICAgICAgICAgICAgICYmIChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyApICYmIHRoaXMuY3VycmVudFN0YXRlID09ICdDVCcpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ0Rpc3NtaXNhbEZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5kaXNzbWlzYWxGbGFnXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwicmVnRGlzc21pc2FsRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicmVnRGlzc21pc2FsRmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZWdEaXNzbWlzYWxGbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFJFRyBkaXNtaXNzYWxDaGVja0JveC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKCh0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ0NUJyAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpKVxyXG4gICAgICAgICAgICAmJiAoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpKSAmJiB0aGlzLnJlZ0Rpc3NtaXNhbEZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVnRGlzc21pc2FsQ2hlY2tCb3hcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5kaXNzbWlzYWxDaGVja0JveFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1jaGVja2JveCBbbmFtZV09XCIncmVnRGlzc21pc2FsQ2hlY2tCb3gtZ3JvdXAnXCIgW3ZhbHVlXT1cImNob2ljZS52YWx1ZVwiIFtsYWJlbF09XCJjaG9pY2UudGV4dFwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIGRpc3NtaXNhbENoZWNrQm94T3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJyZWdEaXNzbWlzYWxDaGVja0JveFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwiYXBwLXAtY2hlY2tib3hcIj48L3AtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlZ0Rpc3NtaXNhbENoZWNrQm94JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIFJFRyBMYWlkT2ZmRmxhZy0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICYmIChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyApICYmIHRoaXMuY3VycmVudFN0YXRlID09ICdDVCcpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ0xhaWRPZmZGbGFnXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQubGFpZE9mZkZsYWdcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTpmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaWQ9XCJyZWdMYWlkT2ZmRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicmVnTGFpZE9mZkZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVnTGFpZE9mZkZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgIDwhLS0gRkVEIERpc21pc3NhbFBheUZsYWcgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYmIChlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyApICYmIHRoaXMuY3VycmVudFN0YXRlID09ICdDVCcpXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZERpc3NtaXNhbEZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5kaXNzbWlzYWxGbGFnXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwiZmVkRGlzc21pc2FsRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZmVkRGlzc21pc2FsRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWREaXNzbWlzYWxGbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIEZFRCAgZGlzbWlzc2FsQ2hlY2tCb3ggLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKHRoaXMuY3VycmVudFN0YXRlID09PSAnQ1QnICYmIChlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykpXHJcbiAgICAgICAgICAgICAgICAgICAgICAmJiAoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpKSAmJiB0aGlzLmZlZERpc3NtaXNhbEZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkRGlzc21pc2FsQ2hlY2tCb3hcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5kaXNzbWlzYWxDaGVja0JveFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1jaGVja2JveCBbbmFtZV09XCInZmVkRGlzc21pc2FsQ2hlY2tCb3gtZ3JvdXAnXCIgW3ZhbHVlXT1cImNob2ljZS52YWx1ZVwiIFtsYWJlbF09XCJjaG9pY2UudGV4dFwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIGRpc3NtaXNhbENoZWNrQm94T3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWREaXNzbWlzYWxDaGVja0JveFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwiYXBwLXAtY2hlY2tib3hcIj48L3AtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZERpc3NtaXNhbENoZWNrQm94JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gRkVEICBMYWlkT2ZmRmxhZy0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmJiAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgKSAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PSAnQ1QnKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRMYWlkT2ZmRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmxhaWRPZmZGbGFnXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwiZmVkTGFpZE9mZkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImZlZExhaWRPZmZGbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZExhaWRPZmZGbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKVxyXG4gICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdDVCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImlzQ2xtdFBhaWRXaGlsZUxvd1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVtcGxveWVyLnBheS5yZXR1cm4udG8ud29ya1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXg7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaWQ9XCJpc0NsbXRQYWlkV2hpbGVMb3dcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImlzQ2xtdFBhaWRXaGlsZUxvd1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm9cclxuICAgICAgICAgICAgICAgICAgb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLmVtcGxveWVyUGF5UmV0dXJuVG9Xb3JrSW5mbyd8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdpc0NsbXRQYWlkV2hpbGVMb3cnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlID09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzU2hvcnRUZXJtRGlzYWJpbGl0eVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnNob3J0dGVybWRpc2FiaWxpdHlcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAge3ticFN0YXJ0RGF0ZVRvRGlzcGxheSB8IGRhdGU6J01NTU0gZCwgeXl5eSd9fSA/PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwiaGFzU2hvcnRUZXJtRGlzYWJpbGl0eVwiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaGFzU2hvcnRUZXJtRGlzYWJpbGl0eVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hhc1Nob3J0VGVybURpc2FiaWxpdHknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlPT09J01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYXNSZWN2UmVtdW5lcmF0aW9uXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVtdW5lcmF0aW9uLnBheVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwiaGFzUmVjdlJlbXVuZXJhdGlvblwiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaGFzUmVjdlJlbXVuZXJhdGlvblwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hhc1JlY3ZSZW11bmVyYXRpb24nIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRScgJiYgaGFzUmVjdlJlbXVuZXJhdGlvbi52YWx1ZT09PSdZJyAmJiBvc2FCcEVtcGxveWVyRmxhZy52YWx1ZT09PScwJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZW11bmVyYXRpb25UeXBlc1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlbXVuZXJhdGlvbi50eXBlc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1jaGVja2JveCBbbmFtZV09XCIncmVtdW5lcmF0aW9udHlwZXMtZ3JvdXAnXCIgW3ZhbHVlXT1cImNob2ljZS52YWx1ZVwiIFtsYWJlbF09XCJjaG9pY2UudGV4dFwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIHJlbXVuZXJhdGlvblR5cGVPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInJlbXVuZXJhdGlvblR5cGVzXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJhcHAtcC1jaGVja2JveFwiPjwvcC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVtdW5lcmF0aW9uVHlwZXMnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knICYmIHNjaG9vbEZsYWcgPT09JzEnKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlID09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwidmFjYXRpb25cIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC52YWNhdGlvbi5icmVha1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwidmFjYXRpb25cIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInZhY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndmFjYXRpb24nIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAqbmdJZj1cIndvcmtTdGF0ZS52YWx1ZSAmJiB3b3JrU3RhdGUudmFsdWUudmFsdWU9PT10aGlzLmN1cnJlbnRTdGF0ZSAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxoND57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuaGVhZGVyXCJ8dHJhbnNsYXRlfX08L2g0PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5zdWJoZWFkZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrVHlwZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLndvcmsudHlwZVwiIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJ3b3JrVHlwZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIndvcmtUeXBlXCIgbWF4bGVuZ3RoPVwiNTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd29ya1R5cGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBheW1lbnRUeXBlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLnBheW1vZGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaWQ9XCJwYXltZW50VHlwZVwiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJwYXlNZXRob2RPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInBheW1lbnRUeXBlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5bWVudFR5cGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZG9jc1JlY2VpdmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmRvY3NcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaWQ9XCJkb2NzUmVjZWl2ZWRcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwid2FnZVByb29mT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJkb2NzUmVjZWl2ZWRcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkb2NzUmVjZWl2ZWQnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwib3RoZXJTU05GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLnNzbi5mbGFnXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAge3ticFN0YXJ0RGF0ZVRvRGlzcGxheSB8IGRhdGU6J01NTU0gZCwgeXl5eSd9fSA/XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwib3RoZXJTU05GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm90aGVyU1NORmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoZXJTU05GbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInRoaXMub3RoZXJTU05GbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJvdGhlclNTTlwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5zc25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OS05OS05OTk5XCIgaWQ9XCJvdGhlclNTTlwiIFtmb3JtQ29udHJvbF09XCJvdGhlclNTTlwiIHBsYWNlaG9sZGVyPVwiOTk5LTk5LTk5OTlcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1pbnB1dE1hc2s+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoZXJTU04nIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGlyZWRCeVwiPk1hbmFnZXIncyBOYW1lICYgVGl0bGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJoaXJlZEJ5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiaGlyZWRCeVwiIG1heGxlbmd0aD1cIjQwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGlyZWRCeScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvd1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwid29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSB0aGlzLmN1cnJlbnRTdGF0ZSAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJvdGhlck5hbWVGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLm5hbWUuZmxhZ1wifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAge3ticFN0YXJ0RGF0ZVRvRGlzcGxheSB8IGRhdGU6J01NTU0gZCwgeXl5eSd9fSA/XHJcbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlkPVwib3RoZXJOYW1lRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm90aGVyTmFtZUZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoZXJOYW1lRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ0aGlzLm90aGVyTmFtZUZsYWcudmFsdWUgPT09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJvdGhlck5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMub3RoZXIubmFtZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwib3RoZXJOYW1lXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwib3RoZXJOYW1lXCIgbWF4bGVuZ3RoPVwiMzBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoZXJOYW1lJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGlvbi1yb3cgKm5nSWY9XCJ3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J01TJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVpblwiPkZFSU48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaWRdPVwiZmVpblwiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiIFtmb3JtQ29udHJvbF09XCJmZWluXCIgbWF4bGVuZ3RoPVwiOVwiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlaW4nIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRvaW5nQnVzaW5lc3NBc1wiPkRvaW5nIEJ1c2luZXNzIEFzL1RyYWRlIE5hbWU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJkb2luZ0J1c2luZXNzQXNcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJkb2luZ0J1c2luZXNzQXNcIiBtYXhsZW5ndGg9XCIxMDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkb2luZ0J1c2luZXNzQXMnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tPGlvbi1yb3cgKm5nSWY9XCJ3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09dGhpcy5jdXJyZW50U3RhdGUgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgXHJcbiAgICAgICAgICAgICAgICAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgZmFsc2VcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYnVzaW5lc3NOYXR1cmVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ubmF0dXJlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJidXNpbmVzc05hdHVyZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImJ1c2luZXNzTmF0dXJlXCIgbWF4bGVuZ3RoPVwiMjUwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYnVzaW5lc3NOYXR1cmUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz4tLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIigod29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PWN1cnJlbnRTdGF0ZSAmJiBlbXBsb3llclR5cGUgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKSBcclxuICAgICAgICAgICAgICAgICAgICB8fCAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgaXNOZXdDbGFpbSkpICYmIChlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD48Yj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC52ZXJpZmljYXRpb24ud2FnZXNcInx0cmFuc2xhdGV9fTwvYj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD48Yj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXNcInx0cmFuc2xhdGV9fTwvYj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC52ZXJpZmljYXRpb24ud2FnZXMuc3RhdGVtZW50XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPHRhYmxlIHJ1bGVzPXJvd3M+XHJcbiAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmNvbDFcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5jb2wyXCJ8dHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJ3YWdlQW1vdW50QXJyYXlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB3YWdlQW1vdW50Rm9ybSBvZiB3YWdlQW1vdW50QXJyYXkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKChlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykgfHwgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHdhZ2VBbW91bnRGb3JtLnZhbHVlLmRpc3BsYXlGb3JBbGw9PT10cnVlKSApXCIgY2xhc3M9XCJxdWFydGVyVGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t3YWdlQW1vdW50Rm9ybS52YWx1ZS5xdHJZZWFyRGlzcGxheVN0cmluZ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaW5wdXRJZF09XCInd2FnZUFtb3VudCcgKyBpXCIgYXJpYUxhYmVsPVwid2FnZUFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ3YWdlQW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgW21pbl09XCIwLjAwXCIgW21heF09XCI5OTk5OTkuOTlcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeT1cIlVTRFwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJ3YWdlQW1vdW50QXJyYXkuZXJyb3JzPy5yZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3YWdlQW1vdW50QXJyYXknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZDogJ2F0IGxlYXN0IG9uZSBhbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybydcclxuICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN0YXRlbWVudDEgfCB0cmFuc2xhdGUpXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3RhdGVtZW50MiB8IHRyYW5zbGF0ZSlcIj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3RhdGVtZW50MyB8IHRyYW5zbGF0ZSlcIj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN0YXRlbWVudDQgfCB0cmFuc2xhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDE1cHg7XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICA8aW9uLXJvdz5cclxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJvbk1vZGVsQ2FuY2VsKGZhbHNlKVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJyZXNldFwiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uY2FuY2VsXCJ8dHJhbnNsYXRlfX0gPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHN0eWxlPVwid2lkdGg6IDgwcHg7XCIgKGNsaWNrKT1cInNhdmUoKVwiIHR5cGU9XCJzdWJtaXRcIiAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uc2F2ZVwifHRyYW5zbGF0ZX19IDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiIChjbGljayk9XCJhZGQoKVwiIHR5cGU9XCJzdWJtaXRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLmFkZFwifHRyYW5zbGF0ZX19IDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZm9ybT5cclxuPC9wLWRpYWxvZz4iXX0=