@ng-nest/ui 15.0.17 → 15.0.18

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.
@@ -129,7 +129,7 @@ export class XTableProperty extends XPaginationProperty {
129
129
  }
130
130
  }
131
131
  /** @nocollapse */ XTableProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XTableProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
132
- /** @nocollapse */ XTableProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: XTableProperty, selector: "ng-component", inputs: { data: "data", columns: "columns", rowHeight: "rowHeight", loading: "loading", bordered: "bordered", showHeader: "showHeader", headerPosition: "headerPosition", activatedRow: "activatedRow", headColumnTpl: "headColumnTpl", bodyColumnTpl: "bodyColumnTpl", bodyTdTpl: "bodyTdTpl", rowClass: "rowClass", headSearchTpl: "headSearchTpl", allowSelectRow: "allowSelectRow", allowCheckRow: "allowCheckRow", virtualScroll: "virtualScroll", bodyHeight: "bodyHeight", itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", adaptionHeight: "adaptionHeight", docPercent: "docPercent", checkedRow: "checkedRow", manual: "manual", scroll: "scroll", header: "header", footer: "footer", cellConfig: "cellConfig", rowSize: "rowSize", paginationPosition: "paginationPosition", hiddenWrapBorder: "hiddenWrapBorder", hiddenPaginationBorder: "hiddenPaginationBorder", showPagination: "showPagination", treeTable: "treeTable", expandedAll: "expandedAll", expandedLevel: "expandedLevel", expanded: "expanded", expandTpl: "expandTpl" }, outputs: { activatedRowChange: "activatedRowChange", sortChange: "sortChange", headCheckboxChange: "headCheckboxChange", bodyCheckboxChange: "bodyCheckboxChange", manualChange: "manualChange", columnDragStarted: "columnDragStarted", columnDragEnded: "columnDragEnded", columnDropListDropped: "columnDropListDropped", columnDragWidthStarted: "columnDragWidthStarted", columnDragWidthMoved: "columnDragWidthMoved", columnDragWidthEnded: "columnDragWidthEnded" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
132
+ /** @nocollapse */ XTableProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: XTableProperty, selector: "ng-component", inputs: { data: "data", columns: "columns", rowHeight: "rowHeight", loading: "loading", bordered: "bordered", showHeader: "showHeader", headerPosition: "headerPosition", activatedRow: "activatedRow", headColumnTpl: "headColumnTpl", bodyColumnTpl: "bodyColumnTpl", bodyTdTpl: "bodyTdTpl", rowClass: "rowClass", headSearchTpl: "headSearchTpl", allowSelectRow: "allowSelectRow", allowCheckRow: "allowCheckRow", virtualScroll: "virtualScroll", bodyHeight: "bodyHeight", itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", adaptionHeight: "adaptionHeight", docPercent: "docPercent", checkedRow: "checkedRow", manual: "manual", scroll: "scroll", header: "header", footer: "footer", cellConfig: "cellConfig", rowSize: "rowSize", paginationPosition: "paginationPosition", hiddenWrapBorder: "hiddenWrapBorder", hiddenPaginationBorder: "hiddenPaginationBorder", showPagination: "showPagination", treeTable: "treeTable", expandedAll: "expandedAll", expandedLevel: "expandedLevel", expanded: "expanded", expandTpl: "expandTpl", showEmpty: "showEmpty", emptyImg: "emptyImg", emptyContent: "emptyContent" }, outputs: { activatedRowChange: "activatedRowChange", sortChange: "sortChange", headCheckboxChange: "headCheckboxChange", bodyCheckboxChange: "bodyCheckboxChange", manualChange: "manualChange", columnDragStarted: "columnDragStarted", columnDragEnded: "columnDragEnded", columnDropListDropped: "columnDropListDropped", columnDragWidthStarted: "columnDragWidthStarted", columnDragWidthMoved: "columnDragWidthMoved", columnDragWidthEnded: "columnDragWidthEnded" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
133
133
  __decorate([
134
134
  XWithConfig(X_CONFIG_NAME, 42),
135
135
  XInputNumber()
@@ -204,6 +204,16 @@ __decorate([
204
204
  XWithConfig(X_CONFIG_NAME, -1),
205
205
  XInputNumber()
206
206
  ], XTableProperty.prototype, "expandedLevel", void 0);
207
+ __decorate([
208
+ XWithConfig(X_CONFIG_NAME, true),
209
+ XInputBoolean()
210
+ ], XTableProperty.prototype, "showEmpty", void 0);
211
+ __decorate([
212
+ XWithConfig(X_CONFIG_NAME)
213
+ ], XTableProperty.prototype, "emptyImg", void 0);
214
+ __decorate([
215
+ XWithConfig(X_CONFIG_NAME)
216
+ ], XTableProperty.prototype, "emptyContent", void 0);
207
217
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XTableProperty, decorators: [{
208
218
  type: Component,
209
219
  args: [{ template: '' }]
@@ -293,6 +303,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
293
303
  type: Input
294
304
  }], expandTpl: [{
295
305
  type: Input
306
+ }], showEmpty: [{
307
+ type: Input
308
+ }], emptyImg: [{
309
+ type: Input
310
+ }], emptyContent: [{
311
+ type: Input
296
312
  }], columnDragStarted: [{
297
313
  type: Output
298
314
  }], columnDragEnded: [{
@@ -523,4 +539,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
523
539
  }], rowHeight: [{
524
540
  type: Input
525
541
  }] } });
526
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBRVosYUFBYSxFQUdiLFdBQVcsRUFNWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDOztBQUVoRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQUN0QyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBZSxTQUFRLG1CQUFtQjtJQUR2RDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQUNyQzs7O1dBR0c7UUFDTSxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQStCdEM7OztXQUdHO1FBQ08sdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3RDs7O1dBR0c7UUFDTSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDNUM7OztXQUdHO1FBQ00sa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBZ0I1Qzs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNuRDs7O1dBR0c7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUN0RTs7O1dBR0c7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBMEI3RDs7O1dBR0c7UUFDTSxnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUNuQzs7O1dBR0c7UUFDTSxnQkFBVyxHQUFX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LEtBQUs7Z0JBS21CLFVBQVU7c0JBQWxDLEtBQUs7Z0JBS29CLGNBQWM7c0JBQXZDLEtBQUs7Z0JBS29CLGFBQWE7c0JBQXRDLEtBQUs7Z0JBS21CLFFBQVE7c0JBQWhDLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUttQixjQUFjO3NCQUF0QyxLQUFLO2dCQUttQixVQUFVO3NCQUFsQyxLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7O0FBR1I7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztBQUUvQzs7R0FFRztBQUVILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTOztrSUFBcEMsa0JBQWtCO3NIQUFsQixrQkFBa0IsaUlBRFIsRUFBRTsyRkFDWixrQkFBa0I7a0JBRDlCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1oQixNQUFNO3NCQUFkLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFByb3BlcnR5LFxyXG4gIFhOdW1iZXIsXHJcbiAgWElucHV0TnVtYmVyLFxyXG4gIFhTb3J0LFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWEJvb2xlYW4sXHJcbiAgWERhdGEsXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWFRleHRBbGlnbixcclxuICBYU2l6ZSxcclxuICBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYSWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYVGVtcGxhdGVcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhQYWdpbmF0aW9uUHJvcGVydHksIFhQYWdpbmF0aW9uT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvcGFnaW5hdGlvbic7XHJcblxyXG4vKipcclxuICogVGFibGVcclxuICogQHNlbGVjdG9yIHgtdGFibGVcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVQcmVmaXggPSAneC10YWJsZSc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAndGFibGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVQcm9wZXJ0eSBleHRlbmRzIFhQYWdpbmF0aW9uUHJvcGVydHkgaW1wbGVtZW50cyBYVGFibGVPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXRhOiBYRGF0YTxYVGFibGVSb3c+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDQyKSBAWElucHV0TnVtYmVyKCkgcm93SGVpZ2h0ITogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBsb2FkaW5nITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWxleekuuWIl+i+ueahhlxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIHNob3cgY29sdW1uIGJvcmRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuaYvuekuuWIl+WktFxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNvbHVtbiBoZWFkZXJzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIHNob3dIZWFkZXIhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05pi+56S65L2N572uXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY29sdW1uIGhlYWRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFRhYmxlSGVhZGVyUG9zaXRpb24+KFhfQ09ORklHX05BTUUsICd0b3AnKSBoZWFkZXJQb3NpdGlvbiE6IFhUYWJsZUhlYWRlclBvc2l0aW9uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aXZhdGVkUm93PzogWFRhYmxlUm93O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlLnlj5hcclxuICAgKiBAZW5fVVMgVGhlIGN1cnJlbnRseSBzZWxlY3RlZCByb3cgY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmF0ZWRSb3dDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZVJvdz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS06Ieq5a6a5LmJ5qih5p2/77yM6YCa6L+HIGtleS12YWx1ZSDnmoTmlrnlvI/mjIflrprmr4/liJfnmoTmqKHniYhcclxuICAgKiBAZW5fVVMgQ29sdW1uIGhlYWRlciBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWFkQ29sdW1uVHBsOiBYVGFibGVUZW1wbGF0ZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflhoXlrrnoh6rlrprkuYnmqKHmnb/vvIzpgJrov4cga2V5LXZhbHVlIOeahOaWueW8j+aMh+Wumuavj+WIl+eahOaooeeJiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gY29udGVudCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBib2R5Q29sdW1uVHBsOiBYVGFibGVUZW1wbGF0ZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLznmoToh6rlrprkuYnmqKHmnb/vvIzkvJjlhYjnuqfkvY7kuo7liJflhoXlrrnoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHRlbXBsYXRlIG9mIGNlbGxzXHJcbiAgICovXHJcbiAgQElucHV0KCkgYm9keVRkVHBsPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJvd0NsYXNzPzogKHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05pCc57Si6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIExpbmUgaGVhZCBzZWFyY2ggY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgaGVhZFNlYXJjaFRwbD86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP54K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNvcnQgY2xpY2sgZXZlbnRzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhTb3J0W10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WktCBjaGVja2JveCDkuovku7ZcclxuICAgKiBAZW5fVVMgaGVhZCBjaGVja2JveCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBoZWFkQ2hlY2tib3hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZUhlYWRDaGVja2JveD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSBjaGVja2JveCDkuovku7ZcclxuICAgKiBAZW5fVVMgaGVhZCBjaGVja2JveCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBib2R5Q2hlY2tib3hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZVJvdz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWB6K646KGM54K55Ye76YCJ5Lit5b2T5YmN6KGMXHJcbiAgICogQGVuX1VTIEFsbG93IHJvdyBjbGljayB0byBzZWxlY3RcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgYWxsb3dTZWxlY3RSb3chOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWB6K646KGM54K55Ye76YCJ5LitIGNoZWNrYm94XHJcbiAgICogQGVuX1VTIEFsbG93IGxpbmVzIHRvIGNsaWNrIGNoZWNrYm94XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGFsbG93Q2hlY2tSb3chOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUpIEBYSW5wdXRCb29sZWFuKCkgdmlydHVhbFNjcm9sbCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBib2R5IOaVsOaNrumrmOW6plxyXG4gICAqIEBlbl9VUyBib2R5IGRhdGEgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGl0ZW1TaXpl77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIGl0ZW1TaXpl77yMY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgNDIpIEBYSW5wdXROdW1iZXIoKSBpdGVtU2l6ZSE6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW5CdWZmZXJQeDogbnVtYmVyID0gMTAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBhZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGRvY1BlcmNlbnQ6IFhOdW1iZXIgPSAxO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBjaGVja2JveCDliJfliJ3lp4vpgInkuK3nmoTmlbDmja7vvIzliJfkuK3mv4DmtLsgY2hlY2tib3hcclxuICAgKiBAZW5fVVMgQ2hlY2tib3ggY29sdW1uIGluaXRpYWxseSBzZWxlY3RlZCBkYXRhLCBjaGVja2JveCBpcyBhY3RpdmF0ZWQgaW4gY29sdW1uXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2hlY2tlZFJvdzogeyBbcHJvcGVydHk6IHN0cmluZ106IGFueVtdIH0gPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aaC5p6cIGRhdGEg5piv5Ye95pWw57G75Z6L77yM5Y+v5Lul6YCa6L+H5q2k5Y+C5pWw5o6n5Yi26K+35rGC77yM5bi455So5LqO5by55qGG5Lit55qE6KGo5qC877yM5by55Ye65ZCO5YaN6K+35rGCXHJcbiAgICogQGVuX1VTIElmIGRhdGEgaXMgYSBmdW5jdGlvbiB0eXBlLCB5b3UgY2FuIHVzZSB0aGlzIHBhcmFtZXRlciB0byBjb250cm9sIHRoZSByZXF1ZXN0LCB3aGljaCBpcyBvZnRlbiB1c2VkIGluIHRoZSBmb3JtIGluIHRoZSBwb3AtdXAgYm94LCBhbmQgdGhlbiByZXF1ZXN0IGl0IGFmdGVyIGl0IHBvcHMgdXBcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG1hbnVhbDogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jlrr1cclxuICAgKiBAZW5fVVMgSGVpZ2h0IGFuZCB3aWR0aCBvZiByb2xsaW5nIGFyZWFcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGw/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWktFxyXG4gICAqIEBlbl9VUyBUYWJsZSBoZWFkZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWFkZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWwvlxyXG4gICAqIEBlbl9VUyBUYWJsZSBmb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBmb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPguaVsOaOp+WItuivt+axguaUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBQYXJhbWV0ZXIgY29udHJvbCByZXF1ZXN0IGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtYW51YWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfTkFNRSwgJ21lZGl1bScpIHJvd1NpemU/OiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiG6aG15Zmo5L2N572uXHJcbiAgICogQGVuX1VTIFBhZ2luYXRpb24gcG9zaXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBwYWdpbmF0aW9uUG9zaXRpb246IFhQYWdpbmF0aW9uUG9zaXRpb24gPSAnYm90dG9tLWxlZnQnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol4/ooajmoLzlpJbovrnmoYZcclxuICAgKiBAZW5fVVMgSGlkZGVuIHRhYmxlIHdyYXAgYm9yZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBoaWRkZW5XcmFwQm9yZGVyPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmakOiXj+WIhumhteWZqOaMiemSrui+ueahhlxyXG4gICAqIEBlbl9VUyBIaWRkZW4gcGFnaW5hdGlvbiBidXR0b24gYm9yZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBoaWRkZW5QYWdpbmF0aW9uQm9yZGVyPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuWIhumhteWZqFxyXG4gICAqIEBlbl9VUyBQYWdpbmF0aW9uIHBvc2l0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIHNob3dQYWdpbmF0aW9uPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvFxyXG4gICAqIEBlbl9VUyBUcmVlIHRhYmxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSB0cmVlVGFibGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC85bGV5byA5omA5pyJ6IqC54K5XHJcbiAgICogQGVuX1VTIFRyZWUgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIGV4cGFuZGVkQWxsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOm7mOiupOWxleW8gOeahOWxgue6p++8jC0xIOS4jeWxleW8gFxyXG4gICAqIEBlbl9VUyBEZWZhdWx0IGV4cGFuZGVkIGxldmVsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsIC0xKSBAWElucHV0TnVtYmVyKCkgZXhwYW5kZWRMZXZlbCE6IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBFeHBhbmRlZCBub2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZXhwYW5kZWQ6IGFueVtdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxleW8gOWGheWuuVxyXG4gICAqIEBlbl9VUyBDdXN0b21pemVkIGV4cGFuc2lvbiBjb250ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgZXhwYW5kVHBsPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLTmi5bliqjlvIDlp4vkuovku7bvvIzov5Tlm57mi5bliqjnmoTliJdcclxuICAgKiBAZW5fVVMgQ29sdW1uIEhlYWRlciBEcmFnIEVuZCBFdmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5EcmFnU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlQ29sdW1uPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLTmi5bliqjnu5PmnZ/kuovku7bvvIzov5Tlm57mi5bliqjnmoTliJdcclxuICAgKiBAZW5fVVMgVGhlIGNvbHVtbiBoZWFkZXIgaXMgZHJhZ2dpbmcsIGFuZCB0aGUgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIG9yZGVyIGlzIGNoYW5nZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJhZ0VuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxYVGFibGVDb2x1bW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+eUqOaIt+aKiuS4gOS4quadoeebruaKleaUvui/m+ivpeWuueWZqOaXtuWwseS8muinpuWPke+8jOaLluWKqOaUvuW8gOeahOS6i+S7tu+8jOi/lOWbnuaLluWKqOaOkuW6j+WQjueahOWIl+aVsOaNrlxyXG4gICAqIEBlbl9VUyBUaGUgY29sdW1uIGhlYWRlciBpcyBkcmFnZ2luZywgYW5kIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgb3JkZXIgaXMgY2hhbmdlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5Ecm9wTGlzdERyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZUNvbHVtbltdPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlp4vmi5bliqjliJflrr3nmoTkuovku7ZcclxuICAgKiBAZW5fVVMgRXZlbnQgdG8gc3RhcnRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5EcmFnV2lkdGhTdGFydGVkID0gbmV3IEV2ZW50RW1pdHRlcjxYVGFibGVEcmFnV2lkdGhFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5Zyo5ouW5Yqo5YiX5a695pe255qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIG1vdmVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGNvbHVtbkRyYWdXaWR0aE1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxYVGFibGVEcmFnV2lkdGhFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g57uT5p2f5ouW5Yqo5YiX5a6955qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIGVuZGVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGNvbHVtbkRyYWdXaWR0aEVuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxYVGFibGVEcmFnV2lkdGhFdmVudD4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRhYmxlIE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZU9wdGlvbiBleHRlbmRzIFhQYWdpbmF0aW9uT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFJvdyBkYXRhXHJcbiAgICovXHJcbiAgZGF0YT86IFhEYXRhPFhUYWJsZVJvdz47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgY29sdW1ucz86IFhUYWJsZUNvbHVtbltdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajlpLTlkozooYzpq5jvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVhZGVyIGFuZCByb3cgaGVpZ2h0LCB1bml0IHB4XHJcbiAgICovXHJcbiAgcm93SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nXHJcbiAgICovXHJcbiAgbG9hZGluZz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgYWN0aXZhdGVkUm93PzogWFRhYmxlUm93O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLToh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ29sdW1uIGhlYWRlciBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBoZWFkQ29sdW1uVHBsPzogWFRhYmxlVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WGheWuueiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDb2x1bW4gY29udGVudCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBib2R5Q29sdW1uVHBsPzogWFRhYmxlVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOadoeS7tuagt+W8j1xyXG4gICAqIEBlbl9VUyBSb3cgY29uZGl0aW9uIGNsYXNzXHJcbiAgICovXHJcbiAgcm93Q2xhc3M/OiAocm93OiBYVGFibGVSb3csIGluZGV4OiBudW1iZXIpID0+IHsgW2NsYXNzTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIGJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgbWluQnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBSZW5kZXIgdGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBtYXhCdWZmZXJQeD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIGFkYXB0aW9uSGVpZ2h0PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIERvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGJ5IHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICBkb2NQZXJjZW50PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENlbGwgY29uZmlnXHJcbiAgICovXHJcbiAgY2VsbENvbmZpZz86IFhUYWJsZUNlbGxDb25maWc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgcm93U2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaVsOaNrlxyXG4gKiBAZW5fVVMgRGF0YVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVSb3cgZXh0ZW5kcyBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eTxYVGFibGVSb3c+IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byAXHJcbiAgICogQGVuX1VTIFVuZm9sZFxyXG4gICAqL1xyXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiX5Y+C5pWwXHJcbiAqIEBlbl9VUyBDb2x1bW4gcGFyYW1ldGVyXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNvbHVtbiBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g57G75Z6LXHJcbiAgICogQGVuX1VTIFR5cGVzIG9mXHJcbiAgICovXHJcbiAgdHlwZT86IFhDb2x1bW5UeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKi9cclxuICB3aWR0aD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDlrr3luqZcclxuICAgKiBAZW5fVVMgRmxleCBsYXlvdXQgd2lkdGhcclxuICAgKi9cclxuICBmbGV4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmn6Xor6LlrZfmrrVcclxuICAgKiBAZW5fVVMgUXVlcnkgZmllbGRcclxuICAgKi9cclxuICBzZWFyY2g/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLluo/lrZfmrrVcclxuICAgKiBAZW5fVVMgU29ydCBmaWVsZFxyXG4gICAqL1xyXG4gIHNvcnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlt6bovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIGxlZnRcclxuICAgKi9cclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlj7PovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIHJpZ2h0XHJcbiAgICovXHJcbiAgcmlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaTjeS9nOaMiemSrlxyXG4gICAqIEBlbl9VUyBPcGVyYXRpb24gYnV0dG9uXHJcbiAgICovXHJcbiAgYWN0aW9uPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gdHlwZSDkuLogY2hlY2tib3gg5pe257uR5a6a6KGM54K55Ye76YCJ5Lit5LqL5Lu2XHJcbiAgICogQGVuX1VTIEJpbmQgcm93IGNsaWNrIHNlbGVjdGlvbiBldmVudCB3aGVuIHR5cGUgaXMgY2hlY2tib3hcclxuICAgKi9cclxuICByb3dDaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gdHlwZSDkuLogZXhwYW5kIOaXtue7keWumuihjOeCueWHu+WxleW8gOS6i+S7tlxyXG4gICAqIEBlbl9VUyBCaW5kIHJvdyBjbGljayBzZWxlY3Rpb24gZXZlbnQgd2hlbiB0eXBlIGlzIGV4cGFuZFxyXG4gICAqL1xyXG4gIHJvd0V4cGFuZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBUZXh0IGFsaWdubWVudFxyXG4gICAqL1xyXG4gIHRleHRBbGlnbj86IFhUZXh0QWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWIl+Wuve+8jOmcgOimgeiuvue9ruWIl+eahOWIneWni+WuveW6piB3aWR0aFxyXG4gICAqIEBlbl9VUyBEcmFnIHRoZSBjb2x1bW4gd2lkdGgsIHlvdSBuZWVkIHRvIHNldCB0aGUgaW5pdGlhbCB3aWR0aCBvZiB0aGUgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5Zyo5ouW5Yqo5YiX5a69XHJcbiAgICogQGVuX1VTIERyYWdnaW5nIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ2dpbmdXaWR0aD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWni+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBzdGFydGVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoU3RhcnRlZD86IChldmVudDogWFRhYmxlRHJhZ1dpZHRoRXZlbnQpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl+WuveaXtueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBtb3ZlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aE1vdmVkPzogKGV2ZW50OiBYVGFibGVEcmFnV2lkdGhFdmVudCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBAemhfQ04g57uT5p2f5ouW5Yqo5YiX5a6955qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIGVuZGVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoRW5kZWQ/OiAoZXZlbnQ6IFhUYWJsZURyYWdXaWR0aEV2ZW50KSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjliJdcclxuICAgKiBAZW5fVVMgRHJhZyB0aGUgY29sdW1uXHJcbiAgICovXHJcbiAgZHJhZ0NvbHVtbj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl1xyXG4gICAqIEBlbl9VUyBEcmFnZ2luZyBjb2x1bW5cclxuICAgKi9cclxuICBkcmFnZ2luZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWktOmDqOaYvuekuiBjaGVja2JveFxyXG4gICAqIEBlbl9VUyBIZWFkIHNob3dzIGNoZWNrYm94XHJcbiAgICovXHJcbiAgaGVhZENoZWNrZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpLTpg6jmmL7npLogZXhwYW5kXHJcbiAgICogQGVuX1VTIEhlYWQgc2hvd3MgZXhwYW5kXHJcbiAgICovXHJcbiAgaGVhZEV4cGFuZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WktOWuveW6puaLluWKqOS6i+S7tlxyXG4gKiBAZW5fVVMgQ29sdW1uIGhlYWRlciB3aWR0aCBkcmFnIGV2ZW50XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZURyYWdXaWR0aEV2ZW50IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIERyYWdnZWQgY29sdW1uXHJcbiAgICovXHJcbiAgY29sdW1uOiBYVGFibGVDb2x1bW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+S9jee9ru+8jOato+WcqOaLluWKqOeahOaXtuWAmeaMh+WBj+enu+S9jee9rlxyXG4gICAqIEBlbl9VUyBUaGUgY29sdW1uIHBvc2l0aW9uIHJlZmVycyB0byB0aGUgb2Zmc2V0IHBvc2l0aW9uIHdoZW4gZHJhZ2dpbmdcclxuICAgKi9cclxuICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WktCBjaGVja2JveCDkuovku7bmlbDmja5cclxuICogQGVuX1VTIENvbHVtbiBoZWFkZXIgY2hlY2tib3ggZXZlbnQgZGF0YVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVIZWFkQ2hlY2tib3gge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICByb3dzOiBYVGFibGVSb3dbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5pWw5o2uXHJcbiAgICogQGVuX1VTIENoZWNrYm94IGRhdGFcclxuICAgKi9cclxuICBjaGVja2JveDogeyBbcHJvcGVydHk6IHN0cmluZ106IGJvb2xlYW4gfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICogQGVuX1VTIENlbGwgY29uZmlnXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGxDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ29sdW1uIGNlbGwgY29uZmlnXHJcbiAgICovXHJcbiAgdGhlYWQ/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIFJvdyBjb25maWdcclxuICAgKi9cclxuICB0Ym9keT86IFhUYWJsZUNlbGxDb25maWdSdWxlO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWNleWFg+agvOmFjee9ruinhOWImVxyXG4gKiBAZW5fVVMgQ2VsbCBjb25maWcgcnVsZXNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlQ2VsbENvbmZpZ1J1bGUge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBncmlkIOW4g+WxgOS4i+WumuS5ieWIl+WuveW6plxyXG4gICAqIEBlbl9VUyBEZWZpbmUgY29sdW1uIHdpZHRoIHVuZGVyIGdyaWQgbGF5b3V0XHJcbiAgICovXHJcbiAgZ3JpZFRlbXBsYXRlQ29sdW1ucz86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENlbGwgbWVyZ2UgcnVsZXNcclxuICAgKi9cclxuICBjZWxscz86IFhUYWJsZUNlbGxbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzlkIjlubbphY3nva5cclxuICogQGVuX1VTIENlbGwgbWVyZ2UgcnVsZXNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlQ2VsbCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS9v+eUqCBncmlkIOW4g+WxgOadpeWQiOW5tuWNleWFg+agvFxyXG4gICAqIEBlbl9VUyBVc2UgZ3JpZCBsYXlvdXQgdG8gbWVyZ2UgY2VsbHNcclxuICAgKi9cclxuICBncmlkQXJlYT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5ZCN56ewXHJcbiAgICogQGVuX1VTIE5hbWVcclxuICAgKi9cclxuICBsYWJlbD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5a695bqmXHJcbiAgICogQGVuX1VTIFdpZHRoXHJcbiAgICovXHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbuuWumuWIl++8jOi3neemu+W3pui+ueeahOi3neemu1xyXG4gICAqIEBlbl9VUyBGaXhlZCBjb2x1bW4sIGRpc3RhbmNlIGZyb20gbGVmdFxyXG4gICAqL1xyXG4gIGxlZnQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbuuWumuWIl++8jOi3neemu+WPs+i+ueeahOi3neemu1xyXG4gICAqIEBlbl9VUyBGaXhlZCBjb2x1bW4sIGRpc3RhbmNlIGZyb20gcmlnaHRcclxuICAgKi9cclxuICByaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a+55bqU5YiX55qEIGlkXHJcbiAgICogQGVuX1VTIFRoZSBpZCBvZiB0aGUgY29ycmVzcG9uZGluZyBjb2x1bW5cclxuICAgKi9cclxuICBpZD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo5YiX5a69XHJcbiAgICogQGVuX1VTIERyYWcgdGhlIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+exu+Wei1xyXG4gKiBAZW5fVVMgQ29sdW1uIHR5cGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhDb2x1bW5UeXBlID0gJ2xhYmVsJyB8ICdpbmRleCcgfCAnY2hlY2tib3gnIHwgJ2V4cGFuZCc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WktOaYvuekuuS9jee9rlxyXG4gKiBAZW5fVVMgTGluZSBoZWFkIGRpc3BsYXkgcG9zaXRpb25cclxuICovXHJcbmV4cG9ydCB0eXBlIFhUYWJsZUhlYWRlclBvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJyB8ICd0b3AtYm90dG9tJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiG6aG15Zmo5L2N572uXHJcbiAqIEBlbl9VUyBQYWdpbmcgcG9zaXRpb25cclxuICovXHJcbmV4cG9ydCB0eXBlIFhQYWdpbmF0aW9uUG9zaXRpb24gPSAndG9wLWxlZnQnIHwgJ3RvcC1jZW50ZXInIHwgJ3RvcC1yaWdodCcgfCAnYm90dG9tLWxlZnQnIHwgJ2JvdHRvbS1jZW50ZXInIHwgJ2JvdHRvbS1yaWdodCc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaooeadv1xyXG4gKiBAZW5fVVMgVGVtcGxhdGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhUYWJsZVRlbXBsYXRlID0geyBbcHJvcGVydHk6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT4gfTtcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBIZWFkXHJcbiAqIEBzZWxlY3RvciB4LXRhYmxlLWhlYWRcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVIZWFkUHJlZml4ID0gJ3gtdGFibGUtaGVhZCc7XHJcblxyXG4vKipcclxuICogVGFibGUgSGVhZCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlSGVhZFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6ZuG5ZCIXHJcbiAgICogQGVuX1VTIENvbHVtbiBzZXRcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zOiBYVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpq5jluqbvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVpZ2h0IGluIHB4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHJvd0hlaWdodDogWE51bWJlciA9IDQyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uVHBsOiBYVGFibGVUZW1wbGF0ZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnq5blkJHmu5rliqjmnaHlrr3luqZcclxuICAgKiBAZW5fVVMgVmVydGljYWwgc2Nyb2xsIGJhciB3aWR0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNjcm9sbFlXaWR0aD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qiq5ZCR5rua5Yqo5p2h5a695bqmXHJcbiAgICogQGVuX1VTIEhvcml6b250YWwgc2Nyb2xsIGJhciB3aWR0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNjcm9sbFhXaWR0aD86IG51bWJlciB8IG51bGw7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2VsbENvbmZpZz86IFhUYWJsZUNlbGxDb25maWdSdWxlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnmoTkvY3nva5cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogVGFibGUgQm9keVxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1ib2R5XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlQm9keVByZWZpeCA9ICd4LXRhYmxlLWJvZHknO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEJvZHkgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUJvZHlQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRhdGE6IFhUYWJsZVJvd1tdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtblRwbDogWFRhYmxlVGVtcGxhdGUgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGl2YXRlZFJvdz86IFhUYWJsZVJvdztcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pS55Y+YXHJcbiAgICogQGVuX1VTIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcm93IGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgYWN0aXZhdGVkUm93Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYVGFibGVSb3c+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmrmOW6pu+8jOWNleS9jSBweOOAguiuvue9ruS4uiAwIOihqOekuuihjOmrmOiHqumAguW6lOWGheWuuemrmOW6puOAglxyXG4gICAqIEBlbl9VUyBIZWlnaHQgaW4gcHguIHNldCB0byAwIG1lYW5zIHRoYXQgdGhlIHJvdyBoZWlnaHQgaXMgYWRhcHRpdmUgdG8gdGhlIGNvbnRlbnQgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHJvd0hlaWdodDogWE51bWJlciA9IDQyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBib2R5IOaVsOaNrumrmOW6plxyXG4gICAqIEBlbl9VUyBib2R5IGRhdGEgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFgeiuuOihjOeCueWHu+mAieS4rVxyXG4gICAqIEBlbl9VUyBBbGxvdyByb3cgY2xpY2sgdG8gc2VsZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBhbGxvd1NlbGVjdFJvdzogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgdmlydHVhbFNjcm9sbDogWEJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04gaXRlbVNpemXvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgaXRlbVNpemXvvIxjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgaXRlbVNpemU6IG51bWJlciA9IDQyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgRXhjZWVkIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1pbkJ1ZmZlclB4OiBudW1iZXIgPSAxMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBSZW5kZXIgdGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtYXhCdWZmZXJQeDogbnVtYmVyID0gMjAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rpgILlupTpq5jluqbvvIx0YWJsZSDpq5jluqbnrYnkuo7lsY/luZXpq5jluqblh4/mjonmraTlpITorr7nva7nmoTmlbDlgLxcclxuICAgKiBAZW5fVVMgQWRhcHRpdmUgaGVpZ2h0LCB0YWJsZSBoZWlnaHQgaXMgZXF1YWwgdG8gdGhlIHNjcmVlbiBoZWlnaHQgbWludXMgdGhlIHZhbHVlIHNldCBoZXJlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGFkYXB0aW9uSGVpZ2h0PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIERvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGJ5IHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgZG9jUGVyY2VudDogWE51bWJlciA9IDE7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa7muWKqOWMuuWfn+mrmOWuvVxyXG4gICAqIEBlbl9VUyBIZWlnaHQgYW5kIHdpZHRoIG9mIHJvbGxpbmcgYXJlYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNjcm9sbD86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572u6KeE5YiZXHJcbiAgICogQGVuX1VTIENlbGwgY29uZmlnIHJ1bGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2VsbENvbmZpZz86IFhUYWJsZUNlbGxDb25maWdSdWxlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJvd0NsYXNzPzogKHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC85LiL55qE5bGC57qnXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCB1bmRlciB0aGUgdHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxldmVsOiBudW1iZXIgPSAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLzlsZXlvIDmiYDmnInoioLngrlcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgZXhwYW5kZWRBbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGV5byA5YaF5a65XHJcbiAgICogQGVuX1VTIEN1c3RvbWl6ZWQgZXhwYW5zaW9uIGNvbnRlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBleHBhbmRUcGw/OiBYVGVtcGxhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBGb290XHJcbiAqIEBzZWxlY3RvciB4LXRhYmxlLWZvb3RcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVGb290UHJlZml4ID0gJ3gtdGFibGUtZm9vdCc7XHJcblxyXG4vKipcclxuICogVGFibGUgRm9vdCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlRm9vdFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86aG15bC+XHJcbiAgICogQGVuX1VTIFRhYmxlIGZvb3RlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvb3Rlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJvd0hlaWdodCE6IG51bWJlcjtcclxufVxyXG4iXX0=
542
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBRVosYUFBYSxFQUdiLFdBQVcsRUFNWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDOztBQUVoRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQUN0QyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBZSxTQUFRLG1CQUFtQjtJQUR2RDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQUNyQzs7O1dBR0c7UUFDTSxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQStCdEM7OztXQUdHO1FBQ08sdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3RDs7O1dBR0c7UUFDTSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDNUM7OztXQUdHO1FBQ00sa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBZ0I1Qzs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNuRDs7O1dBR0c7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUN0RTs7O1dBR0c7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBMEI3RDs7O1dBR0c7UUFDTSxnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUNuQzs7O1dBR0c7UUFDTSxnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQU1uQzs7O1dBR0c7UUFDc0IsZUFBVSxHQUFZLENBQUMsQ0FBQztRQUNqRDs7O1dBR0c7UUFDTSxlQUFVLEdBQWtDLEVBQUUsQ0FBQztRQUN4RDs7O1dBR0c7UUFDdUIsV0FBTSxHQUFhLElBQUksQ0FBQztRQWdCbEQ7OztXQUdHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBV3JEOzs7V0FHRztRQUNNLHVCQUFrQixHQUF3QixhQUFhLENBQUM7UUErQmpFOzs7V0FHRztRQUNNLGFBQVEsR0FBVSxFQUFFLENBQUM7UUFzQjlCOzs7V0FHRztRQUNPLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQy9EOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDN0Q7OztXQUdHO1FBQ08sMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFDckU7OztXQUdHO1FBQ08sMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFDNUU7OztXQUdHO1FBQ08seUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFDMUU7OztXQUdHO1FBQ08seUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7S0FDM0U7OzhIQXRRWSxjQUFjO2tIQUFkLGNBQWMsd25EQURKLEVBQUU7QUFnQjBDO0lBQXZELFdBQVcsQ0FBUyxhQUFhLEVBQUUsRUFBRSxDQUFDO0lBQUUsWUFBWSxFQUFFO2lEQUFvQjtBQUtiO0lBQTdELFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFOytDQUFvQjtBQUtuQjtJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTtnREFBcUI7QUFLckI7SUFBNUQsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUU7a0RBQXVCO0FBSzFCO0lBQXhELFdBQVcsQ0FBdUIsYUFBYSxFQUFFLEtBQUssQ0FBQztzREFBdUM7QUF1RGxDO0lBQTVELFdBQVcsQ0FBVyxhQUFhLEVBQUUsSUFBSSxDQUFDO0lBQUUsYUFBYSxFQUFFO3NEQUEyQjtBQUsxQjtJQUE1RCxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztJQUFFLGFBQWEsRUFBRTtxREFBMEI7QUFLL0I7SUFBdEQsV0FBVyxDQUFXLGFBQWEsQ0FBQztJQUFFLGFBQWEsRUFBRTtxREFBMEI7QUFLaEU7SUFBZixZQUFZLEVBQUU7a0RBQXFCO0FBS29CO0lBQXZELFdBQVcsQ0FBUyxhQUFhLEVBQUUsRUFBRSxDQUFDO0lBQUUsWUFBWSxFQUFFO2dEQUFtQjtBQWUxRDtJQUFmLFlBQVksRUFBRTtzREFBMEI7QUFLekI7SUFBZixZQUFZLEVBQUU7a0RBQXlCO0FBVXZCO0lBQWhCLGFBQWEsRUFBRTs4Q0FBeUI7QUE4Qkk7SUFBNUMsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7K0NBQWlCO0FBVUM7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7d0RBQTZCO0FBSzVCO0lBQTdELFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFOzhEQUFtQztBQUtuQztJQUE1RCxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztJQUFFLGFBQWEsRUFBRTtzREFBMkI7QUFLekI7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7aURBQXNCO0FBS3JCO0lBQTdELFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO21EQUF3QjtBQUs1QjtJQUF4RCxXQUFXLENBQVUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQUUsWUFBWSxFQUFFO3FEQUF5QjtBQWVwQjtJQUE1RCxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztJQUFFLGFBQWEsRUFBRTtpREFBc0I7QUFNM0M7SUFBdEMsV0FBVyxDQUFZLGFBQWEsQ0FBQztnREFBc0I7QUFLckI7SUFBdEMsV0FBVyxDQUFZLGFBQWEsQ0FBQztvREFBMEI7MkZBdk85RCxjQUFjO2tCQUQxQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLMkQsU0FBUztzQkFBekUsS0FBSztnQkFLaUUsT0FBTztzQkFBN0UsS0FBSztnQkFLaUUsUUFBUTtzQkFBOUUsS0FBSztnQkFLZ0UsVUFBVTtzQkFBL0UsS0FBSztnQkFLNEQsY0FBYztzQkFBL0UsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFLRSxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBS0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUsrRCxjQUFjO3NCQUFuRixLQUFLO2dCQUtnRSxhQUFhO3NCQUFsRixLQUFLO2dCQUswRCxhQUFhO3NCQUE1RSxLQUFLO2dCQUttQixVQUFVO3NCQUFsQyxLQUFLO2dCQUsyRCxRQUFRO3NCQUF4RSxLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLbUIsY0FBYztzQkFBdEMsS0FBSztnQkFLbUIsVUFBVTtzQkFBbEMsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtvQixNQUFNO3NCQUEvQixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU07Z0JBS0UsVUFBVTtzQkFBbEIsS0FBSztnQkFLZ0QsT0FBTztzQkFBNUQsS0FBSztnQkFLRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS2lFLGdCQUFnQjtzQkFBdEYsS0FBSztnQkFLaUUsc0JBQXNCO3NCQUE1RixLQUFLO2dCQUtnRSxjQUFjO3NCQUFuRixLQUFLO2dCQUtpRSxTQUFTO3NCQUEvRSxLQUFLO2dCQUtpRSxXQUFXO3NCQUFqRixLQUFLO2dCQUs0RCxhQUFhO3NCQUE5RSxLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLZ0UsU0FBUztzQkFBOUUsS0FBSztnQkFNMEMsUUFBUTtzQkFBdkQsS0FBSztnQkFLMEMsWUFBWTtzQkFBM0QsS0FBSztnQkFLSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBS0csZUFBZTtzQkFBeEIsTUFBTTtnQkFLRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBS0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUtHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFLRyxvQkFBb0I7c0JBQTdCLE1BQU07O0FBc1dUOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUM7QUFFL0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsU0FBUztJQURqRDs7UUFFRTs7O1dBR0c7UUFDTSxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUN0Qzs7O1dBR0c7UUFDc0IsY0FBUyxHQUFZLEVBQUUsQ0FBQztRQUNqRDs7O1dBR0c7UUFDTSxjQUFTLEdBQW1CLEVBQUUsQ0FBQztLQXFCekM7O2tJQXBDWSxrQkFBa0I7c0hBQWxCLGtCQUFrQix1UUFEUixFQUFFO0FBV0U7SUFBZixZQUFZLEVBQUU7cURBQXlCOzJGQVZ0QyxrQkFBa0I7a0JBRDlCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1oQixPQUFPO3NCQUFmLEtBQUs7Z0JBS21CLFNBQVM7c0JBQWpDLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLOztBQUdSOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUM7QUFFL0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsU0FBUztJQURqRDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQWdCLEVBQUUsQ0FBQztRQUNoQzs7O1dBR0c7UUFDTSxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUN0Qzs7O1dBR0c7UUFDTSxjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQU14Qzs7O1dBR0c7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQzdEOzs7V0FHRztRQUNzQixjQUFTLEdBQVksRUFBRSxDQUFDO1FBTWpEOzs7V0FHRztRQUN1QixtQkFBYyxHQUFhLElBQUksQ0FBQztRQUMxRDs7O1dBR0c7UUFDdUIsa0JBQWEsR0FBYSxLQUFLLENBQUM7UUFDMUQ7OztXQUdHO1FBQ3NCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDL0M7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFDbkM7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFNbkM7OztXQUdHO1FBQ3NCLGVBQVUsR0FBWSxDQUFDLENBQUM7UUFnQmpEOzs7V0FHRztRQUNNLFVBQUssR0FBVyxDQUFDLENBQUM7S0FXNUI7O2tJQXJHWSxrQkFBa0I7c0hBQWxCLGtCQUFrQiwwbUJBRFIsRUFBRTtBQStCRTtJQUFmLFlBQVksRUFBRTtxREFBeUI7QUFLeEI7SUFBZixZQUFZLEVBQUU7c0RBQXFCO0FBS25CO0lBQWhCLGFBQWEsRUFBRTswREFBaUM7QUFLaEM7SUFBaEIsYUFBYSxFQUFFO3lEQUFpQztBQUtqQztJQUFmLFlBQVksRUFBRTtvREFBdUI7QUFldEI7SUFBZixZQUFZLEVBQUU7MERBQTBCO0FBS3pCO0lBQWYsWUFBWSxFQUFFO3NEQUF5QjtBQXlCdkI7SUFBaEIsYUFBYSxFQUFFO3VEQUF3QjsyRkEvRnRDLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLElBQUk7c0JBQVosS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFLa0IsU0FBUztzQkFBakMsS0FBSztnQkFLbUIsVUFBVTtzQkFBbEMsS0FBSztnQkFLb0IsY0FBYztzQkFBdkMsS0FBSztnQkFLb0IsYUFBYTtzQkFBdEMsS0FBSztnQkFLbUIsUUFBUTtzQkFBaEMsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS21CLGNBQWM7c0JBQXRDLEtBQUs7Z0JBS21CLFVBQVU7c0JBQWxDLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS29CLFdBQVc7c0JBQXBDLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSzs7QUFHUjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDO0FBRS9DOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7O2tJQUFwQyxrQkFBa0I7c0hBQWxCLGtCQUFrQixpSUFEUixFQUFFOzJGQUNaLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLE1BQU07c0JBQWQsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYUHJvcGVydHksXHJcbiAgWE51bWJlcixcclxuICBYSW5wdXROdW1iZXIsXHJcbiAgWFNvcnQsXHJcbiAgWElucHV0Qm9vbGVhbixcclxuICBYQm9vbGVhbixcclxuICBYRGF0YSxcclxuICBYV2l0aENvbmZpZyxcclxuICBYVGV4dEFsaWduLFxyXG4gIFhTaXplLFxyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhUZW1wbGF0ZVxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFBhZ2luYXRpb25Qcm9wZXJ0eSwgWFBhZ2luYXRpb25PcHRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wYWdpbmF0aW9uJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZVxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZVByZWZpeCA9ICd4LXRhYmxlJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICd0YWJsZSc7XHJcblxyXG4vKipcclxuICogVGFibGUgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZVByb3BlcnR5IGV4dGVuZHMgWFBhZ2luYXRpb25Qcm9wZXJ0eSBpbXBsZW1lbnRzIFhUYWJsZU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRhdGE6IFhEYXRhPFhUYWJsZVJvdz4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6ZuG5ZCIXHJcbiAgICogQGVuX1VTIENvbHVtbiBzZXRcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zOiBYVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajlpLTlkozooYzpq5jvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVhZGVyIGFuZCByb3cgaGVpZ2h0LCB1bml0IHB4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgNDIpIEBYSW5wdXROdW1iZXIoKSByb3dIZWlnaHQhOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWQr+eUqOWKoOi9vSBsb2FkaW5nXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZW5hYmxlIGxvYWRpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIGxvYWRpbmchOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5bGV56S65YiX6L655qGGXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gc2hvdyBjb2x1bW4gYm9yZGVyc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgYm9yZGVyZWQhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+56S65YiX5aS0XHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY29sdW1uIGhlYWRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgc2hvd0hlYWRlciE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLTmmL7npLrkvY3nva5cclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBkaXNwbGF5IHRoZSBjb2x1bW4gaGVhZGVyc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYVGFibGVIZWFkZXJQb3NpdGlvbj4oWF9DT05GSUdfTkFNRSwgJ3RvcCcpIGhlYWRlclBvc2l0aW9uITogWFRhYmxlSGVhZGVyUG9zaXRpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgc2VsZWN0ZWQgcm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmF0ZWRSb3c/OiBYVGFibGVSb3c7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaUueWPmFxyXG4gICAqIEBlbl9VUyBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJvdyBjaGFuZ2VzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2YXRlZFJvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlUm93PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLToh6rlrprkuYnmqKHmnb/vvIzpgJrov4cga2V5LXZhbHVlIOeahOaWueW8j+aMh+Wumuavj+WIl+eahOaooeeJiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gaGVhZGVyIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhlYWRDb2x1bW5UcGw6IFhUYWJsZVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WGheWuueiHquWumuS5ieaooeadv++8jOmAmui/hyBrZXktdmFsdWUg55qE5pa55byP5oyH5a6a5q+P5YiX55qE5qih54mIXHJcbiAgICogQGVuX1VTIENvbHVtbiBjb250ZW50IGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJvZHlDb2x1bW5UcGw6IFhUYWJsZVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOeahOiHquWumuS5ieaooeadv++8jOS8mOWFiOe6p+S9juS6juWIl+WGheWuueiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGUgb2YgY2VsbHNcclxuICAgKi9cclxuICBASW5wdXQoKSBib2R5VGRUcGw/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOadoeS7tuagt+W8j1xyXG4gICAqIEBlbl9VUyBSb3cgY29uZGl0aW9uIGNsYXNzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcm93Q2xhc3M/OiAocm93OiBYVGFibGVSb3csIGluZGV4OiBudW1iZXIpID0+IHsgW2NsYXNzTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLTmkJzntKLoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgTGluZSBoZWFkIHNlYXJjaCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWFkU2VhcmNoVHBsPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLluo/ngrnlh7vnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU29ydCBjbGljayBldmVudHNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFNvcnRbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS0IGNoZWNrYm94IOS6i+S7tlxyXG4gICAqIEBlbl9VUyBoZWFkIGNoZWNrYm94IGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGhlYWRDaGVja2JveENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlSGVhZENoZWNrYm94PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBib2R5IGNoZWNrYm94IOS6i+S7tlxyXG4gICAqIEBlbl9VUyBoZWFkIGNoZWNrYm94IGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGJvZHlDaGVja2JveENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlUm93PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhYHorrjooYzngrnlh7vpgInkuK3lvZPliY3ooYxcclxuICAgKiBAZW5fVVMgQWxsb3cgcm93IGNsaWNrIHRvIHNlbGVjdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBhbGxvd1NlbGVjdFJvdyE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhYHorrjooYzngrnlh7vpgInkuK0gY2hlY2tib3hcclxuICAgKiBAZW5fVVMgQWxsb3cgbGluZXMgdG8gY2xpY2sgY2hlY2tib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgYWxsb3dDaGVja1JvdyE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSkgQFhJbnB1dEJvb2xlYW4oKSB2aXJ0dWFsU2Nyb2xsITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGJvZHkg5pWw5o2u6auY5bqmXHJcbiAgICogQGVuX1VTIGJvZHkgZGF0YSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgYm9keUhlaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04gaXRlbVNpemXvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgaXRlbVNpemXvvIxjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8bnVtYmVyPihYX0NPTkZJR19OQU1FLCA0MikgQFhJbnB1dE51bWJlcigpIGl0ZW1TaXplITogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgRXhjZWVkIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1pbkJ1ZmZlclB4OiBudW1iZXIgPSAxMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBSZW5kZXIgdGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtYXhCdWZmZXJQeDogbnVtYmVyID0gMjAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rpgILlupTpq5jluqbvvIx0YWJsZSDpq5jluqbnrYnkuo7lsY/luZXpq5jluqblh4/mjonmraTlpITorr7nva7nmoTmlbDlgLxcclxuICAgKiBAZW5fVVMgQWRhcHRpdmUgaGVpZ2h0LCB0YWJsZSBoZWlnaHQgaXMgZXF1YWwgdG8gdGhlIHNjcmVlbiBoZWlnaHQgbWludXMgdGhlIHZhbHVlIHNldCBoZXJlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGFkYXB0aW9uSGVpZ2h0PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIERvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGJ5IHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgZG9jUGVyY2VudDogWE51bWJlciA9IDE7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOWIl+WIneWni+mAieS4reeahOaVsOaNru+8jOWIl+S4rea/gOa0uyBjaGVja2JveFxyXG4gICAqIEBlbl9VUyBDaGVja2JveCBjb2x1bW4gaW5pdGlhbGx5IHNlbGVjdGVkIGRhdGEsIGNoZWNrYm94IGlzIGFjdGl2YXRlZCBpbiBjb2x1bW5cclxuICAgKi9cclxuICBASW5wdXQoKSBjaGVja2VkUm93OiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogYW55W10gfSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpoLmnpwgZGF0YSDmmK/lh73mlbDnsbvlnovvvIzlj6/ku6XpgJrov4fmraTlj4LmlbDmjqfliLbor7fmsYLvvIzluLjnlKjkuo7lvLnmoYbkuK3nmoTooajmoLzvvIzlvLnlh7rlkI7lho3or7fmsYJcclxuICAgKiBAZW5fVVMgSWYgZGF0YSBpcyBhIGZ1bmN0aW9uIHR5cGUsIHlvdSBjYW4gdXNlIHRoaXMgcGFyYW1ldGVyIHRvIGNvbnRyb2wgdGhlIHJlcXVlc3QsIHdoaWNoIGlzIG9mdGVuIHVzZWQgaW4gdGhlIGZvcm0gaW4gdGhlIHBvcC11cCBib3gsIGFuZCB0aGVuIHJlcXVlc3QgaXQgYWZ0ZXIgaXQgcG9wcyB1cFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbWFudWFsOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa7muWKqOWMuuWfn+mrmOWuvVxyXG4gICAqIEBlbl9VUyBIZWlnaHQgYW5kIHdpZHRoIG9mIHJvbGxpbmcgYXJlYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNjcm9sbD86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86aG15aS0XHJcbiAgICogQGVuX1VTIFRhYmxlIGhlYWRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhlYWRlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86aG15bC+XHJcbiAgICogQGVuX1VTIFRhYmxlIGZvb3RlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvb3Rlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+C5pWw5o6n5Yi26K+35rGC5pS55Y+Y5LqL5Lu2XHJcbiAgICogQGVuX1VTIFBhcmFtZXRlciBjb250cm9sIHJlcXVlc3QgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG1hbnVhbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENlbGwgY29uZmlnXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2VsbENvbmZpZz86IFhUYWJsZUNlbGxDb25maWc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhTaXplPihYX0NPTkZJR19OQU1FLCAnbWVkaXVtJykgcm93U2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliIbpobXlmajkvY3nva5cclxuICAgKiBAZW5fVVMgUGFnaW5hdGlvbiBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBhZ2luYXRpb25Qb3NpdGlvbjogWFBhZ2luYXRpb25Qb3NpdGlvbiA9ICdib3R0b20tbGVmdCc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmakOiXj+ihqOagvOWklui+ueahhlxyXG4gICAqIEBlbl9VUyBIaWRkZW4gdGFibGUgd3JhcCBib3JkZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIGhpZGRlbldyYXBCb3JkZXI/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6ZqQ6JeP5YiG6aG15Zmo5oyJ6ZKu6L655qGGXHJcbiAgICogQGVuX1VTIEhpZGRlbiBwYWdpbmF0aW9uIGJ1dHRvbiBib3JkZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIGhpZGRlblBhZ2luYXRpb25Cb3JkZXI/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65YiG6aG15ZmoXHJcbiAgICogQGVuX1VTIFBhZ2luYXRpb24gcG9zaXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgc2hvd1BhZ2luYXRpb24/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC8XHJcbiAgICogQGVuX1VTIFRyZWUgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIHRyZWVUYWJsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLzlsZXlvIDmiYDmnInoioLngrlcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgZXhwYW5kZWRBbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6buY6K6k5bGV5byA55qE5bGC57qn77yMLTEg5LiN5bGV5byAXHJcbiAgICogQGVuX1VTIERlZmF1bHQgZXhwYW5kZWQgbGV2ZWxcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSwgLTEpIEBYSW5wdXROdW1iZXIoKSBleHBhbmRlZExldmVsITogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byA55qE6IqC54K5XHJcbiAgICogQGVuX1VTIEV4cGFuZGVkIG5vZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBleHBhbmRlZDogYW55W10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGV5byA5YaF5a65XHJcbiAgICogQGVuX1VTIEN1c3RvbWl6ZWQgZXhwYW5zaW9uIGNvbnRlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBleHBhbmRUcGw/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaVsOaNruS4uuepuueahOaPkOekulxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IGEgcHJvbXB0IHdpdGggZW1wdHkgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBzaG93RW1wdHk/OiBYQm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaVsOaNruS4uuepuueahOaPkOekuuWbvueJh+WcsOWdgOaIluiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBQaWN0dXJlIGFkZHJlc3Mgb3IgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhUZW1wbGF0ZT4oWF9DT05GSUdfTkFNRSkgZW1wdHlJbWc/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaVsOaNruS4uuepuueahOaPkOekuuWGheWuueaIluiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDb250ZW50IG9yIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYVGVtcGxhdGU+KFhfQ09ORklHX05BTUUpIGVtcHR5Q29udGVudD86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05ouW5Yqo5byA5aeL5LqL5Lu277yM6L+U5Zue5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIENvbHVtbiBIZWFkZXIgRHJhZyBFbmQgRXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJhZ1N0YXJ0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZUNvbHVtbj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05ouW5Yqo57uT5p2f5LqL5Lu277yM6L+U5Zue5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIFRoZSBjb2x1bW4gaGVhZGVyIGlzIGRyYWdnaW5nLCBhbmQgdGhlIGV2ZW50IGlzIHRyaWdnZXJlZCB3aGVuIHRoZSBvcmRlciBpcyBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGNvbHVtbkRyYWdFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlQ29sdW1uPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPnlKjmiLfmiorkuIDkuKrmnaHnm67mipXmlL7ov5vor6Xlrrnlmajml7blsLHkvJrop6blj5HvvIzmi5bliqjmlL7lvIDnmoTkuovku7bvvIzov5Tlm57mi5bliqjmjpLluo/lkI7nmoTliJfmlbDmja5cclxuICAgKiBAZW5fVVMgVGhlIGNvbHVtbiBoZWFkZXIgaXMgZHJhZ2dpbmcsIGFuZCB0aGUgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIG9yZGVyIGlzIGNoYW5nZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJvcExpc3REcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxYVGFibGVDb2x1bW5bXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5aeL5ouW5Yqo5YiX5a6955qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIHN0YXJ0ZWQgZHJhZyBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJhZ1dpZHRoU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl+WuveaXtueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBtb3ZlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5EcmFnV2lkdGhNb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOe7k+adn+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBlbmRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5EcmFnV2lkdGhFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBPcHRpb25cclxuICogQHVuZG9jdW1lbnQgdHJ1ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVPcHRpb24gZXh0ZW5kcyBYUGFnaW5hdGlvbk9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gICAqL1xyXG4gIGRhdGE/OiBYRGF0YTxYVGFibGVSb3c+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIGNvbHVtbnM/OiBYVGFibGVDb2x1bW5bXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIHJvd0hlaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5ZCv55So5Yqg6L29IGxvYWRpbmdcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBlbmFibGUgbG9hZGluZ1xyXG4gICAqL1xyXG4gIGxvYWRpbmc/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIGFjdGl2YXRlZFJvdz86IFhUYWJsZVJvdztcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS06Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIENvbHVtbiBoZWFkZXIgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgaGVhZENvbHVtblRwbD86IFhUYWJsZVRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflhoXlrrnoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ29sdW1uIGNvbnRlbnQgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgYm9keUNvbHVtblRwbD86IFhUYWJsZVRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIHJvd0NsYXNzPzogKHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGJvZHkg5pWw5o2u6auY5bqmXHJcbiAgICogQGVuX1VTIGJvZHkgZGF0YSBoZWlnaHRcclxuICAgKi9cclxuICBib2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgRXhjZWVkIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIG1pbkJ1ZmZlclB4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgbWF4QnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBBZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICBhZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgZG9jUGVyY2VudD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHJvd1NpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmlbDmja5cclxuICogQGVuX1VTIERhdGFcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlUm93IGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFRhYmxlUm93PiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gFxyXG4gICAqIEBlbl9VUyBVbmZvbGRcclxuICAgKi9cclxuICBleHBhbmRlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WPguaVsFxyXG4gKiBAZW5fVVMgQ29sdW1uIHBhcmFtZXRlclxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDb2x1bW4gZXh0ZW5kcyBYSWRlbnRpdHlQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOexu+Wei1xyXG4gICAqIEBlbl9VUyBUeXBlcyBvZlxyXG4gICAqL1xyXG4gIHR5cGU/OiBYQ29sdW1uVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a695bqmXHJcbiAgICogQGVuX1VTIFdpZHRoXHJcbiAgICovXHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5a695bqmXHJcbiAgICogQGVuX1VTIEZsZXggbGF5b3V0IHdpZHRoXHJcbiAgICovXHJcbiAgZmxleD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5p+l6K+i5a2X5q61XHJcbiAgICogQGVuX1VTIFF1ZXJ5IGZpZWxkXHJcbiAgICovXHJcbiAgc2VhcmNoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP5a2X5q61XHJcbiAgICogQGVuX1VTIFNvcnQgZmllbGRcclxuICAgKi9cclxuICBzb3J0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75bem6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSBsZWZ0XHJcbiAgICovXHJcbiAgbGVmdD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75Y+z6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSByaWdodFxyXG4gICAqL1xyXG4gIHJpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmk43kvZzmjInpkq5cclxuICAgKiBAZW5fVVMgT3BlcmF0aW9uIGJ1dHRvblxyXG4gICAqL1xyXG4gIGFjdGlvbj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIHR5cGUg5Li6IGNoZWNrYm94IOaXtue7keWumuihjOeCueWHu+mAieS4reS6i+S7tlxyXG4gICAqIEBlbl9VUyBCaW5kIHJvdyBjbGljayBzZWxlY3Rpb24gZXZlbnQgd2hlbiB0eXBlIGlzIGNoZWNrYm94XHJcbiAgICovXHJcbiAgcm93Q2hlY2tlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIHR5cGUg5Li6IGV4cGFuZCDml7bnu5HlrprooYzngrnlh7vlsZXlvIDkuovku7ZcclxuICAgKiBAZW5fVVMgQmluZCByb3cgY2xpY2sgc2VsZWN0aW9uIGV2ZW50IHdoZW4gdHlwZSBpcyBleHBhbmRcclxuICAgKi9cclxuICByb3dFeHBhbmQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmloflrZflr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgVGV4dCBhbGlnbm1lbnRcclxuICAgKi9cclxuICB0ZXh0QWxpZ24/OiBYVGV4dEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjliJflrr3vvIzpnIDopoHorr7nva7liJfnmoTliJ3lp4vlrr3luqYgd2lkdGhcclxuICAgKiBAZW5fVVMgRHJhZyB0aGUgY29sdW1uIHdpZHRoLCB5b3UgbmVlZCB0byBzZXQgdGhlIGluaXRpYWwgd2lkdGggb2YgdGhlIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl+WuvVxyXG4gICAqIEBlbl9VUyBEcmFnZ2luZyB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdnaW5nV2lkdGg/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlp4vmi5bliqjliJflrr3nmoTkuovku7ZcclxuICAgKiBAZW5fVVMgRXZlbnQgdG8gc3RhcnRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aFN0YXJ0ZWQ/OiAoZXZlbnQ6IFhUYWJsZURyYWdXaWR0aEV2ZW50KSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPlnKjmi5bliqjliJflrr3ml7bnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgRXZlbnQgdG8gbW92ZWQgZHJhZyBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBkcmFnV2lkdGhNb3ZlZD86IChldmVudDogWFRhYmxlRHJhZ1dpZHRoRXZlbnQpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOe7k+adn+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBlbmRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aEVuZGVkPzogKGV2ZW50OiBYVGFibGVEcmFnV2lkdGhFdmVudCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo5YiXXHJcbiAgICogQGVuX1VTIERyYWcgdGhlIGNvbHVtblxyXG4gICAqL1xyXG4gIGRyYWdDb2x1bW4/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPlnKjmi5bliqjliJdcclxuICAgKiBAZW5fVVMgRHJhZ2dpbmcgY29sdW1uXHJcbiAgICovXHJcbiAgZHJhZ2dpbmc/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpLTpg6jmmL7npLogY2hlY2tib3hcclxuICAgKiBAZW5fVVMgSGVhZCBzaG93cyBjaGVja2JveFxyXG4gICAqL1xyXG4gIGhlYWRDaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aS06YOo5pi+56S6IGV4cGFuZFxyXG4gICAqIEBlbl9VUyBIZWFkIHNob3dzIGV4cGFuZFxyXG4gICAqL1xyXG4gIGhlYWRFeHBhbmQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJflpLTlrr3luqbmi5bliqjkuovku7ZcclxuICogQGVuX1VTIENvbHVtbiBoZWFkZXIgd2lkdGggZHJhZyBldmVudFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVEcmFnV2lkdGhFdmVudCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOeahOWIl1xyXG4gICAqIEBlbl9VUyBEcmFnZ2VkIGNvbHVtblxyXG4gICAqL1xyXG4gIGNvbHVtbjogWFRhYmxlQ29sdW1uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfkvY3nva7vvIzmraPlnKjmi5bliqjnmoTml7blgJnmjIflgY/np7vkvY3nva5cclxuICAgKiBAZW5fVVMgVGhlIGNvbHVtbiBwb3NpdGlvbiByZWZlcnMgdG8gdGhlIG9mZnNldCBwb3NpdGlvbiB3aGVuIGRyYWdnaW5nXHJcbiAgICovXHJcbiAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJflpLQgY2hlY2tib3gg5LqL5Lu25pWw5o2uXHJcbiAqIEBlbl9VUyBDb2x1bW4gaGVhZGVyIGNoZWNrYm94IGV2ZW50IGRhdGFcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlSGVhZENoZWNrYm94IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFJvdyBkYXRhXHJcbiAgICovXHJcbiAgcm93czogWFRhYmxlUm93W107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDaGVja2JveCBkYXRhXHJcbiAgICovXHJcbiAgY2hlY2tib3g6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBib29sZWFuIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDZWxsQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENvbHVtbiBjZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIHRoZWFkPzogWFRhYmxlQ2VsbENvbmZpZ1J1bGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBSb3cgY29uZmlnXHJcbiAgICovXHJcbiAgdGJvZHk/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzphY3nva7op4TliJlcclxuICogQGVuX1VTIENlbGwgY29uZmlnIHJ1bGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGxDb25maWdSdWxlIHtcclxuICAvKipcclxuICAgKiBAemhfQ04gZ3JpZCDluIPlsYDkuIvlrprkuYnliJflrr3luqZcclxuICAgKiBAZW5fVVMgRGVmaW5lIGNvbHVtbiB3aWR0aCB1bmRlciBncmlkIGxheW91dFxyXG4gICAqL1xyXG4gIGdyaWRUZW1wbGF0ZUNvbHVtbnM/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAgICovXHJcbiAgY2VsbHM/OiBYVGFibGVDZWxsW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5YWD5qC85ZCI5bm26YWN572uXHJcbiAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGwge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkvb/nlKggZ3JpZCDluIPlsYDmnaXlkIjlubbljZXlhYPmoLxcclxuICAgKiBAZW5fVVMgVXNlIGdyaWQgbGF5b3V0IHRvIG1lcmdlIGNlbGxzXHJcbiAgICovXHJcbiAgZ3JpZEFyZWE/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjeensFxyXG4gICAqIEBlbl9VUyBOYW1lXHJcbiAgICovXHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWuveW6plxyXG4gICAqIEBlbl9VUyBXaWR0aFxyXG4gICAqL1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlt6bovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIGxlZnRcclxuICAgKi9cclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlj7PovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIHJpZ2h0XHJcbiAgICovXHJcbiAgcmlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvueW6lOWIl+eahCBpZFxyXG4gICAqIEBlbl9VUyBUaGUgaWQgb2YgdGhlIGNvcnJlc3BvbmRpbmcgY29sdW1uXHJcbiAgICovXHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWIl+WuvVxyXG4gICAqIEBlbl9VUyBEcmFnIHRoZSBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBkcmFnV2lkdGg/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJfnsbvlnotcclxuICogQGVuX1VTIENvbHVtbiB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYQ29sdW1uVHlwZSA9ICdsYWJlbCcgfCAnaW5kZXgnIHwgJ2NoZWNrYm94JyB8ICdleHBhbmQnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJflpLTmmL7npLrkvY3nva5cclxuICogQGVuX1VTIExpbmUgaGVhZCBkaXNwbGF5IHBvc2l0aW9uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYVGFibGVIZWFkZXJQb3NpdGlvbiA9ICd0b3AnIHwgJ2JvdHRvbScgfCAndG9wLWJvdHRvbSc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIhumhteWZqOS9jee9rlxyXG4gKiBAZW5fVVMgUGFnaW5nIHBvc2l0aW9uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYUGFnaW5hdGlvblBvc2l0aW9uID0gJ3RvcC1sZWZ0JyB8ICd0b3AtY2VudGVyJyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdib3R0b20tY2VudGVyJyB8ICdib3R0b20tcmlnaHQnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmqKHmnb9cclxuICogQGVuX1VTIFRlbXBsYXRlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYVGFibGVUZW1wbGF0ZSA9IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBUZW1wbGF0ZVJlZjxhbnk+IH07XHJcblxyXG4vKipcclxuICogVGFibGUgSGVhZFxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1oZWFkXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlSGVhZFByZWZpeCA9ICd4LXRhYmxlLWhlYWQnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEhlYWQgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUhlYWRQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6auY5bqm77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlaWdodCBpbiBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSByb3dIZWlnaHQ6IFhOdW1iZXIgPSA0MjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtblRwbDogWFRhYmxlVGVtcGxhdGUgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56uW5ZCR5rua5Yqo5p2h5a695bqmXHJcbiAgICogQGVuX1VTIFZlcnRpY2FsIHNjcm9sbCBiYXIgd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxZV2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaoquWQkea7muWKqOadoeWuveW6plxyXG4gICAqIEBlbl9VUyBIb3Jpem9udGFsIHNjcm9sbCBiYXIgd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxYV2lkdGg/OiBudW1iZXIgfCBudWxsO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ2VsbCBtZXJnZSBydWxlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S655qE5L2N572uXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBwb3NpdGlvbj86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEJvZHlcclxuICogQHNlbGVjdG9yIHgtdGFibGUtYm9keVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZUJvZHlQcmVmaXggPSAneC10YWJsZS1ib2R5JztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBCb2R5IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVCb2R5UHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXRhOiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM6IFhUYWJsZUNvbHVtbltdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2x1bW5UcGw6IFhUYWJsZVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgc2VsZWN0ZWQgcm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmF0ZWRSb3c/OiBYVGFibGVSb3c7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaUueWPmFxyXG4gICAqIEBlbl9VUyBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJvdyBjaGFuZ2VzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2YXRlZFJvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlUm93PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpq5jluqbvvIzljZXkvY0gcHjjgILorr7nva7kuLogMCDooajnpLrooYzpq5joh6rpgILlupTlhoXlrrnpq5jluqbjgIJcclxuICAgKiBAZW5fVVMgSGVpZ2h0IGluIHB4LiBzZXQgdG8gMCBtZWFucyB0aGF0IHRoZSByb3cgaGVpZ2h0IGlzIGFkYXB0aXZlIHRvIHRoZSBjb250ZW50IGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSByb3dIZWlnaHQ6IFhOdW1iZXIgPSA0MjtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBib2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhYHorrjooYzngrnlh7vpgInkuK1cclxuICAgKiBAZW5fVVMgQWxsb3cgcm93IGNsaWNrIHRvIHNlbGVjdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgYWxsb3dTZWxlY3RSb3c6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHZpcnR1YWxTY3JvbGw6IFhCb29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGl0ZW1TaXpl77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIGl0ZW1TaXpl77yMY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGl0ZW1TaXplOiBudW1iZXIgPSA0MjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW5CdWZmZXJQeDogbnVtYmVyID0gMTAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBhZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGRvY1BlcmNlbnQ6IFhOdW1iZXIgPSAxO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jlrr1cclxuICAgKiBAZW5fVVMgSGVpZ2h0IGFuZCB3aWR0aCBvZiByb2xsaW5nIGFyZWFcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGw/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9ruinhOWImVxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZyBydWxlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5p2h5Lu25qC35byPXHJcbiAgICogQGVuX1VTIFJvdyBjb25kaXRpb24gY2xhc3NcclxuICAgKi9cclxuICBASW5wdXQoKSByb3dDbGFzcz86IChyb3c6IFhUYWJsZVJvdywgaW5kZXg6IG51bWJlcikgPT4geyBbY2xhc3NOYW1lOiBzdHJpbmddOiBib29sZWFuIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvOS4i+eahOWxgue6p1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgdW5kZXIgdGhlIHRyZWUgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBsZXZlbDogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC85bGV5byA5omA5pyJ6IqC54K5XHJcbiAgICogQGVuX1VTIFRyZWUgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGV4cGFuZGVkQWxsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxleW8gOWGheWuuVxyXG4gICAqIEBlbl9VUyBDdXN0b21pemVkIGV4cGFuc2lvbiBjb250ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgZXhwYW5kVHBsPzogWFRlbXBsYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogVGFibGUgRm9vdFxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1mb290XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlRm9vdFByZWZpeCA9ICd4LXRhYmxlLWZvb3QnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEZvb3QgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUZvb3RQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWwvlxyXG4gICAqIEBlbl9VUyBUYWJsZSBmb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBmb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOWktOWSjOihjOmrmO+8jOWNleS9jSBweFxyXG4gICAqIEBlbl9VUyBIZWFkZXIgYW5kIHJvdyBoZWlnaHQsIHVuaXQgcHhcclxuICAgKi9cclxuICBASW5wdXQoKSByb3dIZWlnaHQhOiBudW1iZXI7XHJcbn1cclxuIl19