@kepler.gl/components 3.3.0-alpha.6 → 3.3.0-alpha.8
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/cjs/common/data-table/cell-size.js +40 -23
- package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
- package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
- package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
- package/dist/cjs/common/data-table/column-statistics-time.js +69 -0
- package/dist/cjs/common/data-table/grid.js +2 -2
- package/dist/cjs/common/data-table/header-cell.js +123 -44
- package/dist/cjs/common/data-table/index.js +104 -31
- package/dist/cjs/common/file-uploader/file-upload.js +250 -40
- package/dist/cjs/common/histogram-plot.js +1 -1
- package/dist/cjs/common/icons/circle.js +54 -0
- package/dist/cjs/common/icons/{arrow-down-solid.js → draw-point.js} +21 -11
- package/dist/cjs/common/icons/index.js +22 -1
- package/dist/cjs/common/icons/line-string.js +60 -0
- package/dist/cjs/common/item-selector/item-selector.js +2 -2
- package/dist/cjs/common/portaled.js +3 -3
- package/dist/cjs/common/time-range-slider.js +2 -2
- package/dist/cjs/common/timeline-slider.js +2 -2
- package/dist/cjs/common/toolbar-item.js +24 -3
- package/dist/cjs/editor/editor.js +27 -9
- package/dist/cjs/editor/feature-action-panel.js +34 -12
- package/dist/cjs/editor/feature-properties-editor.js +215 -0
- package/dist/cjs/editor/filter-feature-badges.js +92 -0
- package/dist/cjs/filters/filter-panels/polygon-filter-panel.js +2 -2
- package/dist/cjs/filters/time-widget.js +2 -2
- package/dist/cjs/index.js +33 -1
- package/dist/cjs/kepler-gl.js +20 -3
- package/dist/cjs/map/layer-hover-info.js +2 -2
- package/dist/cjs/map/map-control-toolbar.js +2 -2
- package/dist/cjs/map/map-control.js +14 -8
- package/dist/cjs/map/map-draw-panel.js +74 -15
- package/dist/cjs/map/theme-toggle-button.js +64 -0
- package/dist/cjs/map-container.js +17 -6
- package/dist/cjs/map-view-state-context.js +3 -3
- package/dist/cjs/modal-container.js +3 -2
- package/dist/cjs/modals/cloud-components/cloud-item.js +55 -7
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +75 -3
- package/dist/cjs/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/cjs/modals/cloud-components/cloud-storage-disclaimer.js +24 -0
- package/dist/cjs/modals/cloud-tile.js +82 -39
- package/dist/cjs/modals/data-table-modal.js +37 -25
- package/dist/cjs/modals/export-video-modal.js +28 -1
- package/dist/cjs/modals/export-video-modal.spec.js +56 -10
- package/dist/cjs/modals/globe-export-video-container.js +19 -3
- package/dist/cjs/modals/globe-export-video-preview.js +25 -7
- package/dist/cjs/modals/hubble-utils.js +8 -3
- package/dist/cjs/modals/image-modal-container.js +2 -2
- package/dist/cjs/modals/load-data-modal.js +3 -3
- package/dist/cjs/modals/load-storage-map.js +9 -6
- package/dist/cjs/modals/save-map-modal.js +4 -3
- package/dist/cjs/modals/share-map-modal.js +5 -4
- package/dist/cjs/modals/swipe-composite-utils.js +9 -1
- package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
- package/dist/cjs/modals/swipe-export-video-preview.js +9 -5
- package/dist/cjs/plot-container.js +12 -5
- package/dist/cjs/side-panel/common/dataset-info.js +2 -2
- package/dist/cjs/side-panel/filter-panel/filter-panel.js +2 -2
- package/dist/cjs/side-panel/layer-manager.js +11 -3
- package/dist/cjs/side-panel/layer-panel/custom-palette.js +2 -2
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
- package/dist/common/data-table/column-statistics-components.d.ts +31 -0
- package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
- package/dist/common/data-table/column-statistics-time.d.ts +19 -0
- package/dist/common/data-table/header-cell.d.ts +7 -5
- package/dist/common/data-table/index.d.ts +7 -24
- package/dist/common/histogram-plot.d.ts +24 -1
- package/dist/common/icons/{arrow-down-solid.d.ts → circle.d.ts} +2 -1
- package/dist/common/icons/draw-point.d.ts +10 -0
- package/dist/common/icons/index.d.ts +3 -0
- package/dist/common/icons/line-string.d.ts +10 -0
- package/dist/common/toolbar-item.d.ts +2 -0
- package/dist/editor/editor.d.ts +1 -0
- package/dist/editor/feature-action-panel.d.ts +1 -0
- package/dist/editor/feature-properties-editor.d.ts +8 -0
- package/dist/editor/filter-feature-badges.d.ts +12 -0
- package/dist/esm/common/data-table/cell-size.js +40 -23
- package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
- package/dist/esm/common/data-table/column-statistics-components.js +59 -0
- package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
- package/dist/esm/common/data-table/column-statistics-time.js +60 -0
- package/dist/esm/common/data-table/grid.js +2 -2
- package/dist/esm/common/data-table/header-cell.js +125 -46
- package/dist/esm/common/data-table/index.js +104 -31
- package/dist/esm/common/file-uploader/file-upload.js +251 -41
- package/dist/esm/common/histogram-plot.js +1 -1
- package/dist/esm/common/icons/circle.js +48 -0
- package/dist/esm/common/icons/draw-point.js +44 -0
- package/dist/esm/common/icons/index.js +4 -1
- package/dist/esm/common/icons/line-string.js +54 -0
- package/dist/esm/common/item-selector/item-selector.js +2 -2
- package/dist/esm/common/portaled.js +3 -3
- package/dist/esm/common/time-range-slider.js +2 -2
- package/dist/esm/common/timeline-slider.js +2 -2
- package/dist/esm/common/toolbar-item.js +24 -3
- package/dist/esm/editor/editor.js +27 -9
- package/dist/esm/editor/feature-action-panel.js +37 -15
- package/dist/esm/editor/feature-properties-editor.js +208 -0
- package/dist/esm/editor/filter-feature-badges.js +85 -0
- package/dist/esm/filters/filter-panels/polygon-filter-panel.js +2 -2
- package/dist/esm/filters/time-widget.js +2 -2
- package/dist/esm/index.js +5 -1
- package/dist/esm/kepler-gl.js +20 -3
- package/dist/esm/map/layer-hover-info.js +2 -2
- package/dist/esm/map/map-control-toolbar.js +2 -2
- package/dist/esm/map/map-control.js +14 -8
- package/dist/esm/map/map-draw-panel.js +72 -11
- package/dist/esm/map/theme-toggle-button.js +55 -0
- package/dist/esm/map-container.js +17 -6
- package/dist/esm/map-view-state-context.js +3 -3
- package/dist/esm/modal-container.js +3 -2
- package/dist/esm/modals/cloud-components/cloud-item.js +53 -7
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +76 -4
- package/dist/esm/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/esm/modals/cloud-components/cloud-storage-disclaimer.js +19 -0
- package/dist/esm/modals/cloud-tile.js +82 -39
- package/dist/esm/modals/data-table-modal.js +38 -26
- package/dist/esm/modals/export-video-modal.js +29 -2
- package/dist/esm/modals/export-video-modal.spec.js +56 -10
- package/dist/esm/modals/globe-export-video-container.js +20 -4
- package/dist/esm/modals/globe-export-video-preview.js +26 -8
- package/dist/esm/modals/hubble-utils.js +8 -3
- package/dist/esm/modals/image-modal-container.js +2 -2
- package/dist/esm/modals/load-data-modal.js +3 -3
- package/dist/esm/modals/load-storage-map.js +8 -3
- package/dist/esm/modals/save-map-modal.js +4 -3
- package/dist/esm/modals/share-map-modal.js +5 -4
- package/dist/esm/modals/swipe-composite-utils.js +9 -1
- package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
- package/dist/esm/modals/swipe-export-video-preview.js +8 -4
- package/dist/esm/plot-container.js +12 -5
- package/dist/esm/side-panel/common/dataset-info.js +2 -2
- package/dist/esm/side-panel/filter-panel/filter-panel.js +2 -2
- package/dist/esm/side-panel/layer-manager.js +11 -3
- package/dist/esm/side-panel/layer-panel/custom-palette.js +2 -2
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/index.d.ts +8 -0
- package/dist/kepler-gl.d.ts +3 -0
- package/dist/map/map-control.d.ts +6 -2
- package/dist/map/map-draw-panel.d.ts +1 -0
- package/dist/map/theme-toggle-button.d.ts +18 -0
- package/dist/map-container.d.ts +1 -0
- package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
- package/dist/modals/cloud-components/cloud-storage-disclaimer.d.ts +2 -0
- package/dist/modals/data-table-modal.d.ts +1 -0
- package/dist/modals/globe-export-video-container.d.ts +2 -0
- package/dist/modals/globe-export-video-preview.d.ts +3 -0
- package/dist/modals/hubble-utils.d.ts +2 -1
- package/dist/modals/swipe-composite-utils.d.ts +1 -1
- package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
- package/package.json +20 -21
- package/dist/cjs/modals/cloud-components/provider-loading.js +0 -20
- package/dist/cjs/modals/storage-map-viewer.js +0 -98
- package/dist/cjs/side-panel/cloud-storage-dropdown.js +0 -40
- package/dist/esm/common/icons/arrow-down-solid.js +0 -34
- package/dist/esm/modals/cloud-components/provider-loading.js +0 -15
- package/dist/esm/modals/storage-map-viewer.js +0 -93
- package/dist/esm/side-panel/cloud-storage-dropdown.js +0 -33
- package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
- package/dist/modals/storage-map-viewer.d.ts +0 -21
- package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
|
@@ -12,7 +12,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
-
var _debounce = _interopRequireDefault(require("
|
|
15
|
+
var _debounce = _interopRequireDefault(require("es-toolkit/compat/debounce"));
|
|
16
16
|
var _utils = require("@kepler.gl/utils");
|
|
17
17
|
var _reducers = require("@kepler.gl/reducers");
|
|
18
18
|
var _mapContainer = _interopRequireDefault(require("./map-container"));
|
|
@@ -25,9 +25,16 @@ var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
|
|
|
25
25
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
26
26
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
27
27
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28
|
-
var CLASS_FILTER = ['maplibregl-control-container', 'mapboxgl-control-container', 'attrition-link', 'attrition-logo', 'map-control__panel-split-viewport-tools'];
|
|
28
|
+
var CLASS_FILTER = ['maplibregl-control-container', 'mapboxgl-control-container', 'attrition-link', 'attrition-logo', 'map-control__panel-split-viewport-tools', 'map-navigation-control'];
|
|
29
29
|
var DOM_FILTER_FUNC = function DOM_FILTER_FUNC(node) {
|
|
30
|
-
|
|
30
|
+
var className = typeof node.className === 'string' ? node.className : '';
|
|
31
|
+
if (!className) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
var classes = className.split(/\s+/);
|
|
35
|
+
return !CLASS_FILTER.some(function (cls) {
|
|
36
|
+
return classes.includes(cls);
|
|
37
|
+
});
|
|
31
38
|
};
|
|
32
39
|
var OUT_OF_SCREEN_POSITION = -9999;
|
|
33
40
|
|
|
@@ -57,7 +64,7 @@ PlotContainerFactory.deps = [_mapContainer["default"], _mapsLayout["default"]];
|
|
|
57
64
|
// Remove mapbox logo in exported map, because it contains non-ascii characters
|
|
58
65
|
// Remove split viewport UI controls from exported images when the legend is shown
|
|
59
66
|
|
|
60
|
-
var StyledPlotContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .maplibregl-ctrl-bottom-left,\n .maplibregl-ctrl-bottom-right,\n .maplibre-attribution-container,\n .mapboxgl-ctrl-bottom-left,\n .mapboxgl-ctrl-bottom-right,\n .mapbox-attribution-container,\n .map-control__panel-split-viewport-tools {\n display: none;\n }\n\n position: absolute;\n top: ", "px;\n left: ", "px;\n\n /* Apply zoom to legend panel based on export height */\n .map-control-panel {\n zoom: ", " !important;\n }\n"])), OUT_OF_SCREEN_POSITION, OUT_OF_SCREEN_POSITION, function (props) {
|
|
67
|
+
var StyledPlotContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .maplibregl-ctrl-bottom-left,\n .maplibregl-ctrl-bottom-right,\n .maplibre-attribution-container,\n .mapboxgl-ctrl-bottom-left,\n .mapboxgl-ctrl-bottom-right,\n .mapbox-attribution-container,\n .map-control__panel-split-viewport-tools,\n .map-navigation-control {\n display: none;\n }\n\n position: absolute;\n top: ", "px;\n left: ", "px;\n\n /* Apply zoom to legend panel based on export height */\n .map-control-panel {\n zoom: ", " !important;\n }\n"])), OUT_OF_SCREEN_POSITION, OUT_OF_SCREEN_POSITION, function (props) {
|
|
61
68
|
return props.$legendZoom || 1;
|
|
62
69
|
});
|
|
63
70
|
var StyledMapContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", "px;\n height: ", "px;\n display: flex;\n"])), function (props) {
|
|
@@ -308,4 +315,4 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
308
315
|
}
|
|
309
316
|
return /*#__PURE__*/_react["default"].memo(PlotContainer);
|
|
310
317
|
}
|
|
311
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZGVib3VuY2UiLCJfdXRpbHMiLCJfcmVkdWNlcnMiLCJfbWFwQ29udGFpbmVyIiwiX21hcHNMYXlvdXQiLCJfbWFwVmlld1N0YXRlQ29udGV4dCIsIl9jb25zdGFudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIkNMQVNTX0ZJTFRFUiIsIkRPTV9GSUxURVJfRlVOQyIsIm5vZGUiLCJpbmNsdWRlcyIsImNsYXNzTmFtZSIsIk9VVF9PRl9TQ1JFRU5fUE9TSVRJT04iLCJjYWxjdWxhdGVMZWdlbmRab29tIiwiaGVpZ2h0IiwiYmFzZUhlaWdodCIsIm1pblpvb20iLCJtYXhab29tIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJ6b29tRmFjdG9yIiwiTWF0aCIsIm1heCIsIm1pbiIsIlBsb3RDb250YWluZXJGYWN0b3J5IiwiZGVwcyIsIk1hcENvbnRhaW5lckZhY3RvcnkiLCJNYXBzTGF5b3V0RmFjdG9yeSIsIlN0eWxlZFBsb3RDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwiJGxlZ2VuZFpvb20iLCJTdHlsZWRNYXBDb250YWluZXIiLCJ3aWR0aCIsIk1hcENvbnRhaW5lciIsIk1hcHNMYXlvdXQiLCJQbG90Q29udGFpbmVyIiwiX3JlZiIsInJhdGlvIiwicmVzb2x1dGlvbiIsIl9yZWYkbGVnZW5kIiwibGVnZW5kIiwiY2VudGVyIiwiaW1hZ2VTaXplIiwiZXNjYXBlWGh0bWxGb3JXZWJwYWNrIiwibWFwRmllbGRzIiwiX3JlZiRzcGxpdE1hcHMiLCJzcGxpdE1hcHMiLCJzZXRFeHBvcnRJbWFnZVNldHRpbmciLCJzZXRFeHBvcnRJbWFnZURhdGFVcmkiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiYWRkTm90aWZpY2F0aW9uIiwiZW5hYmxlRXJyb3JOb3RpZmljYXRpb24iLCJsb2dvQ29tcG9uZW50IiwicGxvdHRpbmdBcmVhUmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJ2aXNTdGF0ZSIsImVmZmVjdHMiLCJtYXAiLCJlZmZlY3QiLCJjbG9uZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwbG90RWZmZWN0cyIsIm1hcFN0YXRlIiwiZGVja0xheWVyc0xvYWRpbmdSZWYiLCJtYXBTdHlsZUxvYWRlZFJlZiIsInNjcmVlbnNob3RUYWtlblJlZiIsInNjYWxlIiwidXNlTWVtbyIsImNhbGN1bGF0ZWRTY2FsZSIsImdldFNjYWxlRnJvbUltYWdlU2l6ZSIsImltYWdlVyIsImltYWdlSCIsImlzU3BsaXQiLCJsZWdlbmRab29tIiwic2NhbGVkTWFwU3R5bGUiLCJtYXBTdHlsZSIsImJvdHRvbU1hcFN0eWxlIiwic2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbiIsInRvcE1hcFN0eWxlIiwiZGVib3VuY2VkU2NyZWVuc2hvdCIsImRlYm91bmNlIiwiY3VycmVudCIsImNvbnZlcnRUb1BuZyIsInRoZW4iLCJlcnIiLCJleHBvcnRJbWFnZUVycm9yIiwicmV0cmlldmVOZXdTY3JlZW5zaG90IiwidXNlQ2FsbGJhY2siLCJ0cnlTY3JlZW5zaG90IiwidXNlRWZmZWN0IiwidGltZXIiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiZGVib3VuY2VkTWFwUmVuZGVyIiwiaXNTdHlsZUxvYWRlZCIsIm9uTWFwUmVuZGVyIiwiZGVja1JlbmRlckNhbGxiYWNrcyIsIm9uRGVja0FmdGVyUmVuZGVyIiwiZGVja1Byb3BzIiwibGF5ZXJzIiwic3RpbGxMb2FkaW5nIiwiYXJlQW55RGVja0xheWVyc0xvYWRpbmciLCJwcm9jZXNzaW5nIiwidW5kZWZpbmVkIiwiX3VzZU1lbW8iLCJzaXplIiwibmV3TWFwU3RhdGUiLCJ6b29tT2Zmc2V0IiwibG9nMiIsImJhc2VNYXBTdGF0ZSIsInpvb20iLCJyZW5kZXJlZExheWVycyIsImxheWVyIiwiaWR4IiwiaWQiLCJHRU9DT0RFUl9MQVlFUl9JRCIsInNob3VsZFJlbmRlckxheWVyIiwibGF5ZXJEYXRhIiwiYm91bmRzIiwiZmluZE1hcEJvdW5kcyIsImNlbnRlckFuZFpvb20iLCJnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwibWFwUHJvcHMiLCJfbWFwRmllbGRzJG1hcENvbnRyb2wiLCJtYXBDb250cm9scyIsIm1hcExlZ2VuZCIsInNob3ciLCJCb29sZWFuIiwiYWN0aXZlIiwic2V0dGluZ3MiLCJpc0V4cG9ydCIsImRlY2tHbFByb3BzIiwiX2lzRXhwb3J0IiwidXNlRGV2aWNlUGl4ZWxzIiwiZGV2aWNlUHJvcHMiLCJ3ZWJnbCIsInByZXNlcnZlRHJhd2luZ0J1ZmZlciIsIm1hcENvbnRhaW5lcnMiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiaW5kZXgiLCJwcmltYXJ5Iiwia2V5IiwicmVmIiwiTWFwVmlld1N0YXRlQ29udGV4dFByb3ZpZGVyIiwiUmVhY3QiLCJtZW1vIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Bsb3QtY29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBsaWJyYXJpZXNcbmltcG9ydCBSZWFjdCwge3VzZVJlZiwgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC9kZWJvdW5jZSc7XG5pbXBvcnQge1xuICBleHBvcnRJbWFnZUVycm9yLFxuICBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uLFxuICBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyxcbiAgY29udmVydFRvUG5nLFxuICBnZXRTY2FsZUZyb21JbWFnZVNpemVcbn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2ZpbmRNYXBCb3VuZHMsIGFyZUFueURlY2tMYXllcnNMb2FkaW5nfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCBNYXBDb250YWluZXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRhaW5lcic7XG5pbXBvcnQgTWFwc0xheW91dEZhY3RvcnkgZnJvbSAnLi9tYXBzLWxheW91dCc7XG5pbXBvcnQge01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcn0gZnJvbSAnLi9tYXAtdmlldy1zdGF0ZS1jb250ZXh0JztcblxuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtFZmZlY3QsIFNwbGl0TWFwLCBFeHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBBY3Rpb25IYW5kbGVyLFxuICBhZGROb3RpZmljYXRpb24sXG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge21hcEZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5cbmNvbnN0IENMQVNTX0ZJTFRFUiA9IFtcbiAgJ21hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXInLFxuICAnbWFwYm94Z2wtY29udHJvbC1jb250YWluZXInLFxuICAnYXR0cml0aW9uLWxpbmsnLFxuICAnYXR0cml0aW9uLWxvZ28nLFxuICAnbWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzJ1xuXTtcbmNvbnN0IERPTV9GSUxURVJfRlVOQyA9IG5vZGUgPT4gIUNMQVNTX0ZJTFRFUi5pbmNsdWRlcyhub2RlLmNsYXNzTmFtZSk7XG5jb25zdCBPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OID0gLTk5OTk7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBsZWdlbmQgem9vbSBiYXNlZCBvbiBleHBvcnQgaGVpZ2h0XG4gKiBNYXBzIGV4cG9ydCBoZWlnaHQgdG8gYSB6b29tIGZhY3RvciBiZXR3ZWVuIDAuNSBhbmQgM1xuICogQHBhcmFtIGhlaWdodCAtIGV4cG9ydCBoZWlnaHQgaW4gcGl4ZWxzXG4gKiBAcmV0dXJucyB6b29tIGZhY3RvciBmb3IgbGVnZW5kIHBhbmVsXG4gKi9cbmZ1bmN0aW9uIGNhbGN1bGF0ZUxlZ2VuZFpvb20oaGVpZ2h0OiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCBiYXNlSGVpZ2h0ID0gMTA4MDsgLy8gMXggem9vbSByZWZlcmVuY2UgaGVpZ2h0XG4gIGNvbnN0IG1pblpvb20gPSAwLjU7XG4gIGNvbnN0IG1heFpvb20gPSAzO1xuXG4gIC8vIEZvciBpbml0aWFsL2ludmFsaWQgaGVpZ2h0cywgYXZvaWQgc2hyaW5raW5nIHRoZSBsZWdlbmQ7IHVzZSBubyBzY2FsaW5nLlxuICBpZiAoIU51bWJlci5pc0Zpbml0ZShoZWlnaHQpIHx8IGhlaWdodCA8PSAwKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBMaW5lYXIgbWFwcGluZzogaGVpZ2h0IC8gYmFzZUhlaWdodCBnaXZlcyB1cyB0aGUgc2NhbGVcbiAgY29uc3Qgem9vbUZhY3RvciA9IGhlaWdodCAvIGJhc2VIZWlnaHQ7XG4gIC8vIENsYW1wIGJldHdlZW4gbWluIGFuZCBtYXhcbiAgcmV0dXJuIE1hdGgubWF4KG1pblpvb20sIE1hdGgubWluKG1heFpvb20sIHpvb21GYWN0b3IpKTtcbn1cblxuUGxvdENvbnRhaW5lckZhY3RvcnkuZGVwcyA9IFtNYXBDb250YWluZXJGYWN0b3J5LCBNYXBzTGF5b3V0RmFjdG9yeV07XG5cbi8vIFJlbW92ZSBtYXBib3ggbG9nbyBpbiBleHBvcnRlZCBtYXAsIGJlY2F1c2UgaXQgY29udGFpbnMgbm9uLWFzY2lpIGNoYXJhY3RlcnNcbi8vIFJlbW92ZSBzcGxpdCB2aWV3cG9ydCBVSSBjb250cm9scyBmcm9tIGV4cG9ydGVkIGltYWdlcyB3aGVuIHRoZSBsZWdlbmQgaXMgc2hvd25cbmludGVyZmFjZSBTdHlsZWRQbG90Q29udGFpbmVyUHJvcHMge1xuICAkbGVnZW5kWm9vbT86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkUGxvdENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkUGxvdENvbnRhaW5lclByb3BzPmBcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCxcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBsaWJyZS1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBib3gtYXR0cmlidXRpb24tY29udGFpbmVyLFxuICAubWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR7T1VUX09GX1NDUkVFTl9QT1NJVElPTn1weDtcbiAgbGVmdDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuXG4gIC8qIEFwcGx5IHpvb20gdG8gbGVnZW5kIHBhbmVsIGJhc2VkIG9uIGV4cG9ydCBoZWlnaHQgKi9cbiAgLm1hcC1jb250cm9sLXBhbmVsIHtcbiAgICB6b29tOiAke3Byb3BzID0+IHByb3BzLiRsZWdlbmRab29tIHx8IDF9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XG5cbmludGVyZmFjZSBTdHlsZWRNYXBDb250YWluZXJQcm9wcyB7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IFN0eWxlZE1hcENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkTWFwQ29udGFpbmVyUHJvcHM+YFxuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aH1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLmhlaWdodH1weDtcbiAgZGlzcGxheTogZmxleDtcbmA7XG5cbmludGVyZmFjZSBQbG90Q29udGFpbmVyUHJvcHMge1xuICAvLyBJbWFnZSBleHBvcnQgc2V0dGluZ3NcbiAgcmF0aW8/OiBzdHJpbmc7XG4gIHJlc29sdXRpb24/OiBzdHJpbmc7XG4gIGxlZ2VuZD86IGJvb2xlYW47XG4gIGNlbnRlcj86IGJvb2xlYW47XG4gIGltYWdlU2l6ZTogRXhwb3J0SW1hZ2VbJ2ltYWdlU2l6ZSddO1xuICBlc2NhcGVYaHRtbEZvcldlYnBhY2s/OiBib29sZWFuO1xuXG4gIC8vIE1hcCBzZXR0aW5nc1xuICBtYXBGaWVsZHM6IFJldHVyblR5cGU8dHlwZW9mIG1hcEZpZWxkc1NlbGVjdG9yPjtcbiAgc3BsaXRNYXBzPzogU3BsaXRNYXBbXTtcblxuICAvLyBDYWxsYmFja3NcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VTZXR0aW5nO1xuICBzZXRFeHBvcnRJbWFnZURhdGFVcmk6IHR5cGVvZiBzZXRFeHBvcnRJbWFnZURhdGFVcmk7XG4gIHNldEV4cG9ydEltYWdlRXJyb3I6IHR5cGVvZiBzZXRFeHBvcnRJbWFnZUVycm9yO1xuICBhZGROb3RpZmljYXRpb246IEFjdGlvbkhhbmRsZXI8dHlwZW9mIGFkZE5vdGlmaWNhdGlvbj47XG5cbiAgLy8gRmxhZ3NcbiAgZW5hYmxlRXJyb3JOb3RpZmljYXRpb24/OiBib29sZWFuO1xuXG4gIC8vIE9wdGlvbmFsOiBvdmVycmlkZSBsZWdlbmQgaGVhZGVyIGxvZ28gZHVyaW5nIGV4cG9ydFxuICBsb2dvQ29tcG9uZW50PzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQbG90Q29udGFpbmVyRmFjdG9yeShcbiAgTWFwQ29udGFpbmVyOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250YWluZXJGYWN0b3J5PixcbiAgTWFwc0xheW91dDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwc0xheW91dEZhY3Rvcnk+XG4pOiBSZWFjdC5Db21wb25lbnRUeXBlPFBsb3RDb250YWluZXJQcm9wcz4ge1xuICBmdW5jdGlvbiBQbG90Q29udGFpbmVyKHtcbiAgICAvLyBJbWFnZSBleHBvcnQgc2V0dGluZ3NcbiAgICByYXRpbyxcbiAgICByZXNvbHV0aW9uLFxuICAgIGxlZ2VuZCA9IGZhbHNlLFxuICAgIGNlbnRlcixcbiAgICBpbWFnZVNpemUsXG4gICAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrLFxuXG4gICAgLy8gTWFwIHNldHRpbmdzXG4gICAgbWFwRmllbGRzLFxuICAgIHNwbGl0TWFwcyA9IFtdLFxuXG4gICAgLy8gQ2FsbGJhY2tzXG4gICAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nLFxuICAgIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgICBzZXRFeHBvcnRJbWFnZUVycm9yLFxuICAgIGFkZE5vdGlmaWNhdGlvbixcblxuICAgIC8vIEZsYWdzXG4gICAgZW5hYmxlRXJyb3JOb3RpZmljYXRpb24sXG4gICAgbG9nb0NvbXBvbmVudFxuICB9OiBQbG90Q29udGFpbmVyUHJvcHMpIHtcbiAgICBjb25zdCBwbG90dGluZ0FyZWFSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IFtwbG90RWZmZWN0c10gPSB1c2VTdGF0ZTxFZmZlY3RbXT4oKCkgPT5cbiAgICAgIG1hcEZpZWxkcy52aXNTdGF0ZS5lZmZlY3RzLm1hcChlZmZlY3QgPT4gZWZmZWN0LmNsb25lKCkpXG4gICAgKTtcblxuICAgIGNvbnN0IHttYXBTdGF0ZX0gPSBtYXBGaWVsZHM7XG5cbiAgICBjb25zdCBkZWNrTGF5ZXJzTG9hZGluZ1JlZiA9IHVzZVJlZih0cnVlKTtcbiAgICBjb25zdCBtYXBTdHlsZUxvYWRlZFJlZiA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3Qgc2NyZWVuc2hvdFRha2VuUmVmID0gdXNlUmVmKGZhbHNlKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIHNjYWxlIGNhbGN1bGF0aW9uXG4gICAgY29uc3Qgc2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChpbWFnZVNpemUuc2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGltYWdlU2l6ZS5zY2FsZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2FsY3VsYXRlZFNjYWxlID0gZ2V0U2NhbGVGcm9tSW1hZ2VTaXplKFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICBtYXBTdGF0ZS53aWR0aCAqIChtYXBTdGF0ZS5pc1NwbGl0ID8gMiA6IDEpLFxuICAgICAgICBtYXBTdGF0ZS5oZWlnaHRcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjYWxjdWxhdGVkU2NhbGUgPiAwID8gY2FsY3VsYXRlZFNjYWxlIDogMTtcbiAgICB9LCBbXG4gICAgICBpbWFnZVNpemUuc2NhbGUsXG4gICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgIG1hcFN0YXRlLndpZHRoLFxuICAgICAgbWFwU3RhdGUuaGVpZ2h0LFxuICAgICAgbWFwU3RhdGUuaXNTcGxpdFxuICAgIF0pO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgbGVnZW5kIHpvb20gY2FsY3VsYXRpb24gYmFzZWQgb24gZXhwb3J0IGhlaWdodFxuICAgIGNvbnN0IGxlZ2VuZFpvb20gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBjYWxjdWxhdGVMZWdlbmRab29tKGltYWdlU2l6ZS5pbWFnZUgpO1xuICAgIH0sIFtpbWFnZVNpemUuaW1hZ2VIXSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSBtYXAgc3R5bGVcbiAgICBjb25zdCBzY2FsZWRNYXBTdHlsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgbWFwU3R5bGUgPSBtYXBGaWVsZHMubWFwU3R5bGU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5tYXBTdHlsZSxcbiAgICAgICAgYm90dG9tTWFwU3R5bGU6IHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24obWFwU3R5bGUuYm90dG9tTWFwU3R5bGUsIHNjYWxlKSxcbiAgICAgICAgdG9wTWFwU3R5bGU6IHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24obWFwU3R5bGUudG9wTWFwU3R5bGUsIHNjYWxlKVxuICAgICAgfTtcbiAgICB9LCBbbWFwRmllbGRzLm1hcFN0eWxlLCBzY2FsZV0pO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgcmV0cmlldmVOZXdTY3JlZW5zaG90IGNhbGxiYWNrXG4gICAgY29uc3QgZGVib3VuY2VkU2NyZWVuc2hvdCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBkZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHBsb3R0aW5nQXJlYVJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb252ZXJ0VG9QbmcocGxvdHRpbmdBcmVhUmVmLmN1cnJlbnQsIHtcbiAgICAgICAgICAgICAgZmlsdGVyOiBET01fRklMVEVSX0ZVTkMsXG4gICAgICAgICAgICAgIHdpZHRoOiBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgICAgICAgICBoZWlnaHQ6IGltYWdlU2l6ZS5pbWFnZUgsXG4gICAgICAgICAgICAgIGVzY2FwZVhodG1sRm9yV2VicGFja1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLnRoZW4oc2V0RXhwb3J0SW1hZ2VEYXRhVXJpKVxuICAgICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICBzZXRFeHBvcnRJbWFnZUVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgaWYgKGVuYWJsZUVycm9yTm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgICBhZGROb3RpZmljYXRpb24oZXhwb3J0SW1hZ2VFcnJvcih7ZXJyfSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCA1MDApLFxuICAgICAgW1xuICAgICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2ssXG4gICAgICAgIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgICAgICAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgICAgICAgZW5hYmxlRXJyb3JOb3RpZmljYXRpb24sXG4gICAgICAgIGFkZE5vdGlmaWNhdGlvblxuICAgICAgXVxuICAgICk7XG5cbiAgICBjb25zdCByZXRyaWV2ZU5ld1NjcmVlbnNob3QgPSB1c2VDYWxsYmFjayhkZWJvdW5jZWRTY3JlZW5zaG90LCBbZGVib3VuY2VkU2NyZWVuc2hvdF0pO1xuXG4gICAgY29uc3QgdHJ5U2NyZWVuc2hvdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmIChtYXBTdHlsZUxvYWRlZFJlZi5jdXJyZW50ICYmICFkZWNrTGF5ZXJzTG9hZGluZ1JlZi5jdXJyZW50KSB7XG4gICAgICAgIHNjcmVlbnNob3RUYWtlblJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgcmV0cmlldmVOZXdTY3JlZW5zaG90KCk7XG4gICAgICB9XG4gICAgfSwgW3JldHJpZXZlTmV3U2NyZWVuc2hvdF0pO1xuXG4gICAgLy8gRmFsbGJhY2s6IGlmIGxheWVycyBuZXZlciBmaW5pc2ggbG9hZGluZywgY2FwdHVyZSBhZnRlciB0aW1lb3V0XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICghc2NyZWVuc2hvdFRha2VuUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBkZWNrTGF5ZXJzTG9hZGluZ1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgdHJ5U2NyZWVuc2hvdCgpO1xuICAgICAgICB9XG4gICAgICB9LCAzMDAwMCk7XG4gICAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICB9LCBbdHJ5U2NyZWVuc2hvdF0pO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgb25NYXBSZW5kZXIgY2FsbGJhY2tcbiAgICBjb25zdCBkZWJvdW5jZWRNYXBSZW5kZXIgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgZGVib3VuY2UobWFwID0+IHtcbiAgICAgICAgICBpZiAobWFwLmlzU3R5bGVMb2FkZWQoKSkge1xuICAgICAgICAgICAgbWFwU3R5bGVMb2FkZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICB0cnlTY3JlZW5zaG90KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCA1MDApLFxuICAgICAgW3RyeVNjcmVlbnNob3RdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uTWFwUmVuZGVyID0gdXNlQ2FsbGJhY2soZGVib3VuY2VkTWFwUmVuZGVyLCBbZGVib3VuY2VkTWFwUmVuZGVyXSk7XG5cbiAgICBjb25zdCBkZWNrUmVuZGVyQ2FsbGJhY2tzID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIG9uRGVja0FmdGVyUmVuZGVyOiAoZGVja1Byb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4ge1xuICAgICAgICAgIGNvbnN0IGxheWVycyA9IGRlY2tQcm9wcy5sYXllcnMgYXMgYW55W107XG4gICAgICAgICAgaWYgKCFsYXllcnMpIHJldHVybjtcbiAgICAgICAgICBjb25zdCBzdGlsbExvYWRpbmcgPSBhcmVBbnlEZWNrTGF5ZXJzTG9hZGluZyhsYXllcnMpO1xuICAgICAgICAgIGlmIChkZWNrTGF5ZXJzTG9hZGluZ1JlZi5jdXJyZW50ICYmICFzdGlsbExvYWRpbmcpIHtcbiAgICAgICAgICAgIGRlY2tMYXllcnNMb2FkaW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRyeVNjcmVlbnNob3QoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVja0xheWVyc0xvYWRpbmdSZWYuY3VycmVudCA9IHN0aWxsTG9hZGluZztcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBbdHJ5U2NyZWVuc2hvdF1cbiAgICApO1xuXG4gICAgLy8gSW5pdGlhbCBzZXR1cCBlZmZlY3RcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nKHtwcm9jZXNzaW5nOiB0cnVlfSk7XG4gICAgfSwgW3NldEV4cG9ydEltYWdlU2V0dGluZ10pO1xuXG4gICAgLy8gU2NyZWVuc2hvdCB1cGRhdGUgZWZmZWN0XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChyYXRpbyAhPT0gdW5kZWZpbmVkIHx8IHJlc29sdXRpb24gIT09IHVuZGVmaW5lZCB8fCBsZWdlbmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICAgICAgdHJ5U2NyZWVuc2hvdCgpO1xuICAgICAgfVxuICAgIH0sIFtyYXRpbywgcmVzb2x1dGlvbiwgbGVnZW5kLCBzZXRFeHBvcnRJbWFnZVNldHRpbmcsIHRyeVNjcmVlbnNob3RdKTtcblxuICAgIC8vIE1lbW9pemUgc2l6ZSBjYWxjdWxhdGlvbnNcbiAgICBjb25zdCB7c2l6ZSwgd2lkdGgsIGhlaWdodH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHNpemUgPSB7XG4gICAgICAgIHdpZHRoOiBpbWFnZVNpemUuaW1hZ2VXIHx8IDEsXG4gICAgICAgIGhlaWdodDogaW1hZ2VTaXplLmltYWdlSCB8fCAxXG4gICAgICB9O1xuICAgICAgY29uc3QgaXNTcGxpdCA9IHNwbGl0TWFwcy5sZW5ndGggPiAxO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgd2lkdGg6IHNpemUud2lkdGggLyAoaXNTcGxpdCA/IDIgOiAxKSxcbiAgICAgICAgaGVpZ2h0OiBzaXplLmhlaWdodFxuICAgICAgfTtcbiAgICB9LCBbaW1hZ2VTaXplLmltYWdlVywgaW1hZ2VTaXplLmltYWdlSCwgc3BsaXRNYXBzLmxlbmd0aF0pO1xuXG4gICAgLy8gTWVtb2l6ZSBtYXAgc3RhdGVcbiAgICBjb25zdCBuZXdNYXBTdGF0ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3Qgem9vbU9mZnNldCA9IE1hdGgubG9nMihzY2FsZSkgfHwgMDtcbiAgICAgIGNvbnN0IGJhc2VNYXBTdGF0ZSA9IHtcbiAgICAgICAgLi4ubWFwU3RhdGUsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHpvb206IG1hcFN0YXRlLnpvb20gKyB6b29tT2Zmc2V0LFxuICAgICAgICB6b29tT2Zmc2V0XG4gICAgICB9O1xuXG4gICAgICBpZiAoY2VudGVyKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVkTGF5ZXJzID0gbWFwRmllbGRzLnZpc1N0YXRlLmxheWVycy5maWx0ZXIoXG4gICAgICAgICAgKGxheWVyLCBpZHgpID0+XG4gICAgICAgICAgICBsYXllci5pZCAhPT0gR0VPQ09ERVJfTEFZRVJfSUQgJiZcbiAgICAgICAgICAgIGxheWVyLnNob3VsZFJlbmRlckxheWVyKG1hcEZpZWxkcy52aXNTdGF0ZS5sYXllckRhdGFbaWR4XSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYm91bmRzID0gZmluZE1hcEJvdW5kcyhyZW5kZXJlZExheWVycyk7XG4gICAgICAgIGNvbnN0IGNlbnRlckFuZFpvb20gPSBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyhib3VuZHMsIHt3aWR0aCwgaGVpZ2h0fSk7XG4gICAgICAgIGlmIChjZW50ZXJBbmRab29tKSB7XG4gICAgICAgICAgY29uc3Qgem9vbSA9IE51bWJlci5pc0Zpbml0ZShjZW50ZXJBbmRab29tLnpvb20pID8gY2VudGVyQW5kWm9vbS56b29tIDogbWFwU3RhdGUuem9vbTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZU1hcFN0YXRlLFxuICAgICAgICAgICAgbG9uZ2l0dWRlOiBjZW50ZXJBbmRab29tLmNlbnRlclswXSxcbiAgICAgICAgICAgIGxhdGl0dWRlOiBjZW50ZXJBbmRab29tLmNlbnRlclsxXSxcbiAgICAgICAgICAgIHpvb206IHpvb20gKyBOdW1iZXIoTWF0aC5sb2cyKHNjYWxlKSB8fCAwKVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VNYXBTdGF0ZTtcbiAgICB9LCBbbWFwU3RhdGUsIHdpZHRoLCBoZWlnaHQsIHNjYWxlLCBjZW50ZXIsIG1hcEZpZWxkcy52aXNTdGF0ZV0pO1xuXG4gICAgLy8gTWVtb2l6ZSBtYXAgcHJvcHNcbiAgICBjb25zdCBtYXBQcm9wcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICAuLi5tYXBGaWVsZHMsXG4gICAgICAgIG1hcFN0eWxlOiBzY2FsZWRNYXBTdHlsZSxcbiAgICAgICAgbWFwU3RhdGU6IG5ld01hcFN0YXRlLFxuICAgICAgICBtYXBDb250cm9sczoge1xuICAgICAgICAgIG1hcExlZ2VuZDoge1xuICAgICAgICAgICAgc2hvdzogQm9vbGVhbihsZWdlbmQpLFxuICAgICAgICAgICAgYWN0aXZlOiB0cnVlLFxuICAgICAgICAgICAgc2V0dGluZ3M6IG1hcEZpZWxkcy5tYXBDb250cm9scz8ubWFwTGVnZW5kPy5zZXR0aW5nc1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25NYXBSZW5kZXIsXG4gICAgICAgIGlzRXhwb3J0OiB0cnVlLFxuICAgICAgICBkZWNrR2xQcm9wczoge1xuICAgICAgICAgIC4uLm1hcEZpZWxkcy5kZWNrR2xQcm9wcyxcbiAgICAgICAgICBfaXNFeHBvcnQ6IHRydWUsXG4gICAgICAgICAgdXNlRGV2aWNlUGl4ZWxzOiBmYWxzZSxcbiAgICAgICAgICBkZXZpY2VQcm9wczoge1xuICAgICAgICAgICAgd2ViZ2w6IHtcbiAgICAgICAgICAgICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBkZWNrUmVuZGVyQ2FsbGJhY2tzLFxuICAgICAgICB2aXNTdGF0ZToge1xuICAgICAgICAgIC4uLm1hcEZpZWxkcy52aXNTdGF0ZSxcbiAgICAgICAgICBlZmZlY3RzOiBwbG90RWZmZWN0c1xuICAgICAgICB9LFxuICAgICAgICAvLyBhbGxvdyBvdmVycmlkaW5nIHRoZSBsZWdlbmQgcGFuZWwgbG9nbyBpbiBleHBvcnRcbiAgICAgICAgbG9nb0NvbXBvbmVudFxuICAgICAgfSksXG4gICAgICBbXG4gICAgICAgIG1hcEZpZWxkcyxcbiAgICAgICAgc2NhbGVkTWFwU3R5bGUsXG4gICAgICAgIG5ld01hcFN0YXRlLFxuICAgICAgICBsZWdlbmQsXG4gICAgICAgIG9uTWFwUmVuZGVyLFxuICAgICAgICBkZWNrUmVuZGVyQ2FsbGJhY2tzLFxuICAgICAgICBwbG90RWZmZWN0cyxcbiAgICAgICAgbG9nb0NvbXBvbmVudFxuICAgICAgXVxuICAgICk7XG5cbiAgICBjb25zdCBpc1NwbGl0ID0gc3BsaXRNYXBzLmxlbmd0aCA+IDE7XG4gICAgY29uc3QgbWFwQ29udGFpbmVycyA9ICFpc1NwbGl0ID8gKFxuICAgICAgPE1hcENvbnRhaW5lciBpbmRleD17MH0gcHJpbWFyeT17dHJ1ZX0gey4uLm1hcFByb3BzfSAvPlxuICAgICkgOiAoXG4gICAgICA8TWFwc0xheW91dCBjbGFzc05hbWU9XCJwbG90LWNvbnRhaW5lci1tYXBzXCIgbWFwU3RhdGU9e25ld01hcFN0YXRlfT5cbiAgICAgICAge3NwbGl0TWFwcy5tYXAoKHNldHRpbmdzLCBpbmRleCkgPT4gKFxuICAgICAgICAgIDxNYXBDb250YWluZXIga2V5PXtpbmRleH0gaW5kZXg9e2luZGV4fSBwcmltYXJ5PXtpbmRleCA9PT0gMX0gey4uLm1hcFByb3BzfSAvPlxuICAgICAgICApKX1cbiAgICAgIDwvTWFwc0xheW91dD5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRQbG90Q29udGFpbmVyIGNsYXNzTmFtZT1cImV4cG9ydC1tYXAtaW5zdGFuY2VcIiAkbGVnZW5kWm9vbT17bGVnZW5kWm9vbX0+XG4gICAgICAgIDxTdHlsZWRNYXBDb250YWluZXIgcmVmPXtwbG90dGluZ0FyZWFSZWZ9IHdpZHRoPXtzaXplLndpZHRofSBoZWlnaHQ9e3NpemUuaGVpZ2h0fT5cbiAgICAgICAgICA8TWFwVmlld1N0YXRlQ29udGV4dFByb3ZpZGVyIG1hcFN0YXRlPXtuZXdNYXBTdGF0ZX0+XG4gICAgICAgICAgICB7bWFwQ29udGFpbmVyc31cbiAgICAgICAgICA8L01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgPC9TdHlsZWRNYXBDb250YWluZXI+XG4gICAgICA8L1N0eWxlZFBsb3RDb250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdC5tZW1vKFBsb3RDb250YWluZXIpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFJQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENB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
|
|
318
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZGVib3VuY2UiLCJfdXRpbHMiLCJfcmVkdWNlcnMiLCJfbWFwQ29udGFpbmVyIiwiX21hcHNMYXlvdXQiLCJfbWFwVmlld1N0YXRlQ29udGV4dCIsIl9jb25zdGFudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIkNMQVNTX0ZJTFRFUiIsIkRPTV9GSUxURVJfRlVOQyIsIm5vZGUiLCJjbGFzc05hbWUiLCJjbGFzc2VzIiwic3BsaXQiLCJzb21lIiwiY2xzIiwiaW5jbHVkZXMiLCJPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OIiwiY2FsY3VsYXRlTGVnZW5kWm9vbSIsImhlaWdodCIsImJhc2VIZWlnaHQiLCJtaW5ab29tIiwibWF4Wm9vbSIsIk51bWJlciIsImlzRmluaXRlIiwiem9vbUZhY3RvciIsIk1hdGgiLCJtYXgiLCJtaW4iLCJQbG90Q29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJNYXBDb250YWluZXJGYWN0b3J5IiwiTWFwc0xheW91dEZhY3RvcnkiLCJTdHlsZWRQbG90Q29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsIiRsZWdlbmRab29tIiwiU3R5bGVkTWFwQ29udGFpbmVyIiwid2lkdGgiLCJNYXBDb250YWluZXIiLCJNYXBzTGF5b3V0IiwiUGxvdENvbnRhaW5lciIsIl9yZWYiLCJyYXRpbyIsInJlc29sdXRpb24iLCJfcmVmJGxlZ2VuZCIsImxlZ2VuZCIsImNlbnRlciIsImltYWdlU2l6ZSIsImVzY2FwZVhodG1sRm9yV2VicGFjayIsIm1hcEZpZWxkcyIsIl9yZWYkc3BsaXRNYXBzIiwic3BsaXRNYXBzIiwic2V0RXhwb3J0SW1hZ2VTZXR0aW5nIiwic2V0RXhwb3J0SW1hZ2VEYXRhVXJpIiwic2V0RXhwb3J0SW1hZ2VFcnJvciIsImFkZE5vdGlmaWNhdGlvbiIsImVuYWJsZUVycm9yTm90aWZpY2F0aW9uIiwibG9nb0NvbXBvbmVudCIsInBsb3R0aW5nQXJlYVJlZiIsInVzZVJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwidmlzU3RhdGUiLCJlZmZlY3RzIiwibWFwIiwiZWZmZWN0IiwiY2xvbmUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwicGxvdEVmZmVjdHMiLCJtYXBTdGF0ZSIsImRlY2tMYXllcnNMb2FkaW5nUmVmIiwibWFwU3R5bGVMb2FkZWRSZWYiLCJzY3JlZW5zaG90VGFrZW5SZWYiLCJzY2FsZSIsInVzZU1lbW8iLCJjYWxjdWxhdGVkU2NhbGUiLCJnZXRTY2FsZUZyb21JbWFnZVNpemUiLCJpbWFnZVciLCJpbWFnZUgiLCJpc1NwbGl0IiwibGVnZW5kWm9vbSIsInNjYWxlZE1hcFN0eWxlIiwibWFwU3R5bGUiLCJib3R0b21NYXBTdHlsZSIsInNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24iLCJ0b3BNYXBTdHlsZSIsImRlYm91bmNlZFNjcmVlbnNob3QiLCJkZWJvdW5jZSIsImN1cnJlbnQiLCJjb252ZXJ0VG9QbmciLCJ0aGVuIiwiZXJyIiwiZXhwb3J0SW1hZ2VFcnJvciIsInJldHJpZXZlTmV3U2NyZWVuc2hvdCIsInVzZUNhbGxiYWNrIiwidHJ5U2NyZWVuc2hvdCIsInVzZUVmZmVjdCIsInRpbWVyIiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCIsImRlYm91bmNlZE1hcFJlbmRlciIsImlzU3R5bGVMb2FkZWQiLCJvbk1hcFJlbmRlciIsImRlY2tSZW5kZXJDYWxsYmFja3MiLCJvbkRlY2tBZnRlclJlbmRlciIsImRlY2tQcm9wcyIsImxheWVycyIsInN0aWxsTG9hZGluZyIsImFyZUFueURlY2tMYXllcnNMb2FkaW5nIiwicHJvY2Vzc2luZyIsInVuZGVmaW5lZCIsIl91c2VNZW1vIiwic2l6ZSIsIm5ld01hcFN0YXRlIiwiem9vbU9mZnNldCIsImxvZzIiLCJiYXNlTWFwU3RhdGUiLCJ6b29tIiwicmVuZGVyZWRMYXllcnMiLCJsYXllciIsImlkeCIsImlkIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJzaG91bGRSZW5kZXJMYXllciIsImxheWVyRGF0YSIsImJvdW5kcyIsImZpbmRNYXBCb3VuZHMiLCJjZW50ZXJBbmRab29tIiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsIm1hcFByb3BzIiwiX21hcEZpZWxkcyRtYXBDb250cm9sIiwibWFwQ29udHJvbHMiLCJtYXBMZWdlbmQiLCJzaG93IiwiQm9vbGVhbiIsImFjdGl2ZSIsInNldHRpbmdzIiwiaXNFeHBvcnQiLCJkZWNrR2xQcm9wcyIsIl9pc0V4cG9ydCIsInVzZURldmljZVBpeGVscyIsImRldmljZVByb3BzIiwid2ViZ2wiLCJwcmVzZXJ2ZURyYXdpbmdCdWZmZXIiLCJtYXBDb250YWluZXJzIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsImluZGV4IiwicHJpbWFyeSIsImtleSIsInJlZiIsIk1hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlciIsIlJlYWN0IiwibWVtbyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbG90LWNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLy8gbGlicmFyaWVzXG5pbXBvcnQgUmVhY3QsIHt1c2VSZWYsIHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdlcy10b29sa2l0L2NvbXBhdC9kZWJvdW5jZSc7XG5pbXBvcnQge1xuICBleHBvcnRJbWFnZUVycm9yLFxuICBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uLFxuICBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyxcbiAgY29udmVydFRvUG5nLFxuICBnZXRTY2FsZUZyb21JbWFnZVNpemVcbn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2ZpbmRNYXBCb3VuZHMsIGFyZUFueURlY2tMYXllcnNMb2FkaW5nfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCBNYXBDb250YWluZXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRhaW5lcic7XG5pbXBvcnQgTWFwc0xheW91dEZhY3RvcnkgZnJvbSAnLi9tYXBzLWxheW91dCc7XG5pbXBvcnQge01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcn0gZnJvbSAnLi9tYXAtdmlldy1zdGF0ZS1jb250ZXh0JztcblxuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtFZmZlY3QsIFNwbGl0TWFwLCBFeHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBBY3Rpb25IYW5kbGVyLFxuICBhZGROb3RpZmljYXRpb24sXG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge21hcEZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5cbmNvbnN0IENMQVNTX0ZJTFRFUiA9IFtcbiAgJ21hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXInLFxuICAnbWFwYm94Z2wtY29udHJvbC1jb250YWluZXInLFxuICAnYXR0cml0aW9uLWxpbmsnLFxuICAnYXR0cml0aW9uLWxvZ28nLFxuICAnbWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzJyxcbiAgJ21hcC1uYXZpZ2F0aW9uLWNvbnRyb2wnXG5dO1xuY29uc3QgRE9NX0ZJTFRFUl9GVU5DID0gbm9kZSA9PiB7XG4gIGNvbnN0IGNsYXNzTmFtZSA9IHR5cGVvZiBub2RlLmNsYXNzTmFtZSA9PT0gJ3N0cmluZycgPyBub2RlLmNsYXNzTmFtZSA6ICcnO1xuICBpZiAoIWNsYXNzTmFtZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IGNsYXNzZXMgPSBjbGFzc05hbWUuc3BsaXQoL1xccysvKTtcbiAgcmV0dXJuICFDTEFTU19GSUxURVIuc29tZShjbHMgPT4gY2xhc3Nlcy5pbmNsdWRlcyhjbHMpKTtcbn07XG5jb25zdCBPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OID0gLTk5OTk7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBsZWdlbmQgem9vbSBiYXNlZCBvbiBleHBvcnQgaGVpZ2h0XG4gKiBNYXBzIGV4cG9ydCBoZWlnaHQgdG8gYSB6b29tIGZhY3RvciBiZXR3ZWVuIDAuNSBhbmQgM1xuICogQHBhcmFtIGhlaWdodCAtIGV4cG9ydCBoZWlnaHQgaW4gcGl4ZWxzXG4gKiBAcmV0dXJucyB6b29tIGZhY3RvciBmb3IgbGVnZW5kIHBhbmVsXG4gKi9cbmZ1bmN0aW9uIGNhbGN1bGF0ZUxlZ2VuZFpvb20oaGVpZ2h0OiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCBiYXNlSGVpZ2h0ID0gMTA4MDsgLy8gMXggem9vbSByZWZlcmVuY2UgaGVpZ2h0XG4gIGNvbnN0IG1pblpvb20gPSAwLjU7XG4gIGNvbnN0IG1heFpvb20gPSAzO1xuXG4gIC8vIEZvciBpbml0aWFsL2ludmFsaWQgaGVpZ2h0cywgYXZvaWQgc2hyaW5raW5nIHRoZSBsZWdlbmQ7IHVzZSBubyBzY2FsaW5nLlxuICBpZiAoIU51bWJlci5pc0Zpbml0ZShoZWlnaHQpIHx8IGhlaWdodCA8PSAwKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBMaW5lYXIgbWFwcGluZzogaGVpZ2h0IC8gYmFzZUhlaWdodCBnaXZlcyB1cyB0aGUgc2NhbGVcbiAgY29uc3Qgem9vbUZhY3RvciA9IGhlaWdodCAvIGJhc2VIZWlnaHQ7XG4gIC8vIENsYW1wIGJldHdlZW4gbWluIGFuZCBtYXhcbiAgcmV0dXJuIE1hdGgubWF4KG1pblpvb20sIE1hdGgubWluKG1heFpvb20sIHpvb21GYWN0b3IpKTtcbn1cblxuUGxvdENvbnRhaW5lckZhY3RvcnkuZGVwcyA9IFtNYXBDb250YWluZXJGYWN0b3J5LCBNYXBzTGF5b3V0RmFjdG9yeV07XG5cbi8vIFJlbW92ZSBtYXBib3ggbG9nbyBpbiBleHBvcnRlZCBtYXAsIGJlY2F1c2UgaXQgY29udGFpbnMgbm9uLWFzY2lpIGNoYXJhY3RlcnNcbi8vIFJlbW92ZSBzcGxpdCB2aWV3cG9ydCBVSSBjb250cm9scyBmcm9tIGV4cG9ydGVkIGltYWdlcyB3aGVuIHRoZSBsZWdlbmQgaXMgc2hvd25cbmludGVyZmFjZSBTdHlsZWRQbG90Q29udGFpbmVyUHJvcHMge1xuICAkbGVnZW5kWm9vbT86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkUGxvdENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkUGxvdENvbnRhaW5lclByb3BzPmBcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCxcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBsaWJyZS1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBib3gtYXR0cmlidXRpb24tY29udGFpbmVyLFxuICAubWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzLFxuICAubWFwLW5hdmlnYXRpb24tY29udHJvbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke09VVF9PRl9TQ1JFRU5fUE9TSVRJT059cHg7XG4gIGxlZnQ6ICR7T1VUX09GX1NDUkVFTl9QT1NJVElPTn1weDtcblxuICAvKiBBcHBseSB6b29tIHRvIGxlZ2VuZCBwYW5lbCBiYXNlZCBvbiBleHBvcnQgaGVpZ2h0ICovXG4gIC5tYXAtY29udHJvbC1wYW5lbCB7XG4gICAgem9vbTogJHtwcm9wcyA9PiBwcm9wcy4kbGVnZW5kWm9vbSB8fCAxfSAhaW1wb3J0YW50O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkTWFwQ29udGFpbmVyUHJvcHMge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRNYXBDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZE1hcENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGh9cHg7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy5oZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5pbnRlcmZhY2UgUGxvdENvbnRhaW5lclByb3BzIHtcbiAgLy8gSW1hZ2UgZXhwb3J0IHNldHRpbmdzXG4gIHJhdGlvPzogc3RyaW5nO1xuICByZXNvbHV0aW9uPzogc3RyaW5nO1xuICBsZWdlbmQ/OiBib29sZWFuO1xuICBjZW50ZXI/OiBib29sZWFuO1xuICBpbWFnZVNpemU6IEV4cG9ydEltYWdlWydpbWFnZVNpemUnXTtcbiAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrPzogYm9vbGVhbjtcblxuICAvLyBNYXAgc2V0dGluZ3NcbiAgbWFwRmllbGRzOiBSZXR1cm5UeXBlPHR5cGVvZiBtYXBGaWVsZHNTZWxlY3Rvcj47XG4gIHNwbGl0TWFwcz86IFNwbGl0TWFwW107XG5cbiAgLy8gQ2FsbGJhY2tzXG4gIHNldEV4cG9ydEltYWdlU2V0dGluZzogdHlwZW9mIHNldEV4cG9ydEltYWdlU2V0dGluZztcbiAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VEYXRhVXJpO1xuICBzZXRFeHBvcnRJbWFnZUVycm9yOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VFcnJvcjtcbiAgYWRkTm90aWZpY2F0aW9uOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBhZGROb3RpZmljYXRpb24+O1xuXG4gIC8vIEZsYWdzXG4gIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uPzogYm9vbGVhbjtcblxuICAvLyBPcHRpb25hbDogb3ZlcnJpZGUgbGVnZW5kIGhlYWRlciBsb2dvIGR1cmluZyBleHBvcnRcbiAgbG9nb0NvbXBvbmVudD86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGxvdENvbnRhaW5lckZhY3RvcnkoXG4gIE1hcENvbnRhaW5lcjogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udGFpbmVyRmFjdG9yeT4sXG4gIE1hcHNMYXlvdXQ6IFJldHVyblR5cGU8dHlwZW9mIE1hcHNMYXlvdXRGYWN0b3J5PlxuKTogUmVhY3QuQ29tcG9uZW50VHlwZTxQbG90Q29udGFpbmVyUHJvcHM+IHtcbiAgZnVuY3Rpb24gUGxvdENvbnRhaW5lcih7XG4gICAgLy8gSW1hZ2UgZXhwb3J0IHNldHRpbmdzXG4gICAgcmF0aW8sXG4gICAgcmVzb2x1dGlvbixcbiAgICBsZWdlbmQgPSBmYWxzZSxcbiAgICBjZW50ZXIsXG4gICAgaW1hZ2VTaXplLFxuICAgIGVzY2FwZVhodG1sRm9yV2VicGFjayxcblxuICAgIC8vIE1hcCBzZXR0aW5nc1xuICAgIG1hcEZpZWxkcyxcbiAgICBzcGxpdE1hcHMgPSBbXSxcblxuICAgIC8vIENhbGxiYWNrc1xuICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyxcbiAgICBzZXRFeHBvcnRJbWFnZURhdGFVcmksXG4gICAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgICBhZGROb3RpZmljYXRpb24sXG5cbiAgICAvLyBGbGFnc1xuICAgIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uLFxuICAgIGxvZ29Db21wb25lbnRcbiAgfTogUGxvdENvbnRhaW5lclByb3BzKSB7XG4gICAgY29uc3QgcGxvdHRpbmdBcmVhUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbcGxvdEVmZmVjdHNdID0gdXNlU3RhdGU8RWZmZWN0W10+KCgpID0+XG4gICAgICBtYXBGaWVsZHMudmlzU3RhdGUuZWZmZWN0cy5tYXAoZWZmZWN0ID0+IGVmZmVjdC5jbG9uZSgpKVxuICAgICk7XG5cbiAgICBjb25zdCB7bWFwU3RhdGV9ID0gbWFwRmllbGRzO1xuXG4gICAgY29uc3QgZGVja0xheWVyc0xvYWRpbmdSZWYgPSB1c2VSZWYodHJ1ZSk7XG4gICAgY29uc3QgbWFwU3R5bGVMb2FkZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IHNjcmVlbnNob3RUYWtlblJlZiA9IHVzZVJlZihmYWxzZSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSBzY2FsZSBjYWxjdWxhdGlvblxuICAgIGNvbnN0IHNjYWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoaW1hZ2VTaXplLnNjYWxlKSB7XG4gICAgICAgIHJldHVybiBpbWFnZVNpemUuc2NhbGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNhbGN1bGF0ZWRTY2FsZSA9IGdldFNjYWxlRnJvbUltYWdlU2l6ZShcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgbWFwU3RhdGUud2lkdGggKiAobWFwU3RhdGUuaXNTcGxpdCA/IDIgOiAxKSxcbiAgICAgICAgbWFwU3RhdGUuaGVpZ2h0XG4gICAgICApO1xuXG4gICAgICByZXR1cm4gY2FsY3VsYXRlZFNjYWxlID4gMCA/IGNhbGN1bGF0ZWRTY2FsZSA6IDE7XG4gICAgfSwgW1xuICAgICAgaW1hZ2VTaXplLnNjYWxlLFxuICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgIGltYWdlU2l6ZS5pbWFnZUgsXG4gICAgICBtYXBTdGF0ZS53aWR0aCxcbiAgICAgIG1hcFN0YXRlLmhlaWdodCxcbiAgICAgIG1hcFN0YXRlLmlzU3BsaXRcbiAgICBdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIGxlZ2VuZCB6b29tIGNhbGN1bGF0aW9uIGJhc2VkIG9uIGV4cG9ydCBoZWlnaHRcbiAgICBjb25zdCBsZWdlbmRab29tID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gY2FsY3VsYXRlTGVnZW5kWm9vbShpbWFnZVNpemUuaW1hZ2VIKTtcbiAgICB9LCBbaW1hZ2VTaXplLmltYWdlSF0pO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgbWFwIHN0eWxlXG4gICAgY29uc3Qgc2NhbGVkTWFwU3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IG1hcFN0eWxlID0gbWFwRmllbGRzLm1hcFN0eWxlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubWFwU3R5bGUsXG4gICAgICAgIGJvdHRvbU1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLmJvdHRvbU1hcFN0eWxlLCBzY2FsZSksXG4gICAgICAgIHRvcE1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLnRvcE1hcFN0eWxlLCBzY2FsZSlcbiAgICAgIH07XG4gICAgfSwgW21hcEZpZWxkcy5tYXBTdHlsZSwgc2NhbGVdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIHJldHJpZXZlTmV3U2NyZWVuc2hvdCBjYWxsYmFja1xuICAgIGNvbnN0IGRlYm91bmNlZFNjcmVlbnNob3QgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgIGlmIChwbG90dGluZ0FyZWFSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29udmVydFRvUG5nKHBsb3R0aW5nQXJlYVJlZi5jdXJyZW50LCB7XG4gICAgICAgICAgICAgIGZpbHRlcjogRE9NX0ZJTFRFUl9GVU5DLFxuICAgICAgICAgICAgICB3aWR0aDogaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICAgICAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2tcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC50aGVuKHNldEV4cG9ydEltYWdlRGF0YVVyaSlcbiAgICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RXhwb3J0SW1hZ2VFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIGlmIChlbmFibGVFcnJvck5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICAgICAgYWRkTm90aWZpY2F0aW9uKGV4cG9ydEltYWdlRXJyb3Ioe2Vycn0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFtcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrLFxuICAgICAgICBzZXRFeHBvcnRJbWFnZURhdGFVcmksXG4gICAgICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgICAgIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uLFxuICAgICAgICBhZGROb3RpZmljYXRpb25cbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgcmV0cmlldmVOZXdTY3JlZW5zaG90ID0gdXNlQ2FsbGJhY2soZGVib3VuY2VkU2NyZWVuc2hvdCwgW2RlYm91bmNlZFNjcmVlbnNob3RdKTtcblxuICAgIGNvbnN0IHRyeVNjcmVlbnNob3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAobWFwU3R5bGVMb2FkZWRSZWYuY3VycmVudCAmJiAhZGVja0xheWVyc0xvYWRpbmdSZWYuY3VycmVudCkge1xuICAgICAgICBzY3JlZW5zaG90VGFrZW5SZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIHJldHJpZXZlTmV3U2NyZWVuc2hvdCgpO1xuICAgICAgfVxuICAgIH0sIFtyZXRyaWV2ZU5ld1NjcmVlbnNob3RdKTtcblxuICAgIC8vIEZhbGxiYWNrOiBpZiBsYXllcnMgbmV2ZXIgZmluaXNoIGxvYWRpbmcsIGNhcHR1cmUgYWZ0ZXIgdGltZW91dFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAoIXNjcmVlbnNob3RUYWtlblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgZGVja0xheWVyc0xvYWRpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgIHRyeVNjcmVlbnNob3QoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMzAwMDApO1xuICAgICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgfSwgW3RyeVNjcmVlbnNob3RdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIG9uTWFwUmVuZGVyIGNhbGxiYWNrXG4gICAgY29uc3QgZGVib3VuY2VkTWFwUmVuZGVyID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGRlYm91bmNlKG1hcCA9PiB7XG4gICAgICAgICAgaWYgKG1hcC5pc1N0eWxlTG9hZGVkKCkpIHtcbiAgICAgICAgICAgIG1hcFN0eWxlTG9hZGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgdHJ5U2NyZWVuc2hvdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFt0cnlTY3JlZW5zaG90XVxuICAgICk7XG5cbiAgICBjb25zdCBvbk1hcFJlbmRlciA9IHVzZUNhbGxiYWNrKGRlYm91bmNlZE1hcFJlbmRlciwgW2RlYm91bmNlZE1hcFJlbmRlcl0pO1xuXG4gICAgY29uc3QgZGVja1JlbmRlckNhbGxiYWNrcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBvbkRlY2tBZnRlclJlbmRlcjogKGRlY2tQcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHtcbiAgICAgICAgICBjb25zdCBsYXllcnMgPSBkZWNrUHJvcHMubGF5ZXJzIGFzIGFueVtdO1xuICAgICAgICAgIGlmICghbGF5ZXJzKSByZXR1cm47XG4gICAgICAgICAgY29uc3Qgc3RpbGxMb2FkaW5nID0gYXJlQW55RGVja0xheWVyc0xvYWRpbmcobGF5ZXJzKTtcbiAgICAgICAgICBpZiAoZGVja0xheWVyc0xvYWRpbmdSZWYuY3VycmVudCAmJiAhc3RpbGxMb2FkaW5nKSB7XG4gICAgICAgICAgICBkZWNrTGF5ZXJzTG9hZGluZ1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB0cnlTY3JlZW5zaG90KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRlY2tMYXllcnNMb2FkaW5nUmVmLmN1cnJlbnQgPSBzdGlsbExvYWRpbmc7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgW3RyeVNjcmVlbnNob3RdXG4gICAgKTtcblxuICAgIC8vIEluaXRpYWwgc2V0dXAgZWZmZWN0XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyh7cHJvY2Vzc2luZzogdHJ1ZX0pO1xuICAgIH0sIFtzZXRFeHBvcnRJbWFnZVNldHRpbmddKTtcblxuICAgIC8vIFNjcmVlbnNob3QgdXBkYXRlIGVmZmVjdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAocmF0aW8gIT09IHVuZGVmaW5lZCB8fCByZXNvbHV0aW9uICE9PSB1bmRlZmluZWQgfHwgbGVnZW5kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nKHtwcm9jZXNzaW5nOiB0cnVlfSk7XG4gICAgICAgIHRyeVNjcmVlbnNob3QoKTtcbiAgICAgIH1cbiAgICB9LCBbcmF0aW8sIHJlc29sdXRpb24sIGxlZ2VuZCwgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nLCB0cnlTY3JlZW5zaG90XSk7XG5cbiAgICAvLyBNZW1vaXplIHNpemUgY2FsY3VsYXRpb25zXG4gICAgY29uc3Qge3NpemUsIHdpZHRoLCBoZWlnaHR9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBzaXplID0ge1xuICAgICAgICB3aWR0aDogaW1hZ2VTaXplLmltYWdlVyB8fCAxLFxuICAgICAgICBoZWlnaHQ6IGltYWdlU2l6ZS5pbWFnZUggfHwgMVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGlzU3BsaXQgPSBzcGxpdE1hcHMubGVuZ3RoID4gMTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNpemUsXG4gICAgICAgIHdpZHRoOiBzaXplLndpZHRoIC8gKGlzU3BsaXQgPyAyIDogMSksXG4gICAgICAgIGhlaWdodDogc2l6ZS5oZWlnaHRcbiAgICAgIH07XG4gICAgfSwgW2ltYWdlU2l6ZS5pbWFnZVcsIGltYWdlU2l6ZS5pbWFnZUgsIHNwbGl0TWFwcy5sZW5ndGhdKTtcblxuICAgIC8vIE1lbW9pemUgbWFwIHN0YXRlXG4gICAgY29uc3QgbmV3TWFwU3RhdGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHpvb21PZmZzZXQgPSBNYXRoLmxvZzIoc2NhbGUpIHx8IDA7XG4gICAgICBjb25zdCBiYXNlTWFwU3RhdGUgPSB7XG4gICAgICAgIC4uLm1hcFN0YXRlLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICB6b29tOiBtYXBTdGF0ZS56b29tICsgem9vbU9mZnNldCxcbiAgICAgICAgem9vbU9mZnNldFxuICAgICAgfTtcblxuICAgICAgaWYgKGNlbnRlcikge1xuICAgICAgICBjb25zdCByZW5kZXJlZExheWVycyA9IG1hcEZpZWxkcy52aXNTdGF0ZS5sYXllcnMuZmlsdGVyKFxuICAgICAgICAgIChsYXllciwgaWR4KSA9PlxuICAgICAgICAgICAgbGF5ZXIuaWQgIT09IEdFT0NPREVSX0xBWUVSX0lEICYmXG4gICAgICAgICAgICBsYXllci5zaG91bGRSZW5kZXJMYXllcihtYXBGaWVsZHMudmlzU3RhdGUubGF5ZXJEYXRhW2lkeF0pXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IGZpbmRNYXBCb3VuZHMocmVuZGVyZWRMYXllcnMpO1xuICAgICAgICBjb25zdCBjZW50ZXJBbmRab29tID0gZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMoYm91bmRzLCB7d2lkdGgsIGhlaWdodH0pO1xuICAgICAgICBpZiAoY2VudGVyQW5kWm9vbSkge1xuICAgICAgICAgIGNvbnN0IHpvb20gPSBOdW1iZXIuaXNGaW5pdGUoY2VudGVyQW5kWm9vbS56b29tKSA/IGNlbnRlckFuZFpvb20uem9vbSA6IG1hcFN0YXRlLnpvb207XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmJhc2VNYXBTdGF0ZSxcbiAgICAgICAgICAgIGxvbmdpdHVkZTogY2VudGVyQW5kWm9vbS5jZW50ZXJbMF0sXG4gICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyQW5kWm9vbS5jZW50ZXJbMV0sXG4gICAgICAgICAgICB6b29tOiB6b29tICsgTnVtYmVyKE1hdGgubG9nMihzY2FsZSkgfHwgMClcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiYXNlTWFwU3RhdGU7XG4gICAgfSwgW21hcFN0YXRlLCB3aWR0aCwgaGVpZ2h0LCBzY2FsZSwgY2VudGVyLCBtYXBGaWVsZHMudmlzU3RhdGVdKTtcblxuICAgIC8vIE1lbW9pemUgbWFwIHByb3BzXG4gICAgY29uc3QgbWFwUHJvcHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgLi4ubWFwRmllbGRzLFxuICAgICAgICBtYXBTdHlsZTogc2NhbGVkTWFwU3R5bGUsXG4gICAgICAgIG1hcFN0YXRlOiBuZXdNYXBTdGF0ZSxcbiAgICAgICAgbWFwQ29udHJvbHM6IHtcbiAgICAgICAgICBtYXBMZWdlbmQ6IHtcbiAgICAgICAgICAgIHNob3c6IEJvb2xlYW4obGVnZW5kKSxcbiAgICAgICAgICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgIHNldHRpbmdzOiBtYXBGaWVsZHMubWFwQ29udHJvbHM/Lm1hcExlZ2VuZD8uc2V0dGluZ3NcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uTWFwUmVuZGVyLFxuICAgICAgICBpc0V4cG9ydDogdHJ1ZSxcbiAgICAgICAgZGVja0dsUHJvcHM6IHtcbiAgICAgICAgICAuLi5tYXBGaWVsZHMuZGVja0dsUHJvcHMsXG4gICAgICAgICAgX2lzRXhwb3J0OiB0cnVlLFxuICAgICAgICAgIHVzZURldmljZVBpeGVsczogZmFsc2UsXG4gICAgICAgICAgZGV2aWNlUHJvcHM6IHtcbiAgICAgICAgICAgIHdlYmdsOiB7XG4gICAgICAgICAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGVja1JlbmRlckNhbGxiYWNrcyxcbiAgICAgICAgdmlzU3RhdGU6IHtcbiAgICAgICAgICAuLi5tYXBGaWVsZHMudmlzU3RhdGUsXG4gICAgICAgICAgZWZmZWN0czogcGxvdEVmZmVjdHNcbiAgICAgICAgfSxcbiAgICAgICAgLy8gYWxsb3cgb3ZlcnJpZGluZyB0aGUgbGVnZW5kIHBhbmVsIGxvZ28gaW4gZXhwb3J0XG4gICAgICAgIGxvZ29Db21wb25lbnRcbiAgICAgIH0pLFxuICAgICAgW1xuICAgICAgICBtYXBGaWVsZHMsXG4gICAgICAgIHNjYWxlZE1hcFN0eWxlLFxuICAgICAgICBuZXdNYXBTdGF0ZSxcbiAgICAgICAgbGVnZW5kLFxuICAgICAgICBvbk1hcFJlbmRlcixcbiAgICAgICAgZGVja1JlbmRlckNhbGxiYWNrcyxcbiAgICAgICAgcGxvdEVmZmVjdHMsXG4gICAgICAgIGxvZ29Db21wb25lbnRcbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgaXNTcGxpdCA9IHNwbGl0TWFwcy5sZW5ndGggPiAxO1xuICAgIGNvbnN0IG1hcENvbnRhaW5lcnMgPSAhaXNTcGxpdCA/IChcbiAgICAgIDxNYXBDb250YWluZXIgaW5kZXg9ezB9IHByaW1hcnk9e3RydWV9IHsuLi5tYXBQcm9wc30gLz5cbiAgICApIDogKFxuICAgICAgPE1hcHNMYXlvdXQgY2xhc3NOYW1lPVwicGxvdC1jb250YWluZXItbWFwc1wiIG1hcFN0YXRlPXtuZXdNYXBTdGF0ZX0+XG4gICAgICAgIHtzcGxpdE1hcHMubWFwKChzZXR0aW5ncywgaW5kZXgpID0+IChcbiAgICAgICAgICA8TWFwQ29udGFpbmVyIGtleT17aW5kZXh9IGluZGV4PXtpbmRleH0gcHJpbWFyeT17aW5kZXggPT09IDF9IHsuLi5tYXBQcm9wc30gLz5cbiAgICAgICAgKSl9XG4gICAgICA8L01hcHNMYXlvdXQ+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkUGxvdENvbnRhaW5lciBjbGFzc05hbWU9XCJleHBvcnQtbWFwLWluc3RhbmNlXCIgJGxlZ2VuZFpvb209e2xlZ2VuZFpvb219PlxuICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyIHJlZj17cGxvdHRpbmdBcmVhUmVmfSB3aWR0aD17c2l6ZS53aWR0aH0gaGVpZ2h0PXtzaXplLmhlaWdodH0+XG4gICAgICAgICAgPE1hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlciBtYXBTdGF0ZT17bmV3TWFwU3RhdGV9PlxuICAgICAgICAgICAge21hcENvbnRhaW5lcnN9XG4gICAgICAgICAgPC9NYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXI+XG4gICAgICAgIDwvU3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgPC9TdHlsZWRQbG90Q29udGFpbmVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gUmVhY3QubWVtbyhQbG90Q29udGFpbmVyKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQU9BLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLG9CQUFBLEdBQUFSLE9BQUE7QUFFQSxJQUFBUyxVQUFBLEdBQUFULE9BQUE7QUFBdUQsSUFBQVUsZUFBQSxFQUFBQyxnQkFBQSxFQW5CdkQ7QUFDQTtBQUVBO0FBQUEsU0FBQVosd0JBQUFhLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFmLHVCQUFBLFlBQUFBLHdCQUFBYSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsbUJBQUFULENBQUEsaUJBQUFBLENBQUEsZ0JBQUFVLE9BQUEsQ0FBQVYsQ0FBQSwwQkFBQUEsQ0FB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
|
|
@@ -23,7 +23,7 @@ function DatasetInfoFactory() {
|
|
|
23
23
|
return /*#__PURE__*/_react["default"].createElement(StyledDataRowCount, {
|
|
24
24
|
className: "source-data-rows"
|
|
25
25
|
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
26
|
-
id: dataset.type === _constants.DatasetType.VECTOR_TILE ? 'datasetInfo.vectorTile' : dataset.type === _constants.DatasetType.RASTER_TILE ? 'datasetInfo.rasterTile' : dataset.type === _constants.DatasetType.WMS_TILE ? 'datasetInfo.wmsTile' : dataset.type === _constants.DatasetType.TILE_3D ? 'datasetInfo.tile3d' : dataset.type === _constants.DatasetType.BITMAP ? 'datasetInfo.bitmap' : 'datasetInfo.rowCount',
|
|
26
|
+
id: dataset.type === _constants.DatasetType.VECTOR_TILE ? 'datasetInfo.vectorTile' : dataset.type === _constants.DatasetType.RASTER_TILE ? 'datasetInfo.rasterTile' : dataset.type === _constants.DatasetType.WMS_TILE ? 'datasetInfo.wmsTile' : dataset.type === _constants.DatasetType.TILE_3D ? 'datasetInfo.tile3d' : dataset.type === _constants.DatasetType.BITMAP ? 'datasetInfo.bitmap' : dataset.type === _constants.DatasetType.EXTERNALLY_HOSTED ? 'datasetInfo.remoteFile' : 'datasetInfo.rowCount',
|
|
27
27
|
values: {
|
|
28
28
|
rowCount: numFormat(dataset.dataContainer.numRows())
|
|
29
29
|
}
|
|
@@ -31,4 +31,4 @@ function DatasetInfoFactory() {
|
|
|
31
31
|
};
|
|
32
32
|
return DatasetInfo;
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2QzRm9ybWF0IiwiX2NvbnN0YW50cyIsIl9sb2NhbGl6YXRpb24iLCJfdGVtcGxhdGVPYmplY3QiLCJudW1Gb3JtYXQiLCJmb3JtYXQiLCJTdHlsZWREYXRhUm93Q291bnQiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJzdWJ0ZXh0Q29sb3IiLCJEYXRhc2V0SW5mb0ZhY3RvcnkiLCJEYXRhc2V0SW5mbyIsIl9yZWYiLCJkYXRhc2V0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJpZCIsInR5cGUiLCJEYXRhc2V0VHlwZSIsIlZFQ1RPUl9USUxFIiwiUkFTVEVSX1RJTEUiLCJXTVNfVElMRSIsIlRJTEVfM0QiLCJCSVRNQVAiLCJFWFRFUk5BTExZX0hPU1RFRCIsInZhbHVlcyIsInJvd0NvdW50IiwiZGF0YUNvbnRhaW5lciIsIm51bVJvd3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9jb21tb24vZGF0YXNldC1pbmZvLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2Zvcm1hdH0gZnJvbSAnZDMtZm9ybWF0JztcblxuaW1wb3J0IHtEYXRhc2V0VHlwZX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0RhdGFDb250YWluZXJJbnRlcmZhY2V9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5jb25zdCBudW1Gb3JtYXQgPSBmb3JtYXQoJywnKTtcblxudHlwZSBNaW5pRGF0YXNldCA9IHtcbiAgZGF0YUNvbnRhaW5lcjogRGF0YUNvbnRhaW5lckludGVyZmFjZTtcbiAgdHlwZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFzZXRJbmZvUHJvcHMgPSB7XG4gIGRhdGFzZXQ6IE1pbmlEYXRhc2V0O1xufTtcblxuY29uc3QgU3R5bGVkRGF0YVJvd0NvdW50ID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICBwYWRkaW5nLWxlZnQ6IDE5cHg7XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEYXRhc2V0SW5mb0ZhY3RvcnkoKSB7XG4gIGNvbnN0IERhdGFzZXRJbmZvOiBSZWFjdC5GQzxEYXRhc2V0SW5mb1Byb3BzPiA9ICh7ZGF0YXNldH06IERhdGFzZXRJbmZvUHJvcHMpID0+IChcbiAgICA8U3R5bGVkRGF0YVJvd0NvdW50IGNsYXNzTmFtZT1cInNvdXJjZS1kYXRhLXJvd3NcIj5cbiAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgIGlkPXtcbiAgICAgICAgICBkYXRhc2V0LnR5cGUgPT09IERhdGFzZXRUeXBlLlZFQ1RPUl9USUxFXG4gICAgICAgICAgICA/ICdkYXRhc2V0SW5mby52ZWN0b3JUaWxlJ1xuICAgICAgICAgICAgOiBkYXRhc2V0LnR5cGUgPT09IERhdGFzZXRUeXBlLlJBU1RFUl9USUxFXG4gICAgICAgICAgICA/ICdkYXRhc2V0SW5mby5yYXN0ZXJUaWxlJ1xuICAgICAgICAgICAgOiBkYXRhc2V0LnR5cGUgPT09IERhdGFzZXRUeXBlLldNU19USUxFXG4gICAgICAgICAgICA/ICdkYXRhc2V0SW5mby53bXNUaWxlJ1xuICAgICAgICAgICAgOiBkYXRhc2V0LnR5cGUgPT09IERhdGFzZXRUeXBlLlRJTEVfM0RcbiAgICAgICAgICAgID8gJ2RhdGFzZXRJbmZvLnRpbGUzZCdcbiAgICAgICAgICAgIDogZGF0YXNldC50eXBlID09PSBEYXRhc2V0VHlwZS5CSVRNQVBcbiAgICAgICAgICAgID8gJ2RhdGFzZXRJbmZvLmJpdG1hcCdcbiAgICAgICAgICAgIDogZGF0YXNldC50eXBlID09PSBEYXRhc2V0VHlwZS5FWFRFUk5BTExZX0hPU1RFRFxuICAgICAgICAgICAgPyAnZGF0YXNldEluZm8ucmVtb3RlRmlsZSdcbiAgICAgICAgICAgIDogJ2RhdGFzZXRJbmZvLnJvd0NvdW50J1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlcz17e3Jvd0NvdW50OiBudW1Gb3JtYXQoZGF0YXNldC5kYXRhQ29udGFpbmVyLm51bVJvd3MoKSl9fVxuICAgICAgLz5cbiAgICA8L1N0eWxlZERhdGFSb3dDb3VudD5cbiAgKTtcblxuICByZXR1cm4gRGF0YXNldEluZm87XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGFBQUEsR0FBQUosT0FBQTtBQUF5RCxJQUFBSyxlQUFBLEVBUnpEO0FBQ0E7QUFVQSxJQUFNQyxTQUFTLEdBQUcsSUFBQUMsZ0JBQU0sRUFBQyxHQUFHLENBQUM7QUFXN0IsSUFBTUMsa0JBQWtCLEdBQUdDLDRCQUFNLENBQUNDLEdBQUcsQ0FBQUwsZUFBQSxLQUFBQSxlQUFBLE9BQUFNLHVCQUFBLGtGQUUxQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFlBQVk7QUFBQSxFQUUzQztBQUVjLFNBQVNDLGtCQUFrQkEsQ0FBQSxFQUFHO0VBQzNDLElBQU1DLFdBQXVDLEdBQUcsU0FBMUNBLFdBQXVDQSxDQUFBQyxJQUFBO0lBQUEsSUFBS0MsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFBQSxvQkFDdkRwQixNQUFBLFlBQUFxQixhQUFBLENBQUNYLGtCQUFrQjtNQUFDWSxTQUFTLEVBQUM7SUFBa0IsZ0JBQzlDdEIsTUFBQSxZQUFBcUIsYUFBQSxDQUFDZixhQUFBLENBQUFpQixnQkFBZ0I7TUFDZkMsRUFBRSxFQUNBSixPQUFPLENBQUNLLElBQUksS0FBS0Msc0JBQVcsQ0FBQ0MsV0FBVyxHQUNwQyx3QkFBd0IsR0FDeEJQLE9BQU8sQ0FBQ0ssSUFBSSxLQUFLQyxzQkFBVyxDQUFDRSxXQUFXLEdBQ3hDLHdCQUF3QixHQUN4QlIsT0FBTyxDQUFDSyxJQUFJLEtBQUtDLHNCQUFXLENBQUNHLFFBQVEsR0FDckMscUJBQXFCLEdBQ3JCVCxPQUFPLENBQUNLLElBQUksS0FBS0Msc0JBQVcsQ0FBQ0ksT0FBTyxHQUNwQyxvQkFBb0IsR0FDcEJWLE9BQU8sQ0FBQ0ssSUFBSSxLQUFLQyxzQkFBVyxDQUFDSyxNQUFNLEdBQ25DLG9CQUFvQixHQUNwQlgsT0FBTyxDQUFDSyxJQUFJLEtBQUtDLHNCQUFXLENBQUNNLGlCQUFpQixHQUM5Qyx3QkFBd0IsR0FDeEIsc0JBQ0w7TUFDREMsTUFBTSxFQUFFO1FBQUNDLFFBQVEsRUFBRTFCLFNBQVMsQ0FBQ1ksT0FBTyxDQUFDZSxhQUFhLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQUM7SUFBRSxDQUNoRSxDQUNpQixDQUFDO0VBQUEsQ0FDdEI7RUFFRCxPQUFPbEIsV0FBVztBQUNwQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -17,7 +17,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
17
17
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
18
|
var _reselect = require("reselect");
|
|
19
19
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
20
|
-
var _get = _interopRequireDefault(require("
|
|
20
|
+
var _get = _interopRequireDefault(require("es-toolkit/compat/get"));
|
|
21
21
|
var _constants = require("@kepler.gl/constants");
|
|
22
22
|
var _newFilterPanel = _interopRequireDefault(require("../../filters/filter-panels/new-filter-panel"));
|
|
23
23
|
var _timeRangeFilterPanel = _interopRequireDefault(require("../../filters/filter-panels/time-range-filter-panel"));
|
|
@@ -89,4 +89,4 @@ function FilterPanelFactory(NewFilterPanel, TimeRangeFilterPanel, SingleSelectFi
|
|
|
89
89
|
}(_react.Component);
|
|
90
90
|
}
|
|
91
91
|
var _default = exports["default"] = FilterPanelFactory;
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVzZWxlY3QiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ2V0IiwiX2NvbnN0YW50cyIsIl9uZXdGaWx0ZXJQYW5lbCIsIl90aW1lUmFuZ2VGaWx0ZXJQYW5lbCIsIl9zaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbCIsIl9tdWx0aVNlbGVjdEZpbHRlclBhbmVsIiwiX3JhbmdlRmlsdGVyUGFuZWwiLCJfcG9seWdvbkZpbHRlclBhbmVsIiwiX3RlbXBsYXRlT2JqZWN0IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiU3R5bGVkRmlsdGVyUGFuZWwiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIkZpbHRlclBhbmVsRmFjdG9yeSIsImRlcHMiLCJOZXdGaWx0ZXJQYW5lbEZhY3RvcnkiLCJUaW1lUmFuZ2VGaWx0ZXJQYW5lbEZhY3RvcnkiLCJTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbEZhY3RvcnkiLCJNdWx0aVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeSIsIlJhbmdlRmlsdGVyUGFuZWxGYWN0b3J5IiwiUG9seWdvbkZpbHRlclBhbmVsRmFjdG9yeSIsIk5ld0ZpbHRlclBhbmVsIiwiVGltZVJhbmdlRmlsdGVyUGFuZWwiLCJTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbCIsIk11bHRpU2VsZWN0RmlsdGVyUGFuZWwiLCJSYW5nZUZpbHRlclBhbmVsIiwiUG9seWdvbkZpbHRlclBhbmVsIiwiRmlsdGVyUGFuZWxDb21wb25lbnRzIiwiX2RlZmluZVByb3BlcnR5MiIsIkZJTFRFUl9UWVBFUyIsInRpbWVSYW5nZSIsInNlbGVjdCIsIm11bHRpU2VsZWN0IiwicmFuZ2UiLCJwb2x5Z29uIiwiX0NvbXBvbmVudCIsIkZpbHRlclBhbmVsIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJwcm9wcyIsImRhdGFzZXRJZCIsImZpbHRlciIsImRhdGFJZCIsImZpbHRlcnMiLCJuYW1lIiwiY3JlYXRlU2VsZWN0b3IiLCJmaWVsZHNTZWxlY3RvciIsImZpbHRlclNlbGVjdG9yIiwibmFtZVNlbGVjdG9yIiwiZGF0YUlkU2VsZWN0b3IiLCJmaWVsZHMiLCJ0eXBlIiwiQUxMX0ZJRUxEX1RZUEVTIiwiZ2VvanNvbiIsImluY2x1ZGVzIiwiZmluZCIsImQiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwicmVuZGVyIiwiRmlsdGVyRmlsdGVyQ29tcG9uZW50IiwiYWxsQXZhaWxhYmxlRmllbGRzIiwiYXZhaWxhYmxlRmllbGRzU2VsZWN0b3IiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiX2V4dGVuZHMyIiwiQ29tcG9uZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvZmlsdGVyLXBhbmVsL2ZpbHRlci1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQge0FMTF9GSUVMRF9UWVBFUywgRklMVEVSX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5cbmltcG9ydCBOZXdGaWx0ZXJQYW5lbEZhY3RvcnkgZnJvbSAnLi4vLi4vZmlsdGVycy9maWx0ZXItcGFuZWxzL25ldy1maWx0ZXItcGFuZWwnO1xuaW1wb3J0IFRpbWVSYW5nZUZpbHRlclBhbmVsRmFjdG9yeSBmcm9tICcuLi8uLi9maWx0ZXJzL2ZpbHRlci1wYW5lbHMvdGltZS1yYW5nZS1maWx0ZXItcGFuZWwnO1xuaW1wb3J0IFNpbmdsZVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeSBmcm9tICcuLi8uLi9maWx0ZXJzL2ZpbHRlci1wYW5lbHMvc2luZ2xlLXNlbGVjdC1maWx0ZXItcGFuZWwnO1xuaW1wb3J0IE11bHRpU2VsZWN0RmlsdGVyUGFuZWxGYWN0b3J5IGZyb20gJy4uLy4uL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy9tdWx0aS1zZWxlY3QtZmlsdGVyLXBhbmVsJztcbmltcG9ydCBSYW5nZUZpbHRlclBhbmVsRmFjdG9yeSBmcm9tICcuLi8uLi9maWx0ZXJzL2ZpbHRlci1wYW5lbHMvcmFuZ2UtZmlsdGVyLXBhbmVsJztcbmltcG9ydCBQb2x5Z29uRmlsdGVyUGFuZWxGYWN0b3J5IGZyb20gJy4uLy4uL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy9wb2x5Z29uLWZpbHRlci1wYW5lbCc7XG5pbXBvcnQge0ZpZWxkLCBGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtGaWx0ZXJQYW5lbFByb3BzfSBmcm9tICcuLi8uLi9maWx0ZXJzL2ZpbHRlci1wYW5lbHMvdHlwZXMnO1xuaW1wb3J0IHtMYXllcn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuXG5jb25zdCBTdHlsZWRGaWx0ZXJQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbmA7XG5cbmludGVyZmFjZSBGaWx0ZXJQYW5lbFByb3BzSW1wbCBleHRlbmRzIE9taXQ8RmlsdGVyUGFuZWxQcm9wcywgJ2FsbEF2YWlsYWJsZUZpZWxkcyc+IHtcbiAgZmlsdGVyczogRmlsdGVyW107XG4gIGxheWVyczogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIGlzQW55RmlsdGVyQW5pbWF0aW5nOiBib29sZWFuO1xuICB0b2dnbGVBbmltYXRpb246ICgpID0+IHZvaWQ7XG4gIGVubGFyZ2VGaWx0ZXI6ICgpID0+IHZvaWQ7XG4gIHRvZ2dsZUZpbHRlckZlYXR1cmU6ICgpID0+IHZvaWQ7XG59XG5cbkZpbHRlclBhbmVsRmFjdG9yeS5kZXBzID0gW1xuICBOZXdGaWx0ZXJQYW5lbEZhY3RvcnksXG4gIFRpbWVSYW5nZUZpbHRlclBhbmVsRmFjdG9yeSxcbiAgU2luZ2xlU2VsZWN0RmlsdGVyUGFuZWxGYWN0b3J5LFxuICBNdWx0aVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeSxcbiAgUmFuZ2VGaWx0ZXJQYW5lbEZhY3RvcnksXG4gIFBvbHlnb25GaWx0ZXJQYW5lbEZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIEZpbHRlclBhbmVsRmFjdG9yeShcbiAgTmV3RmlsdGVyUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIE5ld0ZpbHRlclBhbmVsRmFjdG9yeT4sXG4gIFRpbWVSYW5nZUZpbHRlclBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBUaW1lUmFuZ2VGaWx0ZXJQYW5lbEZhY3Rvcnk+LFxuICBTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgU2luZ2xlU2VsZWN0RmlsdGVyUGFuZWxGYWN0b3J5PixcbiAgTXVsdGlTZWxlY3RGaWx0ZXJQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTXVsdGlTZWxlY3RGaWx0ZXJQYW5lbEZhY3Rvcnk+LFxuICBSYW5nZUZpbHRlclBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBSYW5nZUZpbHRlclBhbmVsRmFjdG9yeT4sXG4gIFBvbHlnb25GaWx0ZXJQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgUG9seWdvbkZpbHRlclBhbmVsRmFjdG9yeT5cbik6IFJlYWN0LkNvbXBvbmVudFR5cGU8RmlsdGVyUGFuZWxQcm9wc0ltcGw+IHtcbiAgY29uc3QgRmlsdGVyUGFuZWxDb21wb25lbnRzID0ge1xuICAgIGRlZmF1bHQ6IE5ld0ZpbHRlclBhbmVsLFxuICAgIFtGSUxURVJfVFlQRVMudGltZVJhbmdlXTogVGltZVJhbmdlRmlsdGVyUGFuZWwsXG4gICAgW0ZJTFRFUl9UWVBFUy5zZWxlY3RdOiBTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbCxcbiAgICBbRklMVEVSX1RZUEVTLm11bHRpU2VsZWN0XTogTXVsdGlTZWxlY3RGaWx0ZXJQYW5lbCxcbiAgICBbRklMVEVSX1RZUEVTLnJhbmdlXTogUmFuZ2VGaWx0ZXJQYW5lbCxcbiAgICBbRklMVEVSX1RZUEVTLnBvbHlnb25dOiBQb2x5Z29uRmlsdGVyUGFuZWxcbiAgfTtcblxuICByZXR1cm4gY2xhc3MgRmlsdGVyUGFuZWwgZXh0ZW5kcyBDb21wb25lbnQ8RmlsdGVyUGFuZWxQcm9wc0ltcGw+IHtcbiAgICAvKiBzZWxlY3RvcnMgKi9cbiAgICBmaWVsZHNTZWxlY3RvciA9IChwcm9wczogRmlsdGVyUGFuZWxQcm9wc0ltcGwpID0+IHtcbiAgICAgIGNvbnN0IGRhdGFzZXRJZCA9IHByb3BzLmZpbHRlci5kYXRhSWRbMF07XG4gICAgICBpZiAoIWRhdGFzZXRJZCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICByZXR1cm4gZ2V0KHByb3BzLCBbJ2RhdGFzZXRzJywgZGF0YXNldElkLCAnZmllbGRzJ10sIFtdKTtcbiAgICB9O1xuXG4gICAgZmlsdGVyU2VsZWN0b3IgPSAocHJvcHM6IEZpbHRlclBhbmVsUHJvcHNJbXBsKSA9PiBwcm9wcy5maWx0ZXJzO1xuICAgIG5hbWVTZWxlY3RvciA9IChwcm9wczogRmlsdGVyUGFuZWxQcm9wc0ltcGwpID0+IHByb3BzLmZpbHRlci5uYW1lO1xuICAgIGRhdGFJZFNlbGVjdG9yID0gKHByb3BzOiBGaWx0ZXJQYW5lbFByb3BzSW1wbCkgPT4gcHJvcHMuZmlsdGVyLmRhdGFJZFswXTtcblxuICAgIC8vIG9ubHkgc2hvdyBjdXJyZW50IGZpZWxkIGFuZCBmaWVsZCB0aGF0J3Mgbm90IGFscmVhZHkgYmVlbiB1c2VkIGFzIGEgZmlsdGVyXG4gICAgYXZhaWxhYmxlRmllbGRzU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMuZmllbGRzU2VsZWN0b3IsXG4gICAgICB0aGlzLmZpbHRlclNlbGVjdG9yLFxuICAgICAgdGhpcy5uYW1lU2VsZWN0b3IsXG4gICAgICB0aGlzLmRhdGFJZFNlbGVjdG9yLFxuICAgICAgKGZpZWxkcywgZmlsdGVycywgbmFtZSwgZGF0YUlkKSA9PlxuICAgICAgICBmaWVsZHMuZmlsdGVyKFxuICAgICAgICAgIChmOiBGaWVsZCkgPT5cbiAgICAgICAgICAgIGYudHlwZSAmJlxuICAgICAgICAgICAgZi50eXBlICE9PSBBTExfRklFTERfVFlQRVMuZ2VvanNvbiAmJlxuICAgICAgICAgICAgKG5hbWUuaW5jbHVkZXMoZi5uYW1lKSB8fFxuICAgICAgICAgICAgICAhZmlsdGVycy5maW5kKGQgPT4gZC5uYW1lLmluY2x1ZGVzKGYubmFtZSkgJiYgZC5kYXRhSWQuaW5jbHVkZXMoZGF0YUlkKSkpXG4gICAgICAgIClcbiAgICApO1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2ZpbHRlcn0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBjb25zdCB7dHlwZX0gPSBmaWx0ZXI7XG4gICAgICBjb25zdCBGaWx0ZXJGaWx0ZXJDb21wb25lbnQgPVxuICAgICAgICAodHlwZSAmJiBGaWx0ZXJQYW5lbENvbXBvbmVudHNbdHlwZV0pIHx8IEZpbHRlclBhbmVsQ29tcG9uZW50cy5kZWZhdWx0O1xuICAgICAgY29uc3QgYWxsQXZhaWxhYmxlRmllbGRzID0gdGhpcy5hdmFpbGFibGVGaWVsZHNTZWxlY3Rvcih0aGlzLnByb3BzKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZEZpbHRlclBhbmVsIGNsYXNzTmFtZT1cImZpbHRlci1wYW5lbFwiPlxuICAgICAgICAgIDxGaWx0ZXJGaWx0ZXJDb21wb25lbnQgYWxsQXZhaWxhYmxlRmllbGRzPXthbGxBdmFpbGFibGVGaWVsZHN9IHsuLi50aGlzLnByb3BzfSAvPlxuICAgICAgICA8L1N0eWxlZEZpbHRlclBhbmVsPlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZpbHRlclBhbmVsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxJQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFFQSxJQUFBTSxlQUFBLEdBQUFILHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTyxxQkFBQSxHQUFBSixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVEsd0JBQUEsR0FBQUwsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFTLHVCQUFBLEdBQUFOLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVSxpQkFBQSxHQUFBUCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVcsbUJBQUEsR0FBQVIsc0JBQUEsQ0FBQUgsT0FBQTtBQUF5RixJQUFBWSxlQUFB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QUFlLHdCQUFjLEVBQ3RDZixLQUFBLENBQUtnQixjQUFjLEVBQ25CaEIsS0FBQSxDQUFLaUIsY0FBYyxFQUNuQmpCLEtBQUEsQ0FBS2tCLFlBQVksRUFDakJsQixLQUFBLENBQUttQixjQUFjLEVBQ25CLFVBQUNDLE1BQU0sRUFBRVAsT0FBTyxFQUFFQyxJQUFJLEVBQUVGLE1BQU07UUFBQSxPQUM1QlEsTUFBTSxDQUFDVCxNQUFNLENBQ1gsVUFBQzlELENBQVE7VUFBQSxPQUNQQSxDQUFDLENBQUN3RSxJQUFJLElBQ054RSxDQUFDLENBQUN3RSxJQUFJLEtBQUtDLDBCQUFlLENBQUNDLE9BQU8sS0FDakNULElBQUksQ0FBQ1UsUUFBUSxDQUFDM0UsQ0FBQyxDQUFDaUUsSUFBSSxDQUFDLElBQ3BCLENBQUNELE9BQU8sQ0FBQ1ksSUFBSSxDQUFDLFVBQUFDLENBQUM7WUFBQSxPQUFJQSxDQUFDLENBQUNaLElBQUksQ0FBQ1UsUUFBUSxDQUFDM0UsQ0FBQyxDQUFDaUUsSUFBSSxDQUFDLElBQUlZLENBQUMsQ0FBQ2QsTUFBTSxDQUFDWSxRQUFRLENBQUNaLE1BQU0sQ0FBQztVQUFBLEVBQUMsQ0FBQztRQUFBLENBQy9FLENBQUM7TUFBQSxDQUNMLENBQUM7TUFBQSxPQUFBWixLQUFBO0lBQUE7SUFBQSxJQUFBMkIsVUFBQSxhQUFBNUIsV0FBQSxFQUFBRCxVQUFBO0lBQUEsV0FBQThCLGFBQUEsYUFBQTdCLFdBQUE7TUFBQThCLEdBQUE7TUFBQUMsS0FBQSxFQUVELFNBQUFDLE1BQU1BLENBQUEsRUFBRztRQUNQLElBQU9wQixNQUFNLEdBQUksSUFBSSxDQUFDRixLQUFLLENBQXBCRSxNQUFNO1FBRWIsSUFBT1UsSUFBSSxHQUFJVixNQUFNLENBQWRVLElBQUk7UUFDWCxJQUFNVyxxQkFBcUIsR0FDeEJYLElBQUksSUFBSS9CLHFCQUFxQixDQUFDK0IsSUFBSSxDQUFDLElBQUsvQixxQkFBcUIsV0FBUTtRQUN4RSxJQUFNMkMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUN6QixLQUFLLENBQUM7UUFFbkUsb0JBQ0VuRixNQUFBLFlBQUE2RyxhQUFBLENBQUMvRCxpQkFBaUI7VUFBQ2dFLFNBQVMsRUFBQztRQUFjLGdCQUN6QzlHLE1BQUEsWUFBQTZHLGFBQUEsQ0FBQ0gscUJBQXFCLE1BQUFLLFNBQUE7VUFBQ0osa0JBQWtCLEVBQUVBO1FBQW1CLEdBQUssSUFBSSxDQUFDeEIsS0FBSyxDQUFHLENBQy9ELENBQUM7TUFFeEI7SUFBQztFQUFBLEVBM0M4QjZCLGdCQUFTO0FBNkM1QztBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxjQUVjaEUsa0JBQWtCIiwiaWdub3JlTGlzdCI6W119
|
|
92
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVzZWxlY3QiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ2V0IiwiX2NvbnN0YW50cyIsIl9uZXdGaWx0ZXJQYW5lbCIsIl90aW1lUmFuZ2VGaWx0ZXJQYW5lbCIsIl9zaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbCIsIl9tdWx0aVNlbGVjdEZpbHRlclBhbmVsIiwiX3JhbmdlRmlsdGVyUGFuZWwiLCJfcG9seWdvbkZpbHRlclBhbmVsIiwiX3RlbXBsYXRlT2JqZWN0IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiU3R5bGVkRmlsdGVyUGFuZWwiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIkZpbHRlclBhbmVsRmFjdG9yeSIsImRlcHMiLCJOZXdGaWx0ZXJQYW5lbEZhY3RvcnkiLCJUaW1lUmFuZ2VGaWx0ZXJQYW5lbEZhY3RvcnkiLCJTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbEZhY3RvcnkiLCJNdWx0aVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeSIsIlJhbmdlRmlsdGVyUGFuZWxGYWN0b3J5IiwiUG9seWdvbkZpbHRlclBhbmVsRmFjdG9yeSIsIk5ld0ZpbHRlclBhbmVsIiwiVGltZVJhbmdlRmlsdGVyUGFuZWwiLCJTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbCIsIk11bHRpU2VsZWN0RmlsdGVyUGFuZWwiLCJSYW5nZUZpbHRlclBhbmVsIiwiUG9seWdvbkZpbHRlclBhbmVsIiwiRmlsdGVyUGFuZWxDb21wb25lbnRzIiwiX2RlZmluZVByb3BlcnR5MiIsIkZJTFRFUl9UWVBFUyIsInRpbWVSYW5nZSIsInNlbGVjdCIsIm11bHRpU2VsZWN0IiwicmFuZ2UiLCJwb2x5Z29uIiwiX0NvbXBvbmVudCIsIkZpbHRlclBhbmVsIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJwcm9wcyIsImRhdGFzZXRJZCIsImZpbHRlciIsImRhdGFJZCIsImZpbHRlcnMiLCJuYW1lIiwiY3JlYXRlU2VsZWN0b3IiLCJmaWVsZHNTZWxlY3RvciIsImZpbHRlclNlbGVjdG9yIiwibmFtZVNlbGVjdG9yIiwiZGF0YUlkU2VsZWN0b3IiLCJmaWVsZHMiLCJ0eXBlIiwiQUxMX0ZJRUxEX1RZUEVTIiwiZ2VvanNvbiIsImluY2x1ZGVzIiwiZmluZCIsImQiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwicmVuZGVyIiwiRmlsdGVyRmlsdGVyQ29tcG9uZW50IiwiYWxsQXZhaWxhYmxlRmllbGRzIiwiYXZhaWxhYmxlRmllbGRzU2VsZWN0b3IiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiX2V4dGVuZHMyIiwiQ29tcG9uZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvZmlsdGVyLXBhbmVsL2ZpbHRlci1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBnZXQgZnJvbSAnZXMtdG9vbGtpdC9jb21wYXQvZ2V0JztcbmltcG9ydCB7QUxMX0ZJRUxEX1RZUEVTLCBGSUxURVJfVFlQRVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW1wb3J0IE5ld0ZpbHRlclBhbmVsRmFjdG9yeSBmcm9tICcuLi8uLi9maWx0ZXJzL2ZpbHRlci1wYW5lbHMvbmV3LWZpbHRlci1wYW5lbCc7XG5pbXBvcnQgVGltZVJhbmdlRmlsdGVyUGFuZWxGYWN0b3J5IGZyb20gJy4uLy4uL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy90aW1lLXJhbmdlLWZpbHRlci1wYW5lbCc7XG5pbXBvcnQgU2luZ2xlU2VsZWN0RmlsdGVyUGFuZWxGYWN0b3J5IGZyb20gJy4uLy4uL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy9zaW5nbGUtc2VsZWN0LWZpbHRlci1wYW5lbCc7XG5pbXBvcnQgTXVsdGlTZWxlY3RGaWx0ZXJQYW5lbEZhY3RvcnkgZnJvbSAnLi4vLi4vZmlsdGVycy9maWx0ZXItcGFuZWxzL211bHRpLXNlbGVjdC1maWx0ZXItcGFuZWwnO1xuaW1wb3J0IFJhbmdlRmlsdGVyUGFuZWxGYWN0b3J5IGZyb20gJy4uLy4uL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy9yYW5nZS1maWx0ZXItcGFuZWwnO1xuaW1wb3J0IFBvbHlnb25GaWx0ZXJQYW5lbEZhY3RvcnkgZnJvbSAnLi4vLi4vZmlsdGVycy9maWx0ZXItcGFuZWxzL3BvbHlnb24tZmlsdGVyLXBhbmVsJztcbmltcG9ydCB7RmllbGQsIEZpbHRlcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0ZpbHRlclBhbmVsUHJvcHN9IGZyb20gJy4uLy4uL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy90eXBlcyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5cbmNvbnN0IFN0eWxlZEZpbHRlclBhbmVsID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuYDtcblxuaW50ZXJmYWNlIEZpbHRlclBhbmVsUHJvcHNJbXBsIGV4dGVuZHMgT21pdDxGaWx0ZXJQYW5lbFByb3BzLCAnYWxsQXZhaWxhYmxlRmllbGRzJz4ge1xuICBmaWx0ZXJzOiBGaWx0ZXJbXTtcbiAgbGF5ZXJzOiBSZWFkb25seUFycmF5PExheWVyPjtcbiAgaXNBbnlGaWx0ZXJBbmltYXRpbmc6IGJvb2xlYW47XG4gIHRvZ2dsZUFuaW1hdGlvbjogKCkgPT4gdm9pZDtcbiAgZW5sYXJnZUZpbHRlcjogKCkgPT4gdm9pZDtcbiAgdG9nZ2xlRmlsdGVyRmVhdHVyZTogKCkgPT4gdm9pZDtcbn1cblxuRmlsdGVyUGFuZWxGYWN0b3J5LmRlcHMgPSBbXG4gIE5ld0ZpbHRlclBhbmVsRmFjdG9yeSxcbiAgVGltZVJhbmdlRmlsdGVyUGFuZWxGYWN0b3J5LFxuICBTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbEZhY3RvcnksXG4gIE11bHRpU2VsZWN0RmlsdGVyUGFuZWxGYWN0b3J5LFxuICBSYW5nZUZpbHRlclBhbmVsRmFjdG9yeSxcbiAgUG9seWdvbkZpbHRlclBhbmVsRmFjdG9yeVxuXTtcblxuZnVuY3Rpb24gRmlsdGVyUGFuZWxGYWN0b3J5KFxuICBOZXdGaWx0ZXJQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTmV3RmlsdGVyUGFuZWxGYWN0b3J5PixcbiAgVGltZVJhbmdlRmlsdGVyUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIFRpbWVSYW5nZUZpbHRlclBhbmVsRmFjdG9yeT4sXG4gIFNpbmdsZVNlbGVjdEZpbHRlclBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbEZhY3Rvcnk+LFxuICBNdWx0aVNlbGVjdEZpbHRlclBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBNdWx0aVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeT4sXG4gIFJhbmdlRmlsdGVyUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIFJhbmdlRmlsdGVyUGFuZWxGYWN0b3J5PixcbiAgUG9seWdvbkZpbHRlclBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBQb2x5Z29uRmlsdGVyUGFuZWxGYWN0b3J5PlxuKTogUmVhY3QuQ29tcG9uZW50VHlwZTxGaWx0ZXJQYW5lbFByb3BzSW1wbD4ge1xuICBjb25zdCBGaWx0ZXJQYW5lbENvbXBvbmVudHMgPSB7XG4gICAgZGVmYXVsdDogTmV3RmlsdGVyUGFuZWwsXG4gICAgW0ZJTFRFUl9UWVBFUy50aW1lUmFuZ2VdOiBUaW1lUmFuZ2VGaWx0ZXJQYW5lbCxcbiAgICBbRklMVEVSX1RZUEVTLnNlbGVjdF06IFNpbmdsZVNlbGVjdEZpbHRlclBhbmVsLFxuICAgIFtGSUxURVJfVFlQRVMubXVsdGlTZWxlY3RdOiBNdWx0aVNlbGVjdEZpbHRlclBhbmVsLFxuICAgIFtGSUxURVJfVFlQRVMucmFuZ2VdOiBSYW5nZUZpbHRlclBhbmVsLFxuICAgIFtGSUxURVJfVFlQRVMucG9seWdvbl06IFBvbHlnb25GaWx0ZXJQYW5lbFxuICB9O1xuXG4gIHJldHVybiBjbGFzcyBGaWx0ZXJQYW5lbCBleHRlbmRzIENvbXBvbmVudDxGaWx0ZXJQYW5lbFByb3BzSW1wbD4ge1xuICAgIC8qIHNlbGVjdG9ycyAqL1xuICAgIGZpZWxkc1NlbGVjdG9yID0gKHByb3BzOiBGaWx0ZXJQYW5lbFByb3BzSW1wbCkgPT4ge1xuICAgICAgY29uc3QgZGF0YXNldElkID0gcHJvcHMuZmlsdGVyLmRhdGFJZFswXTtcbiAgICAgIGlmICghZGF0YXNldElkKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBnZXQocHJvcHMsIFsnZGF0YXNldHMnLCBkYXRhc2V0SWQsICdmaWVsZHMnXSwgW10pO1xuICAgIH07XG5cbiAgICBmaWx0ZXJTZWxlY3RvciA9IChwcm9wczogRmlsdGVyUGFuZWxQcm9wc0ltcGwpID0+IHByb3BzLmZpbHRlcnM7XG4gICAgbmFtZVNlbGVjdG9yID0gKHByb3BzOiBGaWx0ZXJQYW5lbFByb3BzSW1wbCkgPT4gcHJvcHMuZmlsdGVyLm5hbWU7XG4gICAgZGF0YUlkU2VsZWN0b3IgPSAocHJvcHM6IEZpbHRlclBhbmVsUHJvcHNJbXBsKSA9PiBwcm9wcy5maWx0ZXIuZGF0YUlkWzBdO1xuXG4gICAgLy8gb25seSBzaG93IGN1cnJlbnQgZmllbGQgYW5kIGZpZWxkIHRoYXQncyBub3QgYWxyZWFkeSBiZWVuIHVzZWQgYXMgYSBmaWx0ZXJcbiAgICBhdmFpbGFibGVGaWVsZHNTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgdGhpcy5maWVsZHNTZWxlY3RvcixcbiAgICAgIHRoaXMuZmlsdGVyU2VsZWN0b3IsXG4gICAgICB0aGlzLm5hbWVTZWxlY3RvcixcbiAgICAgIHRoaXMuZGF0YUlkU2VsZWN0b3IsXG4gICAgICAoZmllbGRzLCBmaWx0ZXJzLCBuYW1lLCBkYXRhSWQpID0+XG4gICAgICAgIGZpZWxkcy5maWx0ZXIoXG4gICAgICAgICAgKGY6IEZpZWxkKSA9PlxuICAgICAgICAgICAgZi50eXBlICYmXG4gICAgICAgICAgICBmLnR5cGUgIT09IEFMTF9GSUVMRF9UWVBFUy5nZW9qc29uICYmXG4gICAgICAgICAgICAobmFtZS5pbmNsdWRlcyhmLm5hbWUpIHx8XG4gICAgICAgICAgICAgICFmaWx0ZXJzLmZpbmQoZCA9PiBkLm5hbWUuaW5jbHVkZXMoZi5uYW1lKSAmJiBkLmRhdGFJZC5pbmNsdWRlcyhkYXRhSWQpKSlcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7ZmlsdGVyfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IHt0eXBlfSA9IGZpbHRlcjtcbiAgICAgIGNvbnN0IEZpbHRlckZpbHRlckNvbXBvbmVudCA9XG4gICAgICAgICh0eXBlICYmIEZpbHRlclBhbmVsQ29tcG9uZW50c1t0eXBlXSkgfHwgRmlsdGVyUGFuZWxDb21wb25lbnRzLmRlZmF1bHQ7XG4gICAgICBjb25zdCBhbGxBdmFpbGFibGVGaWVsZHMgPSB0aGlzLmF2YWlsYWJsZUZpZWxkc1NlbGVjdG9yKHRoaXMucHJvcHMpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkRmlsdGVyUGFuZWwgY2xhc3NOYW1lPVwiZmlsdGVyLXBhbmVsXCI+XG4gICAgICAgICAgPEZpbHRlckZpbHRlckNvbXBvbmVudCBhbGxBdmFpbGFibGVGaWVsZHM9e2FsbEF2YWlsYWJsZUZpZWxkc30gey4uLnRoaXMucHJvcHN9IC8+XG4gICAgICAgIDwvU3R5bGVkRmlsdGVyUGFuZWw+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVyUGFuZWxGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLElBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLGVBQUEsR0FBQUgsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFPLHFCQUFBLEdBQUFKLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBUSx3QkFBQSxHQUFBTCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVMsdUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFVLGlCQUFBLEdBQUFQLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVyxtQkFBQSxHQUFBUixzQkFBQSxDQUFBSCxPQUFBO0FBQXlG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
|
|
@@ -28,7 +28,8 @@ var _panelHeaderAction = _interopRequireDefault(require("./panel-header-action")
|
|
|
28
28
|
var _icons = require("../common/icons");
|
|
29
29
|
var _excluded = ["rasterTile"],
|
|
30
30
|
_excluded2 = ["wms"],
|
|
31
|
-
_excluded3 = ["flow"]
|
|
31
|
+
_excluded3 = ["flow"],
|
|
32
|
+
_excluded4 = ["a5"];
|
|
32
33
|
var _templateObject, _templateObject2;
|
|
33
34
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
34
35
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -132,6 +133,7 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
|
|
|
132
133
|
var enableRasterTileLayer = (0, _utils.getApplicationConfig)().enableRasterTileLayer;
|
|
133
134
|
var enableWMSLayer = (0, _utils.getApplicationConfig)().enableWMSLayer;
|
|
134
135
|
var enableFlowLayer = (0, _utils.getApplicationConfig)().enableFlowLayer;
|
|
136
|
+
var enableA5Layer = (0, _utils.getApplicationConfig)().enableA5Layer;
|
|
135
137
|
var enableLayerGroups = (0, _utils.getApplicationConfig)().enableLayerGroups;
|
|
136
138
|
var filteredLayerClasses = (0, _react.useMemo)(function () {
|
|
137
139
|
var filteredClasses = layerClasses;
|
|
@@ -153,8 +155,14 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
|
|
|
153
155
|
_rest2 = (0, _objectWithoutProperties2["default"])(_filteredClasses3, _excluded3);
|
|
154
156
|
filteredClasses = _rest2;
|
|
155
157
|
}
|
|
158
|
+
if (!enableA5Layer) {
|
|
159
|
+
var _filteredClasses4 = filteredClasses,
|
|
160
|
+
_a5 = _filteredClasses4.a5,
|
|
161
|
+
_rest3 = (0, _objectWithoutProperties2["default"])(_filteredClasses4, _excluded4);
|
|
162
|
+
filteredClasses = _rest3;
|
|
163
|
+
}
|
|
156
164
|
return filteredClasses;
|
|
157
|
-
}, [enableRasterTileLayer, enableWMSLayer, enableFlowLayer, layerClasses]);
|
|
165
|
+
}, [enableRasterTileLayer, enableWMSLayer, enableFlowLayer, enableA5Layer, layerClasses]);
|
|
158
166
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
159
167
|
className: "layer-manager"
|
|
160
168
|
}, /*#__PURE__*/_react["default"].createElement(_styledComponents2.SidePanelSection, null, /*#__PURE__*/_react["default"].createElement(PanelViewListToggle, {
|
|
@@ -221,4 +229,4 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
|
|
|
221
229
|
return (0, _reactIntl.injectIntl)(LayerManager);
|
|
222
230
|
}
|
|
223
231
|
var _default = exports["default"] = LayerManagerFactory;
|
|
224
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RJbnRsIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2xvY2FsaXphdGlvbiIsIl9sYXllckxpc3QiLCJfZGF0YXNldExheWVyR3JvdXAiLCJfcGFuZWxWaWV3TGlzdFRvZ2dsZSIsIl9wYW5lbFRpdGxlIiwiX2RhdGFzZXRTZWN0aW9uIiwiX2FkZExheWVyQnV0dG9uIiwiX2l0ZW1TZWxlY3RvciIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pbmZvSGVscGVyIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9wYW5lbEhlYWRlckFjdGlvbiIsIl9pY29ucyIsIl9leGNsdWRlZCIsIl9leGNsdWRlZDIiLCJfZXhjbHVkZWQzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJMYXllckJsZW5kaW5nU2VsZWN0b3IiLCJleHBvcnRzIiwiUmVhY3QiLCJtZW1vIiwiX3JlZiIsImxheWVyQmxlbmRpbmciLCJ1cGRhdGVMYXllckJsZW5kaW5nIiwiaW50bCIsImNsYXNzTmFtZSIsImxhYmVsZWRMYXllckJsZW5kaW5ncyIsIkxBWUVSX0JMRU5ESU5HUyIsInJlZHVjZSIsImFjYyIsImN1cnJlbnQiLCJmb3JtYXRNZXNzYWdlIiwiaWQiLCJsYWJlbCIsIm9uQ2hhbmdlIiwidXNlQ2FsbGJhY2siLCJibGVuZGluZyIsImNyZWF0ZUVsZW1lbnQiLCJTaWRlUGFuZWxTZWN0aW9uIiwiUGFuZWxMYWJlbCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJzZWxlY3RlZEl0ZW1zIiwib3B0aW9ucyIsIm11bHRpU2VsZWN0Iiwic2VhcmNoYWJsZSIsImRpc3BsYXlOYW1lIiwiSW5mb0hlbHBlcldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIk92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yVGl0bGVSb3ciLCJPdmVybGF5QmxlbmRpbmdTZWxlY3RvciIsIl9yZWYyIiwib3ZlcmxheUJsZW5kaW5nIiwidXBkYXRlT3ZlcmxheUJsZW5kaW5nIiwiaW5mb0hlbHBlciIsImxhYmVsZWRPdmVybGF5QmxlbmRpbmdzIiwiT1ZFUkxBWV9CTEVORElOR1MiLCJMYXllck1hbmFnZXJGYWN0b3J5IiwiZGVwcyIsIkxheWVyTGlzdEZhY3RvcnkiLCJEYXRhc2V0TGF5ZXJHcm91cEZhY3RvcnkiLCJQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeSIsIlBhbmVsVGl0bGVGYWN0b3J5IiwiRGF0YXNldFNlY3Rpb25GYWN0b3J5IiwiQWRkTGF5ZXJCdXR0b25GYWN0b3J5IiwiSW5mb0hlbHBlckZhY3RvcnkiLCJQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkiLCJMYXllckxpc3QiLCJEYXRhc2V0TGF5ZXJHcm91cCIsIlBhbmVsVmlld0xpc3RUb2dnbGUiLCJQYW5lbFRpdGxlIiwiRGF0YXNldFNlY3Rpb24iLCJBZGRMYXllckJ1dHRvbiIsIkluZm9IZWxwZXIiLCJQYW5lbEhlYWRlckFjdGlvbiIsIkxheWVyTWFuYWdlciIsIl9yZWYzIiwibGF5ZXJzIiwiZGF0YXNldHMiLCJsYXllck9yZGVyIiwicGFuZWxMaXN0VmlldyIsInBhbmVsTWV0YWRhdGEiLCJsYXllckNsYXNzZXMiLCJzaG93QWRkRGF0YU1vZGFsIiwiX3JlZjMkc2hvd0RlbGV0ZURhdGFzIiwic2hvd0RlbGV0ZURhdGFzZXQiLCJ1cGRhdGVUYWJsZUNvbG9yIiwic2hvd0RhdGFzZXRUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJ1aVN0YXRlQWN0aW9ucyIsInZpc1N0YXRlQWN0aW9ucyIsIm1hcFN0YXRlQWN0aW9ucyIsIm1hcFN0YXRlIiwiYWRkTGF5ZXIiLCJ0b2dnbGVQYW5lbExpc3RWaWV3Iiwib25BZGRMYXllciIsImRhdGFzZXQiLCJ1bmRlZmluZWQiLCJvbkFkZEdyb3VwIiwiYWRkTGF5ZXJHcm91cCIsIm9uVG9nZ2xlUGFuZWxMaXN0VmlldyIsImxpc3RWaWV3IiwicGFuZWxJZCIsImlzU29ydEJ5RGF0YXNldE1vZGUiLCJQQU5FTF9WSUVXX1RPR0dMRVMiLCJieURhdGFzZXQiLCJlbmFibGVSYXN0ZXJUaWxlTGF5ZXIiLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsImVuYWJsZVdNU0xheWVyIiwiZW5hYmxlRmxvd0xheWVyIiwiZW5hYmxlTGF5ZXJHcm91cHMiLCJmaWx0ZXJlZExheWVyQ2xhc3NlcyIsInVzZU1lbW8iLCJmaWx0ZXJlZENsYXNzZXMiLCJfZmlsdGVyZWRDbGFzc2VzIiwiX3Jhc3RlclRpbGUiLCJyYXN0ZXJUaWxlIiwicmVzdCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJfZmlsdGVyZWRDbGFzc2VzMiIsIl93bXMiLCJ3bXMiLCJfZmlsdGVyZWRDbGFzc2VzMyIsIl9mbG93IiwiZmxvdyIsIm1vZGUiLCJzaG93RGF0YXNldExpc3QiLCJTaWRlUGFuZWxEaXZpZGVyIiwidGl0bGUiLCJvbkNsaWNrIiwiSWNvbkNvbXBvbmVudCIsIkZvbGRlciIsInRvb2x0aXAiLCJvbkFkZCIsImRlc2NyaXB0aW9uIiwiaW5qZWN0SW50bCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtpbmplY3RJbnRsLCBXcmFwcGVkQ29tcG9uZW50UHJvcHN9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IExheWVyTGlzdEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9sYXllci1saXN0JztcbmltcG9ydCBEYXRhc2V0TGF5ZXJHcm91cEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9kYXRhc2V0LWxheWVyLWdyb3VwJztcbmltcG9ydCBQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeSBmcm9tICcuL3BhbmVsLXZpZXctbGlzdC10b2dnbGUnO1xuaW1wb3J0IFBhbmVsVGl0bGVGYWN0b3J5IGZyb20gJy4vcGFuZWwtdGl0bGUnO1xuaW1wb3J0IERhdGFzZXRTZWN0aW9uRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsL2RhdGFzZXQtc2VjdGlvbic7XG5pbXBvcnQgQWRkTGF5ZXJCdXR0b25GYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwvYWRkLWxheWVyLWJ1dHRvbic7XG5cbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge1BhbmVsTGFiZWwsIFNpZGVQYW5lbERpdmlkZXIsIFNpZGVQYW5lbFNlY3Rpb259IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgSW5mb0hlbHBlckZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL2luZm8taGVscGVyJztcblxuaW1wb3J0IHtMQVlFUl9CTEVORElOR1MsIE9WRVJMQVlfQkxFTkRJTkdTLCBQQU5FTF9WSUVXX1RPR0dMRVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7TGF5ZXIsIExheWVyQ2xhc3Nlc1R5cGV9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7VUlTdGF0ZUFjdGlvbnMsIFZpc1N0YXRlQWN0aW9ucywgTWFwU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtTaWRlUGFuZWxJdGVtfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge01hcFN0YXRlLCBQYW5lbExpc3RWaWV3LCBMYXllck9yZGVyfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4vcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5pbXBvcnQge0ZvbGRlcn0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcblxudHlwZSBMYXllckJsZW5kaW5nU2VsZWN0b3JQcm9wcyA9IHtcbiAgbGF5ZXJCbGVuZGluZzogc3RyaW5nO1xuICB1cGRhdGVMYXllckJsZW5kaW5nOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMudXBkYXRlTGF5ZXJCbGVuZGluZz47XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn0gJiBXcmFwcGVkQ29tcG9uZW50UHJvcHM7XG5cbnR5cGUgT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JQcm9wcyA9IHtcbiAgb3ZlcmxheUJsZW5kaW5nOiBzdHJpbmc7XG4gIHVwZGF0ZU92ZXJsYXlCbGVuZGluZzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZU92ZXJsYXlCbGVuZGluZz47XG4gIGluZm9IZWxwZXI6IFJlYWN0LlJlYWN0Tm9kZTtcbn0gJiBXcmFwcGVkQ29tcG9uZW50UHJvcHM7XG5cbnR5cGUgTGF5ZXJNYW5hZ2VyUHJvcHMgPSB7XG4gIGRhdGFzZXRzOiBEYXRhc2V0cztcbiAgbGF5ZXJzOiBMYXllcltdO1xuICBsYXllck9yZGVyOiBMYXllck9yZGVyO1xuICBsYXllckNsYXNzZXM6IExheWVyQ2xhc3Nlc1R5cGU7XG4gIGxheWVyQmxlbmRpbmc6IHN0cmluZztcbiAgb3ZlcmxheUJsZW5kaW5nOiBzdHJpbmc7XG4gIHVpU3RhdGVBY3Rpb25zOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnM7XG4gIHZpc1N0YXRlQWN0aW9uczogdHlwZW9mIFZpc1N0YXRlQWN0aW9ucztcbiAgbWFwU3RhdGVBY3Rpb25zOiB0eXBlb2YgTWFwU3RhdGVBY3Rpb25zO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICBzaG93QWRkRGF0YU1vZGFsOiAoKSA9PiB2b2lkO1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5vcGVuRGVsZXRlTW9kYWw+O1xuICBzaG93RGF0YXNldFRhYmxlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMuc2hvd0RhdGFzZXRUYWJsZT47XG4gIHVwZGF0ZVRhYmxlQ29sb3I6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy51cGRhdGVUYWJsZUNvbG9yPjtcbiAgcGFuZWxMaXN0VmlldzogUGFuZWxMaXN0VmlldztcbiAgcGFuZWxNZXRhZGF0YTogU2lkZVBhbmVsSXRlbTtcbiAgc2hvd0RlbGV0ZURhdGFzZXQ/OiBib29sZWFuO1xufSAmIFdyYXBwZWRDb21wb25lbnRQcm9wcztcblxuZXhwb3J0IGNvbnN0IExheWVyQmxlbmRpbmdTZWxlY3RvciA9IFJlYWN0Lm1lbW8oXG4gICh7bGF5ZXJCbGVuZGluZywgdXBkYXRlTGF5ZXJCbGVuZGluZywgaW50bCwgY2xhc3NOYW1lfTogTGF5ZXJCbGVuZGluZ1NlbGVjdG9yUHJvcHMpID0+IHtcbiAgICBjb25zdCBsYWJlbGVkTGF5ZXJCbGVuZGluZ3MgPSBPYmplY3Qua2V5cyhMQVlFUl9CTEVORElOR1MpLnJlZHVjZShcbiAgICAgIChhY2MsIGN1cnJlbnQpID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IExBWUVSX0JMRU5ESU5HU1tjdXJyZW50XS5sYWJlbH0pXTogY3VycmVudFxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgYmxlbmRpbmcgPT4gdXBkYXRlTGF5ZXJCbGVuZGluZyhsYWJlbGVkTGF5ZXJCbGVuZGluZ3NbYmxlbmRpbmddKSxcbiAgICAgIFt1cGRhdGVMYXllckJsZW5kaW5nLCBsYWJlbGVkTGF5ZXJCbGVuZGluZ3NdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibGF5ZXJCbGVuZGluZy50aXRsZVwiIC8+XG4gICAgICAgIDwvUGFuZWxMYWJlbD5cbiAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IExBWUVSX0JMRU5ESU5HU1tsYXllckJsZW5kaW5nXS5sYWJlbH0pfVxuICAgICAgICAgIG9wdGlvbnM9e09iamVjdC5rZXlzKGxhYmVsZWRMYXllckJsZW5kaW5ncyl9XG4gICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9XG4pO1xuTGF5ZXJCbGVuZGluZ1NlbGVjdG9yLmRpc3BsYXlOYW1lID0gJ0xheWVyQmxlbmRpbmdTZWxlY3Rvcic7XG5cbmNvbnN0IEluZm9IZWxwZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxvYXQ6IHJpZ2h0O1xuYDtcblxuY29uc3QgT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JUaXRsZVJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBPdmVybGF5QmxlbmRpbmdTZWxlY3RvciA9IFJlYWN0Lm1lbW8oXG4gICh7b3ZlcmxheUJsZW5kaW5nLCB1cGRhdGVPdmVybGF5QmxlbmRpbmcsIGludGwsIGluZm9IZWxwZXJ9OiBPdmVybGF5QmxlbmRpbmdTZWxlY3RvclByb3BzKSA9PiB7XG4gICAgY29uc3QgbGFiZWxlZE92ZXJsYXlCbGVuZGluZ3MgPSBPYmplY3Qua2V5cyhPVkVSTEFZX0JMRU5ESU5HUykucmVkdWNlKFxuICAgICAgKGFjYywgY3VycmVudCkgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogT1ZFUkxBWV9CTEVORElOR1NbY3VycmVudF0ubGFiZWx9KV06IGN1cnJlbnRcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgIGJsZW5kaW5nID0+IHVwZGF0ZU92ZXJsYXlCbGVuZGluZyhsYWJlbGVkT3ZlcmxheUJsZW5kaW5nc1tibGVuZGluZ10pLFxuICAgICAgW3VwZGF0ZU92ZXJsYXlCbGVuZGluZywgbGFiZWxlZE92ZXJsYXlCbGVuZGluZ3NdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgPE92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yVGl0bGVSb3c+XG4gICAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm92ZXJsYXlCbGVuZGluZy50aXRsZVwiIC8+XG4gICAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgICAgIDxJbmZvSGVscGVyV3JhcHBlcj57aW5mb0hlbHBlcn08L0luZm9IZWxwZXJXcmFwcGVyPlxuICAgICAgICA8L092ZXJsYXlCbGVuZGluZ1NlbGVjdG9yVGl0bGVSb3c+XG4gICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBPVkVSTEFZX0JMRU5ESU5HU1tvdmVybGF5QmxlbmRpbmddLmxhYmVsfSl9XG4gICAgICAgICAgb3B0aW9ucz17T2JqZWN0LmtleXMobGFiZWxlZE92ZXJsYXlCbGVuZGluZ3MpfVxuICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgKTtcbiAgfVxuKTtcbk92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yLmRpc3BsYXlOYW1lID0gJ092ZXJsYXlCbGVuZGluZ1NlbGVjdG9yJztcblxuTGF5ZXJNYW5hZ2VyRmFjdG9yeS5kZXBzID0gW1xuICBMYXllckxpc3RGYWN0b3J5LFxuICBEYXRhc2V0TGF5ZXJHcm91cEZhY3RvcnksXG4gIFBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5LFxuICBQYW5lbFRpdGxlRmFjdG9yeSxcbiAgRGF0YXNldFNlY3Rpb25GYWN0b3J5LFxuICBBZGRMYXllckJ1dHRvbkZhY3RvcnksXG4gIEluZm9IZWxwZXJGYWN0b3J5LFxuICBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIExheWVyTWFuYWdlckZhY3RvcnkoXG4gIExheWVyTGlzdDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJMaXN0RmFjdG9yeT4sXG4gIERhdGFzZXRMYXllckdyb3VwOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhc2V0TGF5ZXJHcm91cEZhY3Rvcnk+LFxuICBQYW5lbFZpZXdMaXN0VG9nZ2xlOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeT4sXG4gIFBhbmVsVGl0bGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVGl0bGVGYWN0b3J5PixcbiAgRGF0YXNldFNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRTZWN0aW9uRmFjdG9yeT4sXG4gIEFkZExheWVyQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBBZGRMYXllckJ1dHRvbkZhY3Rvcnk+LFxuICBJbmZvSGVscGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBJbmZvSGVscGVyRmFjdG9yeT4sXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJNYW5hZ2VyOiBSZWFjdC5GQzxMYXllck1hbmFnZXJQcm9wcz4gPSAoe1xuICAgIGxheWVycyxcbiAgICBkYXRhc2V0cyxcbiAgICBpbnRsLFxuICAgIGxheWVyT3JkZXIsXG4gICAgcGFuZWxMaXN0VmlldyxcbiAgICBwYW5lbE1ldGFkYXRhLFxuICAgIGxheWVyQ2xhc3NlcyxcbiAgICBsYXllckJsZW5kaW5nLFxuICAgIG92ZXJsYXlCbGVuZGluZyxcbiAgICBzaG93QWRkRGF0YU1vZGFsLFxuICAgIHNob3dEZWxldGVEYXRhc2V0ID0gdHJ1ZSxcbiAgICB1cGRhdGVUYWJsZUNvbG9yLFxuICAgIHNob3dEYXRhc2V0VGFibGUsXG4gICAgcmVtb3ZlRGF0YXNldCxcbiAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgbWFwU3RhdGVBY3Rpb25zLFxuICAgIG1hcFN0YXRlXG4gIH0pID0+IHtcbiAgICBjb25zdCB7YWRkTGF5ZXJ9ID0gdmlzU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IHt0b2dnbGVQYW5lbExpc3RWaWV3fSA9IHVpU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IG9uQWRkTGF5ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAgIChkYXRhc2V0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgYWRkTGF5ZXIodW5kZWZpbmVkLCBkYXRhc2V0KTtcbiAgICAgIH0sXG4gICAgICBbYWRkTGF5ZXJdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uQWRkR3JvdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICB2aXNTdGF0ZUFjdGlvbnMuYWRkTGF5ZXJHcm91cCh7fSk7XG4gICAgfSwgW3Zpc1N0YXRlQWN0aW9uc10pO1xuXG4gICAgY29uc3Qgb25Ub2dnbGVQYW5lbExpc3RWaWV3ID0gdXNlQ2FsbGJhY2soXG4gICAgICAobGlzdFZpZXc6IHN0cmluZykgPT4ge1xuICAgICAgICB0b2dnbGVQYW5lbExpc3RWaWV3KHtwYW5lbElkOiAnbGF5ZXInLCBsaXN0Vmlld30pO1xuICAgICAgfSxcbiAgICAgIFt0b2dnbGVQYW5lbExpc3RWaWV3XVxuICAgICk7XG5cbiAgICBjb25zdCBpc1NvcnRCeURhdGFzZXRNb2RlID0gcGFuZWxMaXN0VmlldyA9PT0gUEFORUxfVklFV19UT0dHTEVTLmJ5RGF0YXNldDtcblxuICAgIC8vIHRlbXAgcGF0Y2ggdG8gaGlkZSBsYXllcnMgdGhhdCBhcmUgaW4gZGV2ZWxvcG1lbnRcbiAgICBjb25zdCBlbmFibGVSYXN0ZXJUaWxlTGF5ZXIgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZVJhc3RlclRpbGVMYXllcjtcbiAgICBjb25zdCBlbmFibGVXTVNMYXllciA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlV01TTGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlRmxvd0xheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVGbG93TGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlTGF5ZXJHcm91cHMgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZUxheWVyR3JvdXBzO1xuXG4gICAgY29uc3QgZmlsdGVyZWRMYXllckNsYXNzZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGxldCBmaWx0ZXJlZENsYXNzZXMgPSBsYXllckNsYXNzZXM7XG4gICAgICBpZiAoIWVuYWJsZVJhc3RlclRpbGVMYXllcikge1xuICAgICAgICBjb25zdCB7cmFzdGVyVGlsZTogX3Jhc3RlclRpbGUsIC4uLnJlc3R9ID0gZmlsdGVyZWRDbGFzc2VzO1xuICAgICAgICBmaWx0ZXJlZENsYXNzZXMgPSByZXN0IGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgICB9XG4gICAgICBpZiAoIWVuYWJsZVdNU0xheWVyKSB7XG4gICAgICAgIGNvbnN0IHt3bXM6IF93bXMsIC4uLnJlc3R9ID0gZmlsdGVyZWRDbGFzc2VzO1xuICAgICAgICBmaWx0ZXJlZENsYXNzZXMgPSByZXN0IGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgICB9XG4gICAgICBpZiAoIWVuYWJsZUZsb3dMYXllcikge1xuICAgICAgICBjb25zdCB7ZmxvdzogX2Zsb3csIC4uLnJlc3R9ID0gZmlsdGVyZWRDbGFzc2VzO1xuICAgICAgICBmaWx0ZXJlZENsYXNzZXMgPSByZXN0IGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsdGVyZWRDbGFzc2VzIGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgfSwgW2VuYWJsZVJhc3RlclRpbGVMYXllciwgZW5hYmxlV01TTGF5ZXIsIGVuYWJsZUZsb3dMYXllciwgbGF5ZXJDbGFzc2VzXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllci1tYW5hZ2VyXCI+XG4gICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgIDxQYW5lbFZpZXdMaXN0VG9nZ2xlIHRvZ2dsZVBhbmVsTGlzdFZpZXc9e29uVG9nZ2xlUGFuZWxMaXN0Vmlld30gbW9kZT17cGFuZWxMaXN0Vmlld30gLz5cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICA8RGF0YXNldFNlY3Rpb25cbiAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17c2hvd0RhdGFzZXRUYWJsZX1cbiAgICAgICAgICB1cGRhdGVUYWJsZUNvbG9yPXt1cGRhdGVUYWJsZUNvbG9yfVxuICAgICAgICAgIHJlbW92ZURhdGFzZXQ9e3JlbW92ZURhdGFzZXR9XG4gICAgICAgICAgc2hvd0RlbGV0ZURhdGFzZXQ9e3Nob3dEZWxldGVEYXRhc2V0fVxuICAgICAgICAgIHNob3dEYXRhc2V0TGlzdD17IWlzU29ydEJ5RGF0YXNldE1vZGV9XG4gICAgICAgICAgc2hvd0FkZERhdGFNb2RhbD17c2hvd0FkZERhdGFNb2RhbH1cbiAgICAgICAgLz5cbiAgICAgICAgPFNpZGVQYW5lbERpdmlkZXIgLz5cbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgPFBhbmVsVGl0bGVcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLW1hbmFnZXItdGl0bGVcIlxuICAgICAgICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IHBhbmVsTWV0YWRhdGEubGFiZWx9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZW5hYmxlTGF5ZXJHcm91cHMgPyAoXG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX19jcmVhdGVcIlxuICAgICAgICAgICAgICAgIGlkPVwibmV3LWxheWVyLWdyb3VwXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkFkZEdyb3VwfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e0ZvbGRlcn1cbiAgICAgICAgICAgICAgICB0b29sdGlwPVwiQ3JlYXRlIGxheWVyIGdyb3VwXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPEFkZExheWVyQnV0dG9uIGRhdGFzZXRzPXtkYXRhc2V0c30gb25BZGQ9e29uQWRkTGF5ZXJ9IC8+XG4gICAgICAgICAgPC9QYW5lbFRpdGxlPlxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgIHtpc1NvcnRCeURhdGFzZXRNb2RlID8gKFxuICAgICAgICAgICAgPERhdGFzZXRMYXllckdyb3VwXG4gICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17c2hvd0RhdGFzZXRUYWJsZX1cbiAgICAgICAgICAgICAgbGF5ZXJzPXtsYXllcnN9XG4gICAgICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgICAgIHJlbW92ZURhdGFzZXQ9e3JlbW92ZURhdGFzZXR9XG4gICAgICAgICAgICAgIGxheWVyT3JkZXI9e2xheWVyT3JkZXJ9XG4gICAgICAgICAgICAgIGxheWVyQ2xhc3Nlcz17ZmlsdGVyZWRMYXllckNsYXNzZXN9XG4gICAgICAgICAgICAgIHVpU3RhdGVBY3Rpb25zPXt1aVN0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgdmlzU3RhdGVBY3Rpb25zPXt2aXNTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucz17bWFwU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICBtYXBTdGF0ZT17bWFwU3RhdGV9XG4gICAgICAgICAgICAgIHNob3dEZWxldGVEYXRhc2V0PXtzaG93RGVsZXRlRGF0YXNldH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMYXllckxpc3RcbiAgICAgICAgICAgICAgbGF5ZXJzPXtsYXllcnN9XG4gICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgbGF5ZXJPcmRlcj17bGF5ZXJPcmRlcn1cbiAgICAgICAgICAgICAgdWlTdGF0ZUFjdGlvbnM9e3VpU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgbWFwU3RhdGVBY3Rpb25zPXttYXBTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgbGF5ZXJDbGFzc2VzPXtmaWx0ZXJlZExheWVyQ2xhc3Nlc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICA8TGF5ZXJCbGVuZGluZ1NlbGVjdG9yXG4gICAgICAgICAgbGF5ZXJCbGVuZGluZz17bGF5ZXJCbGVuZGluZ31cbiAgICAgICAgICB1cGRhdGVMYXllckJsZW5kaW5nPXt2aXNTdGF0ZUFjdGlvbnMudXBkYXRlTGF5ZXJCbGVuZGluZ31cbiAgICAgICAgICBpbnRsPXtpbnRsfVxuICAgICAgICAvPlxuICAgICAgICA8T3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JcbiAgICAgICAgICBvdmVybGF5QmxlbmRpbmc9e292ZXJsYXlCbGVuZGluZ31cbiAgICAgICAgICB1cGRhdGVPdmVybGF5QmxlbmRpbmc9e3Zpc1N0YXRlQWN0aW9ucy51cGRhdGVPdmVybGF5QmxlbmRpbmd9XG4gICAgICAgICAgaW50bD17aW50bH1cbiAgICAgICAgICBpbmZvSGVscGVyPXtcbiAgICAgICAgICAgIDxJbmZvSGVscGVyXG4gICAgICAgICAgICAgIGlkPXtgb3ZlcmxheUJsZW5kaW5nLWRlc2NyaXB0aW9uYH1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249eydvdmVybGF5QmxlbmRpbmcuZGVzY3JpcHRpb24nfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICB9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBpbmplY3RJbnRsKExheWVyTWFuYWdlcik7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExheWVyTWFuYWdlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGFBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFNLGtCQUFBLEdBQUFILHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTyxvQkFBQSxHQUFBSixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBTCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVMsZUFBQSxHQUFBTixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVUsZUFBQSxHQUFBUCxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQVcsYUFBQSxHQUFBUixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVksa0JBQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLFdBQUEsR0FBQVYsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFjLFVBQUEsR0FBQWQsT0FBQTtBQU1BLElBQUFlLE1BQUEsR0FBQWYsT0FBQTtBQUNBLElBQUFnQixrQkFBQSxHQUFBYixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQWlCLE1BQUEsR0FBQWpCLE9BQUE7QUFBdUMsSUFBQWtCLFNBQUE7RUFBQUMsVUFBQTtFQUFBQyxVQUFBO0FBQUEsSUFBQUMsZUFBQSxFQUFBQyxn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
|
|
232
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RJbnRsIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2xvY2FsaXphdGlvbiIsIl9sYXllckxpc3QiLCJfZGF0YXNldExheWVyR3JvdXAiLCJfcGFuZWxWaWV3TGlzdFRvZ2dsZSIsIl9wYW5lbFRpdGxlIiwiX2RhdGFzZXRTZWN0aW9uIiwiX2FkZExheWVyQnV0dG9uIiwiX2l0ZW1TZWxlY3RvciIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pbmZvSGVscGVyIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9wYW5lbEhlYWRlckFjdGlvbiIsIl9pY29ucyIsIl9leGNsdWRlZCIsIl9leGNsdWRlZDIiLCJfZXhjbHVkZWQzIiwiX2V4Y2x1ZGVkNCIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiTGF5ZXJCbGVuZGluZ1NlbGVjdG9yIiwiZXhwb3J0cyIsIlJlYWN0IiwibWVtbyIsIl9yZWYiLCJsYXllckJsZW5kaW5nIiwidXBkYXRlTGF5ZXJCbGVuZGluZyIsImludGwiLCJjbGFzc05hbWUiLCJsYWJlbGVkTGF5ZXJCbGVuZGluZ3MiLCJMQVlFUl9CTEVORElOR1MiLCJyZWR1Y2UiLCJhY2MiLCJjdXJyZW50IiwiZm9ybWF0TWVzc2FnZSIsImlkIiwibGFiZWwiLCJvbkNoYW5nZSIsInVzZUNhbGxiYWNrIiwiYmxlbmRpbmciLCJjcmVhdGVFbGVtZW50IiwiU2lkZVBhbmVsU2VjdGlvbiIsIlBhbmVsTGFiZWwiLCJGb3JtYXR0ZWRNZXNzYWdlIiwic2VsZWN0ZWRJdGVtcyIsIm9wdGlvbnMiLCJtdWx0aVNlbGVjdCIsInNlYXJjaGFibGUiLCJkaXNwbGF5TmFtZSIsIkluZm9IZWxwZXJXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJPdmVybGF5QmxlbmRpbmdTZWxlY3RvclRpdGxlUm93IiwiT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3IiLCJfcmVmMiIsIm92ZXJsYXlCbGVuZGluZyIsInVwZGF0ZU92ZXJsYXlCbGVuZGluZyIsImluZm9IZWxwZXIiLCJsYWJlbGVkT3ZlcmxheUJsZW5kaW5ncyIsIk9WRVJMQVlfQkxFTkRJTkdTIiwiTGF5ZXJNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJMYXllckxpc3RGYWN0b3J5IiwiRGF0YXNldExheWVyR3JvdXBGYWN0b3J5IiwiUGFuZWxWaWV3TGlzdFRvZ2dsZUZhY3RvcnkiLCJQYW5lbFRpdGxlRmFjdG9yeSIsIkRhdGFzZXRTZWN0aW9uRmFjdG9yeSIsIkFkZExheWVyQnV0dG9uRmFjdG9yeSIsIkluZm9IZWxwZXJGYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiTGF5ZXJMaXN0IiwiRGF0YXNldExheWVyR3JvdXAiLCJQYW5lbFZpZXdMaXN0VG9nZ2xlIiwiUGFuZWxUaXRsZSIsIkRhdGFzZXRTZWN0aW9uIiwiQWRkTGF5ZXJCdXR0b24iLCJJbmZvSGVscGVyIiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllck1hbmFnZXIiLCJfcmVmMyIsImxheWVycyIsImRhdGFzZXRzIiwibGF5ZXJPcmRlciIsInBhbmVsTGlzdFZpZXciLCJwYW5lbE1ldGFkYXRhIiwibGF5ZXJDbGFzc2VzIiwic2hvd0FkZERhdGFNb2RhbCIsIl9yZWYzJHNob3dEZWxldGVEYXRhcyIsInNob3dEZWxldGVEYXRhc2V0IiwidXBkYXRlVGFibGVDb2xvciIsInNob3dEYXRhc2V0VGFibGUiLCJyZW1vdmVEYXRhc2V0IiwidWlTdGF0ZUFjdGlvbnMiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZSIsImFkZExheWVyIiwidG9nZ2xlUGFuZWxMaXN0VmlldyIsIm9uQWRkTGF5ZXIiLCJkYXRhc2V0IiwidW5kZWZpbmVkIiwib25BZGRHcm91cCIsImFkZExheWVyR3JvdXAiLCJvblRvZ2dsZVBhbmVsTGlzdFZpZXciLCJsaXN0VmlldyIsInBhbmVsSWQiLCJpc1NvcnRCeURhdGFzZXRNb2RlIiwiUEFORUxfVklFV19UT0dHTEVTIiwiYnlEYXRhc2V0IiwiZW5hYmxlUmFzdGVyVGlsZUxheWVyIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJlbmFibGVXTVNMYXllciIsImVuYWJsZUZsb3dMYXllciIsImVuYWJsZUE1TGF5ZXIiLCJlbmFibGVMYXllckdyb3VwcyIsImZpbHRlcmVkTGF5ZXJDbGFzc2VzIiwidXNlTWVtbyIsImZpbHRlcmVkQ2xhc3NlcyIsIl9maWx0ZXJlZENsYXNzZXMiLCJfcmFzdGVyVGlsZSIsInJhc3RlclRpbGUiLCJyZXN0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsIl9maWx0ZXJlZENsYXNzZXMyIiwiX3dtcyIsIndtcyIsIl9maWx0ZXJlZENsYXNzZXMzIiwiX2Zsb3ciLCJmbG93IiwiX2ZpbHRlcmVkQ2xhc3NlczQiLCJfYTUiLCJhNSIsIm1vZGUiLCJzaG93RGF0YXNldExpc3QiLCJTaWRlUGFuZWxEaXZpZGVyIiwidGl0bGUiLCJvbkNsaWNrIiwiSWNvbkNvbXBvbmVudCIsIkZvbGRlciIsInRvb2x0aXAiLCJvbkFkZCIsImRlc2NyaXB0aW9uIiwiaW5qZWN0SW50bCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtpbmplY3RJbnRsLCBXcmFwcGVkQ29tcG9uZW50UHJvcHN9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IExheWVyTGlzdEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9sYXllci1saXN0JztcbmltcG9ydCBEYXRhc2V0TGF5ZXJHcm91cEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9kYXRhc2V0LWxheWVyLWdyb3VwJztcbmltcG9ydCBQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeSBmcm9tICcuL3BhbmVsLXZpZXctbGlzdC10b2dnbGUnO1xuaW1wb3J0IFBhbmVsVGl0bGVGYWN0b3J5IGZyb20gJy4vcGFuZWwtdGl0bGUnO1xuaW1wb3J0IERhdGFzZXRTZWN0aW9uRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsL2RhdGFzZXQtc2VjdGlvbic7XG5pbXBvcnQgQWRkTGF5ZXJCdXR0b25GYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwvYWRkLWxheWVyLWJ1dHRvbic7XG5cbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge1BhbmVsTGFiZWwsIFNpZGVQYW5lbERpdmlkZXIsIFNpZGVQYW5lbFNlY3Rpb259IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgSW5mb0hlbHBlckZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL2luZm8taGVscGVyJztcblxuaW1wb3J0IHtMQVlFUl9CTEVORElOR1MsIE9WRVJMQVlfQkxFTkRJTkdTLCBQQU5FTF9WSUVXX1RPR0dMRVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7TGF5ZXIsIExheWVyQ2xhc3Nlc1R5cGV9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7VUlTdGF0ZUFjdGlvbnMsIFZpc1N0YXRlQWN0aW9ucywgTWFwU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtTaWRlUGFuZWxJdGVtfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge01hcFN0YXRlLCBQYW5lbExpc3RWaWV3LCBMYXllck9yZGVyfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4vcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5pbXBvcnQge0ZvbGRlcn0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcblxudHlwZSBMYXllckJsZW5kaW5nU2VsZWN0b3JQcm9wcyA9IHtcbiAgbGF5ZXJCbGVuZGluZzogc3RyaW5nO1xuICB1cGRhdGVMYXllckJsZW5kaW5nOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMudXBkYXRlTGF5ZXJCbGVuZGluZz47XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn0gJiBXcmFwcGVkQ29tcG9uZW50UHJvcHM7XG5cbnR5cGUgT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JQcm9wcyA9IHtcbiAgb3ZlcmxheUJsZW5kaW5nOiBzdHJpbmc7XG4gIHVwZGF0ZU92ZXJsYXlCbGVuZGluZzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZU92ZXJsYXlCbGVuZGluZz47XG4gIGluZm9IZWxwZXI6IFJlYWN0LlJlYWN0Tm9kZTtcbn0gJiBXcmFwcGVkQ29tcG9uZW50UHJvcHM7XG5cbnR5cGUgTGF5ZXJNYW5hZ2VyUHJvcHMgPSB7XG4gIGRhdGFzZXRzOiBEYXRhc2V0cztcbiAgbGF5ZXJzOiBMYXllcltdO1xuICBsYXllck9yZGVyOiBMYXllck9yZGVyO1xuICBsYXllckNsYXNzZXM6IExheWVyQ2xhc3Nlc1R5cGU7XG4gIGxheWVyQmxlbmRpbmc6IHN0cmluZztcbiAgb3ZlcmxheUJsZW5kaW5nOiBzdHJpbmc7XG4gIHVpU3RhdGVBY3Rpb25zOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnM7XG4gIHZpc1N0YXRlQWN0aW9uczogdHlwZW9mIFZpc1N0YXRlQWN0aW9ucztcbiAgbWFwU3RhdGVBY3Rpb25zOiB0eXBlb2YgTWFwU3RhdGVBY3Rpb25zO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICBzaG93QWRkRGF0YU1vZGFsOiAoKSA9PiB2b2lkO1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5vcGVuRGVsZXRlTW9kYWw+O1xuICBzaG93RGF0YXNldFRhYmxlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMuc2hvd0RhdGFzZXRUYWJsZT47XG4gIHVwZGF0ZVRhYmxlQ29sb3I6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy51cGRhdGVUYWJsZUNvbG9yPjtcbiAgcGFuZWxMaXN0VmlldzogUGFuZWxMaXN0VmlldztcbiAgcGFuZWxNZXRhZGF0YTogU2lkZVBhbmVsSXRlbTtcbiAgc2hvd0RlbGV0ZURhdGFzZXQ/OiBib29sZWFuO1xufSAmIFdyYXBwZWRDb21wb25lbnRQcm9wcztcblxuZXhwb3J0IGNvbnN0IExheWVyQmxlbmRpbmdTZWxlY3RvciA9IFJlYWN0Lm1lbW8oXG4gICh7bGF5ZXJCbGVuZGluZywgdXBkYXRlTGF5ZXJCbGVuZGluZywgaW50bCwgY2xhc3NOYW1lfTogTGF5ZXJCbGVuZGluZ1NlbGVjdG9yUHJvcHMpID0+IHtcbiAgICBjb25zdCBsYWJlbGVkTGF5ZXJCbGVuZGluZ3MgPSBPYmplY3Qua2V5cyhMQVlFUl9CTEVORElOR1MpLnJlZHVjZShcbiAgICAgIChhY2MsIGN1cnJlbnQpID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IExBWUVSX0JMRU5ESU5HU1tjdXJyZW50XS5sYWJlbH0pXTogY3VycmVudFxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgYmxlbmRpbmcgPT4gdXBkYXRlTGF5ZXJCbGVuZGluZyhsYWJlbGVkTGF5ZXJCbGVuZGluZ3NbYmxlbmRpbmddKSxcbiAgICAgIFt1cGRhdGVMYXllckJsZW5kaW5nLCBsYWJlbGVkTGF5ZXJCbGVuZGluZ3NdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibGF5ZXJCbGVuZGluZy50aXRsZVwiIC8+XG4gICAgICAgIDwvUGFuZWxMYWJlbD5cbiAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IExBWUVSX0JMRU5ESU5HU1tsYXllckJsZW5kaW5nXS5sYWJlbH0pfVxuICAgICAgICAgIG9wdGlvbnM9e09iamVjdC5rZXlzKGxhYmVsZWRMYXllckJsZW5kaW5ncyl9XG4gICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9XG4pO1xuTGF5ZXJCbGVuZGluZ1NlbGVjdG9yLmRpc3BsYXlOYW1lID0gJ0xheWVyQmxlbmRpbmdTZWxlY3Rvcic7XG5cbmNvbnN0IEluZm9IZWxwZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxvYXQ6IHJpZ2h0O1xuYDtcblxuY29uc3QgT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JUaXRsZVJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBPdmVybGF5QmxlbmRpbmdTZWxlY3RvciA9IFJlYWN0Lm1lbW8oXG4gICh7b3ZlcmxheUJsZW5kaW5nLCB1cGRhdGVPdmVybGF5QmxlbmRpbmcsIGludGwsIGluZm9IZWxwZXJ9OiBPdmVybGF5QmxlbmRpbmdTZWxlY3RvclByb3BzKSA9PiB7XG4gICAgY29uc3QgbGFiZWxlZE92ZXJsYXlCbGVuZGluZ3MgPSBPYmplY3Qua2V5cyhPVkVSTEFZX0JMRU5ESU5HUykucmVkdWNlKFxuICAgICAgKGFjYywgY3VycmVudCkgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogT1ZFUkxBWV9CTEVORElOR1NbY3VycmVudF0ubGFiZWx9KV06IGN1cnJlbnRcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgIGJsZW5kaW5nID0+IHVwZGF0ZU92ZXJsYXlCbGVuZGluZyhsYWJlbGVkT3ZlcmxheUJsZW5kaW5nc1tibGVuZGluZ10pLFxuICAgICAgW3VwZGF0ZU92ZXJsYXlCbGVuZGluZywgbGFiZWxlZE92ZXJsYXlCbGVuZGluZ3NdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgPE92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yVGl0bGVSb3c+XG4gICAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm92ZXJsYXlCbGVuZGluZy50aXRsZVwiIC8+XG4gICAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgICAgIDxJbmZvSGVscGVyV3JhcHBlcj57aW5mb0hlbHBlcn08L0luZm9IZWxwZXJXcmFwcGVyPlxuICAgICAgICA8L092ZXJsYXlCbGVuZGluZ1NlbGVjdG9yVGl0bGVSb3c+XG4gICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBPVkVSTEFZX0JMRU5ESU5HU1tvdmVybGF5QmxlbmRpbmddLmxhYmVsfSl9XG4gICAgICAgICAgb3B0aW9ucz17T2JqZWN0LmtleXMobGFiZWxlZE92ZXJsYXlCbGVuZGluZ3MpfVxuICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgKTtcbiAgfVxuKTtcbk92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yLmRpc3BsYXlOYW1lID0gJ092ZXJsYXlCbGVuZGluZ1NlbGVjdG9yJztcblxuTGF5ZXJNYW5hZ2VyRmFjdG9yeS5kZXBzID0gW1xuICBMYXllckxpc3RGYWN0b3J5LFxuICBEYXRhc2V0TGF5ZXJHcm91cEZhY3RvcnksXG4gIFBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5LFxuICBQYW5lbFRpdGxlRmFjdG9yeSxcbiAgRGF0YXNldFNlY3Rpb25GYWN0b3J5LFxuICBBZGRMYXllckJ1dHRvbkZhY3RvcnksXG4gIEluZm9IZWxwZXJGYWN0b3J5LFxuICBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIExheWVyTWFuYWdlckZhY3RvcnkoXG4gIExheWVyTGlzdDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJMaXN0RmFjdG9yeT4sXG4gIERhdGFzZXRMYXllckdyb3VwOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhc2V0TGF5ZXJHcm91cEZhY3Rvcnk+LFxuICBQYW5lbFZpZXdMaXN0VG9nZ2xlOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeT4sXG4gIFBhbmVsVGl0bGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVGl0bGVGYWN0b3J5PixcbiAgRGF0YXNldFNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRTZWN0aW9uRmFjdG9yeT4sXG4gIEFkZExheWVyQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBBZGRMYXllckJ1dHRvbkZhY3Rvcnk+LFxuICBJbmZvSGVscGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBJbmZvSGVscGVyRmFjdG9yeT4sXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJNYW5hZ2VyOiBSZWFjdC5GQzxMYXllck1hbmFnZXJQcm9wcz4gPSAoe1xuICAgIGxheWVycyxcbiAgICBkYXRhc2V0cyxcbiAgICBpbnRsLFxuICAgIGxheWVyT3JkZXIsXG4gICAgcGFuZWxMaXN0VmlldyxcbiAgICBwYW5lbE1ldGFkYXRhLFxuICAgIGxheWVyQ2xhc3NlcyxcbiAgICBsYXllckJsZW5kaW5nLFxuICAgIG92ZXJsYXlCbGVuZGluZyxcbiAgICBzaG93QWRkRGF0YU1vZGFsLFxuICAgIHNob3dEZWxldGVEYXRhc2V0ID0gdHJ1ZSxcbiAgICB1cGRhdGVUYWJsZUNvbG9yLFxuICAgIHNob3dEYXRhc2V0VGFibGUsXG4gICAgcmVtb3ZlRGF0YXNldCxcbiAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgbWFwU3RhdGVBY3Rpb25zLFxuICAgIG1hcFN0YXRlXG4gIH0pID0+IHtcbiAgICBjb25zdCB7YWRkTGF5ZXJ9ID0gdmlzU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IHt0b2dnbGVQYW5lbExpc3RWaWV3fSA9IHVpU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IG9uQWRkTGF5ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAgIChkYXRhc2V0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgYWRkTGF5ZXIodW5kZWZpbmVkLCBkYXRhc2V0KTtcbiAgICAgIH0sXG4gICAgICBbYWRkTGF5ZXJdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uQWRkR3JvdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICB2aXNTdGF0ZUFjdGlvbnMuYWRkTGF5ZXJHcm91cCh7fSk7XG4gICAgfSwgW3Zpc1N0YXRlQWN0aW9uc10pO1xuXG4gICAgY29uc3Qgb25Ub2dnbGVQYW5lbExpc3RWaWV3ID0gdXNlQ2FsbGJhY2soXG4gICAgICAobGlzdFZpZXc6IHN0cmluZykgPT4ge1xuICAgICAgICB0b2dnbGVQYW5lbExpc3RWaWV3KHtwYW5lbElkOiAnbGF5ZXInLCBsaXN0Vmlld30pO1xuICAgICAgfSxcbiAgICAgIFt0b2dnbGVQYW5lbExpc3RWaWV3XVxuICAgICk7XG5cbiAgICBjb25zdCBpc1NvcnRCeURhdGFzZXRNb2RlID0gcGFuZWxMaXN0VmlldyA9PT0gUEFORUxfVklFV19UT0dHTEVTLmJ5RGF0YXNldDtcblxuICAgIC8vIHRlbXAgcGF0Y2ggdG8gaGlkZSBsYXllcnMgdGhhdCBhcmUgaW4gZGV2ZWxvcG1lbnRcbiAgICBjb25zdCBlbmFibGVSYXN0ZXJUaWxlTGF5ZXIgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZVJhc3RlclRpbGVMYXllcjtcbiAgICBjb25zdCBlbmFibGVXTVNMYXllciA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlV01TTGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlRmxvd0xheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVGbG93TGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlQTVMYXllciA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlQTVMYXllcjtcbiAgICBjb25zdCBlbmFibGVMYXllckdyb3VwcyA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlTGF5ZXJHcm91cHM7XG5cbiAgICBjb25zdCBmaWx0ZXJlZExheWVyQ2xhc3NlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgbGV0IGZpbHRlcmVkQ2xhc3NlcyA9IGxheWVyQ2xhc3NlcztcbiAgICAgIGlmICghZW5hYmxlUmFzdGVyVGlsZUxheWVyKSB7XG4gICAgICAgIGNvbnN0IHtyYXN0ZXJUaWxlOiBfcmFzdGVyVGlsZSwgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlV01TTGF5ZXIpIHtcbiAgICAgICAgY29uc3Qge3dtczogX3dtcywgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlRmxvd0xheWVyKSB7XG4gICAgICAgIGNvbnN0IHtmbG93OiBfZmxvdywgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlQTVMYXllcikge1xuICAgICAgICBjb25zdCB7YTU6IF9hNSwgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWx0ZXJlZENsYXNzZXMgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICB9LCBbZW5hYmxlUmFzdGVyVGlsZUxheWVyLCBlbmFibGVXTVNMYXllciwgZW5hYmxlRmxvd0xheWVyLCBlbmFibGVBNUxheWVyLCBsYXllckNsYXNzZXNdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyLW1hbmFnZXJcIj5cbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgPFBhbmVsVmlld0xpc3RUb2dnbGUgdG9nZ2xlUGFuZWxMaXN0Vmlldz17b25Ub2dnbGVQYW5lbExpc3RWaWV3fSBtb2RlPXtwYW5lbExpc3RWaWV3fSAvPlxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxEYXRhc2V0U2VjdGlvblxuICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldD17c2hvd0RlbGV0ZURhdGFzZXR9XG4gICAgICAgICAgc2hvd0RhdGFzZXRMaXN0PXshaXNTb3J0QnlEYXRhc2V0TW9kZX1cbiAgICAgICAgICBzaG93QWRkRGF0YU1vZGFsPXtzaG93QWRkRGF0YU1vZGFsfVxuICAgICAgICAvPlxuICAgICAgICA8U2lkZVBhbmVsRGl2aWRlciAvPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8UGFuZWxUaXRsZVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItbWFuYWdlci10aXRsZVwiXG4gICAgICAgICAgICB0aXRsZT17aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogcGFuZWxNZXRhZGF0YS5sYWJlbH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtlbmFibGVMYXllckdyb3VwcyA/IChcbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX2NyZWF0ZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJuZXctbGF5ZXItZ3JvdXBcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQWRkR3JvdXB9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17Rm9sZGVyfVxuICAgICAgICAgICAgICAgIHRvb2x0aXA9XCJDcmVhdGUgbGF5ZXIgZ3JvdXBcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8QWRkTGF5ZXJCdXR0b24gZGF0YXNldHM9e2RhdGFzZXRzfSBvbkFkZD17b25BZGRMYXllcn0gLz5cbiAgICAgICAgICA8L1BhbmVsVGl0bGU+XG4gICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAge2lzU29ydEJ5RGF0YXNldE1vZGUgPyAoXG4gICAgICAgICAgICA8RGF0YXNldExheWVyR3JvdXBcbiAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgdXBkYXRlVGFibGVDb2xvcj17dXBkYXRlVGFibGVDb2xvcn1cbiAgICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgICAgbGF5ZXJPcmRlcj17bGF5ZXJPcmRlcn1cbiAgICAgICAgICAgICAgbGF5ZXJDbGFzc2VzPXtmaWx0ZXJlZExheWVyQ2xhc3Nlc31cbiAgICAgICAgICAgICAgdWlTdGF0ZUFjdGlvbnM9e3VpU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgbWFwU3RhdGVBY3Rpb25zPXttYXBTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgc2hvd0RlbGV0ZURhdGFzZXQ9e3Nob3dEZWxldGVEYXRhc2V0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExheWVyTGlzdFxuICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICBsYXllck9yZGVyPXtsYXllck9yZGVyfVxuICAgICAgICAgICAgICB1aVN0YXRlQWN0aW9ucz17dWlTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICBtYXBTdGF0ZUFjdGlvbnM9e21hcFN0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgICAgICBsYXllckNsYXNzZXM9e2ZpbHRlcmVkTGF5ZXJDbGFzc2VzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxMYXllckJsZW5kaW5nU2VsZWN0b3JcbiAgICAgICAgICBsYXllckJsZW5kaW5nPXtsYXllckJsZW5kaW5nfVxuICAgICAgICAgIHVwZGF0ZUxheWVyQmxlbmRpbmc9e3Zpc1N0YXRlQWN0aW9ucy51cGRhdGVMYXllckJsZW5kaW5nfVxuICAgICAgICAgIGludGw9e2ludGx9XG4gICAgICAgIC8+XG4gICAgICAgIDxPdmVybGF5QmxlbmRpbmdTZWxlY3RvclxuICAgICAgICAgIG92ZXJsYXlCbGVuZGluZz17b3ZlcmxheUJsZW5kaW5nfVxuICAgICAgICAgIHVwZGF0ZU92ZXJsYXlCbGVuZGluZz17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZU92ZXJsYXlCbGVuZGluZ31cbiAgICAgICAgICBpbnRsPXtpbnRsfVxuICAgICAgICAgIGluZm9IZWxwZXI9e1xuICAgICAgICAgICAgPEluZm9IZWxwZXJcbiAgICAgICAgICAgICAgaWQ9e2BvdmVybGF5QmxlbmRpbmctZGVzY3JpcHRpb25gfVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbj17J292ZXJsYXlCbGVuZGluZy5kZXNjcmlwdGlvbid9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIGluamVjdEludGwoTGF5ZXJNYW5hZ2VyKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJNYW5hZ2VyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQUgsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFPLG9CQUFBLEdBQUFKLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFMLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBUyxlQUFBLEdBQUFOLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFQLHNCQUFBLENBQUFILE9BQUE7QUFFQSxJQUFB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
|