kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
127 lines (126 loc) • 21.9 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.CollapseButtonFactory = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
var _react = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _icons = require("../common/icons");
var _templateObject, _templateObject2, _templateObject3, _templateObject4; // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
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; }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var StyledSidePanelContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 99;\n height: 100%;\n width: ", "px;\n display: flex;\n transition: width 250ms;\n position: absolute;\n padding-top: ", "px;\n padding-right: ", "px;\n padding-bottom: ", "px;\n padding-left: ", "px;\n pointer-events: none; /* prevent padding from blocking input */\n & > * {\n /* all children should allow input */\n pointer-events: all;\n }\n"])), function (props) {
return props.width + 2 * props.theme.sidePanel.margin.left;
}, function (props) {
return props.theme.sidePanel.margin.top;
}, function (props) {
return props.theme.sidePanel.margin.right;
}, function (props) {
return props.theme.sidePanel.margin.bottom;
}, function (props) {
return props.theme.sidePanel.margin.left;
});
var SideBarContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n transition: left 250ms, right 250ms;\n left: ", "px;\n align-items: stretch;\n flex-grow: 1;\n"])), function (props) {
return props.left;
});
var SideBarInner = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n border-radius: 1px;\n display: flex;\n flex-direction: column;\n height: 100%;\n border-left: ", "px solid\n ", ";\n"])), function (props) {
return props.theme.sidePanelBg;
}, function (props) {
return props.theme.sidePanelBorder;
}, function (props) {
return props.theme.sidePanelBorderColor;
});
var StyledCollapseButton = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n justify-content: center;\n background-color: ", ";\n border-radius: 1px;\n color: ", ";\n display: flex;\n height: 20px;\n position: absolute;\n right: -8px;\n top: ", "px;\n width: 20px;\n\n &:hover {\n cursor: pointer;\n box-shadow: none;\n background-color: ", ";\n }\n"])), function (props) {
return props.theme.sideBarCloseBtnBgd;
}, function (props) {
return props.theme.sideBarCloseBtnColor;
}, function (props) {
return props.theme.sidePanel.margin.top;
}, function (props) {
return props.theme.sideBarCloseBtnBgdHover;
});
var CollapseButtonFactory = exports.CollapseButtonFactory = function CollapseButtonFactory() {
var CollapseButton = function CollapseButton(_ref) {
var onClick = _ref.onClick,
isOpen = _ref.isOpen;
return /*#__PURE__*/_react["default"].createElement(StyledCollapseButton, {
className: "side-bar__close",
onClick: onClick
}, /*#__PURE__*/_react["default"].createElement(_icons.ArrowRight, {
height: "12px",
style: {
transform: "rotate(".concat(isOpen ? 180 : 0, "deg)")
}
}));
};
return CollapseButton;
};
SidebarFactory.deps = [CollapseButtonFactory];
function SidebarFactory(CollapseButton) {
var _SideBar;
return _SideBar = /*#__PURE__*/function (_Component) {
function SideBar() {
var _this;
(0, _classCallCheck2["default"])(this, SideBar);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, SideBar, [].concat(args));
(0, _defineProperty2["default"])(_this, "_onOpenOrClose", function () {
_this.props.onOpenOrClose({
isOpen: !_this.props.isOpen
});
});
return _this;
}
(0, _inherits2["default"])(SideBar, _Component);
return (0, _createClass2["default"])(SideBar, [{
key: "render",
value: function render() {
var _this$props = this.props,
isOpen = _this$props.isOpen,
minifiedWidth = _this$props.minifiedWidth,
width = _this$props.width,
shouldShowCollapseButton = _this$props.shouldShowCollapseButton;
var horizontalOffset = isOpen ? 0 : minifiedWidth - width;
return /*#__PURE__*/_react["default"].createElement(StyledSidePanelContainer, {
width: isOpen ? width : 0,
className: "side-panel--container"
}, /*#__PURE__*/_react["default"].createElement(SideBarContainer, {
className: "side-bar",
style: {
width: "".concat(width, "px")
},
left: horizontalOffset
}, isOpen ? /*#__PURE__*/_react["default"].createElement(SideBarInner, {
className: "side-bar__inner"
}, this.props.children) : null, shouldShowCollapseButton ? /*#__PURE__*/_react["default"].createElement(CollapseButton, {
isOpen: isOpen,
onClick: this._onOpenOrClose
}) : null));
}
}]);
}(_react.Component), (0, _defineProperty2["default"])(_SideBar, "defaultProps", {
width: 300,
minifiedWidth: 0,
isOpen: true,
onOpenOrClose: function noop() {
return;
},
shouldShowCollapseButton: true
}), _SideBar;
}
var _default = exports["default"] = SidebarFactory;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaWNvbnMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY2FsbFN1cGVyIiwibyIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIlN0eWxlZFNpZGVQYW5lbENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ3aWR0aCIsInRoZW1lIiwic2lkZVBhbmVsIiwibWFyZ2luIiwibGVmdCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwiU2lkZUJhckNvbnRhaW5lciIsIlNpZGVCYXJJbm5lciIsInNpZGVQYW5lbEJnIiwic2lkZVBhbmVsQm9yZGVyIiwic2lkZVBhbmVsQm9yZGVyQ29sb3IiLCJTdHlsZWRDb2xsYXBzZUJ1dHRvbiIsInNpZGVCYXJDbG9zZUJ0bkJnZCIsInNpZGVCYXJDbG9zZUJ0bkNvbG9yIiwic2lkZUJhckNsb3NlQnRuQmdkSG92ZXIiLCJDb2xsYXBzZUJ1dHRvbkZhY3RvcnkiLCJleHBvcnRzIiwiQ29sbGFwc2VCdXR0b24iLCJfcmVmIiwib25DbGljayIsImlzT3BlbiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJBcnJvd1JpZ2h0IiwiaGVpZ2h0Iiwic3R5bGUiLCJ0cmFuc2Zvcm0iLCJjb25jYXQiLCJTaWRlYmFyRmFjdG9yeSIsImRlcHMiLCJfU2lkZUJhciIsIl9Db21wb25lbnQiLCJTaWRlQmFyIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJfZGVmaW5lUHJvcGVydHkyIiwib25PcGVuT3JDbG9zZSIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsIm1pbmlmaWVkV2lkdGgiLCJzaG91bGRTaG93Q29sbGFwc2VCdXR0b24iLCJob3Jpem9udGFsT2Zmc2V0IiwiY2hpbGRyZW4iLCJfb25PcGVuT3JDbG9zZSIsIkNvbXBvbmVudCIsIm5vb3AiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaWRlLXBhbmVsL3NpZGUtYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtBcnJvd1JpZ2h0fSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuXG5leHBvcnQgdHlwZSBDb2xsYXBzZUJ1dHRvblByb3BzID0ge1xuICBpc09wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFNpZGVCYXJQcm9wcyA9IHtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBtaW5pZmllZFdpZHRoOiBudW1iZXI7XG4gIG9uT3Blbk9yQ2xvc2U6IChhcmc6IHtpc09wZW46IGJvb2xlYW59KSA9PiB2b2lkO1xuICBzaG91bGRTaG93Q29sbGFwc2VCdXR0b24/OiBib29sZWFuIHwgbnVsbDtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBTdHlsZWRTaWRlUGFuZWxDb250YWluZXIgPSBzdHlsZWQuZGl2PHt3aWR0aDogbnVtYmVyfT5gXG4gIHotaW5kZXg6IDk5O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRoICsgMiAqIHByb3BzLnRoZW1lLnNpZGVQYW5lbC5tYXJnaW4ubGVmdH1weDtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMjUwbXM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZy10b3A6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsLm1hcmdpbi50b3B9cHg7XG4gIHBhZGRpbmctcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsLm1hcmdpbi5yaWdodH1weDtcbiAgcGFkZGluZy1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsLm1hcmdpbi5ib3R0b219cHg7XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWwubWFyZ2luLmxlZnR9cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBwcmV2ZW50IHBhZGRpbmcgZnJvbSBibG9ja2luZyBpbnB1dCAqL1xuICAmID4gKiB7XG4gICAgLyogYWxsIGNoaWxkcmVuIHNob3VsZCBhbGxvdyBpbnB1dCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbmA7XG5cbmNvbnN0IFNpZGVCYXJDb250YWluZXIgPSBzdHlsZWQuZGl2PHtsZWZ0OiBudW1iZXJ9PmBcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogbGVmdCAyNTBtcywgcmlnaHQgMjUwbXM7XG4gIGxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMubGVmdH1weDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtZ3JvdzogMTtcbmA7XG5cbmNvbnN0IFNpZGVCYXJJbm5lciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsQmd9O1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsQm9yZGVyfXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxCb3JkZXJDb2xvcn07XG5gO1xuXG5jb25zdCBTdHlsZWRDb2xsYXBzZUJ1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVCYXJDbG9zZUJ0bkJnZH07XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZUJhckNsb3NlQnRuQ29sb3J9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC04cHg7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWwubWFyZ2luLnRvcH1weDtcbiAgd2lkdGg6IDIwcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlQmFyQ2xvc2VCdG5CZ2RIb3Zlcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDb2xsYXBzZUJ1dHRvbkZhY3RvcnkgPSAoKSA9PiB7XG4gIGNvbnN0IENvbGxhcHNlQnV0dG9uID0gKHtvbkNsaWNrLCBpc09wZW59OiBDb2xsYXBzZUJ1dHRvblByb3BzKSA9PiAoXG4gICAgPFN0eWxlZENvbGxhcHNlQnV0dG9uIGNsYXNzTmFtZT1cInNpZGUtYmFyX19jbG9zZVwiIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgPEFycm93UmlnaHQgaGVpZ2h0PVwiMTJweFwiIHN0eWxlPXt7dHJhbnNmb3JtOiBgcm90YXRlKCR7aXNPcGVuID8gMTgwIDogMH1kZWcpYH19IC8+XG4gICAgPC9TdHlsZWRDb2xsYXBzZUJ1dHRvbj5cbiAgKTtcbiAgcmV0dXJuIENvbGxhcHNlQnV0dG9uO1xufTtcblxuU2lkZWJhckZhY3RvcnkuZGVwcyA9IFtDb2xsYXBzZUJ1dHRvbkZhY3RvcnldO1xuXG5mdW5jdGlvbiBTaWRlYmFyRmFjdG9yeShDb2xsYXBzZUJ1dHRvbjogUmV0dXJuVHlwZTx0eXBlb2YgQ29sbGFwc2VCdXR0b25GYWN0b3J5Pikge1xuICByZXR1cm4gY2xhc3MgU2lkZUJhciBleHRlbmRzIENvbXBvbmVudDxTaWRlQmFyUHJvcHM+IHtcbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgd2lkdGg6IDMwMCxcbiAgICAgIG1pbmlmaWVkV2lkdGg6IDAsXG4gICAgICBpc09wZW46IHRydWUsXG4gICAgICBvbk9wZW5PckNsb3NlOiBmdW5jdGlvbiBub29wKCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9LFxuICAgICAgc2hvdWxkU2hvd0NvbGxhcHNlQnV0dG9uOiB0cnVlXG4gICAgfTtcblxuICAgIF9vbk9wZW5PckNsb3NlID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5vbk9wZW5PckNsb3NlKHtpc09wZW46ICF0aGlzLnByb3BzLmlzT3Blbn0pO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7aXNPcGVuLCBtaW5pZmllZFdpZHRoLCB3aWR0aCwgc2hvdWxkU2hvd0NvbGxhcHNlQnV0dG9ufSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gaXNPcGVuID8gMCA6IG1pbmlmaWVkV2lkdGggLSB3aWR0aDtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZFNpZGVQYW5lbENvbnRhaW5lciB3aWR0aD17aXNPcGVuID8gd2lkdGggOiAwfSBjbGFzc05hbWU9XCJzaWRlLXBhbmVsLS1jb250YWluZXJcIj5cbiAgICAgICAgICA8U2lkZUJhckNvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPVwic2lkZS1iYXJcIlxuICAgICAgICAgICAgc3R5bGU9e3t3aWR0aDogYCR7d2lkdGh9cHhgfX1cbiAgICAgICAgICAgIGxlZnQ9e2hvcml6b250YWxPZmZzZXR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2lzT3BlbiA/IChcbiAgICAgICAgICAgICAgPFNpZGVCYXJJbm5lciBjbGFzc05hbWU9XCJzaWRlLWJhcl9faW5uZXJcIj57dGhpcy5wcm9wcy5jaGlsZHJlbn08L1NpZGVCYXJJbm5lcj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dDb2xsYXBzZUJ1dHRvbiA/IChcbiAgICAgICAgICAgICAgPENvbGxhcHNlQnV0dG9uIGlzT3Blbj17aXNPcGVufSBvbkNsaWNrPXt0aGlzLl9vbk9wZW5PckNsb3NlfSAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9TaWRlQmFyQ29udGFpbmVyPlxuICAgICAgICA8L1N0eWxlZFNpZGVQYW5lbENvbnRhaW5lcj5cbiAgICAgICk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBTaWRlYmFyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUEyQyxJQUFBSSxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBTDNDO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVYsd0JBQUFVLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENB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
;