ngx-wapp-components 1.0.83 → 1.0.85

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.
@@ -164,8 +164,9 @@ export class WTableLazyComponent {
164
164
  }
165
165
  getBooleanColumnClass(index, valueProperty) {
166
166
  return {
167
- [`${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIconColor} ${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIcon}`]: valueProperty,
168
- [`${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIconColor} ${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIcon}`]: !valueProperty
167
+ [`${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIconColor} ${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIcon}`]: valueProperty == true,
168
+ [`${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIconColor} ${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIcon}`]: valueProperty == false,
169
+ [`${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIconColor} ${this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIcon}`]: valueProperty == null
169
170
  };
170
171
  }
171
172
  clear(table) {
@@ -261,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
261
262
  type: ViewChild,
262
263
  args: ['table']
263
264
  }] } });
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy10YWJsZS1sYXp5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlcy93LXRhYmxlLWxhenkvdy10YWJsZS1sYXp5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlcy93LXRhYmxlLWxhenkvdy10YWJsZS1sYXp5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPdEgsTUFBTSxPQUFPLG1CQUFtQjtJQTRCOUIsWUFDVSxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQTVCbEQscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBSTdCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO1FBSVYsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHdEIsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFHNUIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUUxRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ3JELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFNM0UsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksWUFBWSxHQUE0QjtZQUMxQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQU07WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFZO1lBQ3ZCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBVTtZQUMzQixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVU7WUFDM0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUMvQyxPQUFPO29CQUNMLFVBQVUsRUFBRSxHQUFJO29CQUNoQixLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLO29CQUNoQyxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFVO2lCQUMxQyxDQUFBO1lBQ0gsQ0FBQyxDQUFDO1NBQ0gsQ0FBQTtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBUSxFQUFFLElBQVk7UUFDakMsSUFBSSxPQUFPLEdBQUcsS0FBSyxXQUFXLEVBQUU7WUFDOUIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBRWpCLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMvQyxJQUFJLEtBQUssRUFBRTtnQkFDVCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFO29CQUN2RyxPQUFPLFNBQVMsQ0FBQztpQkFDbEI7Z0JBQ0QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNuQztpQkFBTTtnQkFDTCxJQUFJLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFdBQVcsRUFBRTtvQkFDM0MsT0FBTyxTQUFTLENBQUM7aUJBQ2xCO2dCQUNELE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDM0I7U0FDRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBWTtRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE9BQVk7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBVTtRQUMvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBcUI7WUFDbkMsT0FBTyxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQywwQkFBMEI7WUFDbkUsSUFBSSxFQUFFLDRCQUE0QjtZQUNsQyxXQUFXLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLHFCQUFxQjtZQUNsRSxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNYLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDdEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVksRUFBRSxPQUFZO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7WUFDL0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFxQjtZQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLHdCQUF3QjtZQUNqRSxJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMscUJBQXFCO1lBQ2xFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBWTtRQUM5QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVksRUFBRSxPQUFZO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7WUFDL0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFxQjtZQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQjtZQUN6RCxJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMsbUJBQW1CO1lBQ2hFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQUssR0FBRyxFQUFFO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3BELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVU7UUFDMUIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUU5QixJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDMUksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNWO2FBQ0k7WUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLFdBQWtCO1FBQ3RDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMsZUFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDN0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQWEsRUFBRSxhQUFzQjtRQUN6RCxPQUFPO1lBQ0wsQ0FBQyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsYUFBYTtZQUMzSyxDQUFDLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWE7U0FDL0ssQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBWTtRQUNoQixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxTQUFpQjtRQUN4QyxJQUFHLFNBQVMsSUFBSSx5QkFBeUIsQ0FBQyxLQUFLO1lBQUUsT0FBTyxZQUFZLENBQUM7UUFDckUsSUFBRyxTQUFTLElBQUkseUJBQXlCLENBQUMsSUFBSTtZQUFFLE9BQU8sV0FBVyxDQUFDO1FBQ25FLElBQUcsU0FBUyxJQUFJLHlCQUF5QixDQUFDLE1BQU07WUFBRSxPQUFPLGFBQWEsQ0FBQztRQUN2RSxPQUFPLFdBQVcsQ0FBQTtJQUNwQixDQUFDO0lBRUQsMkNBQTJDLENBQUMsVUFBNEI7UUFDdEUsSUFBRyxVQUFVLElBQUksZ0JBQWdCLENBQUMsSUFBSTtZQUFFLE9BQU8sV0FBVyxDQUFDO1FBQzNELElBQUcsVUFBVSxJQUFJLGdCQUFnQixDQUFDLFFBQVE7WUFBRSxPQUFPLFdBQVcsQ0FBQztRQUMvRCxJQUFHLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJO1lBQUUsT0FBTyxXQUFXLENBQUM7UUFDM0QsSUFBRyxVQUFVLElBQUksZ0JBQWdCLENBQUMsS0FBSztZQUFFLE9BQU8sYUFBYSxDQUFDO1FBQzlELElBQUcsVUFBVSxJQUFJLGdCQUFnQixDQUFDLE9BQU87WUFBRSxPQUFPLGFBQWEsQ0FBQztRQUNoRSxJQUFHLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLO1lBQUUsT0FBTyxhQUFhLENBQUM7UUFDOUQsSUFBRyxVQUFVLElBQUksZ0JBQWdCLENBQUMsTUFBTTtZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQzlELE9BQU8sV0FBVyxDQUFBO0lBQ3BCLENBQUM7O2dIQTdOVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwrdEJDWmhDLGt0akJBcU5pQzsyRkR6TXBCLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxjQUFjOzBHQVlOLE9BQU87c0JBQXhCLEtBQUs7dUJBQUMsU0FBUztnQkFDRyxRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBQ0ssV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhO2dCQUNFLFdBQVc7c0JBQWhDLEtBQUs7dUJBQUMsYUFBYTtnQkFDRyxZQUFZO3NCQUFsQyxLQUFLO3VCQUFDLGNBQWM7Z0JBQ0ksY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ2MsMEJBQTBCO3NCQUE5RCxLQUFLO3VCQUFDLDRCQUE0QjtnQkFFVixhQUFhO3NCQUFyQyxNQUFNO3VCQUFDLGVBQWU7Z0JBRUksZUFBZTtzQkFBekMsTUFBTTt1QkFBQyxpQkFBaUI7Z0JBQ00sbUJBQW1CO3NCQUFqRCxNQUFNO3VCQUFDLHFCQUFxQjtnQkFDSSxxQkFBcUI7c0JBQXJELE1BQU07dUJBQUMsdUJBQXVCO2dCQUNBLG1CQUFtQjtzQkFBakQsTUFBTTt1QkFBQyxxQkFBcUI7Z0JBQ0UsbUJBQW1CO3NCQUFqRCxNQUFNO3VCQUFDLHFCQUFxQjtnQkFDSSxxQkFBcUI7c0JBQXJELE1BQU07dUJBQUMsdUJBQXVCO2dCQUNELGtCQUFrQjtzQkFBL0MsTUFBTTt1QkFBQyxvQkFBb0I7Z0JBRVIsU0FBUztzQkFBNUIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIExhenlMb2FkRXZlbnQgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcbmltcG9ydCB7IExhenlFbGVtZW50UXVlcnlSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9sYXp5LWVsZW1lbnQtcXVlcnktcmVxdWVzdC5tb2RlbCc7XHJcbmltcG9ydCB7IFdhcHBUYWJsZUxhenlMb2FkaW5nIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy93YXBwLXRhYmxlLWxhenktbG9hZGluZy5tb2RlbCc7XHJcbmltcG9ydCB7IFRhYmxlQ29sdW1uRmlsdGVyVHlwZXMsIFRhYmxlQ29sdW1uVHlwZXMsIFdhcHBUYWJsZUNvbHVtbkFsaWduVHlwZXMgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL2VudW1zLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndy10YWJsZS1sYXp5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdy10YWJsZS1sYXp5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93LXRhYmxlLWxhenkuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV1RhYmxlTGF6eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc2VsZWN0ZWRFbGVtZW50czogYW55W10gPSBbXTtcclxuICB0cmFuc2xhdGlvbnM6IGFueTtcclxuICBsYXN0UXVlcnkhOiBMYXp5RWxlbWVudFF1ZXJ5UmVxdWVzdDtcclxuXHJcbiAgc2VsZWN0QWxsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZmlsdGVyRWxlbWVudHNJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgQElucHV0KCdsb2FkaW5nJykgbG9hZGluZyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCdlbGVtZW50cycpIGVsZW1lbnRzITogYW55W107XHJcbiAgQElucHV0KCdyb3dzUGVyUGFnZScpIHJvd3NQZXJQYWdlOiBudW1iZXIgPSAxMDtcclxuICBASW5wdXQoJ2FsbEVsZW1lbnRzJykgYWxsRWxlbWVudHMhOiBhbnlbXTtcclxuICBASW5wdXQoJ3RvdGFsUmVjb3JkcycpIHRvdGFsUmVjb3JkcyE6IG51bWJlcjtcclxuICBASW5wdXQoJ21heFJvd3NQZXJQYWdlJykgbWF4Um93c1BlclBhZ2U6IG51bWJlciA9IDUwO1xyXG4gIEBJbnB1dCgnd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QnKSB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdCE6IFdhcHBUYWJsZUxhenlMb2FkaW5nO1xyXG5cclxuICBAT3V0cHV0KCdxdWVyeUVsZW1lbnRzJykgcXVlcnlFbGVtZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8TGF6eUVsZW1lbnRRdWVyeVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoJ29uRWxlbWVudFNlbGVjdCcpIG9uRWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uVmlld0VsZW1lbnRTZWxlY3QnKSBvblZpZXdFbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgnb25DdXN0b21FbGVtZW50U2VsZWN0Jykgb25DdXN0b21FbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgnb25Db3B5RWxlbWVudFNlbGVjdCcpIG9uQ29weUVsZW1lbnRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCdvbkVkaXRFbGVtZW50U2VsZWN0Jykgb25FZGl0RWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uRGVsZXRlRWxlbWVudFNlbGVjdCcpIG9uRGVsZXRlRWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcbiAgQE91dHB1dCgnb25BbGxFbGVtZW50U2VsZWN0Jykgb25BbGxFbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCd0YWJsZScpIGRhdGFUYWJsZSE6IFRhYmxlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGxvYWRFbGVtZW50cyhldmVudDogTGF6eUxvYWRFdmVudCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGxldCBhZGFwdGVkUXVlcnk6IExhenlFbGVtZW50UXVlcnlSZXF1ZXN0ID0ge1xyXG4gICAgICBmaXJzdDogZXZlbnQuZmlyc3QhLFxyXG4gICAgICByb3dzOiB0aGlzLnJvd3NQZXJQYWdlISxcclxuICAgICAgc29ydE9yZGVyOiBldmVudC5zb3J0T3JkZXIhLFxyXG4gICAgICBzb3J0RmllbGQ6IGV2ZW50LnNvcnRGaWVsZCEsXHJcbiAgICAgIGZpbHRlcnM6IE9iamVjdC5rZXlzKGV2ZW50LmZpbHRlcnMhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBjb2x1bW5OYW1lOiBrZXkhLFxyXG4gICAgICAgICAgdmFsdWU6IGV2ZW50LmZpbHRlcnMhW2tleV0udmFsdWUsXHJcbiAgICAgICAgICBtYXRjaE1vZGU6IGV2ZW50LmZpbHRlcnMhW2tleV0ubWF0Y2hNb2RlIVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIHRoaXMubGFzdFF1ZXJ5ID0gYWRhcHRlZFF1ZXJ5O1xyXG4gICAgdGhpcy5xdWVyeUVsZW1lbnRzLmVtaXQoYWRhcHRlZFF1ZXJ5KTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4geyAgICBcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIHJlbG9hZEVsZW1lbnRzKCkge1xyXG4gICAgdGhpcy5sYXN0UXVlcnkucm93cyA9IHRoaXMucm93c1BlclBhZ2U7XHJcbiAgICB0aGlzLnF1ZXJ5RWxlbWVudHMuZW1pdCh0aGlzLmxhc3RRdWVyeSk7XHJcbiAgfVxyXG5cclxuICByZWFkUHJvcGVydHkob2JqOiBhbnksIHByb3A6IHN0cmluZyk6IGFueSB7XHJcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBwcm9wLnNwbGl0KCcuJyk7XHJcbiAgICBsZXQgcmVzdWx0ID0gb2JqO1xyXG5cclxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xyXG4gICAgICBjb25zdCBtYXRjaCA9IHByb3BlcnR5Lm1hdGNoKC8oLis/KVxcWyhcXGQrKVxcXS8pO1xyXG4gICAgICBpZiAobWF0Y2gpIHtcclxuICAgICAgICBjb25zdCBhcnJheVByb3AgPSBtYXRjaFsxXTtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHBhcnNlSW50KG1hdGNoWzJdLCAxMCk7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc3VsdFthcnJheVByb3BdKSB8fCBpc05hTihpbmRleCkgfHwgaW5kZXggPCAwIHx8IGluZGV4ID49IHJlc3VsdFthcnJheVByb3BdLmxlbmd0aCkge1xyXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0W2FycmF5UHJvcF1baW5kZXhdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0eXBlb2YgcmVzdWx0W3Byb3BlcnR5XSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdFtwcm9wZXJ0eV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgb25FbGVtZW50KGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbkVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHZpZXdFbGVtZW50KGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vblZpZXdFbGVtZW50U2VsZWN0LmVtaXQoZWxlbWVudCk7XHJcbiAgfVxyXG4gIGN1c3RvbUVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ3VzdG9tRWxlbWVudFNlbGVjdC5lbWl0KGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgZWRpdEVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uRWRpdEVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1EZWxldGVTZWxlY3Rpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xyXG4gICAgICB0YXJnZXQ6IGV2ZW50LnRhcmdldCBhcyBFdmVudFRhcmdldCxcclxuICAgICAgbWVzc2FnZTogdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtTXVsdGlwbGVEZWxldGVMYWJlbCxcclxuICAgICAgaWNvbjogXCJwaSBwaS1leGNsYW1hdGlvbi10cmlhbmdsZVwiLFxyXG4gICAgICBhY2NlcHRMYWJlbDogdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtRGVsZXRlQnRuTGFiZWwsXHJcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWRFbGVtZW50cygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNlbGVjdGVkRWxlbWVudHMoKSB7XHJcbiAgICB0aGlzLm9uRGVsZXRlRWxlbWVudFNlbGVjdC5lbWl0KHRoaXMuc2VsZWN0ZWRFbGVtZW50cylcclxuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybURlbGV0ZShldmVudDogRXZlbnQsIGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xyXG4gICAgICB0YXJnZXQ6IGV2ZW50LnRhcmdldCBhcyBFdmVudFRhcmdldCxcclxuICAgICAgbWVzc2FnZTogdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtU2luZ2xlRGVsZXRlTGFiZWwsXHJcbiAgICAgIGljb246IFwicGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGVcIixcclxuICAgICAgYWNjZXB0TGFiZWw6IHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29uZmlybURlbGV0ZUJ0bkxhYmVsLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVNpbmdsZUVsZW1lbnQoZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlU2luZ2xlRWxlbWVudChlbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25EZWxldGVFbGVtZW50U2VsZWN0LmVtaXQoW2VsZW1lbnRdKVxyXG4gIH1cclxuXHJcbiAgY29weUVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ29weUVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Db3B5KGV2ZW50OiBFdmVudCwgZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XHJcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0LFxyXG4gICAgICBtZXNzYWdlOiB0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbmZpcm1Db3B5TGFiZWwsXHJcbiAgICAgIGljb246IFwicGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGVcIixcclxuICAgICAgYWNjZXB0TGFiZWw6IHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29uZmlybUNvcHlCdG5MYWJlbCxcclxuICAgICAgYWNjZXB0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb3B5RWxlbWVudChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZSh2YWx1ZSA9IFtdKSB7XHJcbiAgICB0aGlzLnNlbGVjdEFsbCA9IHZhbHVlLmxlbmd0aCA9PT0gdGhpcy50b3RhbFJlY29yZHM7XHJcbiAgICB0aGlzLnNlbGVjdGVkRWxlbWVudHMgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0QWxsQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGNoZWNrZWQgPSBldmVudC5jaGVja2VkO1xyXG5cclxuICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgIHRoaXMub25BbGxFbGVtZW50U2VsZWN0LmVtaXQodHJ1ZSk7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50cyA9IHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUNoZWNrYm94ID8gdGhpcy5nZXRTZWxlY3RhYmxlRWxlbWVudHModGhpcy5hbGxFbGVtZW50cykgOiB0aGlzLmFsbEVsZW1lbnRzO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnRzID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RhYmxlRWxlbWVudHMoYWxsRWxlbWVudHM6IGFueVtdKSB7XHJcbiAgICByZXR1cm4gYWxsRWxlbWVudHMuZmlsdGVyKChlbGVtZW50OiBhbnkpID0+ICF0aGlzLnJlYWRQcm9wZXJ0eShlbGVtZW50LCB0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVDaGVja2JveCEpKTtcclxuICB9XHJcblxyXG4gIGdldEJvb2xlYW5Db2x1bW5DbGFzcyhpbmRleDogbnVtYmVyLCB2YWx1ZVByb3BlcnR5OiBib29sZWFuKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBbYCR7dGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5Cb29sZWFuVHlwZUljb25zW2luZGV4XS50cnVlSWNvbkNvbG9yfSAke3RoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0udHJ1ZUljb259YF06IHZhbHVlUHJvcGVydHksXHJcbiAgICAgIFtgJHt0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkJvb2xlYW5UeXBlSWNvbnNbaW5kZXhdLmZhbHNlSWNvbkNvbG9yfSAke3RoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0uZmFsc2VJY29ufWBdOiAhdmFsdWVQcm9wZXJ0eVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXIodGFibGU6IFRhYmxlKSB7XHJcbiAgICB0YWJsZS5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0YWJsZUNvbHVtbkZpbHRlclR5cGVzKCk6IHR5cGVvZiBUYWJsZUNvbHVtbkZpbHRlclR5cGVzIHtcclxuICAgIHJldHVybiBUYWJsZUNvbHVtbkZpbHRlclR5cGVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0YWJsZUNvbHVtblR5cGVzKCk6IHR5cGVvZiBUYWJsZUNvbHVtblR5cGVzIHtcclxuICAgIHJldHVybiBUYWJsZUNvbHVtblR5cGVzO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJGaWx0ZXJzKCkge1xyXG4gICAgdGhpcy5kYXRhVGFibGUuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyhhbGlnbm1lbnQ6IG51bWJlcikge1xyXG4gICAgaWYoYWxpZ25tZW50ID09IFdhcHBUYWJsZUNvbHVtbkFsaWduVHlwZXMuUmlnaHQpIHJldHVybiAndGV4dC1yaWdodCc7XHJcbiAgICBpZihhbGlnbm1lbnQgPT0gV2FwcFRhYmxlQ29sdW1uQWxpZ25UeXBlcy5MZWZ0KSByZXR1cm4gJ3RleHQtbGVmdCc7XHJcbiAgICBpZihhbGlnbm1lbnQgPT0gV2FwcFRhYmxlQ29sdW1uQWxpZ25UeXBlcy5DZW50ZXIpIHJldHVybiAndGV4dC1jZW50ZXInO1xyXG4gICAgcmV0dXJuICd0ZXh0LWxlZnQnXHJcbiAgfVxyXG5cclxuICBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3NEZWZhdWx0QnlDb2x1bW5UeXBlKGNvbHVtblR5cGU6IFRhYmxlQ29sdW1uVHlwZXMpIHtcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5UZXh0KSByZXR1cm4gJ3RleHQtbGVmdCc7XHJcbiAgICBpZihjb2x1bW5UeXBlID09IFRhYmxlQ29sdW1uVHlwZXMuQ3VycmVuY3kpIHJldHVybiAndGV4dC1sZWZ0JztcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5EYXRlKSByZXR1cm4gJ3RleHQtbGVmdCc7XHJcbiAgICBpZihjb2x1bW5UeXBlID09IFRhYmxlQ29sdW1uVHlwZXMuQmFkZ2UpIHJldHVybiAndGV4dC1jZW50ZXInO1xyXG4gICAgaWYoY29sdW1uVHlwZSA9PSBUYWJsZUNvbHVtblR5cGVzLkJvb2xlYW4pIHJldHVybiAndGV4dC1jZW50ZXInO1xyXG4gICAgaWYoY29sdW1uVHlwZSA9PSBUYWJsZUNvbHVtblR5cGVzLkltYWdlKSByZXR1cm4gJ3RleHQtY2VudGVyJztcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5OdW1iZXIpIHJldHVybiAndGV4dC1yaWdodCc7XHJcbiAgICByZXR1cm4gJ3RleHQtbGVmdCdcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmZpbHRlci1wYW5lbFwiPjwvbmctY29udGVudD5cclxuPGRpdiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0XCIgW2NsYXNzLnRhYmxlLWNvbnRhaW5lcl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC50YWJsZUNvbnRhaW5lclwiPlxyXG4gICAgPHAtdGFibGUgY2xhc3M9XCJ3LXRhYmxlLXN0eWxlc1wiXHJcbiAgICAgICAgICAgICN0YWJsZSBbdmFsdWVdPVwiZWxlbWVudHNcIiBcclxuICAgICAgICAgICAgZGF0YUtleT1cInt7d2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaWRlbnRpZmljYXRvcn19XCJcclxuICAgICAgICAgICAgW2xhenldPVwidHJ1ZVwiIFxyXG4gICAgICAgICAgICAob25MYXp5TG9hZCk9XCJsb2FkRWxlbWVudHMoJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICBbc2VsZWN0aW9uXT1cInNlbGVjdGVkRWxlbWVudHNcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICBbc2VsZWN0QWxsXT1cInNlbGVjdEFsbFwiIChzZWxlY3RBbGxDaGFuZ2UpPVwib25TZWxlY3RBbGxDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtwYWdpbmF0b3JdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzUGFnaW5hdG9yIVwiXHJcbiAgICAgICAgICAgIFtyb3dzXT1cInJvd3NQZXJQYWdlXCIgXHJcbiAgICAgICAgICAgIFtjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGUgPyB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlICsgJyAnICsgIHJvd3NQZXJQYWdlICsgJyBkZSAnICsgdG90YWxSZWNvcmRzISA6ICdTaG93aW5nICcgKyByb3dzUGVyUGFnZSArICcgb2YgJyArIHRvdGFsUmVjb3JkcyFcIlxyXG4gICAgICAgICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcbiAgICAgICAgICAgIFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFtnbG9iYWxGaWx0ZXJGaWVsZHNdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZ2xvYmFsRmlsdGVyRmllbGRzIVwiXHJcbiAgICAgICAgICAgIFt0YWJsZVN0eWxlXT1cInsnbWluLXdpZHRoJzogd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QudGFibGVNaW5XaWR0aCF9XCJcclxuICAgICAgICAgICAgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGVhckJ1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNHbG9iYWxTZWFyY2hcIiBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGFibGUtcGFnaW5hdG9yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNUb3RhbFBhZ2luZ1NlbGVjdG9yXCIgY2xhc3M9XCJzaG93aW5nLXBlci1wYWdlXCI+IHt7d2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZX19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVG90YWxQYWdpbmdTZWxlY3RvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwbC0yIHNob3dpbmctcGVyLXBhZ2VcIiBbc2l6ZV09XCIxXCIgWyhuZ01vZGVsKV09XCJyb3dzUGVyUGFnZVwiIFtzaG93QnV0dG9uc109XCJ0cnVlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uTGF5b3V0PVwiaG9yaXpvbnRhbFwiIGlucHV0SWQ9XCJob3Jpem9udGFsXCIgc3Bpbm5lck1vZGU9XCJob3Jpem9udGFsXCIgW3N0ZXBdPVwiMVwiIFttaW5dPVwiMVwiIFttYXhdPVwibWF4Um93c1BlclBhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlY3JlbWVudEJ1dHRvbkNsYXNzPVwicC1idXR0b24tb3V0bGluZWRcIiBcclxuICAgICAgICAgICAgICAgICAgICBpbmNyZW1lbnRCdXR0b25DbGFzcz1cInAtYnV0dG9uLW91dGxpbmVkXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgaW5jcmVtZW50QnV0dG9uSWNvbj1cInBpIHBpLXBsdXNcIiBcclxuICAgICAgICAgICAgICAgICAgICBkZWNyZW1lbnRCdXR0b25JY29uPVwicGkgcGktbWludXNcIiBcclxuICAgICAgICAgICAgICAgICAgICBtb2RlPVwiZGVjaW1hbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicmVsb2FkRWxlbWVudHMoKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzR2xvYmFsU2VhcmNoXCIgY2xhc3M9XCJwLWlucHV0LWljb24tbGVmdCBtbC1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1zZWFyY2hcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiaGVpZ2h0LWlucHV0IHctaW5wdXRcIiBwSW5wdXRUZXh0IHR5cGU9XCJ0ZXh0XCIgKGlucHV0KT1cInRhYmxlLmZpbHRlckdsb2JhbCgkZXZlbnQsICdjb250YWlucycpXCIgcGxhY2Vob2xkZXI9XCJ7e3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnNlYXJjaFBsYWNlaG9sZGVyfX1cIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cIiF3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDb2x1bW5GaWx0ZXJzICYmIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94OyBlbHNlIG5vQ2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25bMF0pIDogJ3RleHQtY2VudGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtdGFibGVIZWFkZXJDaGVja2JveD48L3AtdGFibGVIZWFkZXJDaGVja2JveD5cclxuICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9DaGVja2JveD48dGggKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveFwiPjwvdGg+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzU29ydGFibGVDb2x1bW5zOyBlbHNlIHNvbWV0aGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2Ygd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/LmhlYWRlcnM7IGluZGV4IGFzIGlcIiBbY2xhc3NdPVwiaGVhZGVyID09ICgnSW1hZ2VuJyB8fCAnSW1hZ2UnKSA/ICdpbWFnZS1oZWFkZXInOiAnJ1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnblt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveCA/IGkrMSA6IGldKSA6IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzc0RlZmF1bHRCeUNvbHVtblR5cGUod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uVHlwZXNbd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyBpKzEgOiBpXSlcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2hlYWRlcn19XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc29tZXRoaW5nPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzb21ldGhpbmcgbmdGb3IgbGV0LWZpbHRlclR5cGUgW25nRm9yT2ZdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGVhZGVyc1wiIGxldC1pPVwiaW5kZXhcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIFtwU29ydGFibGVDb2x1bW5dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Quc29ydGFibGVOYW1lc1tpXVwiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oZWFkZXJzW2ldID09ICgnSW1hZ2VuJyB8fCAnSW1hZ2UnKSA/ICdpbWFnZS1oZWFkZXInOiAnJ1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25bd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyBpKzEgOiBpXSkgOiBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3NEZWZhdWx0QnlDb2x1bW5UeXBlKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtblR5cGVzW3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94ID8gaSsxIDogaV0pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oZWFkZXJzW2ldfX0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtc29ydEljb24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5zb3J0YWJsZU5hbWVzW2ldICE9IG51bGxcIiBbZmllbGRdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Quc29ydGFibGVOYW1lc1tpXVwiPjwvcC1zb3J0SWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0RlbGV0ZUJ1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNFZGl0QnV0dG9uXCI+PC90aD5cclxuICAgICAgICA8L3RyPlxyXG5cclxuICAgICAgICA8dHIgKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDb2x1bW5GaWx0ZXJzXCI+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94XCIgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25bMF0pIDogJ3RleHQtbGVmdCdcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0ltYWdlXCIgXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnblt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveCA/IDEgOiAwXSkgOiBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3NEZWZhdWx0QnlDb2x1bW5UeXBlKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtblR5cGVzW3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94ID8gMSA6IDBdKVwiPlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWZpbHRlclR5cGUgW25nRm9yT2ZdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uRmlsdGVyVHlwZXNcIiBsZXQtaT1cImluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJmaWx0ZXJUeXBlID09IHRhYmxlQ29sdW1uRmlsdGVyVHlwZXMuVGV4dFwiIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1jb2x1bW5GaWx0ZXIgdHlwZT1cInRleHRcIiBbZmllbGRdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZmlsdGVyTmFtZXNbaV1cIj48L3AtY29sdW1uRmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImZpbHRlclR5cGUgPT0gdGFibGVDb2x1bW5GaWx0ZXJUeXBlcy5NdWx0aXNlbGVjdFwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtY29sdW1uRmlsdGVyIFtmaWVsZF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5maWx0ZXJOYW1lc1tpXVwiIG1hdGNoTW9kZT1cImluXCIgW3Nob3dNZW51XT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmaWx0ZXJcIiBsZXQtdmFsdWUgbGV0LWZpbHRlcj1cImZpbHRlckNhbGxiYWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1tdWx0aVNlbGVjdCBbbmdNb2RlbF09XCJ2YWx1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIFtvcHRpb25zXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnNlbGVjdEZpbHRlckVsZW1lbnRzW2ldXCIgcGxhY2Vob2xkZXI9XCJBbnlcIiAob25DaGFuZ2UpPVwiZmlsdGVyKCRldmVudC52YWx1ZSlcIiBvcHRpb25MYWJlbD1cIm5hbWVcIiBbbWF4U2VsZWN0ZWRMYWJlbHNdPVwiMVwiIFtzZWxlY3RlZEl0ZW1zTGFiZWxdPVwiJ3swfSBpdGVtcydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW9wdGlvbiBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLW11bHRpc2VsZWN0LXJlcHJlc2VudGF0aXZlLW9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0xXCI+e3tvcHRpb24ubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLW11bHRpU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcC1jb2x1bW5GaWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZmlsdGVyVHlwZSA9PSB0YWJsZUNvbHVtbkZpbHRlclR5cGVzLk5vbmVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZmlsdGVyVHlwZSA9PSB0YWJsZUNvbHVtbkZpbHRlclR5cGVzLkJvb2xlYW5cIiBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1jZW50ZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtY29sdW1uRmlsdGVyIHR5cGU9XCJib29sZWFuXCIgW2ZpZWxkXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmZpbHRlck5hbWVzW2ldXCI+PC9wLWNvbHVtbkZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJmaWx0ZXJUeXBlID09IHRhYmxlQ29sdW1uRmlsdGVyVHlwZXMuRGF0ZVwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtY29sdW1uRmlsdGVyIHR5cGU9XCJkYXRlXCIgW2ZpZWxkXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmZpbHRlck5hbWVzW2ldXCI+PC9wLWNvbHVtbkZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0RlbGV0ZUJ1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNFZGl0QnV0dG9uXCI+PC90aD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVsZW1lbnQgbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICAgICAgICA8dHIgKm5nSWY9XCIhbG9hZGluZ1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtY29sdW1uVHlwZSBbbmdGb3JPZl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5UeXBlc1wiIGxldC1pPVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkNoZWNrYm94ICYmIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94XCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUNoZWNrYm94OyBlbHNlIGFjdGl2ZUNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtdGFibGVDaGVja2JveCBbdmFsdWVdPVwiZWxlbWVudFwiIFtkaXNhYmxlZF09XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUNoZWNrYm94KVwiPjwvcC10YWJsZUNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2FjdGl2ZUNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cImVsZW1lbnRcIj48L3AtdGFibGVDaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5JbWFnZVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWNlbnRlcidcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSlcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSlcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbGVtZW50LWltYWdlLXdpZHRoXCIvPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuVGV4dFwiICBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgICB7eyByZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSkgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLk51bWJlclwiICBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LXJpZ2h0J1wiPlxyXG4gICAgICAgICAgICAgICAge3sgcmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5DdXJyZW5jeVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCIgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIj5cclxuICAgICAgICAgICAgICAgIHt7IHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSB8IGN1cnJlbmN5IH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5CYWRnZVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCIgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtY2VudGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgPHctYmFkZ2UgW2xhYmVsXT1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKVwiIFtjb2xvcl09XCInaW5mbydcIj48L3ctYmFkZ2U+ICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5Cb29sZWFuXCIgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtY2VudGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaVwiIFtuZ0NsYXNzXT1cImdldEJvb2xlYW5Db2x1bW5DbGFzcyhpLCByZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSkpXCI+PC9pPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuRGF0ZVwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgICB7eyByZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSkgfCBkYXRlIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzVmlld0J1dHRvblwiIFxyXG4gICAgICAgICAgICAgICAgICAgIHBCdXR0b24gcFJpcHBsZSAoY2xpY2spPVwidmlld0VsZW1lbnQoZWxlbWVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8udmlld1Rvb2x0aXAhXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5wb3NpdGlvbiFcIiBcclxuICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktZXllXCIgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLWluZm8gbXItMlwiPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmN1c3RvbUJ1dHRvbkNvbmZpZz8uaGFzQ3VzdG9tQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBwQnV0dG9uIHBSaXBwbGUgKGNsaWNrKT1cImN1c3RvbUVsZW1lbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY3VzdG9tQnV0dG9uQ29uZmlnPy5pY29uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5jdXN0b21Ub29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24taW5mbyBtci0yXCI+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzRWRpdEJ1dHRvbiAmJiAhd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUVkaXRQcm9wZXJ0eVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIHBCdXR0b24gcFJpcHBsZSAoY2xpY2spPVwiZWRpdEVsZW1lbnQoZWxlbWVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8uZWRpdFRvb2x0aXAhXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5wb3NpdGlvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS1wZW5jaWxcIiBjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24tc3VjY2VzcyBtci0yXCI+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUVkaXRQcm9wZXJ0eVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIHBCdXR0b24gcFJpcHBsZSAoY2xpY2spPVwiZWRpdEVsZW1lbnQoZWxlbWVudClcIiBbZGlzYWJsZWRdPVwicmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVFZGl0UHJvcGVydHkpXCJcclxuICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LmVkaXRUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCJcclxuICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktcGVuY2lsXCIgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLXN1Y2Nlc3MgbXItMlwiPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNDb3B5QnV0dG9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJjb25maXJtQ29weSgkZXZlbnQsIGVsZW1lbnQpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5jb3B5VG9vbHRpcCFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLWNvcHlcIiBjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24taGVscCBtci0yXCI+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNEZWxldGVCdXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5kaXNhYmxlRGVsZXRlUHJvcGVydHk7IGVsc2Ugbm9EaXNhYmxlRGVsZXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBCdXR0b24gcFJpcHBsZSAoY2xpY2spPVwiY29uZmlybURlbGV0ZSgkZXZlbnQsIGVsZW1lbnQpXCIgW2Rpc2FibGVkXT1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5kaXNhYmxlRGVsZXRlUHJvcGVydHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5kZWxldGVUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS10cmFzaFwiIGNsYXNzPVwicC1idXR0b24tdGV4dCBwLWJ1dHRvbi1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0Rpc2FibGVEZWxldGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgKGNsaWNrKT1cImNvbmZpcm1EZWxldGUoJGV2ZW50LCBlbGVtZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LmRlbGV0ZVRvb2x0aXAhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktdHJhc2hcIiBjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24tZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwibG9hZGluZ2JvZHlcIj5cclxuICAgICAgICAgICAgPHRyIGhlaWdodD1cIjcwcHhcIiAqbmdGb3I9XCJsZXQgbiBvZiBbMCwxLDIsMyw0XVwiPlxyXG4gICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBpdGVtIG9mIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtblR5cGVzXCIgW3N0eWxlLndpZHRoXT1cIml0ZW0gPT0gdGFibGVDb2x1bW5UeXBlcy5DaGVja2JveCA/ICc4cmVtJyA6ICcnXCIgPlxyXG4gICAgICAgICAgICAgICAgPHAtdGFibGVDaGVja2JveCAqbmdJZj1cIml0ZW0gPT0gdGFibGVDb2x1bW5UeXBlcy5DaGVja2JveCAmJiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveFwiPjwvcC10YWJsZUNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPHAtc2tlbGV0b24gKm5nSWY9XCJpdGVtID09IHRhYmxlQ29sdW1uVHlwZXMuSW1hZ2VcIiB3aWR0aD1cIjZyZW1cIiBoZWlnaHQ9XCI0cmVtXCI+PC9wLXNrZWxldG9uPlxyXG4gICAgICAgICAgICAgICAgPHAtc2tlbGV0b24gKm5nSWY9XCJpdGVtICE9IHRhYmxlQ29sdW1uVHlwZXMuQ2hlY2tib3ggJiYgaXRlbSAhPSB0YWJsZUNvbHVtblR5cGVzLkltYWdlXCI+PC9wLXNrZWxldG9uPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0VkaXRCdXR0b24gfHwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzRGVsZXRlQnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNFZGl0QnV0dG9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwQnV0dG9uIHBSaXBwbGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS1wZW5jaWxcIiBjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24tc3VjY2VzcyBtci0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNEZWxldGVCdXR0b25cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBCdXR0b24gcFJpcHBsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXRyYXNoXCIgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3AtdGFibGU+XHJcbjwvZGl2PlxyXG48cC1jb25maXJtUG9wdXA+PC9wLWNvbmZpcm1Qb3B1cD4iXX0=
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy10YWJsZS1sYXp5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlcy93LXRhYmxlLWxhenkvdy10YWJsZS1sYXp5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlcy93LXRhYmxlLWxhenkvdy10YWJsZS1sYXp5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPdEgsTUFBTSxPQUFPLG1CQUFtQjtJQTRCOUIsWUFDVSxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQTVCbEQscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBSTdCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO1FBSVYsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHdEIsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFHNUIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUUxRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztR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U0FBUztzQkFBNUIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIExhenlMb2FkRXZlbnQgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcbmltcG9ydCB7IExhenlFbGVtZW50UXVlcnlSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9sYXp5LWVsZW1lbnQtcXVlcnktcmVxdWVzdC5tb2RlbCc7XHJcbmltcG9ydCB7IFdhcHBUYWJsZUxhenlMb2FkaW5nIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy93YXBwLXRhYmxlLWxhenktbG9hZGluZy5tb2RlbCc7XHJcbmltcG9ydCB7IFRhYmxlQ29sdW1uRmlsdGVyVHlwZXMsIFRhYmxlQ29sdW1uVHlwZXMsIFdhcHBUYWJsZUNvbHVtbkFsaWduVHlwZXMgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL2VudW1zLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndy10YWJsZS1sYXp5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdy10YWJsZS1sYXp5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93LXRhYmxlLWxhenkuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV1RhYmxlTGF6eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc2VsZWN0ZWRFbGVtZW50czogYW55W10gPSBbXTtcclxuICB0cmFuc2xhdGlvbnM6IGFueTtcclxuICBsYXN0UXVlcnkhOiBMYXp5RWxlbWVudFF1ZXJ5UmVxdWVzdDtcclxuXHJcbiAgc2VsZWN0QWxsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZmlsdGVyRWxlbWVudHNJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgQElucHV0KCdsb2FkaW5nJykgbG9hZGluZyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCdlbGVtZW50cycpIGVsZW1lbnRzITogYW55W107XHJcbiAgQElucHV0KCdyb3dzUGVyUGFnZScpIHJvd3NQZXJQYWdlOiBudW1iZXIgPSAxMDtcclxuICBASW5wdXQoJ2FsbEVsZW1lbnRzJykgYWxsRWxlbWVudHMhOiBhbnlbXTtcclxuICBASW5wdXQoJ3RvdGFsUmVjb3JkcycpIHRvdGFsUmVjb3JkcyE6IG51bWJlcjtcclxuICBASW5wdXQoJ21heFJvd3NQZXJQYWdlJykgbWF4Um93c1BlclBhZ2U6IG51bWJlciA9IDUwO1xyXG4gIEBJbnB1dCgnd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QnKSB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdCE6IFdhcHBUYWJsZUxhenlMb2FkaW5nO1xyXG5cclxuICBAT3V0cHV0KCdxdWVyeUVsZW1lbnRzJykgcXVlcnlFbGVtZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8TGF6eUVsZW1lbnRRdWVyeVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoJ29uRWxlbWVudFNlbGVjdCcpIG9uRWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uVmlld0VsZW1lbnRTZWxlY3QnKSBvblZpZXdFbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgnb25DdXN0b21FbGVtZW50U2VsZWN0Jykgb25DdXN0b21FbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgnb25Db3B5RWxlbWVudFNlbGVjdCcpIG9uQ29weUVsZW1lbnRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCdvbkVkaXRFbGVtZW50U2VsZWN0Jykgb25FZGl0RWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uRGVsZXRlRWxlbWVudFNlbGVjdCcpIG9uRGVsZXRlRWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcbiAgQE91dHB1dCgnb25BbGxFbGVtZW50U2VsZWN0Jykgb25BbGxFbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCd0YWJsZScpIGRhdGFUYWJsZSE6IFRhYmxlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGxvYWRFbGVtZW50cyhldmVudDogTGF6eUxvYWRFdmVudCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGxldCBhZGFwdGVkUXVlcnk6IExhenlFbGVtZW50UXVlcnlSZXF1ZXN0ID0ge1xyXG4gICAgICBmaXJzdDogZXZlbnQuZmlyc3QhLFxyXG4gICAgICByb3dzOiB0aGlzLnJvd3NQZXJQYWdlISxcclxuICAgICAgc29ydE9yZGVyOiBldmVudC5zb3J0T3JkZXIhLFxyXG4gICAgICBzb3J0RmllbGQ6IGV2ZW50LnNvcnRGaWVsZCEsXHJcbiAgICAgIGZpbHRlcnM6IE9iamVjdC5rZXlzKGV2ZW50LmZpbHRlcnMhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBjb2x1bW5OYW1lOiBrZXkhLFxyXG4gICAgICAgICAgdmFsdWU6IGV2ZW50LmZpbHRlcnMhW2tleV0udmFsdWUsXHJcbiAgICAgICAgICBtYXRjaE1vZGU6IGV2ZW50LmZpbHRlcnMhW2tleV0ubWF0Y2hNb2RlIVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIHRoaXMubGFzdFF1ZXJ5ID0gYWRhcHRlZFF1ZXJ5O1xyXG4gICAgdGhpcy5xdWVyeUVsZW1lbnRzLmVtaXQoYWRhcHRlZFF1ZXJ5KTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4geyAgICBcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIHJlbG9hZEVsZW1lbnRzKCkge1xyXG4gICAgdGhpcy5sYXN0UXVlcnkucm93cyA9IHRoaXMucm93c1BlclBhZ2U7XHJcbiAgICB0aGlzLnF1ZXJ5RWxlbWVudHMuZW1pdCh0aGlzLmxhc3RRdWVyeSk7XHJcbiAgfVxyXG5cclxuICByZWFkUHJvcGVydHkob2JqOiBhbnksIHByb3A6IHN0cmluZyk6IGFueSB7XHJcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBwcm9wLnNwbGl0KCcuJyk7XHJcbiAgICBsZXQgcmVzdWx0ID0gb2JqO1xyXG5cclxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xyXG4gICAgICBjb25zdCBtYXRjaCA9IHByb3BlcnR5Lm1hdGNoKC8oLis/KVxcWyhcXGQrKVxcXS8pO1xyXG4gICAgICBpZiAobWF0Y2gpIHtcclxuICAgICAgICBjb25zdCBhcnJheVByb3AgPSBtYXRjaFsxXTtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHBhcnNlSW50KG1hdGNoWzJdLCAxMCk7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc3VsdFthcnJheVByb3BdKSB8fCBpc05hTihpbmRleCkgfHwgaW5kZXggPCAwIHx8IGluZGV4ID49IHJlc3VsdFthcnJheVByb3BdLmxlbmd0aCkge1xyXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0W2FycmF5UHJvcF1baW5kZXhdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0eXBlb2YgcmVzdWx0W3Byb3BlcnR5XSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdFtwcm9wZXJ0eV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgb25FbGVtZW50KGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbkVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHZpZXdFbGVtZW50KGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vblZpZXdFbGVtZW50U2VsZWN0LmVtaXQoZWxlbWVudCk7XHJcbiAgfVxyXG4gIGN1c3RvbUVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ3VzdG9tRWxlbWVudFNlbGVjdC5lbWl0KGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgZWRpdEVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uRWRpdEVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1EZWxldGVTZWxlY3Rpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xyXG4gICAgICB0YXJnZXQ6IGV2ZW50LnRhcmdldCBhcyBFdmVudFRhcmdldCxcclxuICAgICAgbWVzc2FnZTogdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtTXVsdGlwbGVEZWxldGVMYWJlbCxcclxuICAgICAgaWNvbjogXCJwaSBwaS1leGNsYW1hdGlvbi10cmlhbmdsZVwiLFxyXG4gICAgICBhY2NlcHRMYWJlbDogdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtRGVsZXRlQnRuTGFiZWwsXHJcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWRFbGVtZW50cygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNlbGVjdGVkRWxlbWVudHMoKSB7XHJcbiAgICB0aGlzLm9uRGVsZXRlRWxlbWVudFNlbGVjdC5lbWl0KHRoaXMuc2VsZWN0ZWRFbGVtZW50cylcclxuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybURlbGV0ZShldmVudDogRXZlbnQsIGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xyXG4gICAgICB0YXJnZXQ6IGV2ZW50LnRhcmdldCBhcyBFdmVudFRhcmdldCxcclxuICAgICAgbWVzc2FnZTogdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtU2luZ2xlRGVsZXRlTGFiZWwsXHJcbiAgICAgIGljb246IFwicGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGVcIixcclxuICAgICAgYWNjZXB0TGFiZWw6IHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29uZmlybURlbGV0ZUJ0bkxhYmVsLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVNpbmdsZUVsZW1lbnQoZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlU2luZ2xlRWxlbWVudChlbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25EZWxldGVFbGVtZW50U2VsZWN0LmVtaXQoW2VsZW1lbnRdKVxyXG4gIH1cclxuXHJcbiAgY29weUVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ29weUVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Db3B5KGV2ZW50OiBFdmVudCwgZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XHJcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0LFxyXG4gICAgICBtZXNzYWdlOiB0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbmZpcm1Db3B5TGFiZWwsXHJcbiAgICAgIGljb246IFwicGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGVcIixcclxuICAgICAgYWNjZXB0TGFiZWw6IHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29uZmlybUNvcHlCdG5MYWJlbCxcclxuICAgICAgYWNjZXB0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb3B5RWxlbWVudChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZSh2YWx1ZSA9IFtdKSB7XHJcbiAgICB0aGlzLnNlbGVjdEFsbCA9IHZhbHVlLmxlbmd0aCA9PT0gdGhpcy50b3RhbFJlY29yZHM7XHJcbiAgICB0aGlzLnNlbGVjdGVkRWxlbWVudHMgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0QWxsQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGNoZWNrZWQgPSBldmVudC5jaGVja2VkO1xyXG5cclxuICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgIHRoaXMub25BbGxFbGVtZW50U2VsZWN0LmVtaXQodHJ1ZSk7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50cyA9IHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUNoZWNrYm94ID8gdGhpcy5nZXRTZWxlY3RhYmxlRWxlbWVudHModGhpcy5hbGxFbGVtZW50cykgOiB0aGlzLmFsbEVsZW1lbnRzO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnRzID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RhYmxlRWxlbWVudHMoYWxsRWxlbWVudHM6IGFueVtdKSB7XHJcbiAgICByZXR1cm4gYWxsRWxlbWVudHMuZmlsdGVyKChlbGVtZW50OiBhbnkpID0+ICF0aGlzLnJlYWRQcm9wZXJ0eShlbGVtZW50LCB0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVDaGVja2JveCEpKTtcclxuICB9XHJcblxyXG4gIGdldEJvb2xlYW5Db2x1bW5DbGFzcyhpbmRleDogbnVtYmVyLCB2YWx1ZVByb3BlcnR5OiBib29sZWFuKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBbYCR7dGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5Cb29sZWFuVHlwZUljb25zW2luZGV4XS50cnVlSWNvbkNvbG9yfSAke3RoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0udHJ1ZUljb259YF06IHZhbHVlUHJvcGVydHkgPT0gdHJ1ZSxcclxuICAgICAgW2Ake3RoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0uZmFsc2VJY29uQ29sb3J9ICR7dGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5Cb29sZWFuVHlwZUljb25zW2luZGV4XS5mYWxzZUljb259YF06IHZhbHVlUHJvcGVydHkgPT0gZmFsc2UsIFxyXG4gICAgICBbYCR7dGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5Cb29sZWFuVHlwZUljb25zW2luZGV4XS5udWxsSWNvbkNvbG9yfSAke3RoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0ubnVsbEljb259YF06IHZhbHVlUHJvcGVydHkgPT0gbnVsbCBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyKHRhYmxlOiBUYWJsZSkge1xyXG4gICAgdGFibGUuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdGFibGVDb2x1bW5GaWx0ZXJUeXBlcygpOiB0eXBlb2YgVGFibGVDb2x1bW5GaWx0ZXJUeXBlcyB7XHJcbiAgICByZXR1cm4gVGFibGVDb2x1bW5GaWx0ZXJUeXBlcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdGFibGVDb2x1bW5UeXBlcygpOiB0eXBlb2YgVGFibGVDb2x1bW5UeXBlcyB7XHJcbiAgICByZXR1cm4gVGFibGVDb2x1bW5UeXBlcztcclxuICB9XHJcblxyXG4gIGNsZWFyRmlsdGVycygpIHtcclxuICAgIHRoaXMuZGF0YVRhYmxlLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3MoYWxpZ25tZW50OiBudW1iZXIpIHtcclxuICAgIGlmKGFsaWdubWVudCA9PSBXYXBwVGFibGVDb2x1bW5BbGlnblR5cGVzLlJpZ2h0KSByZXR1cm4gJ3RleHQtcmlnaHQnO1xyXG4gICAgaWYoYWxpZ25tZW50ID09IFdhcHBUYWJsZUNvbHVtbkFsaWduVHlwZXMuTGVmdCkgcmV0dXJuICd0ZXh0LWxlZnQnO1xyXG4gICAgaWYoYWxpZ25tZW50ID09IFdhcHBUYWJsZUNvbHVtbkFsaWduVHlwZXMuQ2VudGVyKSByZXR1cm4gJ3RleHQtY2VudGVyJztcclxuICAgIHJldHVybiAndGV4dC1sZWZ0J1xyXG4gIH1cclxuXHJcbiAgZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzRGVmYXVsdEJ5Q29sdW1uVHlwZShjb2x1bW5UeXBlOiBUYWJsZUNvbHVtblR5cGVzKSB7XHJcbiAgICBpZihjb2x1bW5UeXBlID09IFRhYmxlQ29sdW1uVHlwZXMuVGV4dCkgcmV0dXJuICd0ZXh0LWxlZnQnO1xyXG4gICAgaWYoY29sdW1uVHlwZSA9PSBUYWJsZUNvbHVtblR5cGVzLkN1cnJlbmN5KSByZXR1cm4gJ3RleHQtbGVmdCc7XHJcbiAgICBpZihjb2x1bW5UeXBlID09IFRhYmxlQ29sdW1uVHlwZXMuRGF0ZSkgcmV0dXJuICd0ZXh0LWxlZnQnO1xyXG4gICAgaWYoY29sdW1uVHlwZSA9PSBUYWJsZUNvbHVtblR5cGVzLkJhZGdlKSByZXR1cm4gJ3RleHQtY2VudGVyJztcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5Cb29sZWFuKSByZXR1cm4gJ3RleHQtY2VudGVyJztcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5JbWFnZSkgcmV0dXJuICd0ZXh0LWNlbnRlcic7XHJcbiAgICBpZihjb2x1bW5UeXBlID09IFRhYmxlQ29sdW1uVHlwZXMuTnVtYmVyKSByZXR1cm4gJ3RleHQtcmlnaHQnO1xyXG4gICAgcmV0dXJuICd0ZXh0LWxlZnQnXHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIi5maWx0ZXItcGFuZWxcIj48L25nLWNvbnRlbnQ+XHJcbjxkaXYgKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdFwiIFtjbGFzcy50YWJsZS1jb250YWluZXJdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QudGFibGVDb250YWluZXJcIj5cclxuICAgIDxwLXRhYmxlIGNsYXNzPVwidy10YWJsZS1zdHlsZXNcIlxyXG4gICAgICAgICAgICAjdGFibGUgW3ZhbHVlXT1cImVsZW1lbnRzXCIgXHJcbiAgICAgICAgICAgIGRhdGFLZXk9XCJ7e3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmlkZW50aWZpY2F0b3J9fVwiXHJcbiAgICAgICAgICAgIFtsYXp5XT1cInRydWVcIiBcclxuICAgICAgICAgICAgKG9uTGF6eUxvYWQpPVwibG9hZEVsZW1lbnRzKCRldmVudClcIiBcclxuICAgICAgICAgICAgW3NlbGVjdGlvbl09XCJzZWxlY3RlZEVsZW1lbnRzXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3NlbGVjdEFsbF09XCJzZWxlY3RBbGxcIiAoc2VsZWN0QWxsQ2hhbmdlKT1cIm9uU2VsZWN0QWxsQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICBbcGFnaW5hdG9yXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1BhZ2luYXRvciFcIlxyXG4gICAgICAgICAgICBbcm93c109XCJyb3dzUGVyUGFnZVwiIFxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZV09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlID8gd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZSArICcgJyArICByb3dzUGVyUGFnZSArICcgZGUgJyArIHRvdGFsUmVjb3JkcyEgOiAnU2hvd2luZyAnICsgcm93c1BlclBhZ2UgKyAnIG9mICcgKyB0b3RhbFJlY29yZHMhXCJcclxuICAgICAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG4gICAgICAgICAgICBbc2hvd0N1cnJlbnRQYWdlUmVwb3J0XT1cInRydWVcIlxyXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbZ2xvYmFsRmlsdGVyRmllbGRzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmdsb2JhbEZpbHRlckZpZWxkcyFcIlxyXG4gICAgICAgICAgICBbdGFibGVTdHlsZV09XCJ7J21pbi13aWR0aCc6IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnRhYmxlTWluV2lkdGghfVwiXHJcbiAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xlYXJCdXR0b24gfHwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzR2xvYmFsU2VhcmNoXCIgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRhYmxlLXBhZ2luYXRvciBwLTBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVG90YWxQYWdpbmdTZWxlY3RvclwiIGNsYXNzPVwic2hvd2luZy1wZXItcGFnZVwiPiB7e3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGV9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1RvdGFsUGFnaW5nU2VsZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGwtMiBzaG93aW5nLXBlci1wYWdlXCIgW3NpemVdPVwiMVwiIFsobmdNb2RlbCldPVwicm93c1BlclBhZ2VcIiBbc2hvd0J1dHRvbnNdPVwidHJ1ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbkxheW91dD1cImhvcml6b250YWxcIiBpbnB1dElkPVwiaG9yaXpvbnRhbFwiIHNwaW5uZXJNb2RlPVwiaG9yaXpvbnRhbFwiIFtzdGVwXT1cIjFcIiBbbWluXT1cIjFcIiBbbWF4XT1cIm1heFJvd3NQZXJQYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICBkZWNyZW1lbnRCdXR0b25DbGFzcz1cInAtYnV0dG9uLW91dGxpbmVkXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgaW5jcmVtZW50QnV0dG9uQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiIFxyXG4gICAgICAgICAgICAgICAgICAgIGluY3JlbWVudEJ1dHRvbkljb249XCJwaSBwaS1wbHVzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgZGVjcmVtZW50QnV0dG9uSWNvbj1cInBpIHBpLW1pbnVzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgbW9kZT1cImRlY2ltYWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlbG9hZEVsZW1lbnRzKClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/Lmhhc0dsb2JhbFNlYXJjaFwiIGNsYXNzPVwicC1pbnB1dC1pY29uLWxlZnQgbWwtYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImhlaWdodC1pbnB1dCB3LWlucHV0XCIgcElucHV0VGV4dCB0eXBlPVwidGV4dFwiIChpbnB1dCk9XCJ0YWJsZS5maWx0ZXJHbG9iYWwoJGV2ZW50LCAnY29udGFpbnMnKVwiIHBsYWNlaG9sZGVyPVwie3t3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5zZWFyY2hQbGFjZWhvbGRlcn19XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGggKm5nSWY9XCIhd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ29sdW1uRmlsdGVycyAmJiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveDsgZWxzZSBub0NoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduWzBdKSA6ICd0ZXh0LWNlbnRlcidcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vQ2hlY2tib3g+PHRoICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3hcIj48L3RoPjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1NvcnRhYmxlQ29sdW1uczsgZWxzZSBzb21ldGhpbmdcIj5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oZWFkZXJzOyBpbmRleCBhcyBpXCIgW2NsYXNzXT1cImhlYWRlciA9PSAoJ0ltYWdlbicgfHwgJ0ltYWdlJykgPyAnaW1hZ2UtaGVhZGVyJzogJydcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25bd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyBpKzEgOiBpXSkgOiBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3NEZWZhdWx0QnlDb2x1bW5UeXBlKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtblR5cGVzW3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94ID8gaSsxIDogaV0pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3toZWFkZXJ9fVxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3NvbWV0aGluZz5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc29tZXRoaW5nIG5nRm9yIGxldC1maWx0ZXJUeXBlIFtuZ0Zvck9mXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmhlYWRlcnNcIiBsZXQtaT1cImluZGV4XCI+IFxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBbcFNvcnRhYmxlQ29sdW1uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnNvcnRhYmxlTmFtZXNbaV1cIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGVhZGVyc1tpXSA9PSAoJ0ltYWdlbicgfHwgJ0ltYWdlJykgPyAnaW1hZ2UtaGVhZGVyJzogJydcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94ID8gaSsxIDogaV0pIDogZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzRGVmYXVsdEJ5Q29sdW1uVHlwZSh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5UeXBlc1t3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveCA/IGkrMSA6IGldKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7d2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGVhZGVyc1tpXX19IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLXNvcnRJY29uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Quc29ydGFibGVOYW1lc1tpXSAhPSBudWxsXCIgW2ZpZWxkXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnNvcnRhYmxlTmFtZXNbaV1cIj48L3Atc29ydEljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNEZWxldGVCdXR0b24gfHwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzRWRpdEJ1dHRvblwiPjwvdGg+XHJcbiAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgPHRyICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ29sdW1uRmlsdGVyc1wiPlxyXG4gICAgICAgICAgICA8dGggKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveFwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduWzBdKSA6ICd0ZXh0LWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgICA8cC10YWJsZUhlYWRlckNoZWNrYm94PjwvcC10YWJsZUhlYWRlckNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8dGggKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNJbWFnZVwiIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25bd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyAxIDogMF0pIDogZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzRGVmYXVsdEJ5Q29sdW1uVHlwZSh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5UeXBlc1t3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveCA/IDEgOiAwXSlcIj5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1maWx0ZXJUeXBlIFtuZ0Zvck9mXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkZpbHRlclR5cGVzXCIgbGV0LWk9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZmlsdGVyVHlwZSA9PSB0YWJsZUNvbHVtbkZpbHRlclR5cGVzLlRleHRcIiBcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtY29sdW1uRmlsdGVyIHR5cGU9XCJ0ZXh0XCIgW2ZpZWxkXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmZpbHRlck5hbWVzW2ldXCI+PC9wLWNvbHVtbkZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJmaWx0ZXJUeXBlID09IHRhYmxlQ29sdW1uRmlsdGVyVHlwZXMuTXVsdGlzZWxlY3RcIiBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1sZWZ0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLWNvbHVtbkZpbHRlciBbZmllbGRdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZmlsdGVyTmFtZXNbaV1cIiBtYXRjaE1vZGU9XCJpblwiIFtzaG93TWVudV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZmlsdGVyXCIgbGV0LXZhbHVlIGxldC1maWx0ZXI9XCJmaWx0ZXJDYWxsYmFja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtbXVsdGlTZWxlY3QgW25nTW9kZWxdPVwidmFsdWVcIiBhcHBlbmRUbz1cImJvZHlcIiBbb3B0aW9uc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5zZWxlY3RGaWx0ZXJFbGVtZW50c1tpXVwiIHBsYWNlaG9sZGVyPVwiQW55XCIgKG9uQ2hhbmdlKT1cImZpbHRlcigkZXZlbnQudmFsdWUpXCIgb3B0aW9uTGFiZWw9XCJuYW1lXCIgW21heFNlbGVjdGVkTGFiZWxzXT1cIjFcIiBbc2VsZWN0ZWRJdGVtc0xhYmVsXT1cIid7MH0gaXRlbXMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1vcHRpb24gcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1tdWx0aXNlbGVjdC1yZXByZXNlbnRhdGl2ZS1vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMVwiPnt7b3B0aW9uLm5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1tdWx0aVNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L3AtY29sdW1uRmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImZpbHRlclR5cGUgPT0gdGFibGVDb2x1bW5GaWx0ZXJUeXBlcy5Ob25lXCI+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImZpbHRlclR5cGUgPT0gdGFibGVDb2x1bW5GaWx0ZXJUeXBlcy5Cb29sZWFuXCIgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtY2VudGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLWNvbHVtbkZpbHRlciB0eXBlPVwiYm9vbGVhblwiIFtmaWVsZF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5maWx0ZXJOYW1lc1tpXVwiPjwvcC1jb2x1bW5GaWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZmlsdGVyVHlwZSA9PSB0YWJsZUNvbHVtbkZpbHRlclR5cGVzLkRhdGVcIiBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1sZWZ0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLWNvbHVtbkZpbHRlciB0eXBlPVwiZGF0ZVwiIFtmaWVsZF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5maWx0ZXJOYW1lc1tpXVwiPjwvcC1jb2x1bW5GaWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8dGggKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNEZWxldGVCdXR0b24gfHwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzRWRpdEJ1dHRvblwiPjwvdGg+XHJcbiAgICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbGVtZW50IGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgPHRyICpuZ0lmPVwiIWxvYWRpbmdcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWNvbHVtblR5cGUgW25nRm9yT2ZdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uVHlwZXNcIiBsZXQtaT1cImluZGV4XCI+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5DaGVja2JveCAmJiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveFwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVDaGVja2JveDsgZWxzZSBhY3RpdmVDaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cImVsZW1lbnRcIiBbZGlzYWJsZWRdPVwicmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVDaGVja2JveClcIj48L3AtdGFibGVDaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhY3RpdmVDaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICA8cC10YWJsZUNoZWNrYm94IFt2YWx1ZV09XCJlbGVtZW50XCI+PC9wLXRhYmxlQ2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuSW1hZ2VcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1jZW50ZXInXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwicmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwicmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWxlbWVudC1pbWFnZS13aWR0aFwiLz5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLlRleHRcIiAgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIiBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1sZWZ0J1wiPlxyXG4gICAgICAgICAgICAgICAge3sgcmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5OdW1iZXJcIiAgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIiBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1yaWdodCdcIj5cclxuICAgICAgICAgICAgICAgIHt7IHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuQ3VycmVuY3lcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgICB7eyByZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSkgfCBjdXJyZW5jeSB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuQmFkZ2VcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWNlbnRlcidcIj5cclxuICAgICAgICAgICAgICAgIDx3LWJhZGdlIFtsYWJlbF09XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSlcIiBbY29sb3JdPVwiJ2luZm8nXCI+PC93LWJhZGdlPiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuQm9vbGVhblwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWNlbnRlcidcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGlcIiBbbmdDbGFzc109XCJnZXRCb29sZWFuQ29sdW1uQ2xhc3MoaSwgcmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pKVwiPjwvaT5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkRhdGVcIiBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1sZWZ0J1wiPlxyXG4gICAgICAgICAgICAgICAge3sgcmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pIHwgZGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/Lmhhc1ZpZXdCdXR0b25cIiBcclxuICAgICAgICAgICAgICAgICAgICBwQnV0dG9uIHBSaXBwbGUgKGNsaWNrKT1cInZpZXdFbGVtZW50KGVsZW1lbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnZpZXdUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLWV5ZVwiIGNsYXNzPVwicC1idXR0b24tdGV4dCBwLWJ1dHRvbi1pbmZvIG1yLTJcIj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jdXN0b21CdXR0b25Db25maWc/Lmhhc0N1c3RvbUJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJjdXN0b21FbGVtZW50KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmN1c3RvbUJ1dHRvbkNvbmZpZz8uaWNvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8uY3VzdG9tVG9vbHRpcCFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLWluZm8gbXItMlwiPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0VkaXRCdXR0b24gJiYgIXdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVFZGl0UHJvcGVydHlcIiBcclxuICAgICAgICAgICAgICAgICAgICBwQnV0dG9uIHBSaXBwbGUgKGNsaWNrKT1cImVkaXRFbGVtZW50KGVsZW1lbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LmVkaXRUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCJcclxuICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktcGVuY2lsXCIgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLXN1Y2Nlc3MgbXItMlwiPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVFZGl0UHJvcGVydHlcIiBcclxuICAgICAgICAgICAgICAgICAgICBwQnV0dG9uIHBSaXBwbGUgKGNsaWNrKT1cImVkaXRFbGVtZW50KGVsZW1lbnQpXCIgW2Rpc2FibGVkXT1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5kaXNhYmxlRWRpdFByb3BlcnR5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5lZGl0VG9vbHRpcCFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXBlbmNpbFwiIGNsYXNzPVwicC1idXR0b24tdGV4dCBwLWJ1dHRvbi1zdWNjZXNzIG1yLTJcIj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzQ29weUJ1dHRvblwiIFxyXG4gICAgICAgICAgICAgICAgICAgIHBCdXR0b24gcFJpcHBsZSAoY2xpY2spPVwiY29uZmlybUNvcHkoJGV2ZW50LCBlbGVtZW50KVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8uY29weVRvb2x0aXAhXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5wb3NpdGlvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS1jb3B5XCIgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLWhlbHAgbXItMlwiPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzRGVsZXRlQnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZURlbGV0ZVByb3BlcnR5OyBlbHNlIG5vRGlzYWJsZURlbGV0ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwQnV0dG9uIHBSaXBwbGUgKGNsaWNrKT1cImNvbmZpcm1EZWxldGUoJGV2ZW50LCBlbGVtZW50KVwiIFtkaXNhYmxlZF09XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZURlbGV0ZVByb3BlcnR5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8uZGVsZXRlVG9vbHRpcCFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5wb3NpdGlvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktdHJhc2hcIiBjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24tZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EaXNhYmxlRGVsZXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJjb25maXJtRGVsZXRlKCRldmVudCwgZWxlbWVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5kZWxldGVUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5wb3NpdGlvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXRyYXNoXCIgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImxvYWRpbmdib2R5XCI+XHJcbiAgICAgICAgICAgIDx0ciBoZWlnaHQ9XCI3MHB4XCIgKm5nRm9yPVwibGV0IG4gb2YgWzAsMSwyLDMsNF1cIj5cclxuICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaXRlbSBvZiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5UeXBlc1wiIFtzdHlsZS53aWR0aF09XCJpdGVtID09IHRhYmxlQ29sdW1uVHlwZXMuQ2hlY2tib3ggPyAnOHJlbScgOiAnJ1wiID5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlQ2hlY2tib3ggKm5nSWY9XCJpdGVtID09IHRhYmxlQ29sdW1uVHlwZXMuQ2hlY2tib3ggJiYgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3hcIj48L3AtdGFibGVDaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDxwLXNrZWxldG9uICpuZ0lmPVwiaXRlbSA9PSB0YWJsZUNvbHVtblR5cGVzLkltYWdlXCIgd2lkdGg9XCI2cmVtXCIgaGVpZ2h0PVwiNHJlbVwiPjwvcC1za2VsZXRvbj5cclxuICAgICAgICAgICAgICAgIDxwLXNrZWxldG9uICpuZ0lmPVwiaXRlbSAhPSB0YWJsZUNvbHVtblR5cGVzLkNoZWNrYm94ICYmIGl0ZW0gIT0gdGFibGVDb2x1bW5UeXBlcy5JbWFnZVwiPjwvcC1za2VsZXRvbj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNFZGl0QnV0dG9uIHx8IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0RlbGV0ZUJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzRWRpdEJ1dHRvblwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcEJ1dHRvbiBwUmlwcGxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktcGVuY2lsXCIgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLXN1Y2Nlc3MgbXItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzRGVsZXRlQnV0dG9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwQnV0dG9uIHBSaXBwbGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS10cmFzaFwiIGNsYXNzPVwicC1idXR0b24tdGV4dCBwLWJ1dHRvbi1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9wLXRhYmxlPlxyXG48L2Rpdj5cclxuPHAtY29uZmlybVBvcHVwPjwvcC1jb25maXJtUG9wdXA+Il19