@kepler.gl/constants 3.1.0-alpha.1 → 3.1.0-alpha.3

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.
package/dist/layers.js ADDED
@@ -0,0 +1,546 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.UNKNOWN_COLOR_KEY = exports.PROPERTY_GROUPS = exports.LAYER_VIS_CONFIGS = exports.LAYER_TYPES = exports.LAYER_TEXT_CONFIGS = exports.EDITOR_AVAILABLE_LAYERS = exports.DEFAULT_TEXT_LABEL = exports.DEFAULT_LAYER_OPACITY = exports.DEFAULT_LAYER_LABEL = exports.DEFAULT_HIGHLIGHT_COLOR = exports.DEFAULT_CUSTOM_PALETTE = exports.DEFAULT_COLOR_UI = exports.DEFAULT_COLOR_RANGE = void 0;
8
+ var _keymirror = _interopRequireDefault(require("keymirror"));
9
+ var _defaultSettings = require("./default-settings");
10
+ var _colorPalettes = require("./color-palettes");
11
+ // SPDX-License-Identifier: MIT
12
+ // Copyright contributors to the kepler.gl project
13
+
14
+ var PROPERTY_GROUPS = exports.PROPERTY_GROUPS = (0, _keymirror["default"])({
15
+ color: null,
16
+ stroke: null,
17
+ radius: null,
18
+ height: null,
19
+ angle: null,
20
+ // for heatmap aggregation
21
+ cell: null,
22
+ precision: null,
23
+ display: null,
24
+ interaction: null
25
+ });
26
+ var DEFAULT_LAYER_OPACITY = exports.DEFAULT_LAYER_OPACITY = 0.8;
27
+ var DEFAULT_HIGHLIGHT_COLOR = exports.DEFAULT_HIGHLIGHT_COLOR = [252, 242, 26, 255];
28
+ var DEFAULT_LAYER_LABEL = exports.DEFAULT_LAYER_LABEL = 'new layer';
29
+ var DEFAULT_TEXT_LABEL = exports.DEFAULT_TEXT_LABEL = {
30
+ field: null,
31
+ color: [255, 255, 255],
32
+ size: 18,
33
+ offset: [0, 0],
34
+ anchor: 'start',
35
+ alignment: 'center',
36
+ outlineWidth: 0,
37
+ outlineColor: [255, 0, 0, 255],
38
+ background: false,
39
+ backgroundColor: [0, 0, 200, 255]
40
+ };
41
+ var DEFAULT_COLOR_PALETTE = _colorPalettes.KEPLER_COLOR_PALETTES.find(function (_ref) {
42
+ var name = _ref.name;
43
+ return name === _defaultSettings.DEFAULT_LAYER_COLOR_PALETTE;
44
+ });
45
+ var DEFAULT_COLOR_RANGE = exports.DEFAULT_COLOR_RANGE = (0, _colorPalettes.colorPaletteToColorRange)(DEFAULT_COLOR_PALETTE, {
46
+ reversed: false,
47
+ steps: _defaultSettings.DEFAULT_LAYER_COLOR_PALETTE_STEPS
48
+ });
49
+ var DEFAULT_CUSTOM_PALETTE = exports.DEFAULT_CUSTOM_PALETTE = {
50
+ name: 'color.customPalette',
51
+ type: 'custom',
52
+ category: 'Custom',
53
+ colors: []
54
+ };
55
+ var UNKNOWN_COLOR_KEY = exports.UNKNOWN_COLOR_KEY = '__unknownColor__';
56
+ var DEFAULT_COLOR_UI = exports.DEFAULT_COLOR_UI = {
57
+ // customPalette in edit
58
+ customPalette: DEFAULT_CUSTOM_PALETTE,
59
+ // show color sketcher modal
60
+ showSketcher: false,
61
+ // show color range selection panel
62
+ showDropdown: false,
63
+ // show color chart
64
+ showColorChart: false,
65
+ // color range selector config
66
+ colorRangeConfig: {
67
+ type: 'all',
68
+ steps: 6,
69
+ reversed: false,
70
+ colorBlindSafe: false,
71
+ custom: false,
72
+ customBreaks: false
73
+ }
74
+ };
75
+ var LAYER_VIS_CONFIGS = exports.LAYER_VIS_CONFIGS = {
76
+ thickness: {
77
+ type: 'number',
78
+ defaultValue: 2,
79
+ label: 'layerVisConfigs.strokeWidth',
80
+ isRanged: false,
81
+ range: [0, 100],
82
+ step: 0.1,
83
+ group: PROPERTY_GROUPS.stroke,
84
+ property: 'thickness',
85
+ allowCustomValue: true
86
+ },
87
+ strokeWidthRange: {
88
+ type: 'number',
89
+ defaultValue: [0, 10],
90
+ label: 'layerVisConfigs.strokeWidthRange',
91
+ isRanged: true,
92
+ range: [0, 200],
93
+ step: 0.1,
94
+ group: PROPERTY_GROUPS.stroke,
95
+ property: 'sizeRange',
96
+ allowCustomValue: true
97
+ },
98
+ trailLength: {
99
+ type: 'number',
100
+ defaultValue: 180,
101
+ label: 'layerVisConfigs.strokeWidth',
102
+ isRanged: false,
103
+ range: [1, 1000],
104
+ step: 1,
105
+ group: PROPERTY_GROUPS.stroke,
106
+ property: 'trailLength',
107
+ allowCustomValue: true
108
+ },
109
+ fadeTrail: {
110
+ defaultValue: true,
111
+ type: 'boolean',
112
+ label: 'layerVisConfigs.fadeTrail',
113
+ group: PROPERTY_GROUPS.stroke,
114
+ property: 'fadeTrail'
115
+ },
116
+ billboard: {
117
+ defaultValue: false,
118
+ type: 'boolean',
119
+ label: 'layerVisConfigs.billboard',
120
+ description: 'layerVisConfigs.billboardDescription',
121
+ group: PROPERTY_GROUPS.display,
122
+ property: 'billboard'
123
+ },
124
+ // radius is actually radiusScale in deck.gl
125
+ radius: {
126
+ type: 'number',
127
+ defaultValue: 10,
128
+ label: 'layerVisConfigs.radius',
129
+ isRanged: false,
130
+ range: [0, 100],
131
+ step: 0.1,
132
+ group: PROPERTY_GROUPS.radius,
133
+ property: 'radius',
134
+ allowCustomValue: true
135
+ },
136
+ fixedRadius: {
137
+ defaultValue: false,
138
+ type: 'boolean',
139
+ label: 'layerVisConfigs.fixedRadius',
140
+ description: 'layerVisConfigs.fixedRadiusDescription',
141
+ group: PROPERTY_GROUPS.radius,
142
+ property: 'fixedRadius'
143
+ },
144
+ fixedHeight: {
145
+ defaultValue: false,
146
+ type: 'boolean',
147
+ label: 'layerVisConfigs.fixedHeight',
148
+ description: 'layerVisConfigs.fixedHeightDescription',
149
+ group: PROPERTY_GROUPS.height,
150
+ property: 'fixedHeight'
151
+ },
152
+ radiusRange: {
153
+ type: 'number',
154
+ defaultValue: [0, 50],
155
+ isRanged: true,
156
+ range: [0, 500],
157
+ step: 0.1,
158
+ label: 'layerVisConfigs.radiusRange',
159
+ group: PROPERTY_GROUPS.radius,
160
+ property: 'radiusRange',
161
+ allowCustomValue: true
162
+ },
163
+ clusterRadius: {
164
+ type: 'number',
165
+ label: 'layerVisConfigs.clusterRadius',
166
+ defaultValue: 40,
167
+ isRanged: false,
168
+ range: [1, 500],
169
+ step: 0.1,
170
+ group: PROPERTY_GROUPS.radius,
171
+ property: 'clusterRadius',
172
+ allowCustomValue: true
173
+ },
174
+ clusterRadiusRange: {
175
+ type: 'number',
176
+ label: 'layerVisConfigs.radiusRangePixels',
177
+ defaultValue: [1, 40],
178
+ isRanged: true,
179
+ range: [1, 150],
180
+ step: 0.1,
181
+ group: PROPERTY_GROUPS.radius,
182
+ property: 'radiusRange',
183
+ allowCustomValue: true
184
+ },
185
+ opacity: {
186
+ type: 'number',
187
+ defaultValue: DEFAULT_LAYER_OPACITY,
188
+ label: 'layerVisConfigs.opacity',
189
+ isRanged: false,
190
+ range: [0, 1],
191
+ step: 0.01,
192
+ group: PROPERTY_GROUPS.color,
193
+ property: 'opacity',
194
+ allowCustomValue: false
195
+ },
196
+ coverage: {
197
+ type: 'number',
198
+ defaultValue: 1,
199
+ label: 'layerVisConfigs.coverage',
200
+ isRanged: false,
201
+ range: [0, 1],
202
+ step: 0.01,
203
+ group: PROPERTY_GROUPS.cell,
204
+ property: 'coverage',
205
+ allowCustomValue: false
206
+ },
207
+ // used in point layer
208
+ outline: {
209
+ type: 'boolean',
210
+ defaultValue: false,
211
+ label: 'layer.outline',
212
+ group: PROPERTY_GROUPS.display,
213
+ property: 'outline'
214
+ },
215
+ colorRange: {
216
+ type: 'color-range-select',
217
+ defaultValue: DEFAULT_COLOR_RANGE,
218
+ label: 'layerVisConfigs.colorRange',
219
+ group: PROPERTY_GROUPS.color,
220
+ property: 'colorRange'
221
+ },
222
+ strokeColorRange: {
223
+ type: 'color-range-select',
224
+ defaultValue: DEFAULT_COLOR_RANGE,
225
+ label: 'layerVisConfigs.strokeColorRange',
226
+ group: PROPERTY_GROUPS.color,
227
+ property: 'strokeColorRange'
228
+ },
229
+ targetColor: {
230
+ type: 'color-select',
231
+ label: 'layerVisConfigs.targetColor',
232
+ defaultValue: null,
233
+ group: PROPERTY_GROUPS.color,
234
+ property: 'targetColor'
235
+ },
236
+ strokeColor: {
237
+ type: 'color-select',
238
+ label: 'layerVisConfigs.strokeColor',
239
+ defaultValue: null,
240
+ group: PROPERTY_GROUPS.color,
241
+ property: 'strokeColor'
242
+ },
243
+ colorAggregation: {
244
+ type: 'select',
245
+ defaultValue: _defaultSettings.AGGREGATION_TYPES.average,
246
+ label: 'layerVisConfigs.colorAggregation',
247
+ // aggregation options are based on color field types
248
+ options: Object.keys(_defaultSettings.AGGREGATION_TYPES),
249
+ group: PROPERTY_GROUPS.color,
250
+ property: 'colorAggregation',
251
+ condition: function condition(config) {
252
+ return Boolean(config.colorField);
253
+ }
254
+ },
255
+ sizeAggregation: {
256
+ type: 'select',
257
+ defaultValue: _defaultSettings.AGGREGATION_TYPES.average,
258
+ label: 'layerVisConfigs.heightAggregation',
259
+ // aggregation options are based on color field types
260
+ options: Object.keys(_defaultSettings.AGGREGATION_TYPES),
261
+ group: PROPERTY_GROUPS.height,
262
+ property: 'sizeAggregation',
263
+ condition: function condition(config) {
264
+ return Boolean(config.sizeField);
265
+ }
266
+ },
267
+ percentile: {
268
+ type: 'number',
269
+ defaultValue: [0, 100],
270
+ label: function label(config) {
271
+ return "Filter by ".concat(config.colorField ? "".concat(config.visConfig.colorAggregation, " ").concat(config.colorField.name) : 'count', " percentile");
272
+ },
273
+ isRanged: true,
274
+ range: [0, 100],
275
+ step: 0.01,
276
+ group: PROPERTY_GROUPS.color,
277
+ property: 'percentile',
278
+ // percentile filter only makes sense with linear aggregation
279
+ condition: function condition(config) {
280
+ return config.colorScale !== 'ordinal';
281
+ },
282
+ allowCustomValue: false
283
+ },
284
+ elevationPercentile: {
285
+ type: 'number',
286
+ defaultValue: [0, 100],
287
+ label: function label(config) {
288
+ return "Filter by ".concat(config.sizeField ? "".concat(config.visConfig.sizeAggregation, " ").concat(config.sizeField.name) : 'count', " percentile");
289
+ },
290
+ isRanged: true,
291
+ range: [0, 100],
292
+ step: 0.01,
293
+ group: PROPERTY_GROUPS.height,
294
+ property: 'elevationPercentile',
295
+ // percentile filter only makes sense with linear aggregation
296
+ condition: function condition(config) {
297
+ return Boolean(config.visConfig.enable3d && (config.colorField || config.sizeField));
298
+ },
299
+ allowCustomValue: false
300
+ },
301
+ resolution: {
302
+ type: 'number',
303
+ defaultValue: 8,
304
+ label: 'layerVisConfigs.resolution',
305
+ isRanged: false,
306
+ range: [0, 13],
307
+ step: 1,
308
+ group: PROPERTY_GROUPS.cell,
309
+ property: 'resolution',
310
+ allowCustomValue: true
311
+ },
312
+ sizeScale: {
313
+ type: 'number',
314
+ defaultValue: 10,
315
+ label: 'layerVisConfigs.sizeScale',
316
+ isRanged: false,
317
+ range: [1, 1000],
318
+ step: 1,
319
+ group: PROPERTY_GROUPS.stroke,
320
+ property: 'sizeScale',
321
+ allowCustomValue: true
322
+ },
323
+ angle: {
324
+ type: 'number',
325
+ label: 'layerVisConfigs.angle',
326
+ defaultValue: 0,
327
+ isRanged: false,
328
+ range: [0, 360],
329
+ group: PROPERTY_GROUPS.angle,
330
+ step: 1,
331
+ property: 'angle',
332
+ allowCustomValue: true
333
+ },
334
+ worldUnitSize: {
335
+ type: 'number',
336
+ defaultValue: 1,
337
+ label: 'layerVisConfigs.worldUnitSize',
338
+ isRanged: false,
339
+ range: [0, 500],
340
+ step: 0.0001,
341
+ group: PROPERTY_GROUPS.cell,
342
+ property: 'worldUnitSize',
343
+ allowCustomValue: true
344
+ },
345
+ elevationScale: {
346
+ type: 'number',
347
+ defaultValue: 5,
348
+ label: 'layerVisConfigs.elevationScale',
349
+ isRanged: false,
350
+ range: [0, 1000],
351
+ step: 0.1,
352
+ group: PROPERTY_GROUPS.height,
353
+ property: 'elevationScale',
354
+ allowCustomValue: true
355
+ },
356
+ enableElevationZoomFactor: {
357
+ type: 'boolean',
358
+ defaultValue: true,
359
+ label: 'layerVisConfigs.enableElevationZoomFactor',
360
+ group: PROPERTY_GROUPS.height,
361
+ property: 'enableElevationZoomFactor',
362
+ description: 'layerVisConfigs.enableElevationZoomFactorDescription'
363
+ },
364
+ elevationRange: {
365
+ type: 'number',
366
+ defaultValue: [0, 500],
367
+ label: 'layerVisConfigs.heightScale',
368
+ isRanged: true,
369
+ range: [0, 1000],
370
+ step: 0.01,
371
+ group: PROPERTY_GROUPS.height,
372
+ property: 'sizeRange',
373
+ allowCustomValue: true
374
+ },
375
+ heightRange: {
376
+ type: 'number',
377
+ defaultValue: [0, 500],
378
+ label: 'Height Scale',
379
+ isRanged: true,
380
+ range: [0, 1000],
381
+ step: 0.01,
382
+ group: PROPERTY_GROUPS.height,
383
+ property: 'heightRange',
384
+ allowCustomValue: true
385
+ },
386
+ coverageRange: {
387
+ type: 'number',
388
+ defaultValue: [0, 1],
389
+ label: 'layerVisConfigs.coverageRange',
390
+ isRanged: true,
391
+ range: [0, 1],
392
+ step: 0.01,
393
+ group: PROPERTY_GROUPS.radius,
394
+ property: 'coverageRange',
395
+ allowCustomValue: false
396
+ },
397
+ // hi precision is deprecated by deck.gl
398
+ 'hi-precision': {
399
+ type: 'boolean',
400
+ defaultValue: false,
401
+ label: 'layerVisConfigs.highPrecisionRendering',
402
+ group: PROPERTY_GROUPS.precision,
403
+ property: 'hi-precision',
404
+ description: 'layerVisConfigs.highPrecisionRenderingDescription'
405
+ },
406
+ enable3d: {
407
+ type: 'boolean',
408
+ defaultValue: false,
409
+ label: 'layerVisConfigs.height',
410
+ group: PROPERTY_GROUPS.height,
411
+ property: 'enable3d',
412
+ description: 'layerVisConfigs.heightDescription'
413
+ },
414
+ stroked: {
415
+ type: 'boolean',
416
+ label: 'layerVisConfigs.stroke',
417
+ defaultValue: true,
418
+ group: PROPERTY_GROUPS.display,
419
+ property: 'stroked'
420
+ },
421
+ filled: {
422
+ type: 'boolean',
423
+ label: 'layerVisConfigs.fill',
424
+ defaultValue: false,
425
+ group: PROPERTY_GROUPS.display,
426
+ property: 'filled'
427
+ },
428
+ extruded: {
429
+ type: 'boolean',
430
+ defaultValue: false,
431
+ label: 'layerVisConfigs.enablePolygonHeight',
432
+ group: PROPERTY_GROUPS.display,
433
+ property: 'extruded'
434
+ },
435
+ wireframe: {
436
+ type: 'boolean',
437
+ defaultValue: false,
438
+ label: 'layerVisConfigs.showWireframe',
439
+ group: PROPERTY_GROUPS.display,
440
+ property: 'wireframe'
441
+ },
442
+ // used for heatmap
443
+ weight: {
444
+ type: 'number',
445
+ defaultValue: 1,
446
+ label: 'layerVisConfigs.weightIntensity',
447
+ isRanged: false,
448
+ range: [0.01, 500],
449
+ step: 0.01,
450
+ group: PROPERTY_GROUPS.cell,
451
+ property: 'weight',
452
+ condition: function condition(config) {
453
+ return Boolean(config.weightField);
454
+ },
455
+ allowCustomValue: true
456
+ },
457
+ heatmapRadius: {
458
+ type: 'number',
459
+ defaultValue: 20,
460
+ label: 'layerVisConfigs.radius',
461
+ isRanged: false,
462
+ range: [0, 100],
463
+ step: 0.1,
464
+ group: PROPERTY_GROUPS.cell,
465
+ property: 'radius',
466
+ allowCustomValue: true
467
+ },
468
+ darkBaseMapEnabled: {
469
+ type: 'boolean',
470
+ defaultValue: true,
471
+ label: 'layerVisConfigs.darkModeEnabled',
472
+ property: 'darkBaseMapEnabled',
473
+ group: PROPERTY_GROUPS.display
474
+ },
475
+ allowHover: {
476
+ type: 'boolean',
477
+ defaultValue: true,
478
+ label: 'layerVisConfigs.allowHover',
479
+ group: PROPERTY_GROUPS.interaction,
480
+ property: 'allowHover'
481
+ },
482
+ showNeighborOnHover: {
483
+ type: 'boolean',
484
+ defaultValue: false,
485
+ label: 'layerVisConfigs.showNeighborOnHover',
486
+ group: PROPERTY_GROUPS.interaction,
487
+ property: 'showNeighborOnHover'
488
+ },
489
+ showHighlightColor: {
490
+ type: 'boolean',
491
+ defaultValue: true,
492
+ label: 'layerVisConfigs.showHighlightColor',
493
+ group: PROPERTY_GROUPS.interaction,
494
+ property: 'showHighlightColor'
495
+ }
496
+ };
497
+ var LAYER_TEXT_CONFIGS = exports.LAYER_TEXT_CONFIGS = {
498
+ fontSize: {
499
+ type: 'number',
500
+ range: [1, 100],
501
+ value0: 1,
502
+ step: 1,
503
+ isRanged: false,
504
+ label: 'Font size',
505
+ showInput: true
506
+ },
507
+ outlineWidth: {
508
+ type: 'number',
509
+ range: [0, 1],
510
+ value0: 0,
511
+ step: 0.01,
512
+ isRanged: false,
513
+ label: 'Outline width',
514
+ showInput: true
515
+ },
516
+ textAnchor: {
517
+ type: 'select',
518
+ options: ['start', 'middle', 'end'],
519
+ multiSelect: false,
520
+ searchable: false
521
+ },
522
+ textAlignment: {
523
+ type: 'select',
524
+ options: ['top', 'center', 'bottom'],
525
+ multiSelect: false,
526
+ searchable: false
527
+ }
528
+ };
529
+ var LAYER_TYPES = exports.LAYER_TYPES = (0, _keymirror["default"])({
530
+ point: null,
531
+ arc: null,
532
+ line: null,
533
+ grid: null,
534
+ hexagon: null,
535
+ geojson: null,
536
+ cluster: null,
537
+ icon: null,
538
+ heatmap: null,
539
+ hexagonId: null,
540
+ '3D': null,
541
+ trip: null,
542
+ s2: null,
543
+ vectorTile: null
544
+ });
545
+ var EDITOR_AVAILABLE_LAYERS = exports.EDITOR_AVAILABLE_LAYERS = [LAYER_TYPES.point, LAYER_TYPES.hexagon, LAYER_TYPES.arc, LAYER_TYPES.line, LAYER_TYPES.hexagonId, LAYER_TYPES.geojson];
546
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGVmYXVsdFNldHRpbmdzIiwiX2NvbG9yUGFsZXR0ZXMiLCJQUk9QRVJUWV9HUk9VUFMiLCJleHBvcnRzIiwia2V5TWlycm9yIiwiY29sb3IiLCJzdHJva2UiLCJyYWRpdXMiLCJoZWlnaHQiLCJhbmdsZSIsImNlbGwiLCJwcmVjaXNpb24iLCJkaXNwbGF5IiwiaW50ZXJhY3Rpb24iLCJERUZBVUxUX0xBWUVSX09QQUNJVFkiLCJERUZBVUxUX0hJR0hMSUdIVF9DT0xPUiIsIkRFRkFVTFRfTEFZRVJfTEFCRUwiLCJERUZBVUxUX1RFWFRfTEFCRUwiLCJmaWVsZCIsInNpemUiLCJvZmZzZXQiLCJhbmNob3IiLCJhbGlnbm1lbnQiLCJvdXRsaW5lV2lkdGgiLCJvdXRsaW5lQ29sb3IiLCJiYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENvbG9yIiwiREVGQVVMVF9DT0xPUl9QQUxFVFRFIiwiS0VQTEVSX0NPTE9SX1BBTEVUVEVTIiwiZmluZCIsIl9yZWYiLCJuYW1lIiwiREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFIiwiREVGQVVMVF9DT0xPUl9SQU5HRSIsImNvbG9yUGFsZXR0ZVRvQ29sb3JSYW5nZSIsInJldmVyc2VkIiwic3RlcHMiLCJERUZBVUxUX0xBWUVSX0NPTE9SX1BBTEVUVEVfU1RFUFMiLCJERUZBVUxUX0NVU1RPTV9QQUxFVFRFIiwidHlwZSIsImNhdGVnb3J5IiwiY29sb3JzIiwiVU5LTk9XTl9DT0xPUl9LRVkiLCJERUZBVUxUX0NPTE9SX1VJIiwiY3VzdG9tUGFsZXR0ZSIsInNob3dTa2V0Y2hlciIsInNob3dEcm9wZG93biIsInNob3dDb2xvckNoYXJ0IiwiY29sb3JSYW5nZUNvbmZpZyIsImNvbG9yQmxpbmRTYWZlIiwiY3VzdG9tIiwiY3VzdG9tQnJlYWtzIiwiTEFZRVJfVklTX0NPTkZJR1MiLCJ0aGlja25lc3MiLCJkZWZhdWx0VmFsdWUiLCJsYWJlbCIsImlzUmFuZ2VkIiwicmFuZ2UiLCJzdGVwIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsImFsbG93Q3VzdG9tVmFsdWUiLCJzdHJva2VXaWR0aFJhbmdlIiwidHJhaWxMZW5ndGgiLCJmYWRlVHJhaWwiLCJiaWxsYm9hcmQiLCJkZXNjcmlwdGlvbiIsImZpeGVkUmFkaXVzIiwiZml4ZWRIZWlnaHQiLCJyYWRpdXNSYW5nZSIsImNsdXN0ZXJSYWRpdXMiLCJjbHVzdGVyUmFkaXVzUmFuZ2UiLCJvcGFjaXR5IiwiY292ZXJhZ2UiLCJvdXRsaW5lIiwiY29sb3JSYW5nZSIsInN0cm9rZUNvbG9yUmFuZ2UiLCJ0YXJnZXRDb2xvciIsInN0cm9rZUNvbG9yIiwiY29sb3JBZ2dyZWdhdGlvbiIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiYXZlcmFnZSIsIm9wdGlvbnMiLCJPYmplY3QiLCJrZXlzIiwiY29uZGl0aW9uIiwiY29uZmlnIiwiQm9vbGVhbiIsImNvbG9yRmllbGQiLCJzaXplQWdncmVnYXRpb24iLCJzaXplRmllbGQiLCJwZXJjZW50aWxlIiwiY29uY2F0IiwidmlzQ29uZmlnIiwiY29sb3JTY2FsZSIsImVsZXZhdGlvblBlcmNlbnRpbGUiLCJlbmFibGUzZCIsInJlc29sdXRpb24iLCJzaXplU2NhbGUiLCJ3b3JsZFVuaXRTaXplIiwiZWxldmF0aW9uU2NhbGUiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yIiwiZWxldmF0aW9uUmFuZ2UiLCJoZWlnaHRSYW5nZSIsImNvdmVyYWdlUmFuZ2UiLCJzdHJva2VkIiwiZmlsbGVkIiwiZXh0cnVkZWQiLCJ3aXJlZnJhbWUiLCJ3ZWlnaHQiLCJ3ZWlnaHRGaWVsZCIsImhlYXRtYXBSYWRpdXMiLCJkYXJrQmFzZU1hcEVuYWJsZWQiLCJhbGxvd0hvdmVyIiwic2hvd05laWdoYm9yT25Ib3ZlciIsInNob3dIaWdobGlnaHRDb2xvciIsIkxBWUVSX1RFWFRfQ09ORklHUyIsImZvbnRTaXplIiwidmFsdWUwIiwic2hvd0lucHV0IiwidGV4dEFuY2hvciIsIm11bHRpU2VsZWN0Iiwic2VhcmNoYWJsZSIsInRleHRBbGlnbm1lbnQiLCJMQVlFUl9UWVBFUyIsInBvaW50IiwiYXJjIiwibGluZSIsImdyaWQiLCJoZXhhZ29uIiwiZ2VvanNvbiIsImNsdXN0ZXIiLCJpY29uIiwiaGVhdG1hcCIsImhleGFnb25JZCIsInRyaXAiLCJzMiIsInZlY3RvclRpbGUiLCJFRElUT1JfQVZBSUxBQkxFX0xBWUVSUyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9sYXllcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuXG5pbXBvcnQge1xuICBBR0dSRUdBVElPTl9UWVBFUyxcbiAgREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFLFxuICBERUZBVUxUX0xBWUVSX0NPTE9SX1BBTEVUVEVfU1RFUFNcbn0gZnJvbSAnLi9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7XG4gIENvbG9yUmFuZ2UsXG4gIENvbG9yVUksXG4gIExheWVyVGV4dENvbmZpZyxcbiAgTGF5ZXJUZXh0TGFiZWwsXG4gIExheWVyVmlzQ29uZmlnU2V0dGluZ3MsXG4gIFJHQkFDb2xvclxufSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Q29sb3JQYWxldHRlLCBLRVBMRVJfQ09MT1JfUEFMRVRURVMsIGNvbG9yUGFsZXR0ZVRvQ29sb3JSYW5nZX0gZnJvbSAnLi9jb2xvci1wYWxldHRlcyc7XG5cbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0aW9uVHlwZXMgPSBrZXlvZiB0eXBlb2YgQUdHUkVHQVRJT05fVFlQRVM7XG5cbmV4cG9ydCBjb25zdCBQUk9QRVJUWV9HUk9VUFMgPSBrZXlNaXJyb3Ioe1xuICBjb2xvcjogbnVsbCxcbiAgc3Ryb2tlOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIGhlaWdodDogbnVsbCxcbiAgYW5nbGU6IG51bGwsXG4gIC8vIGZvciBoZWF0bWFwIGFnZ3JlZ2F0aW9uXG4gIGNlbGw6IG51bGwsXG4gIHByZWNpc2lvbjogbnVsbCxcbiAgZGlzcGxheTogbnVsbCxcbiAgaW50ZXJhY3Rpb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9PUEFDSVRZID0gMC44O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSElHSExJR0hUX0NPTE9SOiBSR0JBQ29sb3IgPSBbMjUyLCAyNDIsIDI2LCAyNTVdO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfTEFCRUwgPSAnbmV3IGxheWVyJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVYVF9MQUJFTDogTGF5ZXJUZXh0TGFiZWwgPSB7XG4gIGZpZWxkOiBudWxsLFxuICBjb2xvcjogWzI1NSwgMjU1LCAyNTVdLFxuICBzaXplOiAxOCxcbiAgb2Zmc2V0OiBbMCwgMF0sXG4gIGFuY2hvcjogJ3N0YXJ0JyxcbiAgYWxpZ25tZW50OiAnY2VudGVyJyxcbiAgb3V0bGluZVdpZHRoOiAwLFxuICBvdXRsaW5lQ29sb3I6IFsyNTUsIDAsIDAsIDI1NV0sXG4gIGJhY2tncm91bmQ6IGZhbHNlLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFswLCAwLCAyMDAsIDI1NV1cbn07XG5cbmNvbnN0IERFRkFVTFRfQ09MT1JfUEFMRVRURSA9IEtFUExFUl9DT0xPUl9QQUxFVFRFUy5maW5kKFxuICAoe25hbWV9KSA9PiBuYW1lID09PSBERUZBVUxUX0xBWUVSX0NPTE9SX1BBTEVUVEVcbikgYXMgQ29sb3JQYWxldHRlO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT0xPUl9SQU5HRSA9IGNvbG9yUGFsZXR0ZVRvQ29sb3JSYW5nZShERUZBVUxUX0NPTE9SX1BBTEVUVEUsIHtcbiAgcmV2ZXJzZWQ6IGZhbHNlLFxuICBzdGVwczogREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFX1NURVBTXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ1VTVE9NX1BBTEVUVEU6IENvbG9yUmFuZ2UgPSB7XG4gIG5hbWU6ICdjb2xvci5jdXN0b21QYWxldHRlJyxcbiAgdHlwZTogJ2N1c3RvbScsXG4gIGNhdGVnb3J5OiAnQ3VzdG9tJyxcbiAgY29sb3JzOiBbXVxufTtcblxuZXhwb3J0IGNvbnN0IFVOS05PV05fQ09MT1JfS0VZID0gJ19fdW5rbm93bkNvbG9yX18nO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT0xPUl9VSTogQ29sb3JVSSA9IHtcbiAgLy8gY3VzdG9tUGFsZXR0ZSBpbiBlZGl0XG4gIGN1c3RvbVBhbGV0dGU6IERFRkFVTFRfQ1VTVE9NX1BBTEVUVEUsXG4gIC8vIHNob3cgY29sb3Igc2tldGNoZXIgbW9kYWxcbiAgc2hvd1NrZXRjaGVyOiBmYWxzZSxcbiAgLy8gc2hvdyBjb2xvciByYW5nZSBzZWxlY3Rpb24gcGFuZWxcbiAgc2hvd0Ryb3Bkb3duOiBmYWxzZSxcbiAgLy8gc2hvdyBjb2xvciBjaGFydFxuICBzaG93Q29sb3JDaGFydDogZmFsc2UsXG4gIC8vIGNvbG9yIHJhbmdlIHNlbGVjdG9yIGNvbmZpZ1xuICBjb2xvclJhbmdlQ29uZmlnOiB7XG4gICAgdHlwZTogJ2FsbCcsXG4gICAgc3RlcHM6IDYsXG4gICAgcmV2ZXJzZWQ6IGZhbHNlLFxuICAgIGNvbG9yQmxpbmRTYWZlOiBmYWxzZSxcbiAgICBjdXN0b206IGZhbHNlLFxuICAgIGN1c3RvbUJyZWFrczogZmFsc2VcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX1ZJU19DT05GSUdTOiBMYXllclZpc0NvbmZpZ1NldHRpbmdzID0ge1xuICB0aGlja25lc3M6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDIsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlV2lkdGgnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAndGhpY2tuZXNzJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIHN0cm9rZVdpZHRoUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMF0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlV2lkdGhSYW5nZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAyMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3NpemVSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICB0cmFpbExlbmd0aDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMTgwLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZVdpZHRoJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFsxLCAxMDAwXSxcbiAgICBzdGVwOiAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAndHJhaWxMZW5ndGgnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgZmFkZVRyYWlsOiB7XG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5mYWRlVHJhaWwnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAnZmFkZVRyYWlsJ1xuICB9LFxuICBiaWxsYm9hcmQ6IHtcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5iaWxsYm9hcmQnLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmJpbGxib2FyZERlc2NyaXB0aW9uJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdiaWxsYm9hcmQnXG4gIH0sXG4gIC8vIHJhZGl1cyBpcyBhY3R1YWxseSByYWRpdXNTY2FsZSBpbiBkZWNrLmdsXG4gIHJhZGl1czoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMTAsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1cycsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBmaXhlZFJhZGl1czoge1xuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmZpeGVkUmFkaXVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5maXhlZFJhZGl1c0Rlc2NyaXB0aW9uJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ2ZpeGVkUmFkaXVzJ1xuICB9LFxuICBmaXhlZEhlaWdodDoge1xuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmZpeGVkSGVpZ2h0JyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5maXhlZEhlaWdodERlc2NyaXB0aW9uJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2ZpeGVkSGVpZ2h0J1xuICB9LFxuICByYWRpdXNSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDUwXSxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDUwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJhZGl1c1JhbmdlJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1c1JhbmdlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGNsdXN0ZXJSYWRpdXM6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jbHVzdGVyUmFkaXVzJyxcbiAgICBkZWZhdWx0VmFsdWU6IDQwLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzEsIDUwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAnY2x1c3RlclJhZGl1cycsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBjbHVzdGVyUmFkaXVzUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXNSYW5nZVBpeGVscycsXG4gICAgZGVmYXVsdFZhbHVlOiBbMSwgNDBdLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMSwgMTUwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdyYWRpdXNSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBvcGFjaXR5OiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xBWUVSX09QQUNJVFksXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Mub3BhY2l0eScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnb3BhY2l0eScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogZmFsc2VcbiAgfSxcbiAgY292ZXJhZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY292ZXJhZ2UnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDFdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAnY292ZXJhZ2UnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IGZhbHNlXG4gIH0sXG4gIC8vIHVzZWQgaW4gcG9pbnQgbGF5ZXJcbiAgb3V0bGluZToge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXIub3V0bGluZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnb3V0bGluZSdcbiAgfSxcbiAgY29sb3JSYW5nZToge1xuICAgIHR5cGU6ICdjb2xvci1yYW5nZS1zZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9DT0xPUl9SQU5HRSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb2xvclJhbmdlJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnY29sb3JSYW5nZSdcbiAgfSxcbiAgc3Ryb2tlQ29sb3JSYW5nZToge1xuICAgIHR5cGU6ICdjb2xvci1yYW5nZS1zZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9DT0xPUl9SQU5HRSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VDb2xvclJhbmdlJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnc3Ryb2tlQ29sb3JSYW5nZSdcbiAgfSxcbiAgdGFyZ2V0Q29sb3I6IHtcbiAgICB0eXBlOiAnY29sb3Itc2VsZWN0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy50YXJnZXRDb2xvcicsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICd0YXJnZXRDb2xvcidcbiAgfSxcbiAgc3Ryb2tlQ29sb3I6IHtcbiAgICB0eXBlOiAnY29sb3Itc2VsZWN0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VDb2xvcicsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdzdHJva2VDb2xvcidcbiAgfSxcbiAgY29sb3JBZ2dyZWdhdGlvbjoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb2xvckFnZ3JlZ2F0aW9uJyxcbiAgICAvLyBhZ2dyZWdhdGlvbiBvcHRpb25zIGFyZSBiYXNlZCBvbiBjb2xvciBmaWVsZCB0eXBlc1xuICAgIG9wdGlvbnM6IE9iamVjdC5rZXlzKEFHR1JFR0FUSU9OX1RZUEVTKSBhcyBBZ2dyZWdhdGlvblR5cGVzW10sXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ2NvbG9yQWdncmVnYXRpb24nLFxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IEJvb2xlYW4oY29uZmlnLmNvbG9yRmllbGQpXG4gIH0sXG4gIHNpemVBZ2dyZWdhdGlvbjoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHRBZ2dyZWdhdGlvbicsXG4gICAgLy8gYWdncmVnYXRpb24gb3B0aW9ucyBhcmUgYmFzZWQgb24gY29sb3IgZmllbGQgdHlwZXNcbiAgICBvcHRpb25zOiBPYmplY3Qua2V5cyhBR0dSRUdBVElPTl9UWVBFUykgYXMgQWdncmVnYXRpb25UeXBlc1tdLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnc2l6ZUFnZ3JlZ2F0aW9uJyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBCb29sZWFuKGNvbmZpZy5zaXplRmllbGQpXG4gIH0sXG4gIHBlcmNlbnRpbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMDBdLFxuICAgIGxhYmVsOiBjb25maWcgPT5cbiAgICAgIGBGaWx0ZXIgYnkgJHtcbiAgICAgICAgY29uZmlnLmNvbG9yRmllbGRcbiAgICAgICAgICA/IGAke2NvbmZpZy52aXNDb25maWcuY29sb3JBZ2dyZWdhdGlvbn0gJHtjb25maWcuY29sb3JGaWVsZC5uYW1lfWBcbiAgICAgICAgICA6ICdjb3VudCdcbiAgICAgIH0gcGVyY2VudGlsZWAsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3BlcmNlbnRpbGUnLFxuXG4gICAgLy8gcGVyY2VudGlsZSBmaWx0ZXIgb25seSBtYWtlcyBzZW5zZSB3aXRoIGxpbmVhciBhZ2dyZWdhdGlvblxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy5jb2xvclNjYWxlICE9PSAnb3JkaW5hbCcsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogZmFsc2VcbiAgfSxcbiAgZWxldmF0aW9uUGVyY2VudGlsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDEwMF0sXG4gICAgbGFiZWw6IGNvbmZpZyA9PlxuICAgICAgYEZpbHRlciBieSAke1xuICAgICAgICBjb25maWcuc2l6ZUZpZWxkID8gYCR7Y29uZmlnLnZpc0NvbmZpZy5zaXplQWdncmVnYXRpb259ICR7Y29uZmlnLnNpemVGaWVsZC5uYW1lfWAgOiAnY291bnQnXG4gICAgICB9IHBlcmNlbnRpbGVgLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZWxldmF0aW9uUGVyY2VudGlsZScsXG4gICAgLy8gcGVyY2VudGlsZSBmaWx0ZXIgb25seSBtYWtlcyBzZW5zZSB3aXRoIGxpbmVhciBhZ2dyZWdhdGlvblxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+XG4gICAgICBCb29sZWFuKGNvbmZpZy52aXNDb25maWcuZW5hYmxlM2QgJiYgKGNvbmZpZy5jb2xvckZpZWxkIHx8IGNvbmZpZy5zaXplRmllbGQpKSxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiBmYWxzZVxuICB9LFxuICByZXNvbHV0aW9uOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiA4LFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJlc29sdXRpb24nLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEzXSxcbiAgICBzdGVwOiAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3Jlc29sdXRpb24nLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgc2l6ZVNjYWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxMCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zaXplU2NhbGUnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzEsIDEwMDBdLFxuICAgIHN0ZXA6IDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICdzaXplU2NhbGUnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgYW5nbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5hbmdsZScsXG4gICAgZGVmYXVsdFZhbHVlOiAwLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDM2MF0sXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5hbmdsZSxcbiAgICBzdGVwOiAxLFxuICAgIHByb3BlcnR5OiAnYW5nbGUnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgd29ybGRVbml0U2l6ZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy53b3JsZFVuaXRTaXplJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCA1MDBdLFxuICAgIHN0ZXA6IDAuMDAwMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICd3b3JsZFVuaXRTaXplJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGVsZXZhdGlvblNjYWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiA1LFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmVsZXZhdGlvblNjYWxlJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbGV2YXRpb25TY2FsZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5lbmFibGVFbGV2YXRpb25ab29tRmFjdG9yJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VuYWJsZUVsZXZhdGlvblpvb21GYWN0b3InLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbidcbiAgfSxcbiAgZWxldmF0aW9uUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCA1MDBdLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodFNjYWxlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdzaXplUmFuZ2UnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgaGVpZ2h0UmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCA1MDBdLFxuICAgIGxhYmVsOiAnSGVpZ2h0IFNjYWxlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdoZWlnaHRSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBjb3ZlcmFnZVJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMV0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY292ZXJhZ2VSYW5nZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAnY292ZXJhZ2VSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogZmFsc2VcbiAgfSxcbiAgLy8gaGkgcHJlY2lzaW9uIGlzIGRlcHJlY2F0ZWQgYnkgZGVjay5nbFxuICAnaGktcHJlY2lzaW9uJzoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhpZ2hQcmVjaXNpb25SZW5kZXJpbmcnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucHJlY2lzaW9uLFxuICAgIHByb3BlcnR5OiAnaGktcHJlY2lzaW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5oaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb24nXG4gIH0sXG4gIGVuYWJsZTNkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0JyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VuYWJsZTNkJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHREZXNjcmlwdGlvbidcbiAgfSxcbiAgc3Ryb2tlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2UnLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdzdHJva2VkJ1xuICB9LFxuICBmaWxsZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZmlsbCcsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdmaWxsZWQnXG4gIH0sXG4gIGV4dHJ1ZGVkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZW5hYmxlUG9seWdvbkhlaWdodCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnZXh0cnVkZWQnXG4gIH0sXG4gIHdpcmVmcmFtZToge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNob3dXaXJlZnJhbWUnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ3dpcmVmcmFtZSdcbiAgfSxcbiAgLy8gdXNlZCBmb3IgaGVhdG1hcFxuICB3ZWlnaHQ6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Mud2VpZ2h0SW50ZW5zaXR5JyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLjAxLCA1MDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAnd2VpZ2h0JyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBCb29sZWFuKGNvbmZpZy53ZWlnaHRGaWVsZCksXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBoZWF0bWFwUmFkaXVzOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAyMCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXMnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1cycsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBkYXJrQmFzZU1hcEVuYWJsZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmRhcmtNb2RlRW5hYmxlZCcsXG4gICAgcHJvcGVydHk6ICdkYXJrQmFzZU1hcEVuYWJsZWQnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheVxuICB9LFxuICBhbGxvd0hvdmVyOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5hbGxvd0hvdmVyJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmludGVyYWN0aW9uLFxuICAgIHByb3BlcnR5OiAnYWxsb3dIb3ZlcidcbiAgfSxcbiAgc2hvd05laWdoYm9yT25Ib3Zlcjoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNob3dOZWlnaGJvck9uSG92ZXInLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaW50ZXJhY3Rpb24sXG4gICAgcHJvcGVydHk6ICdzaG93TmVpZ2hib3JPbkhvdmVyJ1xuICB9LFxuICBzaG93SGlnaGxpZ2h0Q29sb3I6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNob3dIaWdobGlnaHRDb2xvcicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5pbnRlcmFjdGlvbixcbiAgICBwcm9wZXJ0eTogJ3Nob3dIaWdobGlnaHRDb2xvcidcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX1RFWFRfQ09ORklHUzogTGF5ZXJUZXh0Q29uZmlnID0ge1xuICBmb250U2l6ZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIHJhbmdlOiBbMSwgMTAwXSxcbiAgICB2YWx1ZTA6IDEsXG4gICAgc3RlcDogMSxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgbGFiZWw6ICdGb250IHNpemUnLFxuICAgIHNob3dJbnB1dDogdHJ1ZVxuICB9LFxuICBvdXRsaW5lV2lkdGg6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICByYW5nZTogWzAsIDFdLFxuICAgIHZhbHVlMDogMCxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICBsYWJlbDogJ091dGxpbmUgd2lkdGgnLFxuICAgIHNob3dJbnB1dDogdHJ1ZVxuICB9LFxuICB0ZXh0QW5jaG9yOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgb3B0aW9uczogWydzdGFydCcsICdtaWRkbGUnLCAnZW5kJ10sXG4gICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgIHNlYXJjaGFibGU6IGZhbHNlXG4gIH0sXG4gIHRleHRBbGlnbm1lbnQ6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBbJ3RvcCcsICdjZW50ZXInLCAnYm90dG9tJ10sXG4gICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgIHNlYXJjaGFibGU6IGZhbHNlXG4gIH1cbn07XG5leHBvcnQgY29uc3QgTEFZRVJfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBwb2ludDogbnVsbCxcbiAgYXJjOiBudWxsLFxuICBsaW5lOiBudWxsLFxuICBncmlkOiBudWxsLFxuICBoZXhhZ29uOiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBjbHVzdGVyOiBudWxsLFxuICBpY29uOiBudWxsLFxuICBoZWF0bWFwOiBudWxsLFxuICBoZXhhZ29uSWQ6IG51bGwsXG4gICczRCc6IG51bGwsXG4gIHRyaXA6IG51bGwsXG4gIHMyOiBudWxsLFxuICB2ZWN0b3JUaWxlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTOiBzdHJpbmdbXSA9IFtcbiAgTEFZRVJfVFlQRVMucG9pbnQsXG4gIExBWUVSX1RZUEVTLmhleGFnb24sXG4gIExBWUVSX1RZUEVTLmFyYyxcbiAgTEFZRVJfVFlQRVMubGluZSxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbklkLFxuICBMQVlFUl9UWVBFUy5nZW9qc29uXG5dO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQWFBLElBQUFFLGNBQUEsR0FBQUYsT0FBQTtBQWxCQTtBQUNBOztBQXFCTyxJQUFNRyxlQUFlLEdBQUFDLE9BQUEsQ0FBQUQsZUFBQSxHQUFHLElBQUFFLHFCQUFTLEVBQUM7RUFDdkNDLEtBQUssRUFBRSxJQUFJO0VBQ1hDLE1BQU0sRUFBRSxJQUFJO0VBQ1pDLE1BQU0sRUFBRSxJQUFJO0VBQ1pDLE1BQU0sRUFBRSxJQUFJO0VBQ1pDLEtBQUssRUFBRSxJQUFJO0VBQ1g7RUFDQUMsSUFBSSxFQUFFLElBQUk7RUFDVkMsU0FBUyxFQUFFLElBQUk7RUFDZkMsT0FBTyxFQUFFLElBQUk7RUFDYkMsV0FBVyxFQUFFO0FBQ2YsQ0FBQyxD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
package/dist/plot.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare const PLOT_TYPES: {
2
+ histogram: "histogram";
3
+ lineChart: "lineChart";
4
+ };
package/dist/plot.js ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PLOT_TYPES = void 0;
8
+ var _keymirror = _interopRequireDefault(require("keymirror"));
9
+ // SPDX-License-Identifier: MIT
10
+ // Copyright contributors to the kepler.gl project
11
+
12
+ var PLOT_TYPES = exports.PLOT_TYPES = (0, _keymirror["default"])({
13
+ histogram: null,
14
+ lineChart: null
15
+ });
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJQTE9UX1RZUEVTIiwiZXhwb3J0cyIsImtleU1pcnJvciIsImhpc3RvZ3JhbSIsImxpbmVDaGFydCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wbG90LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBrZXlNaXJyb3IgZnJvbSAna2V5bWlycm9yJztcblxuZXhwb3J0IGNvbnN0IFBMT1RfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBoaXN0b2dyYW06IG51bGwsXG4gIGxpbmVDaGFydDogbnVsbFxufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFIQTtBQUNBOztBQUlPLElBQU1DLFVBQVUsR0FBQUMsT0FBQSxDQUFBRCxVQUFBLEdBQUcsSUFBQUUscUJBQVMsRUFBQztFQUNsQ0MsU0FBUyxFQUFFLElBQUk7RUFDZkMsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119