@handsontable/angular 0.0.0-next-0ff5394-20240409 → 0.0.0-next-eaa3153-20240410

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.
@@ -1,786 +0,0 @@
1
- import { Component, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
2
- import Handsontable from 'handsontable/base';
3
- import { HotTableRegisterer, HOT_DESTROYED_WARNING } from './hot-table-registerer.service';
4
- import { HotSettingsResolver } from './hot-settings-resolver.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./hot-table-registerer.service";
7
- import * as i2 from "./hot-settings-resolver.service";
8
- export class HotTableComponent {
9
- constructor(_hotTableRegisterer, _hotSettingsResolver, ngZone) {
10
- this._hotTableRegisterer = _hotTableRegisterer;
11
- this._hotSettingsResolver = _hotSettingsResolver;
12
- this.ngZone = ngZone;
13
- this.__hotInstance = null;
14
- this.columnsComponents = [];
15
- this.hotId = '';
16
- }
17
- get hotInstance() {
18
- if (!this.__hotInstance || (this.__hotInstance && !this.__hotInstance.isDestroyed)) {
19
- // Will return the Handsontable instance or `null` if it's not yet been created.
20
- return this.__hotInstance;
21
- }
22
- else {
23
- this._hotTableRegisterer.removeInstance(this.hotId);
24
- console.warn(HOT_DESTROYED_WARNING);
25
- return null;
26
- }
27
- }
28
- set hotInstance(hotInstance) {
29
- this.__hotInstance = hotInstance;
30
- }
31
- ngAfterViewInit() {
32
- const options = this._hotSettingsResolver.mergeSettings(this);
33
- if (this.columnsComponents.length > 0) {
34
- const columns = [];
35
- this.columnsComponents.forEach((column) => {
36
- columns.push(this._hotSettingsResolver.mergeSettings(column));
37
- });
38
- options['columns'] = columns;
39
- }
40
- this.ngZone.runOutsideAngular(() => {
41
- this.hotInstance = new Handsontable.Core(this.container.nativeElement, options);
42
- if (this.hotId) {
43
- this._hotTableRegisterer.registerInstance(this.hotId, this.hotInstance);
44
- }
45
- // @ts-ignore
46
- this.hotInstance.init();
47
- });
48
- }
49
- ngOnChanges(changes) {
50
- if (this.hotInstance === null) {
51
- return;
52
- }
53
- const newOptions = this._hotSettingsResolver.prepareChanges(changes);
54
- this.updateHotTable(newOptions);
55
- }
56
- ngOnDestroy() {
57
- this.ngZone.runOutsideAngular(() => {
58
- if (this.hotInstance) {
59
- this.hotInstance.destroy();
60
- }
61
- });
62
- if (this.hotId) {
63
- this._hotTableRegisterer.removeInstance(this.hotId);
64
- }
65
- }
66
- updateHotTable(newSettings) {
67
- if (!this.hotInstance) {
68
- return;
69
- }
70
- this.ngZone.runOutsideAngular(() => {
71
- this.hotInstance.updateSettings(newSettings, false);
72
- });
73
- }
74
- onAfterColumnsChange() {
75
- if (this.columnsComponents === void 0) {
76
- return;
77
- }
78
- if (this.columnsComponents.length > 0) {
79
- const columns = [];
80
- this.columnsComponents.forEach((column) => {
81
- columns.push(this._hotSettingsResolver.mergeSettings(column));
82
- });
83
- const newOptions = {
84
- columns: columns
85
- };
86
- this.updateHotTable(newOptions);
87
- }
88
- }
89
- onAfterColumnsNumberChange() {
90
- const columns = [];
91
- if (this.columnsComponents.length > 0) {
92
- this.columnsComponents.forEach((column) => {
93
- columns.push(this._hotSettingsResolver.mergeSettings(column));
94
- });
95
- }
96
- this.updateHotTable({ columns });
97
- }
98
- addColumn(column) {
99
- this.columnsComponents.push(column);
100
- this.onAfterColumnsNumberChange();
101
- }
102
- removeColumn(column) {
103
- const index = this.columnsComponents.indexOf(column);
104
- this.columnsComponents.splice(index, 1);
105
- this.onAfterColumnsNumberChange();
106
- }
107
- }
108
- HotTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HotTableComponent, deps: [{ token: i1.HotTableRegisterer }, { token: i2.HotSettingsResolver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
109
- HotTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HotTableComponent, selector: "hot-table", inputs: { settings: "settings", hotId: "hotId", activeHeaderClassName: "activeHeaderClassName", allowEmpty: "allowEmpty", allowHtml: "allowHtml", allowInsertColumn: "allowInsertColumn", allowInsertRow: "allowInsertRow", allowInvalid: "allowInvalid", allowRemoveColumn: "allowRemoveColumn", allowRemoveRow: "allowRemoveRow", ariaTags: "ariaTags", autoColumnSize: "autoColumnSize", autoRowSize: "autoRowSize", autoWrapCol: "autoWrapCol", autoWrapRow: "autoWrapRow", bindRowsWithHeaders: "bindRowsWithHeaders", cell: "cell", cells: "cells", checkedTemplate: "checkedTemplate", className: "className", colHeaders: "colHeaders", collapsibleColumns: "collapsibleColumns", columnHeaderHeight: "columnHeaderHeight", columns: "columns", columnSorting: "columnSorting", columnSummary: "columnSummary", colWidths: "colWidths", commentedCellClassName: "commentedCellClassName", comments: "comments", contextMenu: "contextMenu", copyable: "copyable", copyPaste: "copyPaste", correctFormat: "correctFormat", currentColClassName: "currentColClassName", currentHeaderClassName: "currentHeaderClassName", currentRowClassName: "currentRowClassName", customBorders: "customBorders", data: "data", dataSchema: "dataSchema", dateFormat: "dateFormat", datePickerConfig: "datePickerConfig", defaultDate: "defaultDate", tabNavigation: "tabNavigation", disableVisualSelection: "disableVisualSelection", dragToScroll: "dragToScroll", dropdownMenu: "dropdownMenu", editor: "editor", enterBeginsEditing: "enterBeginsEditing", enterMoves: "enterMoves", fillHandle: "fillHandle", filter: "filter", filteringCaseSensitive: "filteringCaseSensitive", filters: "filters", fixedColumnsLeft: "fixedColumnsLeft", fixedColumnsStart: "fixedColumnsStart", fixedRowsBottom: "fixedRowsBottom", fixedRowsTop: "fixedRowsTop", formulas: "formulas", fragmentSelection: "fragmentSelection", height: "height", hiddenColumns: "hiddenColumns", hiddenRows: "hiddenRows", invalidCellClassName: "invalidCellClassName", imeFastEdit: "imeFastEdit", label: "label", language: "language", layoutDirection: "layoutDirection", licenseKey: "licenseKey", locale: "locale", manualColumnFreeze: "manualColumnFreeze", manualColumnMove: "manualColumnMove", manualColumnResize: "manualColumnResize", manualRowMove: "manualRowMove", manualRowResize: "manualRowResize", maxCols: "maxCols", maxRows: "maxRows", mergeCells: "mergeCells", minCols: "minCols", minRows: "minRows", minSpareCols: "minSpareCols", minSpareRows: "minSpareRows", multiColumnSorting: "multiColumnSorting", navigableHeaders: "navigableHeaders", nestedHeaders: "nestedHeaders", nestedRows: "nestedRows", noWordWrapClassName: "noWordWrapClassName", numericFormat: "numericFormat", observeDOMVisibility: "observeDOMVisibility", outsideClickDeselects: "outsideClickDeselects", persistentState: "persistentState", placeholder: "placeholder", placeholderCellClassName: "placeholderCellClassName", preventOverflow: "preventOverflow", preventWheel: "preventWheel", readOnly: "readOnly", readOnlyCellClassName: "readOnlyCellClassName", renderAllColumns: "renderAllColumns", renderAllRows: "renderAllRows", renderer: "renderer", rowHeaders: "rowHeaders", rowHeaderWidth: "rowHeaderWidth", rowHeights: "rowHeights", search: "search", selectionMode: "selectionMode", selectOptions: "selectOptions", skipColumnOnPaste: "skipColumnOnPaste", skipRowOnPaste: "skipRowOnPaste", sortByRelevance: "sortByRelevance", source: "source", startCols: "startCols", startRows: "startRows", stretchH: "stretchH", strict: "strict", tableClassName: "tableClassName", tabMoves: "tabMoves", title: "title", trimDropdown: "trimDropdown", trimRows: "trimRows", trimWhitespace: "trimWhitespace", type: "type", uncheckedTemplate: "uncheckedTemplate", undo: "undo", validator: "validator", viewportColumnRenderingOffset: "viewportColumnRenderingOffset", viewportRowRenderingOffset: "viewportRowRenderingOffset", visibleRows: "visibleRows", width: "width", wordWrap: "wordWrap", afterAddChild: "afterAddChild", afterAutofill: "afterAutofill", afterBeginEditing: "afterBeginEditing", afterCellMetaReset: "afterCellMetaReset", afterChange: "afterChange", afterChangesObserved: "afterChangesObserved", afterColumnCollapse: "afterColumnCollapse", afterColumnExpand: "afterColumnExpand", afterColumnFreeze: "afterColumnFreeze", afterColumnMove: "afterColumnMove", afterColumnResize: "afterColumnResize", afterColumnSequenceChange: "afterColumnSequenceChange", afterColumnSort: "afterColumnSort", afterColumnUnfreeze: "afterColumnUnfreeze", afterContextMenuDefaultOptions: "afterContextMenuDefaultOptions", afterContextMenuHide: "afterContextMenuHide", afterContextMenuShow: "afterContextMenuShow", afterCopy: "afterCopy", afterCopyLimit: "afterCopyLimit", afterCreateCol: "afterCreateCol", afterCreateRow: "afterCreateRow", afterCut: "afterCut", afterDeselect: "afterDeselect", afterDestroy: "afterDestroy", afterDetachChild: "afterDetachChild", afterDocumentKeyDown: "afterDocumentKeyDown", afterDrawSelection: "afterDrawSelection", afterDropdownMenuDefaultOptions: "afterDropdownMenuDefaultOptions", afterDropdownMenuHide: "afterDropdownMenuHide", afterDropdownMenuShow: "afterDropdownMenuShow", afterFilter: "afterFilter", afterFormulasValuesUpdate: "afterFormulasValuesUpdate", afterGetCellMeta: "afterGetCellMeta", afterGetColHeader: "afterGetColHeader", afterGetColumnHeaderRenderers: "afterGetColumnHeaderRenderers", afterGetRowHeader: "afterGetRowHeader", afterGetRowHeaderRenderers: "afterGetRowHeaderRenderers", afterHideColumns: "afterHideColumns", afterHideRows: "afterHideRows", afterInit: "afterInit", afterLanguageChange: "afterLanguageChange", afterListen: "afterListen", afterLoadData: "afterLoadData", afterMergeCells: "afterMergeCells", afterModifyTransformEnd: "afterModifyTransformEnd", afterModifyTransformFocus: "afterModifyTransformFocus", afterModifyTransformStart: "afterModifyTransformStart", afterMomentumScroll: "afterMomentumScroll", afterNamedExpressionAdded: "afterNamedExpressionAdded", afterNamedExpressionRemoved: "afterNamedExpressionRemoved", afterOnCellContextMenu: "afterOnCellContextMenu", afterOnCellCornerDblClick: "afterOnCellCornerDblClick", afterOnCellCornerMouseDown: "afterOnCellCornerMouseDown", afterOnCellMouseDown: "afterOnCellMouseDown", afterOnCellMouseOut: "afterOnCellMouseOut", afterOnCellMouseOver: "afterOnCellMouseOver", afterOnCellMouseUp: "afterOnCellMouseUp", afterPaste: "afterPaste", afterPluginsInitialized: "afterPluginsInitialized", afterRedo: "afterRedo", afterRedoStackChange: "afterRedoStackChange", afterRefreshDimensions: "afterRefreshDimensions", afterRemoveCellMeta: "afterRemoveCellMeta", afterRemoveCol: "afterRemoveCol", afterRemoveRow: "afterRemoveRow", afterRender: "afterRender", afterRenderer: "afterRenderer", afterRowMove: "afterRowMove", afterRowResize: "afterRowResize", afterRowSequenceChange: "afterRowSequenceChange", afterScrollHorizontally: "afterScrollHorizontally", afterScrollVertically: "afterScrollVertically", afterScroll: "afterScroll", afterSelectColumns: "afterSelectColumns", afterSelection: "afterSelection", afterSelectionByProp: "afterSelectionByProp", afterSelectionEnd: "afterSelectionEnd", afterSelectionEndByProp: "afterSelectionEndByProp", afterSelectionFocusSet: "afterSelectionFocusSet", afterSelectRows: "afterSelectRows", afterSetCellMeta: "afterSetCellMeta", afterSetDataAtCell: "afterSetDataAtCell", afterSetDataAtRowProp: "afterSetDataAtRowProp", afterSetSourceDataAtCell: "afterSetSourceDataAtCell", afterSheetAdded: "afterSheetAdded", afterSheetRenamed: "afterSheetRenamed", afterSheetRemoved: "afterSheetRemoved", afterTrimRow: "afterTrimRow", afterUndo: "afterUndo", afterUndoStackChange: "afterUndoStackChange", afterUnhideColumns: "afterUnhideColumns", afterUnhideRows: "afterUnhideRows", afterUnlisten: "afterUnlisten", afterUnmergeCells: "afterUnmergeCells", afterUntrimRow: "afterUntrimRow", afterUpdateData: "afterUpdateData", afterUpdateSettings: "afterUpdateSettings", afterValidate: "afterValidate", afterViewportColumnCalculatorOverride: "afterViewportColumnCalculatorOverride", afterViewportRowCalculatorOverride: "afterViewportRowCalculatorOverride", afterViewRender: "afterViewRender", beforeAddChild: "beforeAddChild", beforeAutofill: "beforeAutofill", beforeBeginEditing: "beforeBeginEditing", beforeCellAlignment: "beforeCellAlignment", beforeChange: "beforeChange", beforeChangeRender: "beforeChangeRender", beforeColumnCollapse: "beforeColumnCollapse", beforeColumnExpand: "beforeColumnExpand", beforeColumnFreeze: "beforeColumnFreeze", beforeColumnMove: "beforeColumnMove", beforeColumnResize: "beforeColumnResize", beforeColumnSort: "beforeColumnSort", beforeColumnWrap: "beforeColumnWrap", beforeColumnUnfreeze: "beforeColumnUnfreeze", beforeContextMenuSetItems: "beforeContextMenuSetItems", beforeContextMenuShow: "beforeContextMenuShow", beforeCopy: "beforeCopy", beforeCreateCol: "beforeCreateCol", beforeCreateRow: "beforeCreateRow", beforeCut: "beforeCut", beforeDetachChild: "beforeDetachChild", beforeDrawBorders: "beforeDrawBorders", beforeDropdownMenuSetItems: "beforeDropdownMenuSetItems", beforeDropdownMenuShow: "beforeDropdownMenuShow", beforeFilter: "beforeFilter", beforeGetCellMeta: "beforeGetCellMeta", beforeHideColumns: "beforeHideColumns", beforeHideRows: "beforeHideRows", beforeHighlightingColumnHeader: "beforeHighlightingColumnHeader", beforeHighlightingRowHeader: "beforeHighlightingRowHeader", beforeInit: "beforeInit", beforeInitWalkontable: "beforeInitWalkontable", beforeKeyDown: "beforeKeyDown", beforeLanguageChange: "beforeLanguageChange", beforeLoadData: "beforeLoadData", beforeMergeCells: "beforeMergeCells", beforeOnCellContextMenu: "beforeOnCellContextMenu", beforeOnCellMouseDown: "beforeOnCellMouseDown", beforeOnCellMouseOut: "beforeOnCellMouseOut", beforeOnCellMouseOver: "beforeOnCellMouseOver", beforeOnCellMouseUp: "beforeOnCellMouseUp", beforePaste: "beforePaste", beforeRedo: "beforeRedo", beforeRedoStackChange: "beforeRedoStackChange", beforeRefreshDimensions: "beforeRefreshDimensions", beforeRemoveCellClassNames: "beforeRemoveCellClassNames", beforeRemoveCellMeta: "beforeRemoveCellMeta", beforeRemoveCol: "beforeRemoveCol", beforeRemoveRow: "beforeRemoveRow", beforeRender: "beforeRender", beforeRenderer: "beforeRenderer", beforeRowMove: "beforeRowMove", beforeRowResize: "beforeRowResize", beforeRowWrap: "beforeRowWrap", beforeSelectColumns: "beforeSelectColumns", beforeSelectionFocusSet: "beforeSelectionFocusSet", beforeSelectionHighlightSet: "beforeSelectionHighlightSet", beforeSelectRows: "beforeSelectRows", beforeSetCellMeta: "beforeSetCellMeta", beforeSetRangeEnd: "beforeSetRangeEnd", beforeSetRangeStart: "beforeSetRangeStart", beforeSetRangeStartOnly: "beforeSetRangeStartOnly", beforeStretchingColumnWidth: "beforeStretchingColumnWidth", beforeTouchScroll: "beforeTouchScroll", beforeTrimRow: "beforeTrimRow", beforeUndo: "beforeUndo", beforeUndoStackChange: "beforeUndoStackChange", beforeUnhideColumns: "beforeUnhideColumns", beforeUnhideRows: "beforeUnhideRows", beforeUnmergeCells: "beforeUnmergeCells", beforeUntrimRow: "beforeUntrimRow", beforeUpdateData: "beforeUpdateData", beforeValidate: "beforeValidate", beforeValueRender: "beforeValueRender", beforeViewportScroll: "beforeViewportScroll", beforeViewportScrollHorizontally: "beforeViewportScrollHorizontally", beforeViewportScrollVertically: "beforeViewportScrollVertically", beforeViewRender: "beforeViewRender", construct: "construct", init: "init", modifyAutoColumnSizeSeed: "modifyAutoColumnSizeSeed", modifyAutofillRange: "modifyAutofillRange", modifyColHeader: "modifyColHeader", modifyColumnHeaderHeight: "modifyColumnHeaderHeight", modifyColumnHeaderValue: "modifyColumnHeaderValue", modifyColWidth: "modifyColWidth", modifyCopyableRange: "modifyCopyableRange", modifyFiltersMultiSelectValue: "modifyFiltersMultiSelectValue", modifyFocusedElement: "modifyFocusedElement", modifyData: "modifyData", modifyFocusOnTabNavigation: "modifyFocusOnTabNavigation", modifyGetCellCoords: "modifyGetCellCoords", modifyRowData: "modifyRowData", modifyRowHeader: "modifyRowHeader", modifyRowHeaderWidth: "modifyRowHeaderWidth", modifyRowHeight: "modifyRowHeight", modifySourceData: "modifySourceData", modifyTransformEnd: "modifyTransformEnd", modifyTransformFocus: "modifyTransformFocus", modifyTransformStart: "modifyTransformStart", persistentStateLoad: "persistentStateLoad", persistentStateReset: "persistentStateReset", persistentStateSave: "persistentStateSave" }, providers: [HotTableRegisterer, HotSettingsResolver], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container [id]="hotId"></div>', isInline: true, encapsulation: i0.ViewEncapsulation.None });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HotTableComponent, decorators: [{
111
- type: Component,
112
- args: [{
113
- selector: 'hot-table',
114
- template: '<div #container [id]="hotId"></div>',
115
- encapsulation: ViewEncapsulation.None,
116
- providers: [HotTableRegisterer, HotSettingsResolver],
117
- }]
118
- }], ctorParameters: function () { return [{ type: i1.HotTableRegisterer }, { type: i2.HotSettingsResolver }, { type: i0.NgZone }]; }, propDecorators: { container: [{
119
- type: ViewChild,
120
- args: ['container', { static: false }]
121
- }], settings: [{
122
- type: Input
123
- }], hotId: [{
124
- type: Input
125
- }], activeHeaderClassName: [{
126
- type: Input
127
- }], allowEmpty: [{
128
- type: Input
129
- }], allowHtml: [{
130
- type: Input
131
- }], allowInsertColumn: [{
132
- type: Input
133
- }], allowInsertRow: [{
134
- type: Input
135
- }], allowInvalid: [{
136
- type: Input
137
- }], allowRemoveColumn: [{
138
- type: Input
139
- }], allowRemoveRow: [{
140
- type: Input
141
- }], ariaTags: [{
142
- type: Input
143
- }], autoColumnSize: [{
144
- type: Input
145
- }], autoRowSize: [{
146
- type: Input
147
- }], autoWrapCol: [{
148
- type: Input
149
- }], autoWrapRow: [{
150
- type: Input
151
- }], bindRowsWithHeaders: [{
152
- type: Input
153
- }], cell: [{
154
- type: Input
155
- }], cells: [{
156
- type: Input
157
- }], checkedTemplate: [{
158
- type: Input
159
- }], className: [{
160
- type: Input
161
- }], colHeaders: [{
162
- type: Input
163
- }], collapsibleColumns: [{
164
- type: Input
165
- }], columnHeaderHeight: [{
166
- type: Input
167
- }], columns: [{
168
- type: Input
169
- }], columnSorting: [{
170
- type: Input
171
- }], columnSummary: [{
172
- type: Input
173
- }], colWidths: [{
174
- type: Input
175
- }], commentedCellClassName: [{
176
- type: Input
177
- }], comments: [{
178
- type: Input
179
- }], contextMenu: [{
180
- type: Input
181
- }], copyable: [{
182
- type: Input
183
- }], copyPaste: [{
184
- type: Input
185
- }], correctFormat: [{
186
- type: Input
187
- }], currentColClassName: [{
188
- type: Input
189
- }], currentHeaderClassName: [{
190
- type: Input
191
- }], currentRowClassName: [{
192
- type: Input
193
- }], customBorders: [{
194
- type: Input
195
- }], data: [{
196
- type: Input
197
- }], dataSchema: [{
198
- type: Input
199
- }], dateFormat: [{
200
- type: Input
201
- }], datePickerConfig: [{
202
- type: Input
203
- }], defaultDate: [{
204
- type: Input
205
- }], tabNavigation: [{
206
- type: Input
207
- }], disableVisualSelection: [{
208
- type: Input
209
- }], dragToScroll: [{
210
- type: Input
211
- }], dropdownMenu: [{
212
- type: Input
213
- }], editor: [{
214
- type: Input
215
- }], enterBeginsEditing: [{
216
- type: Input
217
- }], enterMoves: [{
218
- type: Input
219
- }], fillHandle: [{
220
- type: Input
221
- }], filter: [{
222
- type: Input
223
- }], filteringCaseSensitive: [{
224
- type: Input
225
- }], filters: [{
226
- type: Input
227
- }], fixedColumnsLeft: [{
228
- type: Input
229
- }], fixedColumnsStart: [{
230
- type: Input
231
- }], fixedRowsBottom: [{
232
- type: Input
233
- }], fixedRowsTop: [{
234
- type: Input
235
- }], formulas: [{
236
- type: Input
237
- }], fragmentSelection: [{
238
- type: Input
239
- }], height: [{
240
- type: Input
241
- }], hiddenColumns: [{
242
- type: Input
243
- }], hiddenRows: [{
244
- type: Input
245
- }], invalidCellClassName: [{
246
- type: Input
247
- }], imeFastEdit: [{
248
- type: Input
249
- }], label: [{
250
- type: Input
251
- }], language: [{
252
- type: Input
253
- }], layoutDirection: [{
254
- type: Input
255
- }], licenseKey: [{
256
- type: Input
257
- }], locale: [{
258
- type: Input
259
- }], manualColumnFreeze: [{
260
- type: Input
261
- }], manualColumnMove: [{
262
- type: Input
263
- }], manualColumnResize: [{
264
- type: Input
265
- }], manualRowMove: [{
266
- type: Input
267
- }], manualRowResize: [{
268
- type: Input
269
- }], maxCols: [{
270
- type: Input
271
- }], maxRows: [{
272
- type: Input
273
- }], mergeCells: [{
274
- type: Input
275
- }], minCols: [{
276
- type: Input
277
- }], minRows: [{
278
- type: Input
279
- }], minSpareCols: [{
280
- type: Input
281
- }], minSpareRows: [{
282
- type: Input
283
- }], multiColumnSorting: [{
284
- type: Input
285
- }], navigableHeaders: [{
286
- type: Input
287
- }], nestedHeaders: [{
288
- type: Input
289
- }], nestedRows: [{
290
- type: Input
291
- }], noWordWrapClassName: [{
292
- type: Input
293
- }], numericFormat: [{
294
- type: Input
295
- }], observeDOMVisibility: [{
296
- type: Input
297
- }], outsideClickDeselects: [{
298
- type: Input
299
- }], persistentState: [{
300
- type: Input
301
- }], placeholder: [{
302
- type: Input
303
- }], placeholderCellClassName: [{
304
- type: Input
305
- }], preventOverflow: [{
306
- type: Input
307
- }], preventWheel: [{
308
- type: Input
309
- }], readOnly: [{
310
- type: Input
311
- }], readOnlyCellClassName: [{
312
- type: Input
313
- }], renderAllColumns: [{
314
- type: Input
315
- }], renderAllRows: [{
316
- type: Input
317
- }], renderer: [{
318
- type: Input
319
- }], rowHeaders: [{
320
- type: Input
321
- }], rowHeaderWidth: [{
322
- type: Input
323
- }], rowHeights: [{
324
- type: Input
325
- }], search: [{
326
- type: Input
327
- }], selectionMode: [{
328
- type: Input
329
- }], selectOptions: [{
330
- type: Input
331
- }], skipColumnOnPaste: [{
332
- type: Input
333
- }], skipRowOnPaste: [{
334
- type: Input
335
- }], sortByRelevance: [{
336
- type: Input
337
- }], source: [{
338
- type: Input
339
- }], startCols: [{
340
- type: Input
341
- }], startRows: [{
342
- type: Input
343
- }], stretchH: [{
344
- type: Input
345
- }], strict: [{
346
- type: Input
347
- }], tableClassName: [{
348
- type: Input
349
- }], tabMoves: [{
350
- type: Input
351
- }], title: [{
352
- type: Input
353
- }], trimDropdown: [{
354
- type: Input
355
- }], trimRows: [{
356
- type: Input
357
- }], trimWhitespace: [{
358
- type: Input
359
- }], type: [{
360
- type: Input
361
- }], uncheckedTemplate: [{
362
- type: Input
363
- }], undo: [{
364
- type: Input
365
- }], validator: [{
366
- type: Input
367
- }], viewportColumnRenderingOffset: [{
368
- type: Input
369
- }], viewportRowRenderingOffset: [{
370
- type: Input
371
- }], visibleRows: [{
372
- type: Input
373
- }], width: [{
374
- type: Input
375
- }], wordWrap: [{
376
- type: Input
377
- }], afterAddChild: [{
378
- type: Input
379
- }], afterAutofill: [{
380
- type: Input
381
- }], afterBeginEditing: [{
382
- type: Input
383
- }], afterCellMetaReset: [{
384
- type: Input
385
- }], afterChange: [{
386
- type: Input
387
- }], afterChangesObserved: [{
388
- type: Input
389
- }], afterColumnCollapse: [{
390
- type: Input
391
- }], afterColumnExpand: [{
392
- type: Input
393
- }], afterColumnFreeze: [{
394
- type: Input
395
- }], afterColumnMove: [{
396
- type: Input
397
- }], afterColumnResize: [{
398
- type: Input
399
- }], afterColumnSequenceChange: [{
400
- type: Input
401
- }], afterColumnSort: [{
402
- type: Input
403
- }], afterColumnUnfreeze: [{
404
- type: Input
405
- }], afterContextMenuDefaultOptions: [{
406
- type: Input
407
- }], afterContextMenuHide: [{
408
- type: Input
409
- }], afterContextMenuShow: [{
410
- type: Input
411
- }], afterCopy: [{
412
- type: Input
413
- }], afterCopyLimit: [{
414
- type: Input
415
- }], afterCreateCol: [{
416
- type: Input
417
- }], afterCreateRow: [{
418
- type: Input
419
- }], afterCut: [{
420
- type: Input
421
- }], afterDeselect: [{
422
- type: Input
423
- }], afterDestroy: [{
424
- type: Input
425
- }], afterDetachChild: [{
426
- type: Input
427
- }], afterDocumentKeyDown: [{
428
- type: Input
429
- }], afterDrawSelection: [{
430
- type: Input
431
- }], afterDropdownMenuDefaultOptions: [{
432
- type: Input
433
- }], afterDropdownMenuHide: [{
434
- type: Input
435
- }], afterDropdownMenuShow: [{
436
- type: Input
437
- }], afterFilter: [{
438
- type: Input
439
- }], afterFormulasValuesUpdate: [{
440
- type: Input
441
- }], afterGetCellMeta: [{
442
- type: Input
443
- }], afterGetColHeader: [{
444
- type: Input
445
- }], afterGetColumnHeaderRenderers: [{
446
- type: Input
447
- }], afterGetRowHeader: [{
448
- type: Input
449
- }], afterGetRowHeaderRenderers: [{
450
- type: Input
451
- }], afterHideColumns: [{
452
- type: Input
453
- }], afterHideRows: [{
454
- type: Input
455
- }], afterInit: [{
456
- type: Input
457
- }], afterLanguageChange: [{
458
- type: Input
459
- }], afterListen: [{
460
- type: Input
461
- }], afterLoadData: [{
462
- type: Input
463
- }], afterMergeCells: [{
464
- type: Input
465
- }], afterModifyTransformEnd: [{
466
- type: Input
467
- }], afterModifyTransformFocus: [{
468
- type: Input
469
- }], afterModifyTransformStart: [{
470
- type: Input
471
- }], afterMomentumScroll: [{
472
- type: Input
473
- }], afterNamedExpressionAdded: [{
474
- type: Input
475
- }], afterNamedExpressionRemoved: [{
476
- type: Input
477
- }], afterOnCellContextMenu: [{
478
- type: Input
479
- }], afterOnCellCornerDblClick: [{
480
- type: Input
481
- }], afterOnCellCornerMouseDown: [{
482
- type: Input
483
- }], afterOnCellMouseDown: [{
484
- type: Input
485
- }], afterOnCellMouseOut: [{
486
- type: Input
487
- }], afterOnCellMouseOver: [{
488
- type: Input
489
- }], afterOnCellMouseUp: [{
490
- type: Input
491
- }], afterPaste: [{
492
- type: Input
493
- }], afterPluginsInitialized: [{
494
- type: Input
495
- }], afterRedo: [{
496
- type: Input
497
- }], afterRedoStackChange: [{
498
- type: Input
499
- }], afterRefreshDimensions: [{
500
- type: Input
501
- }], afterRemoveCellMeta: [{
502
- type: Input
503
- }], afterRemoveCol: [{
504
- type: Input
505
- }], afterRemoveRow: [{
506
- type: Input
507
- }], afterRender: [{
508
- type: Input
509
- }], afterRenderer: [{
510
- type: Input
511
- }], afterRowMove: [{
512
- type: Input
513
- }], afterRowResize: [{
514
- type: Input
515
- }], afterRowSequenceChange: [{
516
- type: Input
517
- }], afterScrollHorizontally: [{
518
- type: Input
519
- }], afterScrollVertically: [{
520
- type: Input
521
- }], afterScroll: [{
522
- type: Input
523
- }], afterSelectColumns: [{
524
- type: Input
525
- }], afterSelection: [{
526
- type: Input
527
- }], afterSelectionByProp: [{
528
- type: Input
529
- }], afterSelectionEnd: [{
530
- type: Input
531
- }], afterSelectionEndByProp: [{
532
- type: Input
533
- }], afterSelectionFocusSet: [{
534
- type: Input
535
- }], afterSelectRows: [{
536
- type: Input
537
- }], afterSetCellMeta: [{
538
- type: Input
539
- }], afterSetDataAtCell: [{
540
- type: Input
541
- }], afterSetDataAtRowProp: [{
542
- type: Input
543
- }], afterSetSourceDataAtCell: [{
544
- type: Input
545
- }], afterSheetAdded: [{
546
- type: Input
547
- }], afterSheetRenamed: [{
548
- type: Input
549
- }], afterSheetRemoved: [{
550
- type: Input
551
- }], afterTrimRow: [{
552
- type: Input
553
- }], afterUndo: [{
554
- type: Input
555
- }], afterUndoStackChange: [{
556
- type: Input
557
- }], afterUnhideColumns: [{
558
- type: Input
559
- }], afterUnhideRows: [{
560
- type: Input
561
- }], afterUnlisten: [{
562
- type: Input
563
- }], afterUnmergeCells: [{
564
- type: Input
565
- }], afterUntrimRow: [{
566
- type: Input
567
- }], afterUpdateData: [{
568
- type: Input
569
- }], afterUpdateSettings: [{
570
- type: Input
571
- }], afterValidate: [{
572
- type: Input
573
- }], afterViewportColumnCalculatorOverride: [{
574
- type: Input
575
- }], afterViewportRowCalculatorOverride: [{
576
- type: Input
577
- }], afterViewRender: [{
578
- type: Input
579
- }], beforeAddChild: [{
580
- type: Input
581
- }], beforeAutofill: [{
582
- type: Input
583
- }], beforeBeginEditing: [{
584
- type: Input
585
- }], beforeCellAlignment: [{
586
- type: Input
587
- }], beforeChange: [{
588
- type: Input
589
- }], beforeChangeRender: [{
590
- type: Input
591
- }], beforeColumnCollapse: [{
592
- type: Input
593
- }], beforeColumnExpand: [{
594
- type: Input
595
- }], beforeColumnFreeze: [{
596
- type: Input
597
- }], beforeColumnMove: [{
598
- type: Input
599
- }], beforeColumnResize: [{
600
- type: Input
601
- }], beforeColumnSort: [{
602
- type: Input
603
- }], beforeColumnWrap: [{
604
- type: Input
605
- }], beforeColumnUnfreeze: [{
606
- type: Input
607
- }], beforeContextMenuSetItems: [{
608
- type: Input
609
- }], beforeContextMenuShow: [{
610
- type: Input
611
- }], beforeCopy: [{
612
- type: Input
613
- }], beforeCreateCol: [{
614
- type: Input
615
- }], beforeCreateRow: [{
616
- type: Input
617
- }], beforeCut: [{
618
- type: Input
619
- }], beforeDetachChild: [{
620
- type: Input
621
- }], beforeDrawBorders: [{
622
- type: Input
623
- }], beforeDropdownMenuSetItems: [{
624
- type: Input
625
- }], beforeDropdownMenuShow: [{
626
- type: Input
627
- }], beforeFilter: [{
628
- type: Input
629
- }], beforeGetCellMeta: [{
630
- type: Input
631
- }], beforeHideColumns: [{
632
- type: Input
633
- }], beforeHideRows: [{
634
- type: Input
635
- }], beforeHighlightingColumnHeader: [{
636
- type: Input
637
- }], beforeHighlightingRowHeader: [{
638
- type: Input
639
- }], beforeInit: [{
640
- type: Input
641
- }], beforeInitWalkontable: [{
642
- type: Input
643
- }], beforeKeyDown: [{
644
- type: Input
645
- }], beforeLanguageChange: [{
646
- type: Input
647
- }], beforeLoadData: [{
648
- type: Input
649
- }], beforeMergeCells: [{
650
- type: Input
651
- }], beforeOnCellContextMenu: [{
652
- type: Input
653
- }], beforeOnCellMouseDown: [{
654
- type: Input
655
- }], beforeOnCellMouseOut: [{
656
- type: Input
657
- }], beforeOnCellMouseOver: [{
658
- type: Input
659
- }], beforeOnCellMouseUp: [{
660
- type: Input
661
- }], beforePaste: [{
662
- type: Input
663
- }], beforeRedo: [{
664
- type: Input
665
- }], beforeRedoStackChange: [{
666
- type: Input
667
- }], beforeRefreshDimensions: [{
668
- type: Input
669
- }], beforeRemoveCellClassNames: [{
670
- type: Input
671
- }], beforeRemoveCellMeta: [{
672
- type: Input
673
- }], beforeRemoveCol: [{
674
- type: Input
675
- }], beforeRemoveRow: [{
676
- type: Input
677
- }], beforeRender: [{
678
- type: Input
679
- }], beforeRenderer: [{
680
- type: Input
681
- }], beforeRowMove: [{
682
- type: Input
683
- }], beforeRowResize: [{
684
- type: Input
685
- }], beforeRowWrap: [{
686
- type: Input
687
- }], beforeSelectColumns: [{
688
- type: Input
689
- }], beforeSelectionFocusSet: [{
690
- type: Input
691
- }], beforeSelectionHighlightSet: [{
692
- type: Input
693
- }], beforeSelectRows: [{
694
- type: Input
695
- }], beforeSetCellMeta: [{
696
- type: Input
697
- }], beforeSetRangeEnd: [{
698
- type: Input
699
- }], beforeSetRangeStart: [{
700
- type: Input
701
- }], beforeSetRangeStartOnly: [{
702
- type: Input
703
- }], beforeStretchingColumnWidth: [{
704
- type: Input
705
- }], beforeTouchScroll: [{
706
- type: Input
707
- }], beforeTrimRow: [{
708
- type: Input
709
- }], beforeUndo: [{
710
- type: Input
711
- }], beforeUndoStackChange: [{
712
- type: Input
713
- }], beforeUnhideColumns: [{
714
- type: Input
715
- }], beforeUnhideRows: [{
716
- type: Input
717
- }], beforeUnmergeCells: [{
718
- type: Input
719
- }], beforeUntrimRow: [{
720
- type: Input
721
- }], beforeUpdateData: [{
722
- type: Input
723
- }], beforeValidate: [{
724
- type: Input
725
- }], beforeValueRender: [{
726
- type: Input
727
- }], beforeViewportScroll: [{
728
- type: Input
729
- }], beforeViewportScrollHorizontally: [{
730
- type: Input
731
- }], beforeViewportScrollVertically: [{
732
- type: Input
733
- }], beforeViewRender: [{
734
- type: Input
735
- }], construct: [{
736
- type: Input
737
- }], init: [{
738
- type: Input
739
- }], modifyAutoColumnSizeSeed: [{
740
- type: Input
741
- }], modifyAutofillRange: [{
742
- type: Input
743
- }], modifyColHeader: [{
744
- type: Input
745
- }], modifyColumnHeaderHeight: [{
746
- type: Input
747
- }], modifyColumnHeaderValue: [{
748
- type: Input
749
- }], modifyColWidth: [{
750
- type: Input
751
- }], modifyCopyableRange: [{
752
- type: Input
753
- }], modifyFiltersMultiSelectValue: [{
754
- type: Input
755
- }], modifyFocusedElement: [{
756
- type: Input
757
- }], modifyData: [{
758
- type: Input
759
- }], modifyFocusOnTabNavigation: [{
760
- type: Input
761
- }], modifyGetCellCoords: [{
762
- type: Input
763
- }], modifyRowData: [{
764
- type: Input
765
- }], modifyRowHeader: [{
766
- type: Input
767
- }], modifyRowHeaderWidth: [{
768
- type: Input
769
- }], modifyRowHeight: [{
770
- type: Input
771
- }], modifySourceData: [{
772
- type: Input
773
- }], modifyTransformEnd: [{
774
- type: Input
775
- }], modifyTransformFocus: [{
776
- type: Input
777
- }], modifyTransformStart: [{
778
- type: Input
779
- }], persistentStateLoad: [{
780
- type: Input
781
- }], persistentStateReset: [{
782
- type: Input
783
- }], persistentStateSave: [{
784
- type: Input
785
- }] } });
786
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUN0QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBU3RFLE1BQU0sT0FBTyxpQkFBaUI7SUFzVjVCLFlBQ1UsbUJBQXVDLEVBQ3ZDLG9CQUF5QyxFQUMxQyxNQUFjO1FBRmIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQzFDLFdBQU0sR0FBTixNQUFNLENBQVE7UUF0VmYsa0JBQWEsR0FBd0IsSUFBSSxDQUFDO1FBQzFDLHNCQUFpQixHQUF5QixFQUFFLENBQUM7UUFHNUMsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQW1WakIsQ0FBQztJQUVKLElBQVksV0FBVztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBRWxGLGdGQUFnRjtZQUNoRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7U0FFM0I7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXBELE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztZ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QW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgSGFuZHNvbnRhYmxlIGZyb20gJ2hhbmRzb250YWJsZS9iYXNlJztcbmltcG9ydCB7XG4gIEhvdFRhYmxlUmVnaXN0ZXJlcixcbiAgSE9UX0RFU1RST1lFRF9XQVJOSU5HXG59IGZyb20gJy4vaG90LXRhYmxlLXJlZ2lzdGVyZXIuc2VydmljZSc7XG5pbXBvcnQgeyBIb3RTZXR0aW5nc1Jlc29sdmVyIH0gZnJvbSAnLi9ob3Qtc2V0dGluZ3MtcmVzb2x2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBIb3RDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2hvdC1jb2x1bW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaG90LXRhYmxlJyxcbiAgdGVtcGxhdGU6ICc8ZGl2ICNjb250YWluZXIgW2lkXT1cImhvdElkXCI+PC9kaXY+JyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbIEhvdFRhYmxlUmVnaXN0ZXJlciwgSG90U2V0dGluZ3NSZXNvbHZlciBdLFxufSlcbmV4cG9ydCBjbGFzcyBIb3RUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBjb250YWluZXI7XG5cbiAgcHJpdmF0ZSBfX2hvdEluc3RhbmNlOiBIYW5kc29udGFibGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjb2x1bW5zQ29tcG9uZW50czogSG90Q29sdW1uQ29tcG9uZW50W10gPSBbXTtcbiAgLy8gY29tcG9uZW50IGlucHV0c1xuICBASW5wdXQoKSBzZXR0aW5nczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncztcbiAgQElucHV0KCkgaG90SWQgPSAnJztcbiAgLy8gaGFuZHNvbnRhYmxlIG9wdGlvbnNcbiAgQElucHV0KCkgYWN0aXZlSGVhZGVyQ2xhc3NOYW1lOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhY3RpdmVIZWFkZXJDbGFzc05hbWUnXTtcbiAgQElucHV0KCkgYWxsb3dFbXB0eTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWxsb3dFbXB0eSddO1xuICBASW5wdXQoKSBhbGxvd0h0bWw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FsbG93SHRtbCddO1xuICBASW5wdXQoKSBhbGxvd0luc2VydENvbHVtbjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWxsb3dJbnNlcnRDb2x1bW4nXTtcbiAgQElucHV0KCkgYWxsb3dJbnNlcnRSb3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FsbG93SW5zZXJ0Um93J107XG4gIEBJbnB1dCgpIGFsbG93SW52YWxpZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWxsb3dJbnZhbGlkJ107XG4gIEBJbnB1dCgpIGFsbG93UmVtb3ZlQ29sdW1uOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhbGxvd1JlbW92ZUNvbHVtbiddO1xuICBASW5wdXQoKSBhbGxvd1JlbW92ZVJvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWxsb3dSZW1vdmVSb3cnXTtcbiAgQElucHV0KCkgYXJpYVRhZ3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FyaWFUYWdzJ107XG4gIEBJbnB1dCgpIGF1dG9Db2x1bW5TaXplOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhdXRvQ29sdW1uU2l6ZSddO1xuICBASW5wdXQoKSBhdXRvUm93U2l6ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYXV0b1Jvd1NpemUnXTtcbiAgQElucHV0KCkgYXV0b1dyYXBDb2w6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2F1dG9XcmFwQ29sJ107XG4gIEBJbnB1dCgpIGF1dG9XcmFwUm93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhdXRvV3JhcFJvdyddO1xuICBASW5wdXQoKSBiaW5kUm93c1dpdGhIZWFkZXJzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiaW5kUm93c1dpdGhIZWFkZXJzJ107XG4gIEBJbnB1dCgpIGNlbGw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NlbGwnXTtcbiAgQElucHV0KCkgY2VsbHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NlbGxzJ107XG4gIEBJbnB1dCgpIGNoZWNrZWRUZW1wbGF0ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY2hlY2tlZFRlbXBsYXRlJ107XG4gIEBJbnB1dCgpIGNsYXNzTmFtZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY2xhc3NOYW1lJ107XG4gIEBJbnB1dCgpIGNvbEhlYWRlcnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NvbEhlYWRlcnMnXTtcbiAgQElucHV0KCkgY29sbGFwc2libGVDb2x1bW5zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb2xsYXBzaWJsZUNvbHVtbnMnXTtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVySGVpZ2h0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb2x1bW5IZWFkZXJIZWlnaHQnXTtcbiAgQElucHV0KCkgY29sdW1uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29sdW1ucyddO1xuICBASW5wdXQoKSBjb2x1bW5Tb3J0aW5nOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb2x1bW5Tb3J0aW5nJ107XG4gIEBJbnB1dCgpIGNvbHVtblN1bW1hcnk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NvbHVtblN1bW1hcnknXTtcbiAgQElucHV0KCkgY29sV2lkdGhzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb2xXaWR0aHMnXTtcbiAgQElucHV0KCkgY29tbWVudGVkQ2VsbENsYXNzTmFtZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29tbWVudGVkQ2VsbENsYXNzTmFtZSddO1xuICBASW5wdXQoKSBjb21tZW50czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29tbWVudHMnXTtcbiAgQElucHV0KCkgY29udGV4dE1lbnU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NvbnRleHRNZW51J107XG4gIEBJbnB1dCgpIGNvcHlhYmxlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb3B5YWJsZSddO1xuICBASW5wdXQoKSBjb3B5UGFzdGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NvcHlQYXN0ZSddO1xuICBASW5wdXQoKSBjb3JyZWN0Rm9ybWF0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb3JyZWN0Rm9ybWF0J107XG4gIEBJbnB1dCgpIGN1cnJlbnRDb2xDbGFzc05hbWU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2N1cnJlbnRDb2xDbGFzc05hbWUnXTtcbiAgQElucHV0KCkgY3VycmVudEhlYWRlckNsYXNzTmFtZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY3VycmVudEhlYWRlckNsYXNzTmFtZSddO1xuICBASW5wdXQoKSBjdXJyZW50Um93Q2xhc3NOYW1lOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjdXJyZW50Um93Q2xhc3NOYW1lJ107XG4gIEBJbnB1dCgpIGN1c3RvbUJvcmRlcnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2N1c3RvbUJvcmRlcnMnXTtcbiAgQElucHV0KCkgZGF0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZGF0YSddO1xuICBASW5wdXQoKSBkYXRhU2NoZW1hOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydkYXRhU2NoZW1hJ107XG4gIEBJbnB1dCgpIGRhdGVGb3JtYXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2RhdGVGb3JtYXQnXTtcbiAgQElucHV0KCkgZGF0ZVBpY2tlckNvbmZpZzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZGF0ZVBpY2tlckNvbmZpZyddO1xuICBASW5wdXQoKSBkZWZhdWx0RGF0ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZGVmYXVsdERhdGUnXTtcbiAgQElucHV0KCkgdGFiTmF2aWdhdGlvbjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndGFiTmF2aWdhdGlvbiddO1xuICBASW5wdXQoKSBkaXNhYmxlVmlzdWFsU2VsZWN0aW9uOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydkaXNhYmxlVmlzdWFsU2VsZWN0aW9uJ107XG4gIEBJbnB1dCgpIGRyYWdUb1Njcm9sbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZHJhZ1RvU2Nyb2xsJ107XG4gIEBJbnB1dCgpIGRyb3Bkb3duTWVudTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZHJvcGRvd25NZW51J107XG4gIEBJbnB1dCgpIGVkaXRvcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZWRpdG9yJ107XG4gIEBJbnB1dCgpIGVudGVyQmVnaW5zRWRpdGluZzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZW50ZXJCZWdpbnNFZGl0aW5nJ107XG4gIEBJbnB1dCgpIGVudGVyTW92ZXM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2VudGVyTW92ZXMnXTtcbiAgQElucHV0KCkgZmlsbEhhbmRsZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZmlsbEhhbmRsZSddO1xuICBASW5wdXQoKSBmaWx0ZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2ZpbHRlciddO1xuICBASW5wdXQoKSBmaWx0ZXJpbmdDYXNlU2Vuc2l0aXZlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydmaWx0ZXJpbmdDYXNlU2Vuc2l0aXZlJ107XG4gIEBJbnB1dCgpIGZpbHRlcnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2ZpbHRlcnMnXTtcbiAgQElucHV0KCkgZml4ZWRDb2x1bW5zTGVmdDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZml4ZWRDb2x1bW5zTGVmdCddO1xuICBASW5wdXQoKSBmaXhlZENvbHVtbnNTdGFydDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZml4ZWRDb2x1bW5zU3RhcnQnXTtcbiAgQElucHV0KCkgZml4ZWRSb3dzQm90dG9tOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydmaXhlZFJvd3NCb3R0b20nXTtcbiAgQElucHV0KCkgZml4ZWRSb3dzVG9wOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydmaXhlZFJvd3NUb3AnXTtcbiAgQElucHV0KCkgZm9ybXVsYXM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2Zvcm11bGFzJ107XG4gIEBJbnB1dCgpIGZyYWdtZW50U2VsZWN0aW9uOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydmcmFnbWVudFNlbGVjdGlvbiddO1xuICBASW5wdXQoKSBoZWlnaHQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2hlaWdodCddO1xuICBASW5wdXQoKSBoaWRkZW5Db2x1bW5zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydoaWRkZW5Db2x1bW5zJ107XG4gIEBJbnB1dCgpIGhpZGRlblJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2hpZGRlblJvd3MnXTtcbiAgQElucHV0KCkgaW52YWxpZENlbGxDbGFzc05hbWU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2ludmFsaWRDZWxsQ2xhc3NOYW1lJ107XG4gIEBJbnB1dCgpIGltZUZhc3RFZGl0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydpbWVGYXN0RWRpdCddO1xuICBASW5wdXQoKSBsYWJlbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbGFiZWwnXTtcbiAgQElucHV0KCkgbGFuZ3VhZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2xhbmd1YWdlJ107XG4gIEBJbnB1dCgpIGxheW91dERpcmVjdGlvbjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbGF5b3V0RGlyZWN0aW9uJ107XG4gIEBJbnB1dCgpIGxpY2Vuc2VLZXk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2xpY2Vuc2VLZXknXTtcbiAgQElucHV0KCkgbG9jYWxlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydsb2NhbGUnXTtcbiAgQElucHV0KCkgbWFudWFsQ29sdW1uRnJlZXplOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtYW51YWxDb2x1bW5GcmVlemUnXTtcbiAgQElucHV0KCkgbWFudWFsQ29sdW1uTW92ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbWFudWFsQ29sdW1uTW92ZSddO1xuICBASW5wdXQoKSBtYW51YWxDb2x1bW5SZXNpemU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21hbnVhbENvbHVtblJlc2l6ZSddO1xuICBASW5wdXQoKSBtYW51YWxSb3dNb3ZlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtYW51YWxSb3dNb3ZlJ107XG4gIEBJbnB1dCgpIG1hbnVhbFJvd1Jlc2l6ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbWFudWFsUm93UmVzaXplJ107XG4gIEBJbnB1dCgpIG1heENvbHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21heENvbHMnXTtcbiAgQElucHV0KCkgbWF4Um93czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbWF4Um93cyddO1xuICBASW5wdXQoKSBtZXJnZUNlbGxzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtZXJnZUNlbGxzJ107XG4gIEBJbnB1dCgpIG1pbkNvbHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21pbkNvbHMnXTtcbiAgQElucHV0KCkgbWluUm93czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbWluUm93cyddO1xuICBASW5wdXQoKSBtaW5TcGFyZUNvbHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21pblNwYXJlQ29scyddO1xuICBASW5wdXQoKSBtaW5TcGFyZVJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21pblNwYXJlUm93cyddO1xuICBASW5wdXQoKSBtdWx0aUNvbHVtblNvcnRpbmc6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ211bHRpQ29sdW1uU29ydGluZyddO1xuICBASW5wdXQoKSBuYXZpZ2FibGVIZWFkZXJzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyduYXZpZ2FibGVIZWFkZXJzJ107XG4gIEBJbnB1dCgpIG5lc3RlZEhlYWRlcnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ25lc3RlZEhlYWRlcnMnXTtcbiAgQElucHV0KCkgbmVzdGVkUm93czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbmVzdGVkUm93cyddO1xuICBASW5wdXQoKSBub1dvcmRXcmFwQ2xhc3NOYW1lOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydub1dvcmRXcmFwQ2xhc3NOYW1lJ107XG4gIEBJbnB1dCgpIG51bWVyaWNGb3JtYXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ251bWVyaWNGb3JtYXQnXTtcbiAgQElucHV0KCkgb2JzZXJ2ZURPTVZpc2liaWxpdHk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ29ic2VydmVET01WaXNpYmlsaXR5J107XG4gIEBJbnB1dCgpIG91dHNpZGVDbGlja0Rlc2VsZWN0czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snb3V0c2lkZUNsaWNrRGVzZWxlY3RzJ107XG4gIEBJbnB1dCgpIHBlcnNpc3RlbnRTdGF0ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncGVyc2lzdGVudFN0YXRlJ107XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydwbGFjZWhvbGRlciddO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlckNlbGxDbGFzc05hbWU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3BsYWNlaG9sZGVyQ2VsbENsYXNzTmFtZSddO1xuICBASW5wdXQoKSBwcmV2ZW50T3ZlcmZsb3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3ByZXZlbnRPdmVyZmxvdyddO1xuICBASW5wdXQoKSBwcmV2ZW50V2hlZWw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3ByZXZlbnRXaGVlbCddO1xuICBASW5wdXQoKSByZWFkT25seTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncmVhZE9ubHknXTtcbiAgQElucHV0KCkgcmVhZE9ubHlDZWxsQ2xhc3NOYW1lOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydyZWFkT25seUNlbGxDbGFzc05hbWUnXTtcbiAgQElucHV0KCkgcmVuZGVyQWxsQ29sdW1uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncmVuZGVyQWxsQ29sdW1ucyddO1xuICBASW5wdXQoKSByZW5kZXJBbGxSb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydyZW5kZXJBbGxSb3dzJ107XG4gIEBJbnB1dCgpIHJlbmRlcmVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydyZW5kZXJlciddO1xuICBASW5wdXQoKSByb3dIZWFkZXJzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydyb3dIZWFkZXJzJ107XG4gIEBJbnB1dCgpIHJvd0hlYWRlcldpZHRoOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydyb3dIZWFkZXJXaWR0aCddO1xuICBASW5wdXQoKSByb3dIZWlnaHRzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydyb3dIZWlnaHRzJ107XG4gIEBJbnB1dCgpIHNlYXJjaDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snc2VhcmNoJ107XG4gIEBJbnB1dCgpIHNlbGVjdGlvbk1vZGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3NlbGVjdGlvbk1vZGUnXTtcbiAgQElucHV0KCkgc2VsZWN0T3B0aW9uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snc2VsZWN0T3B0aW9ucyddO1xuICBASW5wdXQoKSBza2lwQ29sdW1uT25QYXN0ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snc2tpcENvbHVtbk9uUGFzdGUnXTtcbiAgQElucHV0KCkgc2tpcFJvd09uUGFzdGU6IGFueTtcbiAgQElucHV0KCkgc29ydEJ5UmVsZXZhbmNlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydzb3J0QnlSZWxldmFuY2UnXTtcbiAgQElucHV0KCkgc291cmNlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydzb3VyY2UnXTtcbiAgQElucHV0KCkgc3RhcnRDb2xzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydzdGFydENvbHMnXTtcbiAgQElucHV0KCkgc3RhcnRSb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydzdGFydFJvd3MnXTtcbiAgQElucHV0KCkgc3RyZXRjaEg6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3N0cmV0Y2hIJ107XG4gIEBJbnB1dCgpIHN0cmljdDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snc3RyaWN0J107XG4gIEBJbnB1dCgpIHRhYmxlQ2xhc3NOYW1lOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyd0YWJsZUNsYXNzTmFtZSddO1xuICBASW5wdXQoKSB0YWJNb3ZlczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndGFiTW92ZXMnXTtcbiAgQElucHV0KCkgdGl0bGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3RpdGxlJ107XG4gIEBJbnB1dCgpIHRyaW1Ecm9wZG93bjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndHJpbURyb3Bkb3duJ107XG4gIEBJbnB1dCgpIHRyaW1Sb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyduZXN0ZWRSb3dzJ107XG4gIEBJbnB1dCgpIHRyaW1XaGl0ZXNwYWNlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyd0cmltV2hpdGVzcGFjZSddO1xuICBASW5wdXQoKSB0eXBlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyd0eXBlJ107XG4gIEBJbnB1dCgpIHVuY2hlY2tlZFRlbXBsYXRlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyd1bmNoZWNrZWRUZW1wbGF0ZSddO1xuICBASW5wdXQoKSB1bmRvOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyd1bmRvJ107XG4gIEBJbnB1dCgpIHZhbGlkYXRvcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndmFsaWRhdG9yJ107XG4gIEBJbnB1dCgpIHZpZXdwb3J0Q29sdW1uUmVuZGVyaW5nT2Zmc2V0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyd2aWV3cG9ydENvbHVtblJlbmRlcmluZ09mZnNldCddO1xuICBASW5wdXQoKSB2aWV3cG9ydFJvd1JlbmRlcmluZ09mZnNldDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndmlld3BvcnRSb3dSZW5kZXJpbmdPZmZzZXQnXTtcbiAgQElucHV0KCkgdmlzaWJsZVJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3Zpc2libGVSb3dzJ107XG4gIEBJbnB1dCgpIHdpZHRoOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyd3aWR0aCddO1xuICBASW5wdXQoKSB3b3JkV3JhcDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snd29yZFdyYXAnXTtcblxuICAvLyBoYW5kc29udGFibGUgaG9va3NcbiAgQElucHV0KCkgYWZ0ZXJBZGRDaGlsZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJBZGRDaGlsZCddO1xuICBASW5wdXQoKSBhZnRlckF1dG9maWxsOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckF1dG9maWxsJ107XG4gIEBJbnB1dCgpIGFmdGVyQmVnaW5FZGl0aW5nOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckJlZ2luRWRpdGluZyddO1xuICBASW5wdXQoKSBhZnRlckNlbGxNZXRhUmVzZXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ2VsbE1ldGFSZXNldCddO1xuICBASW5wdXQoKSBhZnRlckNoYW5nZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDaGFuZ2UnXTtcbiAgQElucHV0KCkgYWZ0ZXJDaGFuZ2VzT2JzZXJ2ZWQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ2hhbmdlc09ic2VydmVkJ107XG4gIEBJbnB1dCgpIGFmdGVyQ29sdW1uQ29sbGFwc2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ29sdW1uQ29sbGFwc2UnXTtcbiAgQElucHV0KCkgYWZ0ZXJDb2x1bW5FeHBhbmQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ29sdW1uRXhwYW5kJ107XG4gIEBJbnB1dCgpIGFmdGVyQ29sdW1uRnJlZXplOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNvbHVtbkZyZWV6ZSddO1xuICBASW5wdXQoKSBhZnRlckNvbHVtbk1vdmU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ29sdW1uTW92ZSddO1xuICBASW5wdXQoKSBhZnRlckNvbHVtblJlc2l6ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDb2x1bW5SZXNpemUnXTtcbiAgQElucHV0KCkgYWZ0ZXJDb2x1bW5TZXF1ZW5jZUNoYW5nZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDb2x1bW5TZXF1ZW5jZUNoYW5nZSddO1xuICBASW5wdXQoKSBhZnRlckNvbHVtblNvcnQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ29sdW1uU29ydCddO1xuICBASW5wdXQoKSBhZnRlckNvbHVtblVuZnJlZXplOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNvbHVtblVuZnJlZXplJ107XG4gIEBJbnB1dCgpIGFmdGVyQ29udGV4dE1lbnVEZWZhdWx0T3B0aW9uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDb250ZXh0TWVudURlZmF1bHRPcHRpb25zJ107XG4gIEBJbnB1dCgpIGFmdGVyQ29udGV4dE1lbnVIaWRlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNvbnRleHRNZW51SGlkZSddO1xuICBASW5wdXQoKSBhZnRlckNvbnRleHRNZW51U2hvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDb250ZXh0TWVudVNob3cnXTtcbiAgQElucHV0KCkgYWZ0ZXJDb3B5OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNvcHknXTtcbiAgQElucHV0KCkgYWZ0ZXJDb3B5TGltaXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ29weUxpbWl0J107XG4gIEBJbnB1dCgpIGFmdGVyQ3JlYXRlQ29sOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNyZWF0ZUNvbCddO1xuICBASW5wdXQoKSBhZnRlckNyZWF0ZVJvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDcmVhdGVSb3cnXTtcbiAgQElucHV0KCkgYWZ0ZXJDdXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ3V0J107XG4gIEBJbnB1dCgpIGFmdGVyRGVzZWxlY3Q6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyRGVzZWxlY3QnXTtcbiAgQElucHV0KCkgYWZ0ZXJEZXN0cm95OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckRlc3Ryb3knXTtcbiAgQElucHV0KCkgYWZ0ZXJEZXRhY2hDaGlsZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJEZXRhY2hDaGlsZCddO1xuICBASW5wdXQoKSBhZnRlckRvY3VtZW50S2V5RG93bjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJEb2N1bWVudEtleURvd24nXTtcbiAgQElucHV0KCkgYWZ0ZXJEcmF3U2VsZWN0aW9uOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckRyYXdTZWxlY3Rpb24nXTtcbiAgQElucHV0KCkgYWZ0ZXJEcm9wZG93bk1lbnVEZWZhdWx0T3B0aW9uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJEcm9wZG93bk1lbnVEZWZhdWx0T3B0aW9ucyddO1xuICBASW5wdXQoKSBhZnRlckRyb3Bkb3duTWVudUhpZGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyRHJvcGRvd25NZW51SGlkZSddO1xuICBASW5wdXQoKSBhZnRlckRyb3Bkb3duTWVudVNob3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyRHJvcGRvd25NZW51U2hvdyddO1xuICBASW5wdXQoKSBhZnRlckZpbHRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJGaWx0ZXInXTtcbiAgQElucHV0KCkgYWZ0ZXJGb3JtdWxhc1ZhbHVlc1VwZGF0ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJGb3JtdWxhc1ZhbHVlc1VwZGF0ZSddO1xuICBASW5wdXQoKSBhZnRlckdldENlbGxNZXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckdldENlbGxNZXRhJ107XG4gIEBJbnB1dCgpIGFmdGVyR2V0Q29sSGVhZGVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckdldENvbEhlYWRlciddO1xuICBASW5wdXQoKSBhZnRlckdldENvbHVtbkhlYWRlclJlbmRlcmVyczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJHZXRDb2x1bW5IZWFkZXJSZW5kZXJlcnMnXTtcbiAgQElucHV0KCkgYWZ0ZXJHZXRSb3dIZWFkZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyR2V0Um93SGVhZGVyJ107XG4gIEBJbnB1dCgpIGFmdGVyR2V0Um93SGVhZGVyUmVuZGVyZXJzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckdldFJvd0hlYWRlclJlbmRlcmVycyddO1xuICBASW5wdXQoKSBhZnRlckhpZGVDb2x1bW5zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckhpZGVDb2x1bW5zJ107XG4gIEBJbnB1dCgpIGFmdGVySGlkZVJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVySGlkZVJvd3MnXTtcbiAgQElucHV0KCkgYWZ0ZXJJbml0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckluaXQnXTtcbiAgQElucHV0KCkgYWZ0ZXJMYW5ndWFnZUNoYW5nZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJMYW5ndWFnZUNoYW5nZSddO1xuICBASW5wdXQoKSBhZnRlckxpc3RlbjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJMaXN0ZW4nXTtcbiAgQElucHV0KCkgYWZ0ZXJMb2FkRGF0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJMb2FkRGF0YSddO1xuICBASW5wdXQoKSBhZnRlck1lcmdlQ2VsbHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyTWVyZ2VDZWxscyddO1xuICBASW5wdXQoKSBhZnRlck1vZGlmeVRyYW5zZm9ybUVuZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJNb2RpZnlUcmFuc2Zvcm1FbmQnXTtcbiAgQElucHV0KCkgYWZ0ZXJNb2RpZnlUcmFuc2Zvcm1Gb2N1czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJNb2RpZnlUcmFuc2Zvcm1Gb2N1cyddO1xuICBASW5wdXQoKSBhZnRlck1vZGlmeVRyYW5zZm9ybVN0YXJ0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck1vZGlmeVRyYW5zZm9ybVN0YXJ0J107XG4gIEBJbnB1dCgpIGFmdGVyTW9tZW50dW1TY3JvbGw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyTW9tZW50dW1TY3JvbGwnXTtcbiAgQElucHV0KCkgYWZ0ZXJOYW1lZEV4cHJlc3Npb25BZGRlZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJOYW1lZEV4cHJlc3Npb25BZGRlZCddO1xuICBASW5wdXQoKSBhZnRlck5hbWVkRXhwcmVzc2lvblJlbW92ZWQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyTmFtZWRFeHByZXNzaW9uUmVtb3ZlZCddO1xuICBASW5wdXQoKSBhZnRlck9uQ2VsbENvbnRleHRNZW51OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck9uQ2VsbENvbnRleHRNZW51J107XG4gIEBJbnB1dCgpIGFmdGVyT25DZWxsQ29ybmVyRGJsQ2xpY2s6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyT25DZWxsQ29ybmVyRGJsQ2xpY2snXTtcbiAgQElucHV0KCkgYWZ0ZXJPbkNlbGxDb3JuZXJNb3VzZURvd246IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyT25DZWxsQ29ybmVyTW91c2VEb3duJ107XG4gIEBJbnB1dCgpIGFmdGVyT25DZWxsTW91c2VEb3duOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck9uQ2VsbE1vdXNlRG93biddO1xuICBASW5wdXQoKSBhZnRlck9uQ2VsbE1vdXNlT3V0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck9uQ2VsbE1vdXNlT3V0J107XG4gIEBJbnB1dCgpIGFmdGVyT25DZWxsTW91c2VPdmVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck9uQ2VsbE1vdXNlT3ZlciddO1xuICBASW5wdXQoKSBhZnRlck9uQ2VsbE1vdXNlVXA6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyT25DZWxsTW91c2VVcCddO1xuICBASW5wdXQoKSBhZnRlclBhc3RlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclBhc3RlJ107XG4gIEBJbnB1dCgpIGFmdGVyUGx1Z2luc0luaXRpYWxpemVkOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclBsdWdpbnNJbml0aWFsaXplZCddO1xuICBASW5wdXQoKSBhZnRlclJlZG86IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyUmVkbyddO1xuICBASW5wdXQoKSBhZnRlclJlZG9TdGFja0NoYW5nZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJSZWRvU3RhY2tDaGFuZ2UnXTtcbiAgQElucHV0KCkgYWZ0ZXJSZWZyZXNoRGltZW5zaW9uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJSZWZyZXNoRGltZW5zaW9ucyddO1xuICBASW5wdXQoKSBhZnRlclJlbW92ZUNlbGxNZXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclJlbW92ZUNlbGxNZXRhJ107XG4gIEBJbnB1dCgpIGFmdGVyUmVtb3ZlQ29sOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclJlbW92ZUNvbCddO1xuICBASW5wdXQoKSBhZnRlclJlbW92ZVJvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJSZW1vdmVSb3cnXTtcbiAgQElucHV0KCkgYWZ0ZXJSZW5kZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyUmVuZGVyJ107XG4gIEBJbnB1dCgpIGFmdGVyUmVuZGVyZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyUmVuZGVyZXInXTtcbiAgQElucHV0KCkgYWZ0ZXJSb3dNb3ZlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclJvd01vdmUnXTtcbiAgQElucHV0KCkgYWZ0ZXJSb3dSZXNpemU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyUm93UmVzaXplJ107XG4gIEBJbnB1dCgpIGFmdGVyUm93U2VxdWVuY2VDaGFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyUm93U2VxdWVuY2VDaGFuZ2UnXTtcbiAgQElucHV0KCkgYWZ0ZXJTY3JvbGxIb3Jpem9udGFsbHk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2Nyb2xsSG9yaXpvbnRhbGx5J107XG4gIEBJbnB1dCgpIGFmdGVyU2Nyb2xsVmVydGljYWxseTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTY3JvbGxWZXJ0aWNhbGx5J107XG4gIEBJbnB1dCgpIGFmdGVyU2Nyb2xsOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclNjcm9sbCddO1xuICBASW5wdXQoKSBhZnRlclNlbGVjdENvbHVtbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2VsZWN0Q29sdW1ucyddO1xuICBASW5wdXQoKSBhZnRlclNlbGVjdGlvbjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTZWxlY3Rpb24nXTtcbiAgQElucHV0KCkgYWZ0ZXJTZWxlY3Rpb25CeVByb3A6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2VsZWN0aW9uQnlQcm9wJ107XG4gIEBJbnB1dCgpIGFmdGVyU2VsZWN0aW9uRW5kOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclNlbGVjdGlvbkVuZCddO1xuICBASW5wdXQoKSBhZnRlclNlbGVjdGlvbkVuZEJ5UHJvcDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTZWxlY3Rpb25FbmRCeVByb3AnXTtcbiAgQElucHV0KCkgYWZ0ZXJTZWxlY3Rpb25Gb2N1c1NldDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTZWxlY3Rpb25Gb2N1c1NldCddO1xuICBASW5wdXQoKSBhZnRlclNlbGVjdFJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2VsZWN0Um93cyddO1xuICBASW5wdXQoKSBhZnRlclNldENlbGxNZXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclNldENlbGxNZXRhJ107XG4gIEBJbnB1dCgpIGFmdGVyU2V0RGF0YUF0Q2VsbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTZXREYXRhQXRDZWxsJ107XG4gIEBJbnB1dCgpIGFmdGVyU2V0RGF0YUF0Um93UHJvcDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTZXREYXRhQXRSb3dQcm9wJ107XG4gIEBJbnB1dCgpIGFmdGVyU2V0U291cmNlRGF0YUF0Q2VsbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTZXRTb3VyY2VEYXRhQXRDZWxsJ107XG4gIEBJbnB1dCgpIGFmdGVyU2hlZXRBZGRlZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTaGVldEFkZGVkJ107XG4gIEBJbnB1dCgpIGFmdGVyU2hlZXRSZW5hbWVkOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclNoZWV0UmVuYW1lZCddO1xuICBASW5wdXQoKSBhZnRlclNoZWV0UmVtb3ZlZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTaGVldFJlbW92ZWQnXTtcbiAgQElucHV0KCkgYWZ0ZXJUcmltUm93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclRyaW1Sb3cnXTtcbiAgQElucHV0KCkgYWZ0ZXJVbmRvOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclVuZG8nXTtcbiAgQElucHV0KCkgYWZ0ZXJVbmRvU3RhY2tDaGFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyVW5kb1N0YWNrQ2hhbmdlJ107XG4gIEBJbnB1dCgpIGFmdGVyVW5oaWRlQ29sdW1uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJVbmhpZGVDb2x1bW5zJ107XG4gIEBJbnB1dCgpIGFmdGVyVW5oaWRlUm93czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJVbmhpZGVSb3dzJ107XG4gIEBJbnB1dCgpIGFmdGVyVW5saXN0ZW46IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyVW5saXN0ZW4nXTtcbiAgQElucHV0KCkgYWZ0ZXJVbm1lcmdlQ2VsbHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyVW5tZXJnZUNlbGxzJ107XG4gIEBJbnB1dCgpIGFmdGVyVW50cmltUm93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclVudHJpbVJvdyddO1xuICBASW5wdXQoKSBhZnRlclVwZGF0ZURhdGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyVXBkYXRlRGF0YSddO1xuICBASW5wdXQoKSBhZnRlclVwZGF0ZVNldHRpbmdzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclVwZGF0ZVNldHRpbmdzJ107XG4gIEBJbnB1dCgpIGFmdGVyVmFsaWRhdGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyVmFsaWRhdGUnXTtcbiAgQElucHV0KCkgYWZ0ZXJWaWV3cG9ydENvbHVtbkNhbGN1bGF0b3JPdmVycmlkZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJWaWV3cG9ydENvbHVtbkNhbGN1bGF0b3JPdmVycmlkZSddO1xuICBASW5wdXQoKSBhZnRlclZpZXdwb3J0Um93Q2FsY3VsYXRvck92ZXJyaWRlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclZpZXdwb3J0Um93Q2FsY3VsYXRvck92ZXJyaWRlJ107XG4gIEBJbnB1dCgpIGFmdGVyVmlld1JlbmRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJWaWV3UmVuZGVyJ107XG4gIEBJbnB1dCgpIGJlZm9yZUFkZENoaWxkOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVBZGRDaGlsZCddO1xuICBASW5wdXQoKSBiZWZvcmVBdXRvZmlsbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQXV0b2ZpbGwnXTtcbiAgQElucHV0KCkgYmVmb3JlQmVnaW5FZGl0aW5nOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVCZWdpbkVkaXRpbmcnXTtcbiAgQElucHV0KCkgYmVmb3JlQ2VsbEFsaWdubWVudDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQ2VsbEFsaWdubWVudCddO1xuICBASW5wdXQoKSBiZWZvcmVDaGFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNoYW5nZSddO1xuICBASW5wdXQoKSBiZWZvcmVDaGFuZ2VSZW5kZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNoYW5nZVJlbmRlciddO1xuICBASW5wdXQoKSBiZWZvcmVDb2x1bW5Db2xsYXBzZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQ29sdW1uQ29sbGFwc2UnXTtcbiAgQElucHV0KCkgYmVmb3JlQ29sdW1uRXhwYW5kOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDb2x1bW5FeHBhbmQnXTtcbiAgQElucHV0KCkgYmVmb3JlQ29sdW1uRnJlZXplOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDb2x1bW5GcmVlemUnXTtcbiAgQElucHV0KCkgYmVmb3JlQ29sdW1uTW92ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQ29sdW1uTW92ZSddO1xuICBASW5wdXQoKSBiZWZvcmVDb2x1bW5SZXNpemU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNvbHVtblJlc2l6ZSddO1xuICBASW5wdXQoKSBiZWZvcmVDb2x1bW5Tb3J0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDb2x1bW5Tb3J0J107XG4gIEBJbnB1dCgpIGJlZm9yZUNvbHVtbldyYXA6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNvbHVtbldyYXAnXTtcbiAgQElucHV0KCkgYmVmb3JlQ29sdW1uVW5mcmVlemU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNvbHVtblVuZnJlZXplJ107XG4gIEBJbnB1dCgpIGJlZm9yZUNvbnRleHRNZW51U2V0SXRlbXM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNvbnRleHRNZW51U2V0SXRlbXMnXTtcbiAgQElucHV0KCkgYmVmb3JlQ29udGV4dE1lbnVTaG93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDb250ZXh0TWVudVNob3cnXTtcbiAgQElucHV0KCkgYmVmb3JlQ29weTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQ29weSddO1xuICBASW5wdXQoKSBiZWZvcmVDcmVhdGVDb2w6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNyZWF0ZUNvbCddO1xuICBASW5wdXQoKSBiZWZvcmVDcmVhdGVSb3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNyZWF0ZVJvdyddO1xuICBASW5wdXQoKSBiZWZvcmVDdXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUN1dCddO1xuICBASW5wdXQoKSBiZWZvcmVEZXRhY2hDaGlsZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlRGV0YWNoQ2hpbGQnXTtcbiAgQElucHV0KCkgYmVmb3JlRHJhd0JvcmRlcnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZURyYXdCb3JkZXJzJ107XG4gIEBJbnB1dCgpIGJlZm9yZURyb3Bkb3duTWVudVNldEl0ZW1zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVEcm9wZG93bk1lbnVTZXRJdGVtcyddO1xuICBASW5wdXQoKSBiZWZvcmVEcm9wZG93bk1lbnVTaG93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVEcm9wZG93bk1lbnVTaG93J107XG4gIEBJbnB1dCgpIGJlZm9yZUZpbHRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlRmlsdGVyJ107XG4gIEBJbnB1dCgpIGJlZm9yZUdldENlbGxNZXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVHZXRDZWxsTWV0YSddO1xuICBASW5wdXQoKSBiZWZvcmVIaWRlQ29sdW1uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlSGlkZUNvbHVtbnMnXTtcbiAgQElucHV0KCkgYmVmb3JlSGlkZVJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUhpZGVSb3dzJ107XG4gIEBJbnB1dCgpIGJlZm9yZUhpZ2hsaWdodGluZ0NvbHVtbkhlYWRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlSGlnaGxpZ2h0aW5nQ29sdW1uSGVhZGVyJ107XG4gIEBJbnB1dCgpIGJlZm9yZUhpZ2hsaWdodGluZ1Jvd0hlYWRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlSGlnaGxpZ2h0aW5nUm93SGVhZGVyJ107XG4gIEBJbnB1dCgpIGJlZm9yZUluaXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUluaXQnXTtcbiAgQElucHV0KCkgYmVmb3JlSW5pdFdhbGtvbnRhYmxlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVJbml0V2Fsa29udGFibGUnXTtcbiAgQElucHV0KCkgYmVmb3JlS2V5RG93bjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlS2V5RG93biddO1xuICBASW5wdXQoKSBiZWZvcmVMYW5ndWFnZUNoYW5nZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlTGFuZ3VhZ2VDaGFuZ2UnXTtcbiAgQElucHV0KCkgYmVmb3JlTG9hZERhdGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUxvYWREYXRhJ107XG4gIEBJbnB1dCgpIGJlZm9yZU1lcmdlQ2VsbHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZU1lcmdlQ2VsbHMnXTtcbiAgQElucHV0KCkgYmVmb3JlT25DZWxsQ29udGV4dE1lbnU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZU9uQ2VsbENvbnRleHRNZW51J107XG4gIEBJbnB1dCgpIGJlZm9yZU9uQ2VsbE1vdXNlRG93bjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlT25DZWxsTW91c2VEb3duJ107XG4gIEBJbnB1dCgpIGJlZm9yZU9uQ2VsbE1vdXNlT3V0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVPbkNlbGxNb3VzZU91dCddO1xuICBASW5wdXQoKSBiZWZvcmVPbkNlbGxNb3VzZU92ZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZU9uQ2VsbE1vdXNlT3ZlciddO1xuICBASW5wdXQoKSBiZWZvcmVPbkNlbGxNb3VzZVVwOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVPbkNlbGxNb3VzZVVwJ107XG4gIEBJbnB1dCgpIGJlZm9yZVBhc3RlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVQYXN0ZSddO1xuICBASW5wdXQoKSBiZWZvcmVSZWRvOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVSZWRvJ107XG4gIEBJbnB1dCgpIGJlZm9yZVJlZG9TdGFja0NoYW5nZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUmVkb1N0YWNrQ2hhbmdlJ107XG4gIEBJbnB1dCgpIGJlZm9yZVJlZnJlc2hEaW1lbnNpb25zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVSZWZyZXNoRGltZW5zaW9ucyddO1xuICBASW5wdXQoKSBiZWZvcmVSZW1vdmVDZWxsQ2xhc3NOYW1lczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUmVtb3ZlQ2VsbENsYXNzTmFtZXMnXTtcbiAgQElucHV0KCkgYmVmb3JlUmVtb3ZlQ2VsbE1ldGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVJlbW92ZUNlbGxNZXRhJ107XG4gIEBJbnB1dCgpIGJlZm9yZVJlbW92ZUNvbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUmVtb3ZlQ29sJ107XG4gIEBJbnB1dCgpIGJlZm9yZVJlbW92ZVJvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUmVtb3ZlUm93J107XG4gIEBJbnB1dCgpIGJlZm9yZVJlbmRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUmVuZGVyJ107XG4gIEBJbnB1dCgpIGJlZm9yZVJlbmRlcmVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVSZW5kZXJlciddO1xuICBASW5wdXQoKSBiZWZvcmVSb3dNb3ZlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVSb3dNb3ZlJ107XG4gIEBJbnB1dCgpIGJlZm9yZVJvd1Jlc2l6ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUm93UmVzaXplJ107XG4gIEBJbnB1dCgpIGJlZm9yZVJvd1dyYXA6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVJvd1dyYXAnXTtcbiAgQElucHV0KCkgYmVmb3JlU2VsZWN0Q29sdW1uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlU2VsZWN0Q29sdW1ucyddO1xuICBASW5wdXQoKSBiZWZvcmVTZWxlY3Rpb25Gb2N1c1NldDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlU2VsZWN0aW9uRm9jdXNTZXQnXTtcbiAgQElucHV0KCkgYmVmb3JlU2VsZWN0aW9uSGlnaGxpZ2h0U2V0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVTZWxlY3Rpb25IaWdobGlnaHRTZXQnXTtcbiAgQElucHV0KCkgYmVmb3JlU2VsZWN0Um93czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlU2VsZWN0Um93cyddO1xuICBASW5wdXQoKSBiZWZvcmVTZXRDZWxsTWV0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlU2V0Q2VsbE1ldGEnXTtcbiAgQElucHV0KCkgYmVmb3JlU2V0UmFuZ2VFbmQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVNldFJhbmdlRW5kJ107XG4gIEBJbnB1dCgpIGJlZm9yZVNldFJhbmdlU3RhcnQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVNldFJhbmdlU3RhcnQnXTtcbiAgQElucHV0KCkgYmVmb3JlU2V0UmFuZ2VTdGFydE9ubHk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVNldFJhbmdlU3RhcnRPbmx5J107XG4gIEBJbnB1dCgpIGJlZm9yZVN0cmV0Y2hpbmdDb2x1bW5XaWR0aDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlU3RyZXRjaGluZ0NvbHVtbldpZHRoJ107XG4gIEBJbnB1dCgpIGJlZm9yZVRvdWNoU2Nyb2xsOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVUb3VjaFNjcm9sbCddO1xuICBASW5wdXQoKSBiZWZvcmVUcmltUm93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVUcmltUm93J107XG4gIEBJbnB1dCgpIGJlZm9yZVVuZG86IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVVuZG8nXTtcbiAgQElucHV0KCkgYmVmb3JlVW5kb1N0YWNrQ2hhbmdlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVVbmRvU3RhY2tDaGFuZ2UnXTtcbiAgQElucHV0KCkgYmVmb3JlVW5oaWRlQ29sdW1uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVW5oaWRlQ29sdW1ucyddO1xuICBASW5wdXQoKSBiZWZvcmVVbmhpZGVSb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVVbmhpZGVSb3dzJ107XG4gIEBJbnB1dCgpIGJlZm9yZVVubWVyZ2VDZWxsczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVW5tZXJnZUNlbGxzJ107XG4gIEBJbnB1dCgpIGJlZm9yZVVudHJpbVJvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVW50cmltUm93J107XG4gIEBJbnB1dCgpIGJlZm9yZVVwZGF0ZURhdGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVVwZGF0ZURhdGEnXTtcbiAgQElucHV0KCkgYmVmb3JlVmFsaWRhdGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVZhbGlkYXRlJ107XG4gIEBJbnB1dCgpIGJlZm9yZVZhbHVlUmVuZGVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVWYWx1ZVJlbmRlciddO1xuICBASW5wdXQoKSBiZWZvcmVWaWV3cG9ydFNjcm9sbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVmlld3BvcnRTY3JvbGwnXTtcbiAgQElucHV0KCkgYmVmb3JlVmlld3BvcnRTY3JvbGxIb3Jpem9udGFsbHk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVZpZXdwb3J0U2Nyb2xsSG9yaXpvbnRhbGx5J107XG4gIEBJbnB1dCgpIGJlZm9yZVZpZXdwb3J0U2Nyb2xsVmVydGljYWxseTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVmlld3BvcnRTY3JvbGxWZXJ0aWNhbGx5J107XG4gIEBJbnB1dCgpIGJlZm9yZVZpZXdSZW5kZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVZpZXdSZW5kZXInXTtcbiAgQElucHV0KCkgY29uc3RydWN0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb25zdHJ1Y3QnXTtcbiAgQElucHV0KCkgaW5pdDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snaW5pdCddO1xuICBASW5wdXQoKSBtb2RpZnlBdXRvQ29sdW1uU2l6ZVNlZWQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeUF1dG9Db2x1bW5TaXplU2VlZCddO1xuICBASW5wdXQoKSBtb2RpZnlBdXRvZmlsbFJhbmdlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlBdXRvZmlsbFJhbmdlJ107XG4gIEBJbnB1dCgpIG1vZGlmeUNvbEhlYWRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5Q29sSGVhZGVyJ107XG4gIEBJbnB1dCgpIG1vZGlmeUNvbHVtbkhlYWRlckhlaWdodDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5Q29sdW1uSGVhZGVySGVpZ2h0J107XG4gIEBJbnB1dCgpIG1vZGlmeUNvbHVtbkhlYWRlclZhbHVlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlDb2x1bW5IZWFkZXJWYWx1ZSddO1xuICBASW5wdXQoKSBtb2RpZnlDb2xXaWR0aDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5Q29sV2lkdGgnXTtcbiAgQElucHV0KCkgbW9kaWZ5Q29weWFibGVSYW5nZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5Q29weWFibGVSYW5nZSddO1xuICBASW5wdXQoKSBtb2RpZnlGaWx0ZXJzTXVsdGlTZWxlY3RWYWx1ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5RmlsdGVyc011bHRpU2VsZWN0VmFsdWUnXTtcbiAgQElucHV0KCkgbW9kaWZ5Rm9jdXNlZEVsZW1lbnQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeUZvY3VzZWRFbGVtZW50J107XG4gIEBJbnB1dCgpIG1vZGlmeURhdGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeURhdGEnXTtcbiAgQElucHV0KCkgbW9kaWZ5Rm9jdXNPblRhYk5hdmlnYXRpb246IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeUZvY3VzT25UYWJOYXZpZ2F0aW9uJ107XG4gIEBJbnB1dCgpIG1vZGlmeUdldENlbGxDb29yZHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeUdldENlbGxDb29yZHMnXTtcbiAgQElucHV0KCkgbW9kaWZ5Um93RGF0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5Um93RGF0YSddO1xuICBASW5wdXQoKSBtb2RpZnlSb3dIZWFkZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeVJvd0hlYWRlciddO1xuICBASW5wdXQoKSBtb2RpZnlSb3dIZWFkZXJXaWR0aDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5Um93SGVhZGVyV2lkdGgnXTtcbiAgQElucHV0KCkgbW9kaWZ5Um93SGVpZ2h0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlSb3dIZWlnaHQnXTtcbiAgQElucHV0KCkgbW9kaWZ5U291cmNlRGF0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5U291cmNlRGF0YSddO1xuICBASW5wdXQoKSBtb2RpZnlUcmFuc2Zvcm1FbmQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeVRyYW5zZm9ybUVuZCddO1xuICBASW5wdXQoKSBtb2RpZnlUcmFuc2Zvcm1Gb2N1czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5VHJhbnNmb3JtRm9jdXMnXTtcbiAgQElucHV0KCkgbW9kaWZ5VHJhbnNmb3JtU3RhcnQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeVRyYW5zZm9ybVN0YXJ0J107XG4gIEBJbnB1dCgpIHBlcnNpc3RlbnRTdGF0ZUxvYWQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3BlcnNpc3RlbnRTdGF0ZUxvYWQnXTtcbiAgQElucHV0KCkgcGVyc2lzdGVudFN0YXRlUmVzZXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3BlcnNpc3RlbnRTdGF0ZVJlc2V0J107XG4gIEBJbnB1dCgpIHBlcnNpc3RlbnRTdGF0ZVNhdmU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3BlcnNpc3RlbnRTdGF0ZVNhdmUnXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ob3RUYWJsZVJlZ2lzdGVyZXI6IEhvdFRhYmxlUmVnaXN0ZXJlcixcbiAgICBwcml2YXRlIF9ob3RTZXR0aW5nc1Jlc29sdmVyOiBIb3RTZXR0aW5nc1Jlc29sdmVyLFxuICAgIHB1YmxpYyBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIHByaXZhdGUgZ2V0IGhvdEluc3RhbmNlKCk6IEhhbmRzb250YWJsZSB8IG51bGwge1xuICAgIGlmICghdGhpcy5fX2hvdEluc3RhbmNlIHx8ICh0aGlzLl9faG90SW5zdGFuY2UgJiYgIXRoaXMuX19ob3RJbnN0YW5jZS5pc0Rlc3Ryb3llZCkpIHtcblxuICAgICAgLy8gV2lsbCByZXR1cm4gdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSBvciBgbnVsbGAgaWYgaXQncyBub3QgeWV0IGJlZW4gY3JlYXRlZC5cbiAgICAgIHJldHVybiB0aGlzLl9faG90SW5zdGFuY2U7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faG90VGFibGVSZWdpc3RlcmVyLnJlbW92ZUluc3RhbmNlKHRoaXMuaG90SWQpO1xuXG4gICAgICBjb25zb2xlLndhcm4oSE9UX0RFU1RST1lFRF9XQVJOSU5HKTtcblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXQgaG90SW5zdGFuY2UoaG90SW5zdGFuY2UpIHtcbiAgICB0aGlzLl9faG90SW5zdGFuY2UgPSBob3RJbnN0YW5jZTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzID0gKHRoaXMuX2hvdFNldHRpbmdzUmVzb2x2ZXIubWVyZ2VTZXR0aW5ncyh0aGlzKSBhcyBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzKTtcblxuICAgIGlmICh0aGlzLmNvbHVtbnNDb21wb25lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGNvbHVtbnM6IEhhbmRzb250YWJsZS5Db2x1bW5TZXR0aW5nc1tdID0gW107XG5cbiAgICAgIHRoaXMuY29sdW1uc0NvbXBvbmVudHMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGNvbHVtbnMucHVzaCgodGhpcy5faG90U2V0dGluZ3NSZXNvbHZlci5tZXJnZVNldHRpbmdzKGNvbHVtbikgYXMgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzKSk7XG4gICAgICB9KTtcblxuICAgICAgb3B0aW9uc1snY29sdW1ucyddID0gY29sdW1ucztcbiAgICB9XG5cbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmhvdEluc3RhbmNlID0gbmV3IEhhbmRzb250YWJsZS5Db3JlKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuXG4gICAgICBpZiAodGhpcy5ob3RJZCkge1xuICAgICAgICB0aGlzLl9ob3RUYWJsZVJlZ2lzdGVyZXIucmVnaXN0ZXJJbnN0YW5jZSh0aGlzLmhvdElkLCB0aGlzLmhvdEluc3RhbmNlKTtcbiAgICAgIH1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHRoaXMuaG90SW5zdGFuY2UuaW5pdCgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhvdEluc3RhbmNlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV3T3B0aW9uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyA9IHRoaXMuX2hvdFNldHRpbmdzUmVzb2x2ZXIucHJlcGFyZUNoYW5nZXMoY2hhbmdlcyk7XG5cbiAgICB0aGlzLnVwZGF0ZUhvdFRhYmxlKG5ld09wdGlvbnMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaG90SW5zdGFuY2UpIHtcbiAgICAgICAgdGhpcy5ob3RJbnN0YW5jZS5kZXN0cm95KCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5ob3RJZCkge1xuICAgICAgdGhpcy5faG90VGFibGVSZWdpc3RlcmVyLnJlbW92ZUluc3RhbmNlKHRoaXMuaG90SWQpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUhvdFRhYmxlKG5ld1NldHRpbmdzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ob3RJbnN0YW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuaG90SW5zdGFuY2UudXBkYXRlU2V0dGluZ3MobmV3U2V0dGluZ3MsIGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQWZ0ZXJDb2x1bW5zQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbHVtbnNDb21wb25lbnRzID09PSB2b2lkIDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb2x1bW5zQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBjb2x1bW5zOiBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3NbXSA9IFtdO1xuXG4gICAgICB0aGlzLmNvbHVtbnNDb21wb25lbnRzLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICBjb2x1bW5zLnB1c2goKHRoaXMuX2hvdFNldHRpbmdzUmVzb2x2ZXIubWVyZ2VTZXR0aW5ncyhjb2x1bW4pIGFzIEhhbmRzb250YWJsZS5Db2x1bW5TZXR0aW5ncykpO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG5ld09wdGlvbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3MgPSB7XG4gICAgICAgIGNvbHVtbnM6IGNvbHVtbnNcbiAgICAgIH07XG5cbiAgICAgIHRoaXMudXBkYXRlSG90VGFibGUobmV3T3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgb25BZnRlckNvbHVtbnNOdW1iZXJDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY29sdW1uczogSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzW10gPSBbXTtcblxuICAgIGlmICh0aGlzLmNvbHVtbnNDb21wb25lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29sdW1uc0NvbXBvbmVudHMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGNvbHVtbnMucHVzaCgodGhpcy5faG90U2V0dGluZ3NSZXNvbHZlci5tZXJnZVNldHRpbmdzKGNvbHVtbikgYXMgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZUhvdFRhYmxlKHsgY29sdW1ucyB9KTtcbiAgfVxuXG4gIGFkZENvbHVtbihjb2x1bW46IEhvdENvbHVtbkNvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uc0NvbXBvbmVudHMucHVzaChjb2x1bW4pO1xuICAgIHRoaXMub25BZnRlckNvbHVtbnNOdW1iZXJDaGFuZ2UoKTtcbiAgfVxuXG4gIHJlbW92ZUNvbHVtbihjb2x1bW46IEhvdENvbHVtbkNvbXBvbmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmNvbHVtbnNDb21wb25lbnRzLmluZGV4T2YoY29sdW1uKTtcblxuICAgIHRoaXMuY29sdW1uc0NvbXBvbmVudHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLm9uQWZ0ZXJDb2x1bW5zTnVtYmVyQ2hhbmdlKCk7XG4gIH1cblxufVxuIl19