kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
428 lines (427 loc) • 32.9 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
KeplerGlLayers: true,
LayerClasses: true,
EditorLayerUtils: true,
Layer: true,
OVERLAY_TYPE_CONST: true,
LAYER_ID_LENGTH: true,
colorMaker: true,
layerColors: true,
pointToPolygonGeo: true,
defaultElevation: true,
defaultLineWidth: true,
defaultRadius: true,
COLUMN_MODE_TABLE: true,
MAX_ZOOM_LEVEL: true,
h3DefaultElevation: true,
ScenegraphLayer: true,
scenegraphVisConfigs: true,
tripDefaultLineWidth: true,
coordHasLength4: true,
isTripGeoJsonField: true,
parseTripGeoJsonTimestamp: true,
getAnimationDomainFromTimestamps: true,
s2DefaultElevation: true,
getS2Center: true,
AggregationLayer: true,
getFilterDataFunc: true,
VectorTileLayer: true,
VectorTileIcon: true,
RasterTileLayer: true,
getNumRasterTilesBeingLoaded: true,
RasterTileIcon: true,
CATEGORICAL_COLORMAP_ID: true,
DATA_SOURCE_COLOR_DEFAULTS: true,
RASTER_COLOR_RESET_PARAMS: true,
PRESET_OPTIONS: true,
RasterLayerResources: true,
getCategoricalColormapDataUrl: true,
parseGeoJsonRawFeature: true,
Table: true,
getEditorLayer: true,
ScenegraphLayerIcon: true
};
Object.defineProperty(exports, "AggregationLayer", {
enumerable: true,
get: function get() {
return _aggregationLayer["default"];
}
});
Object.defineProperty(exports, "CATEGORICAL_COLORMAP_ID", {
enumerable: true,
get: function get() {
return _config.CATEGORICAL_COLORMAP_ID;
}
});
Object.defineProperty(exports, "COLUMN_MODE_TABLE", {
enumerable: true,
get: function get() {
return _geojsonLayer.COLUMN_MODE_TABLE;
}
});
Object.defineProperty(exports, "DATA_SOURCE_COLOR_DEFAULTS", {
enumerable: true,
get: function get() {
return _config.DATA_SOURCE_COLOR_DEFAULTS;
}
});
exports.KeplerGlLayers = exports.EditorLayerUtils = void 0;
Object.defineProperty(exports, "LAYER_ID_LENGTH", {
enumerable: true,
get: function get() {
return _baseLayer.LAYER_ID_LENGTH;
}
});
Object.defineProperty(exports, "Layer", {
enumerable: true,
get: function get() {
return _baseLayer["default"];
}
});
exports.LayerClasses = void 0;
Object.defineProperty(exports, "MAX_ZOOM_LEVEL", {
enumerable: true,
get: function get() {
return _heatmapLayer.MAX_ZOOM_LEVEL;
}
});
Object.defineProperty(exports, "OVERLAY_TYPE_CONST", {
enumerable: true,
get: function get() {
return _baseLayer.OVERLAY_TYPE_CONST;
}
});
Object.defineProperty(exports, "PRESET_OPTIONS", {
enumerable: true,
get: function get() {
return _config.PRESET_OPTIONS;
}
});
Object.defineProperty(exports, "RASTER_COLOR_RESET_PARAMS", {
enumerable: true,
get: function get() {
return _config.RASTER_COLOR_RESET_PARAMS;
}
});
Object.defineProperty(exports, "RasterLayerResources", {
enumerable: true,
get: function get() {
return _url.RasterLayerResources;
}
});
Object.defineProperty(exports, "RasterTileIcon", {
enumerable: true,
get: function get() {
return _rasterTileIcon["default"];
}
});
Object.defineProperty(exports, "RasterTileLayer", {
enumerable: true,
get: function get() {
return _rasterTileLayer["default"];
}
});
Object.defineProperty(exports, "ScenegraphLayer", {
enumerable: true,
get: function get() {
return _scenegraphLayer["default"];
}
});
Object.defineProperty(exports, "ScenegraphLayerIcon", {
enumerable: true,
get: function get() {
return _scenegraphLayerIcon["default"];
}
});
Object.defineProperty(exports, "Table", {
enumerable: true,
get: function get() {
return _table["default"];
}
});
Object.defineProperty(exports, "VectorTileIcon", {
enumerable: true,
get: function get() {
return _vectorTileIcon["default"];
}
});
Object.defineProperty(exports, "VectorTileLayer", {
enumerable: true,
get: function get() {
return _vectorTileLayer["default"];
}
});
Object.defineProperty(exports, "colorMaker", {
enumerable: true,
get: function get() {
return _baseLayer.colorMaker;
}
});
Object.defineProperty(exports, "coordHasLength4", {
enumerable: true,
get: function get() {
return _tripUtils.coordHasLength4;
}
});
Object.defineProperty(exports, "defaultElevation", {
enumerable: true,
get: function get() {
return _geojsonLayer.defaultElevation;
}
});
Object.defineProperty(exports, "defaultLineWidth", {
enumerable: true,
get: function get() {
return _geojsonLayer.defaultLineWidth;
}
});
Object.defineProperty(exports, "defaultRadius", {
enumerable: true,
get: function get() {
return _geojsonLayer.defaultRadius;
}
});
Object.defineProperty(exports, "getAnimationDomainFromTimestamps", {
enumerable: true,
get: function get() {
return _tripUtils.getAnimationDomainFromTimestamps;
}
});
Object.defineProperty(exports, "getCategoricalColormapDataUrl", {
enumerable: true,
get: function get() {
return _image.getCategoricalColormapDataUrl;
}
});
Object.defineProperty(exports, "getEditorLayer", {
enumerable: true,
get: function get() {
return _editorLayer.getEditorLayer;
}
});
Object.defineProperty(exports, "getFilterDataFunc", {
enumerable: true,
get: function get() {
return _aggregationLayer.getFilterDataFunc;
}
});
Object.defineProperty(exports, "getNumRasterTilesBeingLoaded", {
enumerable: true,
get: function get() {
return _rasterTileLayer.getNumRasterTilesBeingLoaded;
}
});
Object.defineProperty(exports, "getS2Center", {
enumerable: true,
get: function get() {
return _s2Utils.getS2Center;
}
});
Object.defineProperty(exports, "h3DefaultElevation", {
enumerable: true,
get: function get() {
return _h3HexagonLayer.defaultElevation;
}
});
Object.defineProperty(exports, "isTripGeoJsonField", {
enumerable: true,
get: function get() {
return _tripUtils.isTripGeoJsonField;
}
});
Object.defineProperty(exports, "layerColors", {
enumerable: true,
get: function get() {
return _baseLayer.layerColors;
}
});
Object.defineProperty(exports, "parseGeoJsonRawFeature", {
enumerable: true,
get: function get() {
return _geojsonUtils.parseGeoJsonRawFeature;
}
});
Object.defineProperty(exports, "parseTripGeoJsonTimestamp", {
enumerable: true,
get: function get() {
return _tripUtils.parseTripGeoJsonTimestamp;
}
});
Object.defineProperty(exports, "pointToPolygonGeo", {
enumerable: true,
get: function get() {
return _gridUtils.pointToPolygonGeo;
}
});
Object.defineProperty(exports, "s2DefaultElevation", {
enumerable: true,
get: function get() {
return _s2GeometryLayer.defaultElevation;
}
});
Object.defineProperty(exports, "scenegraphVisConfigs", {
enumerable: true,
get: function get() {
return _scenegraphLayer.scenegraphVisConfigs;
}
});
Object.defineProperty(exports, "tripDefaultLineWidth", {
enumerable: true,
get: function get() {
return _tripLayer.defaultLineWidth;
}
});
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _baseLayer = _interopRequireWildcard(require("./base-layer"));
Object.keys(_baseLayer).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _baseLayer[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _baseLayer[key];
}
});
});
var _pointLayer = _interopRequireDefault(require("./point-layer/point-layer"));
var _arcLayer = _interopRequireDefault(require("./arc-layer/arc-layer"));
var _lineLayer = _interopRequireDefault(require("./line-layer/line-layer"));
var _gridLayer = _interopRequireDefault(require("./grid-layer/grid-layer"));
var _gridUtils = require("./grid-layer/grid-utils");
var _hexagonLayer = _interopRequireDefault(require("./hexagon-layer/hexagon-layer"));
var _geojsonLayer = _interopRequireWildcard(require("./geojson-layer/geojson-layer"));
var _clusterLayer = _interopRequireDefault(require("./cluster-layer/cluster-layer"));
var _iconLayer = _interopRequireDefault(require("./icon-layer/icon-layer"));
var _heatmapLayer = _interopRequireWildcard(require("./heatmap-layer/heatmap-layer"));
var _h3HexagonLayer = _interopRequireWildcard(require("./h3-hexagon-layer/h3-hexagon-layer"));
var _scenegraphLayer = _interopRequireWildcard(require("./scenegraph-layer/scenegraph-layer"));
var _tripLayer = _interopRequireWildcard(require("./trip-layer/trip-layer"));
var _tripUtils = require("./trip-layer/trip-utils");
var _s2GeometryLayer = _interopRequireWildcard(require("./s2-geometry-layer/s2-geometry-layer"));
var _s2Utils = require("./s2-geometry-layer/s2-utils");
var _aggregationLayer = _interopRequireWildcard(require("./aggregation-layer"));
var _vectorTileLayer = _interopRequireDefault(require("./vector-tile/vector-tile-layer"));
var _vectorTileIcon = _interopRequireDefault(require("./vector-tile/vector-tile-icon"));
var _rasterTileLayer = _interopRequireWildcard(require("./raster-tile/raster-tile-layer"));
var _rasterTileIcon = _interopRequireDefault(require("./raster-tile/raster-tile-icon"));
var _config = require("./raster-tile/config");
var _url = require("./raster-tile/url");
var _image = require("./raster-tile/image");
var _types = require("./raster-tile/types");
Object.keys(_types).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _types[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _types[key];
}
});
});
var _rasterTileUtils = require("./raster-tile/raster-tile-utils");
Object.keys(_rasterTileUtils).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _rasterTileUtils[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _rasterTileUtils[key];
}
});
});
var _constants = require("@kepler.gl/constants");
var _geojsonUtils = require("./geojson-layer/geojson-utils");
var _mapboxUtils = require("./mapbox-utils");
Object.keys(_mapboxUtils).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _mapboxUtils[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _mapboxUtils[key];
}
});
});
var _h3HexagonLayer2 = require("./h3-hexagon-layer");
Object.keys(_h3HexagonLayer2).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _h3HexagonLayer2[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _h3HexagonLayer2[key];
}
});
});
var _table = _interopRequireDefault(require("./table"));
var _editorLayer = require("./editor-layer/editor-layer");
var _scenegraphLayerIcon = _interopRequireDefault(require("./scenegraph-layer/scenegraph-layer-icon"));
var _editorLayerUtils = require("./editor-layer/editor-layer-utils");
var _layerUpdate = require("./layer-update");
Object.keys(_layerUpdate).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _layerUpdate[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _layerUpdate[key];
}
});
});
var _layerUtils = require("./layer-utils");
Object.keys(_layerUtils).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _layerUtils[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _layerUtils[key];
}
});
});
var _LayerClasses; // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
// base layer
// eslint-disable-next-line prettier/prettier
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
// individual layers
var KeplerGlLayers = exports.KeplerGlLayers = {
PointLayer: _pointLayer["default"],
ArcLayer: _arcLayer["default"],
LineLayer: _lineLayer["default"],
GridLayer: _gridLayer["default"],
HexagonLayer: _hexagonLayer["default"],
GeojsonLayer: _geojsonLayer["default"],
ClusterLayer: _clusterLayer["default"],
IconLayer: _iconLayer["default"],
HeatmapLayer: _heatmapLayer["default"],
H3Layer: _h3HexagonLayer["default"],
ScenegraphLayer: _scenegraphLayer["default"],
TripLayer: _tripLayer["default"],
S2GeometryLayer: _s2GeometryLayer["default"],
VectorTileLayer: _vectorTileLayer["default"],
RasterTileLayer: _rasterTileLayer["default"]
};
var LayerClasses = exports.LayerClasses = (_LayerClasses = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_LayerClasses, _constants.LAYER_TYPES.point, _pointLayer["default"]), _constants.LAYER_TYPES.arc, _arcLayer["default"]), _constants.LAYER_TYPES.line, _lineLayer["default"]), _constants.LAYER_TYPES.grid, _gridLayer["default"]), _constants.LAYER_TYPES.hexagon, _hexagonLayer["default"]), _constants.LAYER_TYPES.geojson, _geojsonLayer["default"]), _constants.LAYER_TYPES.cluster, _clusterLayer["default"]), _constants.LAYER_TYPES.icon, _iconLayer["default"]), _constants.LAYER_TYPES.heatmap, _heatmapLayer["default"]), _constants.LAYER_TYPES.hexagonId, _h3HexagonLayer["default"]), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_LayerClasses, _constants.LAYER_TYPES['3D'], _scenegraphLayer["default"]), _constants.LAYER_TYPES.trip, _tripLayer["default"]), _constants.LAYER_TYPES.s2, _s2GeometryLayer["default"]), _constants.LAYER_TYPES['vectorTile'], _vectorTileLayer["default"]), _constants.LAYER_TYPES['rasterTile'], _rasterTileLayer["default"]));
var EditorLayerUtils = exports.EditorLayerUtils = {
isDrawingActive: _editorLayerUtils.isDrawingActive,
onClick: _editorLayerUtils.onClick,
onHover: _editorLayerUtils.onHover,
getTooltip: _editorLayerUtils.getTooltip,
getCursor: _editorLayerUtils.getCursor
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmFzZUxheWVyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJfZXhwb3J0TmFtZXMiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3BvaW50TGF5ZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FyY0xheWVyIiwiX2xpbmVMYXllciIsIl9ncmlkTGF5ZXIiLCJfZ3JpZFV0aWxzIiwiX2hleGFnb25MYXllciIsIl9nZW9qc29uTGF5ZXIiLCJfY2x1c3RlckxheWVyIiwiX2ljb25MYXllciIsIl9oZWF0bWFwTGF5ZXIiLCJfaDNIZXhhZ29uTGF5ZXIiLCJfc2NlbmVncmFwaExheWVyIiwiX3RyaXBMYXllciIsIl90cmlwVXRpbHMiLCJfczJHZW9tZXRyeUxheWVyIiwiX3MyVXRpbHMiLCJfYWdncmVnYXRpb25MYXllciIsIl92ZWN0b3JUaWxlTGF5ZXIiLCJfdmVjdG9yVGlsZUljb24iLCJfcmFzdGVyVGlsZUxheWVyIiwiX3Jhc3RlclRpbGVJY29uIiwiX2NvbmZpZyIsIl91cmwiLCJfaW1hZ2UiLCJfdHlwZXMiLCJfcmFzdGVyVGlsZVV0aWxzIiwiX2NvbnN0YW50cyIsIl9nZW9qc29uVXRpbHMiLCJfbWFwYm94VXRpbHMiLCJfaDNIZXhhZ29uTGF5ZXIyIiwiX3RhYmxlIiwiX2VkaXRvckxheWVyIiwiX3NjZW5lZ3JhcGhMYXllckljb24iLCJfZWRpdG9yTGF5ZXJVdGlscyIsIl9sYXllclVwZGF0ZSIsIl9sYXllclV0aWxzIiwiX0xheWVyQ2xhc3NlcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsIm4iLCJfX3Byb3RvX18iLCJhIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImkiLCJzZXQiLCJLZXBsZXJHbExheWVycyIsIlBvaW50TGF5ZXIiLCJBcmNMYXllciIsIkxpbmVMYXllciIsIkdyaWRMYXllciIsIkhleGFnb25MYXllciIsIkdlb2pzb25MYXllciIsIkNsdXN0ZXJMYXllciIsIkljb25MYXllciIsIkhlYXRtYXBMYXllciIsIkgzTGF5ZXIiLCJTY2VuZWdyYXBoTGF5ZXIiLCJUcmlwTGF5ZXIiLCJTMkdlb21ldHJ5TGF5ZXIiLCJWZWN0b3JUaWxlTGF5ZXIiLCJSYXN0ZXJUaWxlTGF5ZXIiLCJMYXllckNsYXNzZXMiLCJfZGVmaW5lUHJvcGVydHkyIiwiTEFZRVJfVFlQRVMiLCJwb2ludCIsImFyYyIsImxpbmUiLCJncmlkIiwiaGV4YWdvbiIsImdlb2pzb24iLCJjbHVzdGVyIiwiaWNvbiIsImhlYXRtYXAiLCJoZXhhZ29uSWQiLCJ0cmlwIiwiczIiLCJFZGl0b3JMYXllclV0aWxzIiwiaXNEcmF3aW5nQWN0aXZlIiwib25DbGljayIsIm9uSG92ZXIiLCJnZXRUb29sdGlwIiwiZ2V0Q3Vyc29yIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmV4cG9ydCB7XG4gIGRlZmF1bHQgYXMgTGF5ZXIsXG4gIE9WRVJMQVlfVFlQRV9DT05TVCxcbiAgTEFZRVJfSURfTEVOR1RILFxuICBjb2xvck1ha2VyLFxuICBsYXllckNvbG9yc1xufSBmcm9tICcuL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIFBvaW50TGF5ZXJ9IGZyb20gJy4vcG9pbnQtbGF5ZXIvcG9pbnQtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEFyY0xheWVyfSBmcm9tICcuL2FyYy1sYXllci9hcmMtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIExpbmVMYXllcn0gZnJvbSAnLi9saW5lLWxheWVyL2xpbmUtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEdyaWRMYXllcn0gZnJvbSAnLi9ncmlkLWxheWVyL2dyaWQtbGF5ZXInO1xuZXhwb3J0IHtwb2ludFRvUG9seWdvbkdlb30gZnJvbSAnLi9ncmlkLWxheWVyL2dyaWQtdXRpbHMnO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEhleGFnb25MYXllcn0gZnJvbSAnLi9oZXhhZ29uLWxheWVyL2hleGFnb24tbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEdlb2pzb25MYXllcn0gZnJvbSAnLi9nZW9qc29uLWxheWVyL2dlb2pzb24tbGF5ZXInO1xuZXhwb3J0IHtcbiAgZGVmYXVsdEVsZXZhdGlvbixcbiAgZGVmYXVsdExpbmVXaWR0aCxcbiAgZGVmYXVsdFJhZGl1cyxcbiAgQ09MVU1OX01PREVfVEFCTEVcbn0gZnJvbSAnLi9nZW9qc29uLWxheWVyL2dlb2pzb24tbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIENsdXN0ZXJMYXllcn0gZnJvbSAnLi9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEljb25MYXllcn0gZnJvbSAnLi9pY29uLWxheWVyL2ljb24tbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEhlYXRtYXBMYXllcn0gZnJvbSAnLi9oZWF0bWFwLWxheWVyL2hlYXRtYXAtbGF5ZXInO1xuZXhwb3J0IHtNQVhfWk9PTV9MRVZFTH0gZnJvbSAnLi9oZWF0bWFwLWxheWVyL2hlYXRtYXAtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEgzTGF5ZXJ9IGZyb20gJy4vaDMtaGV4YWdvbi1sYXllci9oMy1oZXhhZ29uLWxheWVyJztcbmV4cG9ydCB7ZGVmYXVsdEVsZXZhdGlvbiBhcyBoM0RlZmF1bHRFbGV2YXRpb259IGZyb20gJy4vaDMtaGV4YWdvbi1sYXllci9oMy1oZXhhZ29uLWxheWVyJztcbmltcG9ydCB7ZGVmYXVsdCBhcyBTY2VuZWdyYXBoTGF5ZXJ9IGZyb20gJy4vc2NlbmVncmFwaC1sYXllci9zY2VuZWdyYXBoLWxheWVyJztcbmltcG9ydCB7ZGVmYXVsdCBhcyBUcmlwTGF5ZXJ9IGZyb20gJy4vdHJpcC1sYXllci90cmlwLWxheWVyJztcbmV4cG9ydCB7ZGVmYXVsdExpbmVXaWR0aCBhcyB0cmlwRGVmYXVsdExpbmVXaWR0aH0gZnJvbSAnLi90cmlwLWxheWVyL3RyaXAtbGF5ZXInO1xuZXhwb3J0IHtcbiAgY29vcmRIYXNMZW5ndGg0LFxuICBpc1RyaXBHZW9Kc29uRmllbGQsXG4gIHBhcnNlVHJpcEdlb0pzb25UaW1lc3RhbXAsXG4gIGdldEFuaW1hdGlvbkRvbWFpbkZyb21UaW1lc3RhbXBzXG59IGZyb20gJy4vdHJpcC1sYXllci90cmlwLXV0aWxzJztcbmltcG9ydCB7ZGVmYXVsdCBhcyBTMkdlb21ldHJ5TGF5ZXJ9IGZyb20gJy4vczItZ2VvbWV0cnktbGF5ZXIvczItZ2VvbWV0cnktbGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0RWxldmF0aW9uIGFzIHMyRGVmYXVsdEVsZXZhdGlvbn0gZnJvbSAnLi9zMi1nZW9tZXRyeS1sYXllci9zMi1nZW9tZXRyeS1sYXllcic7XG5leHBvcnQge2dldFMyQ2VudGVyfSBmcm9tICcuL3MyLWdlb21ldHJ5LWxheWVyL3MyLXV0aWxzJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBBZ2dyZWdhdGlvbkxheWVyfSBmcm9tICcuL2FnZ3JlZ2F0aW9uLWxheWVyJztcbmltcG9ydCB7ZGVmYXVsdCBhcyBWZWN0b3JUaWxlTGF5ZXJ9IGZyb20gJy4vdmVjdG9yLXRpbGUvdmVjdG9yLXRpbGUtbGF5ZXInO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgVmVjdG9yVGlsZUljb259IGZyb20gJy4vdmVjdG9yLXRpbGUvdmVjdG9yLXRpbGUtaWNvbic7XG5leHBvcnQge2RlZmF1bHQgYXMgVmVjdG9yVGlsZUxheWVyfSBmcm9tICcuL3ZlY3Rvci10aWxlL3ZlY3Rvci10aWxlLWxheWVyJztcblxuaW1wb3J0IHtkZWZhdWx0IGFzIFJhc3RlclRpbGVMYXllcn0gZnJvbSAnLi9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllcic7XG5leHBvcnQge2RlZmF1bHQgYXMgUmFzdGVyVGlsZUljb259IGZyb20gJy4vcmFzdGVyLXRpbGUvcmFzdGVyLXRpbGUtaWNvbic7XG5leHBvcnQge1xuICBkZWZhdWx0IGFzIFJhc3RlclRpbGVMYXllcixcbiAgZ2V0TnVtUmFzdGVyVGlsZXNCZWluZ0xvYWRlZFxufSBmcm9tICcuL3Jhc3Rlci10aWxlL3Jhc3Rlci10aWxlLWxheWVyJztcbmV4cG9ydCB7XG4gIENBVEVHT1JJQ0FMX0NPTE9STUFQX0lELFxuICBEQVRBX1NPVVJDRV9DT0xPUl9ERUZBVUxUUyxcbiAgUkFTVEVSX0NPTE9SX1JFU0VUX1BBUkFNUyxcbiAgUFJFU0VUX09QVElPTlNcbn0gZnJvbSAnLi9yYXN0ZXItdGlsZS9jb25maWcnO1xuZXhwb3J0IHtSYXN0ZXJMYXllclJlc291cmNlc30gZnJvbSAnLi9yYXN0ZXItdGlsZS91cmwnO1xuZXhwb3J0IHtnZXRDYXRlZ29yaWNhbENvbG9ybWFwRGF0YVVybH0gZnJvbSAnLi9yYXN0ZXItdGlsZS9pbWFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jhc3Rlci10aWxlL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcmFzdGVyLXRpbGUvcmFzdGVyLXRpbGUtdXRpbHMnO1xuXG5pbXBvcnQge0xBWUVSX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5leHBvcnQge3BhcnNlR2VvSnNvblJhd0ZlYXR1cmV9IGZyb20gJy4vZ2VvanNvbi1sYXllci9nZW9qc29uLXV0aWxzJztcbi8vIGJhc2UgbGF5ZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmV0dGllci9wcmV0dGllclxuZXhwb3J0IHR5cGUge1xuICBMYXllckJhc2VDb25maWcsXG4gIFZpc3VhbENoYW5uZWxEb21haW4sXG4gIFZpc3VhbENoYW5uZWwsXG4gIFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvblxufSBmcm9tICcuL2Jhc2UtbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWxheWVyJztcblxuLy8gaW5kaXZpZHVhbCBsYXllcnNcbmV4cG9ydCBjb25zdCBLZXBsZXJHbExheWVycyA9IHtcbiAgUG9pbnRMYXllcixcbiAgQXJjTGF5ZXIsXG4gIExpbmVMYXllcixcbiAgR3JpZExheWVyLFxuICBIZXhhZ29uTGF5ZXIsXG4gIEdlb2pzb25MYXllcixcbiAgQ2x1c3RlckxheWVyLFxuICBJY29uTGF5ZXIsXG4gIEhlYXRtYXBMYXllcixcbiAgSDNMYXllcixcbiAgU2NlbmVncmFwaExheWVyLFxuICBUcmlwTGF5ZXIsXG4gIFMyR2VvbWV0cnlMYXllcixcbiAgVmVjdG9yVGlsZUxheWVyLFxuICBSYXN0ZXJUaWxlTGF5ZXJcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyQ2xhc3Nlc1R5cGUgPSB0eXBlb2YgTGF5ZXJDbGFzc2VzO1xuZXhwb3J0IGNvbnN0IExheWVyQ2xhc3NlcyA9IHtcbiAgW0xBWUVSX1RZUEVTLnBvaW50XTogUG9pbnRMYXllcixcbiAgW0xBWUVSX1RZUEVTLmFyY106IEFyY0xheWVyLFxuICBbTEFZRVJfVFlQRVMubGluZV06IExpbmVMYXllcixcbiAgW0xBWUVSX1RZUEVTLmdyaWRdOiBHcmlkTGF5ZXIsXG4gIFtMQVlFUl9UWVBFUy5oZXhhZ29uXTogSGV4YWdvbkxheWVyLFxuICBbTEFZRVJfVFlQRVMuZ2VvanNvbl06IEdlb2pzb25MYXllcixcbiAgW0xBWUVSX1RZUEVTLmNsdXN0ZXJdOiBDbHVzdGVyTGF5ZXIsXG4gIFtMQVlFUl9UWVBFUy5pY29uXTogSWNvbkxheWVyLFxuICBbTEFZRVJfVFlQRVMuaGVhdG1hcF06IEhlYXRtYXBMYXllcixcbiAgW0xBWUVSX1RZUEVTLmhleGFnb25JZF06IEgzTGF5ZXIsXG4gIFtMQVlFUl9UWVBFU1snM0QnXV06IFNjZW5lZ3JhcGhMYXllcixcbiAgW0xBWUVSX1RZUEVTLnRyaXBdOiBUcmlwTGF5ZXIsXG4gIFtMQVlFUl9UWVBFUy5zMl06IFMyR2VvbWV0cnlMYXllcixcbiAgW0xBWUVSX1RZUEVTWyd2ZWN0b3JUaWxlJ11dOiBWZWN0b3JUaWxlTGF5ZXIsXG4gIFtMQVlFUl9UWVBFU1sncmFzdGVyVGlsZSddXTogUmFzdGVyVGlsZUxheWVyXG59O1xuXG5leHBvcnQgKiBmcm9tICcuL21hcGJveC11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2gzLWhleGFnb24tbGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFRhYmxlfSBmcm9tICcuL3RhYmxlJztcblxuZXhwb3J0IHtnZXRFZGl0b3JMYXllcn0gZnJvbSAnLi9lZGl0b3ItbGF5ZXIvZWRpdG9yLWxheWVyJztcblxuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyBTY2VuZWdyYXBoTGF5ZXIsXG4gIHNjZW5lZ3JhcGhWaXNDb25maWdzXG59IGZyb20gJy4vc2NlbmVncmFwaC1sYXllci9zY2VuZWdyYXBoLWxheWVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBTY2VuZWdyYXBoTGF5ZXJJY29ufSBmcm9tICcuL3NjZW5lZ3JhcGgtbGF5ZXIvc2NlbmVncmFwaC1sYXllci1pY29uJztcblxuaW1wb3J0IHtcbiAgaXNEcmF3aW5nQWN0aXZlLFxuICBvbkNsaWNrLFxuICBvbkhvdmVyLFxuICBnZXRUb29sdGlwLFxuICBnZXRDdXJzb3Jcbn0gZnJvbSAnLi9lZGl0b3ItbGF5ZXIvZWRpdG9yLWxheWVyLXV0aWxzJztcbmV4cG9ydCBjb25zdCBFZGl0b3JMYXllclV0aWxzID0ge1xuICBpc0RyYXdpbmdBY3RpdmUsXG4gIG9uQ2xpY2ssXG4gIG9uSG92ZXIsXG4gIGdldFRvb2x0aXAsXG4gIGdldEN1cnNvclxufTtcblxuZXhwb3J0IHtnZXRGaWx0ZXJEYXRhRnVuY30gZnJvbSAnLi9hZ2dyZWdhdGlvbi1sYXllcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItdXBkYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItdXRpbHMnO1xuIl0sIm1hcHBpbmdzIjoiOzs7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
;