@kando-env/kando-ui 1.2.263 → 1.2.265-alpha.0

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.
@@ -196,7 +196,7 @@ var Map = function Map(_ref) {
196
196
  areaToCenterBy: areaToCenterBy,
197
197
  mapZoom: mapZoomLevel,
198
198
  rerender: _MapUtils.zoomLevels[mapZoomLevel]
199
- }), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl, children))));
199
+ }), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl, children))));
200
200
  };
201
201
  exports.Map = Map;
202
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfYWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BcmVhUG9seWdvbnMiLCJfRWRnZXMiLCJfUG9pbnRNYXJrZXJzIiwiX0V2ZW50IiwiX01hcFV0aWxzIiwiX3RoZW1lIiwiX2kxOG4iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk1hcCIsIl9yZWYiLCJhcmVhcyIsImVkZ2VzIiwicG9pbnRzIiwiZ2xvYmFsX2RhdGEiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsIl9yZWYkaGlkZUVkZ2VzIiwiaGlkZUVkZ2VzIiwiX3JlZiRtYXBCb3hTdHlsZSIsIm1hcEJveFN0eWxlIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJjaGlsZHJlbiIsIl9yZWYkaW5jbHVkZVVubW9uaXRvciIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsIl9yZWYkaW5jbHVkZVVubW9uaXRvcjIiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiX3JlZiRmb3JFdmVudHNWaWV3IiwiZm9yRXZlbnRzVmlldyIsIm1hcCIsIm1hcFJlZiIsInVzZVJlZiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJtYXBab29tTGV2ZWwiLCJzZXRNYXBab29tTGV2ZWwiLCJldmVudHNEYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlMyIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsImNvbmNhdCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50IiwiX3VzZVN0YXRlNCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIl91c2VTdGF0ZTUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlNiIsInd3dHBzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJtZW1vaXplZFBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsIlBvaW50TWFya2VycyIsInJlcmVuZGVyIiwiem9vbUxldmVscyIsImZhY3Rvcmllc0dyb3VwIiwid3d0cHNHcm91cCIsImNvbGxlY3RvcnNHcm91cCIsInpvb21SdWxlc0ZvckV2ZW50c1ZpZXciLCJwYXlsb2FkIiwiRnJhZ21lbnQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJ6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcyIsIm1lbW9pemVkWm9vbUNvbnRyb2wiLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJfbWFwUmVmJGN1cnJlbnQyIiwiX21hcFJlZiRjdXJyZW50MyIsIl9tYXBSZWYkY3VycmVudDQiLCJyZW1vdmUiLCJzdG9yZU1hcCIsIndhdGVyQXV0aG9yaXR5SWQiLCJhcmVhRm9jdXNMb2dpYyIsInNpZGVuYXZFeHBhbmRlZCIsImlkIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJBcmVhUG9seWdvbnMiLCJtYXBab29tIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgJy4vcG9pbnRzL1BvaW50SWNvbi5zY3NzJztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxuICB6b29tTGV2ZWxzLFxufSBmcm9tICcuL01hcFV0aWxzJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xucmVxdWlyZSgnbGVhZmxldC5tYXJrZXJjbHVzdGVyJyk7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gbGVhZmxldE1hcC5tYXBEZWZhdWx0LFxuICBjaGlsZHJlbixcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID0gdHJ1ZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxuICBmb3JFdmVudHNWaWV3ID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IFtmYWN0b3JpZXNDbHVzdGVyR3JvdXBdID0gdXNlU3RhdGUoXG4gICAgd2luZG93LmN1c3RvbUxlYWZsZXQubWFya2VyQ2x1c3Rlckdyb3VwKHtcbiAgICAgIHNwaWRlcmZ5T25NYXhab29tOiBmYWxzZSxcbiAgICAgIHNob3dDb3ZlcmFnZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSxcbiAgICAgIGFuaW1hdGU6IHRydWUsXG4gICAgICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogMTUsXG4gICAgICByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogZmFsc2UsXG4gICAgICBjaHVua2VkTG9hZGluZzogdHJ1ZSxcbiAgICAgIGljb25DcmVhdGVGdW5jdGlvbjogZnVuY3Rpb24gKGNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMLkRpdkljb24oe1xuICAgICAgICAgIGh0bWw6IGA8ZGl2PjxzcGFuPiR7XG4gICAgICAgICAgICBjbHVzdGVyLl9jaGlsZENvdW50XG4gICAgICAgICAgfTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSdtYXJrZXItY2x1c3Rlci1uYW1lJz4ke2kxOG4udChcbiAgICAgICAgICAgICdpbmR1c3RyaWVzJyxcbiAgICAgICAgICApfTwvZGl2PmAsXG4gICAgICAgICAgY2xhc3NOYW1lOiAnbWFya2VyLWNsdXN0ZXInLFxuICAgICAgICAgIGljb25TaXplOiBuZXcgTC5Qb2ludCg0MCwgNDApLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG5cbiAgY29uc3QgW3d3dHBzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFtjb2xsZWN0b3JzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIC8vY29uc3QgW2ZhY3Rvcmllc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuXG4gIGNvbnN0IG1lbW9pemVkUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICFldmVudHNEYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICBmYWN0b3JpZXNHcm91cD17ZmFjdG9yaWVzQ2x1c3Rlckdyb3VwfVxuICAgICAgICAgIHd3dHBzR3JvdXA9e3d3dHBzTGF5ZXJHcm91cH1cbiAgICAgICAgICBjb2xsZWN0b3JzR3JvdXA9e2NvbGxlY3RvcnNMYXllckdyb3VwfVxuICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgICk7XG4gIH0sIFtcbiAgICBldmVudHNEYXRhLmlzRmV0Y2hpbmcsXG4gICAgbWFwUmVmLmN1cnJlbnQsXG4gICAgcG9pbnRzLFxuICAgIGZvY3VzZWRFdmVudFByZXNlbnQsXG4gICAgbWFwWm9vbUxldmVsLFxuICAgIGZhY3Rvcmllc0NsdXN0ZXJHcm91cCxcbiAgICB3d3Rwc0xheWVyR3JvdXAsXG4gICAgY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gIF0pO1xuXG4gIC8vIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAvLyAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIC8vIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRXZlbnRzVmlldyA9ICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gKFxuICAgICAgPD5cbiAgICAgICAgPEVkZ2VzXG4gICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz17aW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlc31cbiAgICAgICAgLz5cbiAgICAgICAge21lbW9pemVkUG9pbnRzfVxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gPD48Lz47XG4gICAgc3dpdGNoICh6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pIHtcbiAgICAgIGNhc2UgJ1NtYWxsJzpcbiAgICAgIGNhc2UgJ01lZGl1bSc6XG4gICAgICAgIHBheWxvYWQgPSB6b29tUnVsZXNGb3JFdmVudHNWaWV3KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUxhcmdlJzpcbiAgICAgIGNhc2UgJ0xhcmdlJzpcbiAgICAgIGNhc2UgJ1hMYXJnZSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBtZW1vaXplZFpvb21Db250cm9sID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGZvckV2ZW50c1ZpZXdcbiAgICAgID8gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpXG4gICAgICA6IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzKCk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfSwgW21hcFpvb21MZXZlbCwgZXZlbnRzRGF0YS5pc0ZldGNoaW5nLCBmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgcG9pbnRzXSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChmb2N1c2VkRXZlbnRQcmVzZW50KSB7XG4gICAgICBmb2N1c2VkRXZlbnQhLmZvY3VzZWQgPSBmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgICAgZm9jdXNlZEV2ZW50IS5ob3ZlcmVkID0gIWZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGhvdmVyZWRFdmVudCEuaG92ZXJlZCA9IGhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgICBob3ZlcmVkRXZlbnQhLmZvY3VzZWQgPSAhaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoIWhvdmVyZWRFdmVudFByZXNlbnQgJiYgIWZvY3VzZWRFdmVudFByZXNlbnQpIHJldHVybiA8PjwvPjtcbiAgICByZXR1cm4gKFxuICAgICAgPEV2ZW50XG4gICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnQhIHx8IGhvdmVyZWRFdmVudCF9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgIH07XG4gIH0sIFtmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgbGVhZmxldE1hcC5zYXRlbGxpdGUsXG4gICAgICBtYXBSZWYsXG4gICAgICBkaXNwYXRjaCxcbiAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICB3d3Rwc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoZmFjdG9yaWVzQ2x1c3Rlckdyb3VwKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcih3d3Rwc0xheWVyR3JvdXApO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyZWFGb2N1c0xvZ2ljKFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgICBhcmVhVG9DZW50ZXJCeSA/IGFyZWFUb0NlbnRlckJ5IDogYXJlYXNbMF0sXG4gICAgICApO1xuICAgIH1cbiAgfSwgW2FyZWFUb0NlbnRlckJ5LCBhcmVhc10pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+PC9kaXY+XG4gICAgICAgICAge3Nob3VsZExvYWRNYXBPYmplY3RzKGdsb2JhbF9kYXRhLCBtYXBSZWYsIGVkZ2VzLCBwb2ludHMpICYmIChcbiAgICAgICAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyhlZGdlcywgYXJlYXMsIGdsb2JhbF9kYXRhLCBtYXBSZWYpICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50fVxuICAgICAgICAgICAgICB7bWVtb2l6ZWRab29tQ29udHJvbH1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxDQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUlBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUdBLElBQUFJLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLGFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBUSxhQUFBLEdBQUFSLE9BQUE7QUFFQSxJQUFBUyxNQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxTQUFBLEdBQUFWLE9BQUE7QUFRQSxJQUFBVyxNQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxLQUFBLEdBQUFQLHNCQUFBLENBQUFMLE9BQUE7QUFBd0MsU0FBQWEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFmLHdCQUFBbUIsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQTVCeEM7O0FBNkJBekIsT0FBTyxDQUFDLHVCQUF1QixDQUFDO0FBaUJ6QixJQUFNb0MsR0FBdUIsR0FBRyxTQUExQkEsR0FBdUJBLENBQUFDLElBQUEsRUFjOUI7RUFBQSxJQWJKQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUNMQyxLQUFLLEdBQUFGLElBQUEsQ0FBTEUsS0FBSztJQUNMQyxNQUFNLEdBQUFILElBQUEsQ0FBTkcsTUFBTTtJQUNOQyxXQUFXLEdBQUFKLElBQUEsQ0FBWEksV0FBVztJQUNYQyxjQUFjLEdBQUFMLElBQUEsQ0FBZEssY0FBYztJQUNkQyxZQUFZLEdBQUFOLElBQUEsQ0FBWk0sWUFBWTtJQUNaQyxZQUFZLEdBQUFQLElBQUEsQ0FBWk8sWUFBWTtJQUFBQyxjQUFBLEdBQUFSLElBQUEsQ0FDWlMsU0FBUztJQUFUQSxTQUFTLEdBQUFELGNBQUEsY0FBRyxLQUFLLEdBQUFBLGNBQUE7SUFBQUUsZ0JBQUEsR0FBQVYsSUFBQSxDQUNqQlcsV0FBVztJQUFYQSxXQUFXLEdBQUFELGdCQUFBLGNBQUdFLGlCQUFVLENBQUNDLFVBQVUsR0FBQUgsZ0JBQUE7SUFDbkNJLFFBQVEsR0FBQWQsSUFBQSxDQUFSYyxRQUFRO0lBQUFDLHFCQUFBLEdBQUFmLElBQUEsQ0FDUmdCLHdCQUF3QjtJQUF4QkEsd0JBQXdCLEdBQUFELHFCQUFBLGNBQUcsSUFBSSxHQUFBQSxxQkFBQTtJQUFBRSxzQkFBQSxHQUFBakIsSUFBQSxDQUMvQmtCLHFDQUFxQztJQUFyQ0EscUNBQXFDLEdBQUFELHNCQUFBLGNBQUcsS0FBSyxHQUFBQSxzQkFBQTtJQUFBRSxrQkFBQSxHQUFBbkIsSUFBQSxDQUM3Q29CLGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxrQkFBQSxjQUFHLEtBQUssR0FBQUEsa0JBQUE7RUFFckIsSUFBUUUsR0FBRyxHQUFLakIsV0FBVyxDQUFuQmlCLEdBQUc7RUFDWCxJQUFNQyxNQUFNLEdBQUcsSUFBQUMsYUFBTSxFQUFRLElBQUksQ0FBQztFQUNsQyxJQUFNQyxRQUFRLEdBQUcsSUFBQUMsdUJBQVcsRUFBQyxDQUFDO0VBQzlCLElBQUFDLFNBQUEsR0FBd0MsSUFBQUMsZUFBUSxFQUFDLENBQUMsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsQ0FBQTdDLE9BQUEsRUFBQTBDLFNBQUE7SUFBNUNJLFlBQVksR0FBQUYsVUFBQTtJQUFFRyxlQUFlLEdBQUFILFVBQUE7RUFDcEMsSUFBTUksVUFBVSxHQUFHLElBQUFDLHVCQUFXLEVBQzVCLFVBQUNDLEtBQW9DO0lBQUEsT0FBS0EsS0FBSyxDQUFDQyxXQUFXO0VBQUEsQ0FDN0QsQ0FBQztFQUNELElBQU1DLG1CQUFtQixHQUFHLElBQUFDLGNBQU8sRUFBQyxZQUFNO0lBQ3hDLE9BQU85QixZQUFZLEtBQUssSUFBSSxJQUFJQSxZQUFZLEtBQUsrQixTQUFTO0VBQzVELENBQUMsRUFBRSxDQUFDL0IsWUFBWSxDQUFDLENBQUM7RUFFbEIsSUFBTWdDLG1CQUFtQixHQUFHLElBQUFGLGNBQU8sRUFBQyxZQUFNO0lBQ3hDLE9BQU8vQixZQUFZLEtBQUssSUFBSSxJQUFJQSxZQUFZLEtBQUtnQyxTQUFTO0VBQzVELENBQUMsRUFBRSxDQUFDaEMsWUFBWSxDQUFDLENBQUM7RUFFbEIsSUFBQWtDLFVBQUEsR0FBZ0MsSUFBQWIsZUFBUSxFQUN0Q2MsTUFBTSxDQUFDQyxhQUFhLENBQUNDLGtCQUFrQixDQUFDO01BQ3RDQyxpQkFBaUIsRUFBRSxLQUFLO01BQ3hCQyxtQkFBbUIsRUFBRSxLQUFLO01BQzFCQyxtQkFBbUIsRUFBRSxJQUFJO01BQ3pCQyxPQUFPLEVBQUUsSUFBSTtNQUNiQyx1QkFBdUIsRUFBRSxFQUFFO01BQzNCQywwQkFBMEIsRUFBRSxLQUFLO01BQ2pDQyxjQUFjLEVBQUUsSUFBSTtNQUNwQkMsa0JBQWtCLEVBQUUsU0FBQUEsbUJBQVVDLE9BQU8sRUFBRTtRQUNyQyxPQUFPLElBQUkzRixDQUFDLENBQUM0RixPQUFPLENBQUM7VUFDbkJDLElBQUksZ0JBQUFDLE1BQUEsQ0FDRkgsT0FBTyxDQUFDSSxXQUFXLG9EQUFBRCxNQUFBLENBQzRCRSxhQUFJLENBQUNDLENBQUMsQ0FDckQsWUFDRixDQUFDLFdBQVE7VUFDVEMsU0FBUyxFQUFFLGdCQUFnQjtVQUMzQkMsUUFBUSxFQUFFLElBQUluRyxDQUFDLENBQUNvRyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDOUIsQ0FBQyxDQUFDO01BQ0o7SUFDRixDQUFDLENBQ0gsQ0FBQztJQUFBQyxVQUFBLE9BQUFqQyxlQUFBLENBQUE3QyxPQUFBLEVBQUF3RCxVQUFBO0lBckJNdUIscUJBQXFCLEdBQUFELFVBQUE7RUF1QjVCLElBQUFFLFVBQUEsR0FBMEIsSUFBQXJDLGVBQVEsRUFBQ2xFLENBQUMsQ0FBQ3dHLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFBQUMsVUFBQSxPQUFBckMsZUFBQSxDQUFBN0MsT0FBQSxFQUFBZ0YsVUFBQTtJQUEzQ0csZUFBZSxHQUFBRCxVQUFBO0VBQ3RCLElBQUFFLFVBQUEsR0FBK0IsSUFBQXpDLGVBQVEsRUFBQ2xFLENBQUMsQ0FBQ3dHLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFBQUksVUFBQSxPQUFBeEMsZUFBQSxDQUFBN0MsT0FBQSxFQUFBb0YsVUFBQTtJQUFoREUsb0JBQW9CLEdBQUFELFVBQUE7RUFDM0I7O0VBRUEsSUFBTUUsY0FBYyxHQUFHLElBQUFsQyxjQUFPLEVBQUMsWUFBTTtJQUNuQyxPQUNFLENBQUNMLFVBQVUsQ0FBQ3dDLFVBQVUsSUFDdEJsRCxNQUFNLENBQUNtRCxPQUFPLEtBQUssSUFBSSxpQkFDckI3RyxNQUFBLENBQUFvQixPQUFBLENBQUEwRixhQUFBLENBQUN2RyxhQUFBLENBQUF3RyxZQUFZO01BQ1h0RCxHQUFHLEVBQUVDLE1BQU0sQ0FBQ21ELE9BQVE7TUFDcEJ0RSxNQUFNLEVBQUVBLE1BQU87TUFDZmEsd0JBQXdCLEVBQUVBLHdCQUF5QjtNQUNuRDRELFFBQVEsRUFBRUMsb0JBQVUsQ0FBQy9DLFlBQVksQ0FBRTtNQUNuQ2dELGNBQWMsRUFBRWYscUJBQXNCO01BQ3RDZ0IsVUFBVSxFQUFFWixlQUFnQjtNQUM1QmEsZUFBZSxFQUFFVixvQkFBcUI7TUFDdENsRCxhQUFhLEVBQUU7SUFBTSxDQUN0QixDQUNGO0VBRUwsQ0FBQyxFQUFFLENBQ0RZLFVBQVUsQ0FBQ3dDLFVBQVUsRUFDckJsRCxNQUFNLENBQUNtRCxPQUFPLEVBQ2R0RSxNQUFNLEVBQ05vQyxtQkFBbUIsRUFDbkJULFlBQVksRUFDWmlDLHFCQUFxQixFQUNyQkksZUFBZSxFQUNmRyxvQkFBb0IsQ0FDckIsQ0FBQzs7RUFFRjtFQUNBO0VBQ0E7O0VBRUEsSUFBTVcsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBQSxFQUFTO0lBQ25DLElBQU1DLE9BQU8sZ0JBQ1h0SCxNQUFBLENBQUFvQixPQUFBLENBQUEwRixhQUFBLENBQUE5RyxNQUFBLENBQUFvQixPQUFBLENBQUFtRyxRQUFBLHFCQUNFdkgsTUFBQSxDQUFBb0IsT0FBQSxDQUFBMEYsYUFBQSxDQUFDeEcsTUFBQSxDQUFBYyxPQUFLO01BQ0prQixLQUFLLEVBQUVBLEtBQU87TUFDZG1CLEdBQUcsRUFBRUMsTUFBTSxDQUFDbUQsT0FBUTtNQUNwQmhILENBQUMsRUFBRUEsQ0FBRTtNQUNMMEMsTUFBTSxFQUFFQSxNQUFRO01BQ2hCTSxTQUFTLEVBQUVBLFNBQVU7TUFDckIyRSwyQkFBMkIsRUFBRWxFO0lBQXNDLENBQ3BFLENBQUMsRUFDRHFELGNBQ0QsQ0FDSDtJQUVELE9BQU9XLE9BQU87RUFDaEIsQ0FBQztFQUVELElBQU1HLDBCQUEwQixHQUFHLFNBQTdCQSwwQkFBMEJBLENBQUEsRUFBUztJQUN2QyxJQUFJSCxPQUFPLGdCQUFHdEgsTUFBQSxDQUFBb0IsT0FBQSxDQUFBMEYsYUFBQSxDQUFBOUcsTUFBQSxDQUFBb0IsT0FBQSxDQUFBbUcsUUFBQSxNQUFJLENBQUM7SUFDbkIsUUFBUU4sb0JBQVUsQ0FBQy9DLFlBQVksQ0FBQztNQUM5QixLQUFLLE9BQU87TUFDWixLQUFLLFFBQVE7UUFDWG9ELE9BQU8sR0FBR0Qsc0JBQXNCLENBQUMsQ0FBQztRQUNsQztNQUNGLEtBQUssUUFBUTtNQUNiLEtBQUssT0FBTztNQUNaLEtBQUssUUFBUTtNQUNiO1FBQ0VDLE9BQU8sZ0JBQUd0SCxNQUFBLENBQUFvQixPQUFBLENBQUEwRixhQUFBLENBQUE5RyxNQUFBLENBQUFvQixPQUFBLENBQUFtRyxRQUFBLFFBQUdaLGNBQWlCLENBQUM7UUFDL0I7SUFDSjtJQUVBLE9BQU9XLE9BQU87RUFDaEIsQ0FBQztFQUVELElBQU1JLG1CQUFtQixHQUFHLElBQUFqRCxjQUFPLEVBQUMsWUFBTTtJQUN4QyxJQUFNNkMsT0FBTyxHQUFHOUQsYUFBYSxHQUN6QjZELHNCQUFzQixDQUFDLENBQUMsR0FDeEJJLDBCQUEwQixDQUFDLENBQUM7SUFFaEMsT0FBT0gsT0FBTztFQUNoQixDQUFDLEVBQUUsQ0FBQ3BELFlBQVksRUFBRUUsVUFBVSxDQUFDd0MsVUFBVSxFQUFFbEUsWUFBWSxFQUFFQyxZQUFZLEVBQUVKLE1BQU0sQ0FBQyxDQUFDO0VBRTdFLElBQU1vRixhQUFhLEdBQUcsSUFBQWxELGNBQU8sRUFBQyxZQUFNO0lBQ2xDLElBQUlFLG1CQUFtQixFQUFFO01BQ3ZCakMsWUFBWSxDQUFFa0YsT0FBTyxHQUFHakQsbUJBQW1CO01BQzNDakMsWUFBWSxDQUFFbUYsT0FBTyxHQUFHLENBQUNsRCxtQkFBbUI7SUFDOUM7SUFFQSxJQUFJSCxtQkFBbUIsRUFBRTtNQUN2QjdCLFlBQVksQ0FBRWtGLE9BQU8sR0FBR3JELG1CQUFtQjtNQUMzQzdCLFlBQVksQ0FBRWlGLE9BQU8sR0FBRyxDQUFDcEQsbUJBQW1CO0lBQzlDO0lBRUEsSUFBSSxDQUFDQSxtQkFBbUIsSUFBSSxDQUFDRyxtQkFBbUIsRUFBRSxvQkFBTzNFLE1BQUEsQ0FBQW9CLE9BQUEsQ0FBQTBGLGFBQUEsQ0FBQTlHLE1BQUEsQ0FBQW9CLE9BQUEsQ0FBQW1HLFFBQUEsTUFBSSxDQUFDO0lBQzlELG9CQUNFdkgsTUFBQSxDQUFBb0IsT0FBQSxDQUFBMEYsYUFBQSxDQUFDdEcsTUFBQSxDQUFBc0gsS0FBSztNQUNKQyxLQUFLLEVBQUVyRixZQUFZLElBQUtDLFlBQWM7TUFDdENjLEdBQUcsRUFBRUEsR0FBSTtNQUNUbkIsS0FBSyxFQUFFQSxLQUFPO01BQ2RDLE1BQU0sRUFBRUEsTUFBUTtNQUNoQnlGLGNBQWMsRUFBRSxDQUFDeEQ7SUFBb0IsQ0FDdEMsQ0FBQztFQUVOLENBQUMsRUFBRSxDQUFDOUIsWUFBWSxFQUFFQyxZQUFZLEVBQUVILFdBQVcsQ0FBQ3lGLGdCQUFnQixDQUFDLENBQUM7RUFFOUQsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsT0FBTyxTQUFTQyxPQUFPQSxDQUFBLEVBQUc7TUFBQSxJQUFBQyxlQUFBO01BQ3hCMUIsb0JBQW9CLENBQUMyQixXQUFXLENBQUMsQ0FBQztNQUNsQyxDQUFBRCxlQUFBLEdBQUExRSxNQUFNLENBQUNtRCxPQUFPLGNBQUF1QixlQUFBLHVCQUFkQSxlQUFBLENBQWdCRSxXQUFXLENBQUM1QixvQkFBb0IsQ0FBQztJQUNuRCxDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNoRSxZQUFZLEVBQUVDLFlBQVksRUFBRUgsV0FBVyxDQUFDeUYsZ0JBQWdCLENBQUMsQ0FBQztFQUU5RCxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFBSyx1QkFBYSxFQUNYckUsWUFBWSxFQUNabkIsV0FBVyxFQUNYQyxpQkFBVSxDQUFDd0YsU0FBUyxFQUNwQjlFLE1BQU0sRUFDTkUsUUFBUSxFQUNSNkUscUJBQVcsRUFDWGhHLGNBQWMsRUFDZDBCLGVBQ0YsQ0FBQztJQUVELE9BQU8sU0FBU2dFLE9BQU9BLENBQUEsRUFBRztNQUFBLElBQUFPLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBO01BQ3hCekMscUJBQXFCLENBQUNrQyxXQUFXLENBQUMsQ0FBQztNQUNuQzlCLGVBQWUsQ0FBQzhCLFdBQVcsQ0FBQyxDQUFDO01BQzdCM0Isb0JBQW9CLENBQUMyQixXQUFXLENBQUMsQ0FBQztNQUNsQyxDQUFBSyxnQkFBQSxHQUFBaEYsTUFBTSxDQUFDbUQsT0FBTyxjQUFBNkIsZ0JBQUEsdUJBQWRBLGdCQUFBLENBQWdCSixXQUFXLENBQUNuQyxxQkFBcUIsQ0FBQztNQUNsRCxDQUFBd0MsZ0JBQUEsR0FBQWpGLE1BQU0sQ0FBQ21ELE9BQU8sY0FBQThCLGdCQUFBLHVCQUFkQSxnQkFBQSxDQUFnQkwsV0FBVyxDQUFDL0IsZUFBZSxDQUFDO01BQzVDLENBQUFxQyxnQkFBQSxHQUFBbEYsTUFBTSxDQUFDbUQsT0FBTyxjQUFBK0IsZ0JBQUEsdUJBQWRBLGdCQUFBLENBQWdCTixXQUFXLENBQUM1QixvQkFBb0IsQ0FBQztNQUNqRDtNQUNBaEQsTUFBTSxDQUFDbUQsT0FBTyxDQUFDZ0MsTUFBTSxDQUFDLENBQUM7TUFDdkJqRixRQUFRLENBQUMsSUFBQWtGLGlCQUFRLEVBQUNwRSxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNsQyxXQUFXLENBQUN1RyxnQkFBZ0IsQ0FBQyxDQUFDO0VBRWxDLElBQUFiLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQUksQ0FBQ3hFLE1BQU0sQ0FBQ21ELE9BQU8sRUFBRTtNQUNuQixJQUFBMEIsdUJBQWEsRUFDWHJFLFlBQVksRUFDWm5CLFdBQVcsRUFDWEMsaUJBQVUsQ0FBQ3dGLFNBQVMsRUFDcEI5RSxNQUFNLEVBQ05FLFFBQVEsRUFDUjZFLHFCQUFXLEVBQ1hoRyxjQUFjLEVBQ2QwQixlQUNGLENBQUM7SUFDSCxDQUFDLE1BQU07TUFDTCxJQUFBNkUsd0JBQWMsRUFDWnRGLE1BQU0sRUFDTitFLHFCQUFXLEVBQ1hoRyxjQUFjLEdBQUdBLGNBQWMsR0FBR0osS0FBSyxDQUFDLENBQUMsQ0FDM0MsQ0FBQztJQUNIO0VBQ0YsQ0FBQyxFQUFFLENBQUNJLGNBQWMsRUFBRUosS0FBSyxDQUFDLENBQUM7RUFFM0Isb0JBQ0VyQyxNQUFBLENBQUFvQixPQUFBLENBQUEwRixhQUFBO0lBQUtmLFNBQVMsRUFBQztFQUFrQixnQkFDL0IvRixNQUFBLENBQUFvQixPQUFBLENBQUEwRixhQUFBO0lBQ0VmLFNBQVMsb0JBQUFKLE1BQUEsQ0FDUG5ELFdBQVcsQ0FBQ3lHLGVBQWUsR0FBRyxFQUFFLEdBQUcsa0NBQWtDO0VBQ3BFLGdCQUVIakosTUFBQSxDQUFBb0IsT0FBQSxDQUFBMEYsYUFBQSxDQUFDM0csY0FBQSxDQUFBaUIsT0FBYSxxQkFDWnBCLE1BQUEsQ0FBQW9CLE9BQUEsQ0FBQTBGLGFBQUE7SUFBS29DLEVBQUUsRUFBQztFQUFLLENBQU0sQ0FBQyxFQUNuQixJQUFBQyw4QkFBb0IsRUFBQzNHLFdBQVcsRUFBRWtCLE1BQU0sRUFBRXBCLEtBQUssRUFBRUMsTUFBTSxDQUFDLGlCQUN2RHZDLE1BQUEsQ0FBQW9CLE9BQUEsQ0FBQTBGLGFBQUEsQ0FBQ3pHLGFBQUEsQ0FBQStJLFlBQVk7SUFDWC9HLEtBQUssRUFBRUEsS0FBTTtJQUNib0IsR0FBRyxFQUFFQyxNQUFNLENBQUNtRCxPQUFRO0lBQ3BCaEgsQ0FBQyxFQUFFQSxDQUFFO0lBQ0w0QyxjQUFjLEVBQUVBLGNBQWU7SUFDL0I0RyxPQUFPLEVBQUVuRixZQUFhO0lBQ3RCOEMsUUFBUSxFQUFFQyxvQkFBVSxDQUFDL0MsWUFBWTtFQUFFLENBQ3BDLENBQ0YsRUFDQSxJQUFBb0Ysc0NBQTRCLEVBQUNoSCxLQUFLLEVBQUVELEtBQUssRUFBRUcsV0FBVyxFQUFFa0IsTUFBTSxDQUFDLGlCQUM5RDFELE1BQUEsQ0FBQW9CLE9BQUEsQ0FBQTBGLGFBQUEsQ0FBQTlHLE1BQUEsQ0FBQW9CLE9BQUEsQ0FBQW1HLFFBQUEsUUFDR0ksYUFBYSxFQUNiRCxtQkFBbUIsRUFDbkJ4RSxRQUNELENBRVMsQ0FDWixDQUNGLENBQUM7QUFFVixDQUFDO0FBQUNxRyxPQUFBLENBQUFwSCxHQUFBLEdBQUFBLEdBQUEifQ==
202
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfYWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BcmVhUG9seWdvbnMiLCJfRWRnZXMiLCJfUG9pbnRNYXJrZXJzIiwiX0V2ZW50IiwiX01hcFV0aWxzIiwiX3RoZW1lIiwiX2kxOG4iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk1hcCIsIl9yZWYiLCJhcmVhcyIsImVkZ2VzIiwicG9pbnRzIiwiZ2xvYmFsX2RhdGEiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsIl9yZWYkaGlkZUVkZ2VzIiwiaGlkZUVkZ2VzIiwiX3JlZiRtYXBCb3hTdHlsZSIsIm1hcEJveFN0eWxlIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJjaGlsZHJlbiIsIl9yZWYkaW5jbHVkZVVubW9uaXRvciIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsIl9yZWYkaW5jbHVkZVVubW9uaXRvcjIiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiX3JlZiRmb3JFdmVudHNWaWV3IiwiZm9yRXZlbnRzVmlldyIsIm1hcCIsIm1hcFJlZiIsInVzZVJlZiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJtYXBab29tTGV2ZWwiLCJzZXRNYXBab29tTGV2ZWwiLCJldmVudHNEYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlMyIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsImNvbmNhdCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50IiwiX3VzZVN0YXRlNCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIl91c2VTdGF0ZTUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlNiIsInd3dHBzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJtZW1vaXplZFBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsIlBvaW50TWFya2VycyIsInJlcmVuZGVyIiwiem9vbUxldmVscyIsImZhY3Rvcmllc0dyb3VwIiwid3d0cHNHcm91cCIsImNvbGxlY3RvcnNHcm91cCIsInpvb21SdWxlc0ZvckV2ZW50c1ZpZXciLCJwYXlsb2FkIiwiRnJhZ21lbnQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJ6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcyIsIm1lbW9pemVkWm9vbUNvbnRyb2wiLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJfbWFwUmVmJGN1cnJlbnQyIiwiX21hcFJlZiRjdXJyZW50MyIsIl9tYXBSZWYkY3VycmVudDQiLCJyZW1vdmUiLCJzdG9yZU1hcCIsIndhdGVyQXV0aG9yaXR5SWQiLCJhcmVhRm9jdXNMb2dpYyIsInNpZGVuYXZFeHBhbmRlZCIsImlkIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJBcmVhUG9seWdvbnMiLCJtYXBab29tIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgJy4vcG9pbnRzL1BvaW50SWNvbi5zY3NzJztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxuICB6b29tTGV2ZWxzLFxufSBmcm9tICcuL01hcFV0aWxzJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xucmVxdWlyZSgnbGVhZmxldC5tYXJrZXJjbHVzdGVyJyk7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gbGVhZmxldE1hcC5tYXBEZWZhdWx0LFxuICBjaGlsZHJlbixcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID0gdHJ1ZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxuICBmb3JFdmVudHNWaWV3ID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IFtmYWN0b3JpZXNDbHVzdGVyR3JvdXBdID0gdXNlU3RhdGUoXG4gICAgd2luZG93LmN1c3RvbUxlYWZsZXQubWFya2VyQ2x1c3Rlckdyb3VwKHtcbiAgICAgIHNwaWRlcmZ5T25NYXhab29tOiBmYWxzZSxcbiAgICAgIHNob3dDb3ZlcmFnZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSxcbiAgICAgIGFuaW1hdGU6IHRydWUsXG4gICAgICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogMTUsXG4gICAgICByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogZmFsc2UsXG4gICAgICBjaHVua2VkTG9hZGluZzogdHJ1ZSxcbiAgICAgIGljb25DcmVhdGVGdW5jdGlvbjogZnVuY3Rpb24gKGNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMLkRpdkljb24oe1xuICAgICAgICAgIGh0bWw6IGA8ZGl2PjxzcGFuPiR7XG4gICAgICAgICAgICBjbHVzdGVyLl9jaGlsZENvdW50XG4gICAgICAgICAgfTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSdtYXJrZXItY2x1c3Rlci1uYW1lJz4ke2kxOG4udChcbiAgICAgICAgICAgICdpbmR1c3RyaWVzJyxcbiAgICAgICAgICApfTwvZGl2PmAsXG4gICAgICAgICAgY2xhc3NOYW1lOiAnbWFya2VyLWNsdXN0ZXInLFxuICAgICAgICAgIGljb25TaXplOiBuZXcgTC5Qb2ludCg0MCwgNDApLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG5cbiAgY29uc3QgW3d3dHBzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFtjb2xsZWN0b3JzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIC8vY29uc3QgW2ZhY3Rvcmllc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuXG4gIGNvbnN0IG1lbW9pemVkUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICFldmVudHNEYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICBmYWN0b3JpZXNHcm91cD17ZmFjdG9yaWVzQ2x1c3Rlckdyb3VwfVxuICAgICAgICAgIHd3dHBzR3JvdXA9e3d3dHBzTGF5ZXJHcm91cH1cbiAgICAgICAgICBjb2xsZWN0b3JzR3JvdXA9e2NvbGxlY3RvcnNMYXllckdyb3VwfVxuICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgICk7XG4gIH0sIFtcbiAgICBldmVudHNEYXRhLmlzRmV0Y2hpbmcsXG4gICAgbWFwUmVmLmN1cnJlbnQsXG4gICAgcG9pbnRzLFxuICAgIGZvY3VzZWRFdmVudFByZXNlbnQsXG4gICAgbWFwWm9vbUxldmVsLFxuICAgIGZhY3Rvcmllc0NsdXN0ZXJHcm91cCxcbiAgICB3d3Rwc0xheWVyR3JvdXAsXG4gICAgY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gIF0pO1xuXG4gIC8vIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAvLyAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIC8vIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRXZlbnRzVmlldyA9ICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gKFxuICAgICAgPD5cbiAgICAgICAgPEVkZ2VzXG4gICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz17aW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlc31cbiAgICAgICAgLz5cbiAgICAgICAge21lbW9pemVkUG9pbnRzfVxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gPD48Lz47XG4gICAgc3dpdGNoICh6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pIHtcbiAgICAgIGNhc2UgJ1NtYWxsJzpcbiAgICAgIGNhc2UgJ01lZGl1bSc6XG4gICAgICAgIHBheWxvYWQgPSB6b29tUnVsZXNGb3JFdmVudHNWaWV3KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUxhcmdlJzpcbiAgICAgIGNhc2UgJ0xhcmdlJzpcbiAgICAgIGNhc2UgJ1hMYXJnZSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBtZW1vaXplZFpvb21Db250cm9sID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGZvckV2ZW50c1ZpZXdcbiAgICAgID8gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpXG4gICAgICA6IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzKCk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfSwgW21hcFpvb21MZXZlbCwgZXZlbnRzRGF0YS5pc0ZldGNoaW5nLCBmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgcG9pbnRzXSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChmb2N1c2VkRXZlbnRQcmVzZW50KSB7XG4gICAgICBmb2N1c2VkRXZlbnQhLmZvY3VzZWQgPSBmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgICAgZm9jdXNlZEV2ZW50IS5ob3ZlcmVkID0gIWZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGhvdmVyZWRFdmVudCEuaG92ZXJlZCA9IGhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgICBob3ZlcmVkRXZlbnQhLmZvY3VzZWQgPSAhaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoIWhvdmVyZWRFdmVudFByZXNlbnQgJiYgIWZvY3VzZWRFdmVudFByZXNlbnQpIHJldHVybiA8PjwvPjtcbiAgICByZXR1cm4gKFxuICAgICAgPEV2ZW50XG4gICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnQhIHx8IGhvdmVyZWRFdmVudCF9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgIH07XG4gIH0sIFtmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgbGVhZmxldE1hcC5zYXRlbGxpdGUsXG4gICAgICBtYXBSZWYsXG4gICAgICBkaXNwYXRjaCxcbiAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICB3d3Rwc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoZmFjdG9yaWVzQ2x1c3Rlckdyb3VwKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcih3d3Rwc0xheWVyR3JvdXApO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyZWFGb2N1c0xvZ2ljKFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgICBhcmVhVG9DZW50ZXJCeSA/IGFyZWFUb0NlbnRlckJ5IDogYXJlYXNbMF0sXG4gICAgICApO1xuICAgIH1cbiAgfSwgW2FyZWFUb0NlbnRlckJ5LCBhcmVhc10pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+PC9kaXY+XG4gICAgICAgICAge3Nob3VsZExvYWRNYXBPYmplY3RzKGdsb2JhbF9kYXRhLCBtYXBSZWYsIGVkZ2VzLCBwb2ludHMpICYmIChcbiAgICAgICAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyhcbiAgICAgICAgICAgIGVkZ2VzLFxuICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICBnbG9iYWxfZGF0YSxcbiAgICAgICAgICAgIG1hcFJlZixcbiAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICApICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50fVxuICAgICAgICAgICAgICB7bWVtb2l6ZWRab29tQ29udHJvbH1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxDQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFdBQUEs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
@@ -1,5 +1,5 @@
1
1
  .events-view-page .kd-map-container {
2
- @media only screen and (max-width: 500px) {
2
+ @media only screen and (max-width: 950px) {
3
3
  .map-container {
4
4
  .ltr & {
5
5
  left: 0 !important;
@@ -87,7 +87,7 @@
87
87
  }
88
88
 
89
89
  .map-container {
90
- @media (max-width: 500px) {
90
+ @media (max-width: 950px) {
91
91
  width: 100vw !important;
92
92
  }
93
93
  position: fixed;
@@ -39,8 +39,8 @@ var shouldLoadMapObjects = function shouldLoadMapObjects(global_data, mapRef, po
39
39
  return global_data.map !== undefined && mapRef.current !== null && edges !== undefined && points !== undefined;
40
40
  };
41
41
  exports.shouldLoadMapObjects = shouldLoadMapObjects;
42
- var shoudLoadDependentMapObjects = function shoudLoadDependentMapObjects(edges, areas, global, mapRef) {
43
- return global.map !== undefined && mapRef.current !== null && edges.length !== 0 && areas.length !== 0;
42
+ var shoudLoadDependentMapObjects = function shoudLoadDependentMapObjects(edges, areas, global, mapRef, points) {
43
+ return global.map !== undefined && mapRef.current !== null && edges.length !== 0 && areas.length !== 0 && points.length !== 0;
44
44
  };
45
45
  exports.shoudLoadDependentMapObjects = shoudLoadDependentMapObjects;
46
46
  var findSpecificLayersFromMap = function findSpecificLayersFromMap(layersToFind, currentLayer) {
@@ -257,4 +257,4 @@ var zoomLevels = {
257
257
  18: 'Small'
258
258
  };
259
259
  exports.zoomLevels = zoomLevels;
260
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsImFyZWFGb2N1c0xvZ2ljIiwibWFwUmVmIiwiaXNWYWxpZEFyZWEiLCJhcmVhVG9DZW50ZXJCeSIsIm1hcEluc3RhbmNlIiwiY3VycmVudCIsImZpdEJvdW5kcyIsInBhZGRpbmciLCJncm91cCIsInByb3BlcnR5IiwiX2xheWVycyIsImthbmRvX29iamVjdCIsInB1c2giLCJPYmplY3QiLCJrZXlzIiwiTCIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsImxlbmd0aCIsImludmFsaWRhdGVTaXplIiwiZXhwb3J0cyIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwiZWRnZXMiLCJtYXAiLCJ1bmRlZmluZWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiY29uY2F0IiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwibWluWm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsImJhc2VNYXBzIiwibWFwQm94U2F0ZWxsaXRlU3R5bGUiLCJfcmVmIiwiZGVmYXVsdE1hcCIsImkxOG4iLCJ0Iiwic2F0ZWxsaXRlIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwiZGlzcGF0Y2giLCJzZXRNYXBab29tTGV2ZWwiLCJNYXAiLCJjZW50ZXIiLCJ6b29tU25hcCIsInpvb20iLCJhdHRyaWJ1dGlvbkNvbnRyb2wiLCJwcmVmZXJDYW52YXMiLCJ3aGVuUmVhZHkiLCJjb250cm9sIiwicG9zaXRpb24iLCJhZGRUbyIsIm9uIiwic2V0VGltZW91dCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInN0b3JlTWFwIiwic2lkZU5hdkV4cGFuZGVkIiwiZSIsImdldFpvb20iLCJ6b29tTGV2ZWxzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAobWFwUmVmLCBpc1ZhbGlkQXJlYSwgYXJlYVRvQ2VudGVyQnkpID0+IHtcbiAgbGV0IG1hcEluc3RhbmNlOiBhbnkgPSBtYXBSZWYuY3VycmVudDtcbiAgaWYgKGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSwgeyBwYWRkaW5nOiBbMCwgMF0gfSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZ3JvdXA6IGFueVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcEluc3RhbmNlLl9sYXllcnMpIHtcbiAgICAgIGlmIChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJykge1xuICAgICAgICBncm91cC5wdXNoKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpKS5sZW5ndGggIT09IDApIHtcbiAgICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgcGFkZGluZzogWzEwMCwgMTAwXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBtYXBJbnN0YW5jZS5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkQXJlYSA9IChhcmVhKSA9PiB7XG4gIHJldHVybiBhcmVhICYmIGFyZWEubGVuZ3RoID4gMCAmJiBPYmplY3Qua2V5cyhhcmVhWzBdKS5sZW5ndGggPiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZExvYWRNYXBPYmplY3RzID0gKGdsb2JhbF9kYXRhLCBtYXBSZWYsIHBvaW50cywgZWRnZXMpID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWxfZGF0YS5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgIHBvaW50cyAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChlZGdlcywgYXJlYXMsIGdsb2JhbCwgbWFwUmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggIT09IDAgJiZcbiAgICBhcmVhcy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuNywgem9vbUxldmVsICogMy43XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDJdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWlkZGxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDMuNV0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAxLjVdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuMjk1LCB6b29tTGV2ZWwgKiAzLjM1XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9wSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMC45LCB6b29tTGV2ZWwgKiAxLjhdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS42LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuMiwgem9vbUxldmVsICogMi4xXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpY29uWm9vbUNvbnRyb2wgPSAobWFwKSA9PiB7XG4gIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgbGV0IHpvb21MZXZlbCA9IG1hcC5fem9vbTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnSWNvbk51bWJlciddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgZXZlbnRzQ291bnRlckljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydQb2ludCcsICdJY29uJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydTYW1wbGluZycsICdPYnNlcnZhdGlvbiddLCBsYXllcnNbcHJvcGVydHldKVxuICAgICkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IG1hcFN0eWxlID0gKG1hcEJveFN0eWxlKSA9PiB7XG4gIHJldHVybiBMLnRpbGVMYXllcihcbiAgICBgaHR0cHM6Ly9hcGkubWFwYm94LmNvbS9zdHlsZXMvdjEvbmFkYXYta2FuZG8vJHttYXBCb3hTdHlsZX0vdGlsZXMvMjU2L3t6fS97eH0ve3l9QDJ4P2FjY2Vzc190b2tlbj1way5leUoxSWpvaWJtRmtZWFl0YTJGdVpHOGlMQ0poSWpvaVkycHZlSHByZEdSeE1IbG1kRE40YkRnMGR6SnhPWGM0ZFNKOS5KLTJvaHE3ajR5S05ibTROXy1QNnF3YCxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGlvbjpcbiAgICAgICAgJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvXCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCA8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuMC9cIj5DQy1CWS1TQTwvYT4sIEltYWdlcnkgwqkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCI+TWFwYm94PC9hPicsXG4gICAgICBtYXhab29tOiAxOCxcbiAgICAgIG1pblpvb206IDIsXG4gICAgICBpZDogJ21hcGJveC9zdHJlZXRzLXYxMScsXG4gICAgICB0aWxlU2l6ZTogNTEyLFxuICAgICAgem9vbU9mZnNldDogLTEsXG4gICAgICB1cGRhdGVXaGVuWm9vbWluZzogZmFsc2UsXG4gICAgICB1cGRhdGVXaGVuSWRsZTogZmFsc2UsXG4gICAgfSxcbiAgKTtcbn07XG5jb25zdCBiYXNlTWFwcyA9IChtYXBCb3hTdHlsZSwgbWFwQm94U2F0ZWxsaXRlU3R5bGUpID0+IHtcbiAgbGV0IGRlZmF1bHRNYXAgPSBpMThuLnQoJ21hcC5sYXllcnMuZGVmYXVsdCcpO1xuICBsZXQgc2F0ZWxsaXRlID0gaTE4bi50KCdtYXAubGF5ZXJzLnNhdGVsbGl0ZScpO1xuICByZXR1cm4ge1xuICAgIFtkZWZhdWx0TWFwXTogbWFwU3R5bGUobWFwQm94U3R5bGUpLFxuICAgIFtzYXRlbGxpdGVdOiBtYXBTdHlsZShtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwQm94U2F0ZWxsaXRlU3R5bGUsXG4gIG1hcFJlZixcbiAgZGlzcGF0Y2gsXG4gIGlzVmFsaWRBcmVhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgc2V0TWFwWm9vbUxldmVsLFxuKSA9PiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbWFwUmVmLmN1cnJlbnQgPSBuZXcgTC5NYXAoJ21hcCcsIHtcbiAgICBjZW50ZXI6IFswLCAwXSxcbiAgICB6b29tU25hcDogMSxcbiAgICB6b29tOiBtYXBab29tTGV2ZWwsXG4gICAgYXR0cmlidXRpb25Db250cm9sOiBmYWxzZSxcbiAgICBwcmVmZXJDYW52YXM6IHRydWUsXG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50LndoZW5SZWFkeSgoKSA9PiB7XG4gICAgbGV0IG1hcCA9IG1hcFJlZi5jdXJyZW50O1xuICAgIEwuY29udHJvbFxuICAgICAgLmxheWVycyhcbiAgICAgICAgYmFzZU1hcHMobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgICAgICAge30sXG4gICAgICAgIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSxcbiAgICAgIClcbiAgICAgIC5hZGRUbyhtYXApO1xuICAgIG1hcFN0eWxlKG1hcEJveFN0eWxlKS5hZGRUbyhtYXApO1xuXG4gICAgbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gaWNvblpvb21Db250cm9sKG1hcCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyJywgZXJyKTtcbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCh0cnVlKSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUxldmVscyA9IHtcbiAgMTogJ1hMYXJnZScsXG4gIDI6ICdYTGFyZ2UnLFxuICAzOiAnWExhcmdlJyxcbiAgNDogJ1hMYXJnZScsXG4gIDU6ICdYTGFyZ2UnLFxuICA2OiAnWExhcmdlJyxcbiAgNzogJ0xhcmdlJyxcbiAgODogJ0xhcmdlJyxcbiAgOTogJ0xhcmdlJyxcbiAgMTA6ICdMYXJnZScsXG4gIDExOiAnTUxhcmdlJyxcbiAgMTI6ICdNTGFyZ2UnLFxuICAxMzogJ01MYXJnZScsXG4gIDE0OiAnTUxhcmdlJyxcbiAgMTU6ICdNZWRpdW0nLFxuICAxNjogJ01lZGl1bScsXG4gIDE3OiAnU21hbGwnLFxuICAxODogJ1NtYWxsJyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRU8sSUFBTUcsY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsY0FBYyxFQUFLO0VBQ3JFLElBQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBTztFQUNyQyxJQUFJSCxXQUFXLENBQUNDLGNBQWMsQ0FBQyxFQUFFO0lBQy9CQyxXQUFXLENBQUNFLFNBQVMsQ0FBQ0gsY0FBYyxFQUFFO01BQUVJLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQzVELENBQUMsTUFBTTtJQUNMLElBQU1DLEtBQVksR0FBRyxFQUFFO0lBRXZCLEtBQUssSUFBTUMsUUFBUSxJQUFJTCxXQUFXLENBQUNNLE9BQU8sRUFBRTtNQUMxQyxJQUFJTixXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxNQUFNLEVBQUU7UUFDekRILEtBQUssQ0FBQ0ksSUFBSSxDQUFDUixXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUM7TUFDM0M7SUFDRjtJQUVBLElBQUlJLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDQyxnQkFBQyxDQUFDQyxZQUFZLENBQUNSLEtBQUssQ0FBQyxDQUFDUyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUNDLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDL0RkLFdBQVcsQ0FBQ0UsU0FBUyxDQUFDUyxnQkFBQyxDQUFDQyxZQUFZLENBQUNSLEtBQUssQ0FBQyxDQUFDUyxTQUFTLENBQUMsQ0FBQyxFQUFFO1FBQ3ZEVixPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRztNQUNwQixDQUFDLENBQUM7SUFDSjtFQUNGO0VBQ0FILFdBQVcsQ0FBQ2UsY0FBYyxDQUFDLElBQUksQ0FBQztBQUNsQyxDQUFDO0FBQUNDLE9BQUEsQ0FBQXBCLGNBQUEsR0FBQUEsY0FBQTtBQUVLLElBQU1FLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJbUIsSUFBSSxFQUFLO0VBQ25DLE9BQU9BLElBQUksSUFBSUEsSUFBSSxDQUFDSCxNQUFNLEdBQUcsQ0FBQyxJQUFJTCxNQUFNLENBQUNDLElBQUksQ0FBQ08sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNILE1BQU0sR0FBRyxDQUFDO0FBQ25FLENBQUM7QUFBQ0UsT0FBQSxDQUFBbEIsV0FBQSxHQUFBQSxXQUFBO0FBRUssSUFBTW9CLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUlDLFdBQVcsRUFBRXRCLE1BQU0sRUFBRXVCLE1BQU0sRUFBRUMsS0FBSyxFQUFLO0VBQzFFLE9BQ0VGLFdBQVcsQ0FBQ0csR0FBRyxLQUFLQyxTQUFTLElBQzdCMUIsTUFBTSxDQUFDSSxPQUFPLEtBQUssSUFBSSxJQUN2Qm9CLEtBQUssS0FBS0UsU0FBUyxJQUNuQkgsTUFBTSxLQUFLRyxTQUFTO0FBRXhCLENBQUM7QUFBQ1AsT0FBQSxDQUFBRSxvQkFBQSxHQUFBQSxvQkFBQTtBQUVLLElBQU1NLDRCQUE0QixHQUFHLFNBQS9CQSw0QkFBNEJBLENBQUlILEtBQUssRUFBRUksS0FBSyxFQUFFQyxNQUFNLEVBQUU3QixNQUFNLEVBQUs7RUFDNUUsT0FDRTZCLE1BQU0sQ0FBQ0osR0FBRyxLQUFLQyxTQUFTLElBQ3hCMUIsTUFBTSxDQUFDSSxPQUFPLEtBQUssSUFBSSxJQUN2Qm9CLEtBQUssQ0FBQ1AsTUFBTSxLQUFLLENBQUMsSUFDbEJXLEtBQUssQ0FBQ1gsTUFBTSxLQUFLLENBQUM7QUFFdEIsQ0FBQztBQUFDRSxPQUFBLENBQUFRLDRCQUFBLEdBQUFBLDRCQUFBO0FBRUssSUFBTUcseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FDcENDLFlBQXNCLEVBQ3RCQyxZQUFZLEVBQ1Q7RUFDSCxPQUNFRCxZQUFZLENBQUNFLFFBQVEsQ0FBQ0QsWUFBWSxDQUFDdEIsWUFBWSxDQUFDLElBQ2hEc0IsWUFBWSxDQUFDRSxnQkFBZ0IsS0FBSyxTQUFTO0FBRS9DLENBQUM7QUFBQ2YsT0FBQSxDQUFBVyx5QkFBQSxHQUFBQSx5QkFBQTtBQUVLLElBQU1LLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLEtBQUssRUFBRUMsU0FBUyxFQUFLO0VBQ3RELElBQUlDLElBQUksR0FBR0YsS0FBSyxDQUFDRyxPQUFPLENBQUNELElBQUk7RUFDN0JBLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxRQUFRLEdBQUdDLGVBQWUsQ0FBQ0osU0FBUyxDQUFDLENBQUNHLFFBQVE7RUFDM0RGLElBQUksQ0FBQ0MsT0FBTyxDQUFDRyxVQUFVLEdBQUdELGVBQWUsQ0FBQ0osU0FBUyxDQUFDLENBQUNLLFVBQVU7RUFDL0ROLEtBQUssQ0FBQ08sT0FBTyxDQUFDTCxJQUFJLENBQUM7RUFDbkJGLEtBQUssQ0FBQ1EsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDO0FBQUN6QixPQUFBLENBQUFnQixrQkFBQSxHQUFBQSxrQkFBQTtBQUVLLElBQU1VLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUlULEtBQUssRUFBRUMsU0FBUyxFQUFLO0VBQ3hELElBQUlDLElBQUksR0FBR0YsS0FBSyxDQUFDRyxPQUFPLENBQUNELElBQUk7RUFDN0IsSUFBSVEsZUFBZSxHQUFHVixLQUFLLENBQUNXLG9CQUFvQjtFQUNoRCxJQUFJQyxRQUFRLEdBQUc7SUFDYkMsT0FBTyxFQUFFYixLQUFLLENBQUNjLGVBQWUsSUFBSWQsS0FBSyxDQUFDZSxXQUFXO0lBQ25EQyxTQUFTLEVBQUVoQixLQUFLLENBQUNjLGVBQWU7SUFDaENHLEtBQUssRUFBRWpCLEtBQUssQ0FBQ2U7RUFDZixDQUFDO0VBRUQsSUFBSWYsS0FBSyxDQUFDa0Isa0JBQWtCLEtBQUssQ0FBQyxFQUFFO0lBQ2xDLElBQUlSLGVBQWUsRUFBRTtNQUNuQlIsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFFBQVEsR0FBR2UsaUJBQWlCLENBQUNsQixTQUFTLEVBQUVXLFFBQVEsQ0FBQyxDQUFDUixRQUFRO01BQ3ZFRixJQUFJLENBQUNDLE9BQU8sQ0FBQ0csVUFBVSxHQUFHYSxpQkFBaUIsQ0FDekNsQixTQUFTLEVBQ1RXLFFBQ0YsQ0FBQyxDQUFDTixVQUFVO0lBQ2QsQ0FBQyxNQUFNO01BQ0xKLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxRQUFRLEdBQUdnQixtQkFBbUIsQ0FBQ25CLFNBQVMsQ0FBQyxDQUFDRyxRQUFRO01BQy9ERixJQUFJLENBQUNDLE9BQU8sQ0FBQ0csVUFBVSxHQUFHYyxtQkFBbUIsQ0FBQ25CLFNBQVMsQ0FBQyxDQUFDSyxVQUFVO0lBQ3JFO0VBQ0YsQ0FBQyxNQUFNO0lBQ0wsSUFBSU4sS0FBSyxDQUFDa0Isa0JBQWtCLEtBQUssQ0FBQyxFQUFFO01BQ2xDaEIsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFFBQVEsR0FBR2lCLGlCQUFpQixDQUFDcEIsU0FBUyxFQUFFVyxRQUFRLENBQUMsQ0FBQ1IsUUFBUTtNQUN2RUYsSUFBSSxDQUFDQyxPQUFPLENBQUNHLFVBQVUsR0FBR2UsaUJBQWlCLENBQ3pDcEIsU0FBUyxFQUNUVyxRQUNGLENBQUMsQ0FBQ04sVUFBVTtJQUNkLENBQUMsTUFBTTtNQUNMSixJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsUUFBUSxHQUFHa0IsY0FBYyxDQUFDckIsU0FBUyxFQUFFVyxRQUFRLENBQUMsQ0FBQ1IsUUFBUTtNQUNwRUYsSUFBSSxDQUFDQyxPQUFPLENBQUNHLFVBQVUsR0FBR2dCLGNBQWMsQ0FBQ3JCLFNBQVMsRUFBRVcsUUFBUSxDQUFDLENBQUNOLFVBQVU7SUFDMUU7RUFDRjtFQUVBTixLQUFLLENBQUNPLE9BQU8sQ0FBQ0wsSUFBSSxDQUFDO0FBQ3JCLENBQUM7QUFBQ25CLE9BQUEsQ0FBQTBCLG9CQUFBLEdBQUFBLG9CQUFBO0FBRUYsSUFBTVcsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSW5CLFNBQVMsRUFBSztFQUN6QyxPQUFPO0lBQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFlO0lBQzFESyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLEdBQUcsRUFBRUEsU0FBUyxHQUFHLEdBQUc7RUFDL0MsQ0FBQztBQUNILENBQUM7QUFFTSxJQUFNSSxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlKLFNBQVMsRUFBSztFQUM1QyxPQUFPO0lBQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFlO0lBQzFESyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsRUFBRUEsU0FBUyxHQUFHLENBQUM7RUFDM0MsQ0FBQztBQUNILENBQUM7QUFBQ2xCLE9BQUEsQ0FBQXNCLGVBQUEsR0FBQUEsZUFBQTtBQUVLLElBQU1jLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlsQixTQUFTLEVBQUVXLFFBQVEsRUFBSztFQUN4RCxJQUFJQSxRQUFRLENBQUNDLE9BQU8sRUFBRTtJQUNwQixJQUFJRCxRQUFRLENBQUNJLFNBQVMsRUFBRTtNQUN0QixPQUFPO1FBQ0xaLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsSUFBSSxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFlO1FBQzNESyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsRUFBRUEsU0FBUyxHQUFHLENBQUM7TUFDM0MsQ0FBQztJQUNILENBQUMsTUFBTTtNQUNMLE9BQU87UUFDTEcsUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxJQUFJLEVBQUVBLFNBQVMsR0FBRyxHQUFHLENBQWU7UUFDM0RLLFVBQVUsRUFBRSxDQUFDTCxTQUFTLEdBQUcsQ0FBQyxFQUFFQSxTQUFTLEdBQUcsQ0FBQztNQUMzQyxDQUFDO0lBQ0g7RUFDRixDQUFDLE1BQU07SUFDTCxPQUFPO01BQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsSUFBSSxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFlO01BQzNESyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsRUFBRUEsU0FBUyxHQUFHLENBQUM7SUFDM0MsQ0FBQztFQUNIO0FBQ0YsQ0FBQztBQUFDbEIsT0FBQSxDQUFBb0MsaUJBQUEsR0FBQUEsaUJBQUE7QUFFSyxJQUFNRSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJcEIsU0FBUyxFQUFFVyxRQUFRLEVBQUs7RUFDeEQsSUFBSUEsUUFBUSxDQUFDQyxPQUFPLEVBQUU7SUFDcEIsSUFBSUQsUUFBUSxDQUFDSSxTQUFTLEVBQUU7TUFDdEIsT0FBTztRQUNMWixRQUFRLEVBQUUsQ0FBQ0gsU0FBUyxHQUFHLEdBQUcsRUFBRUEsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUM1Q0ssVUFBVSxFQUFFLENBQUNMLFNBQVMsR0FBRyxDQUFDLElBQUksRUFBRUEsU0FBUyxHQUFHLEdBQUc7TUFDakQsQ0FBQztJQUNILENBQUMsTUFBTTtNQUNMLE9BQU87UUFDTEcsUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxHQUFHLEVBQUVBLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUNLLFVBQVUsRUFBRSxDQUFDTCxTQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUVBLFNBQVMsR0FBRyxHQUFHO01BQ2pELENBQUM7SUFDSDtFQUNGLENBQUMsTUFBTTtJQUNMLE9BQU87TUFDTEcsUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxHQUFHLEVBQUVBLFNBQVMsR0FBRyxHQUFHLENBQUM7TUFDNUNLLFVBQVUsRUFBRSxDQUFDTCxTQUFTLEdBQUcsS0FBSyxFQUFFQSxTQUFTLEdBQUcsSUFBSTtJQUNsRCxDQUFDO0VBQ0g7QUFDRixDQUFDO0FBQUNsQixPQUFBLENBQUFzQyxpQkFBQSxHQUFBQSxpQkFBQTtBQUVLLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSXJCLFNBQVMsRUFBRVcsUUFBUSxFQUFLO0VBQ3JELElBQUlBLFFBQVEsQ0FBQ0MsT0FBTyxFQUFFO0lBQ3BCLElBQUlELFFBQVEsQ0FBQ0ksU0FBUyxFQUFFO01BQ3RCLE9BQU87UUFDTFosUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxHQUFHLEVBQUVBLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUNLLFVBQVUsRUFBRSxDQUFDTCxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUVBLFNBQVMsR0FBRyxHQUFHO01BQ2hELENBQUM7SUFDSCxDQUFDLE1BQU07TUFDTCxPQUFPO1FBQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQzVDSyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRztNQUNoRCxDQUFDO0lBQ0g7RUFDRixDQUFDLE1BQU07SUFDTCxPQUFPO01BQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFDO01BQzVDSyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsRUFBRUEsU0FBUyxHQUFHLEdBQUc7SUFDN0MsQ0FBQztFQUNIO0FBQ0YsQ0FBQztBQUFDbEIsT0FBQSxDQUFBdUMsY0FBQSxHQUFBQSxjQUFBO0FBRUssSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFJbEMsR0FBRyxFQUFLO0VBQ3RDLElBQUltQyxNQUFNLEdBQUduQyxHQUFHLENBQUNoQixPQUFPO0VBQ3hCLElBQUk0QixTQUFTLEdBQUdaLEdBQUcsQ0FBQ29DLEtBQUs7RUFFekIsS0FBSyxJQUFNckQsUUFBUSxJQUFJb0QsTUFBTSxFQUFFO0lBQzdCLElBQUk5Qix5QkFBeUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFOEIsTUFBTSxDQUFDcEQsUUFBUSxDQUFDLENBQUMsRUFBRTtNQUMvRDJCLGtCQUFrQixDQUFDeUIsTUFBTSxDQUFDcEQsUUFBUSxDQUFDLEVBQUU2QixTQUFTLENBQUM7SUFDakQ7SUFFQSxJQUFJUCx5QkFBeUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRThCLE1BQU0sQ0FBQ3BELFFBQVEsQ0FBQyxDQUFDLEVBQUU7TUFDbEVxQyxvQkFBb0IsQ0FBQ2UsTUFBTSxDQUFDcEQsUUFBUSxDQUFDLEVBQUU2QixTQUFTLENBQUM7SUFDbkQ7SUFFQSxJQUNFUCx5QkFBeUIsQ0FBQyxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsRUFBRThCLE1BQU0sQ0FBQ3BELFFBQVEsQ0FBQyxDQUFDLEVBQ3hFO01BQ0FxQyxvQkFBb0IsQ0FBQ2UsTUFBTSxDQUFDcEQsUUFBUSxDQUFDLEVBQUU2QixTQUFTLENBQUM7SUFDbkQ7RUFDRjtBQUNGLENBQUM7QUFBQ2xCLE9BQUEsQ0FBQXdDLGVBQUEsR0FBQUEsZUFBQTtBQUVGLElBQU1HLFFBQVEsR0FBRyxTQUFYQSxRQUFRQSxDQUFJQyxXQUFXLEVBQUs7RUFDaEMsT0FBT2pELGdCQUFDLENBQUNrRCxTQUFTLGlEQUFBQyxNQUFBLENBQ2dDRixXQUFXLDRJQUMzRDtJQUNFRyxXQUFXLEVBQ1QseU5BQXlOO0lBQzNOQyxPQUFPLEVBQUUsRUFBRTtJQUNYQyxPQUFPLEVBQUUsQ0FBQztJQUNWQyxFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCQyxRQUFRLEVBQUUsR0FBRztJQUNiQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2RDLGlCQUFpQixFQUFFLEtBQUs7SUFDeEJDLGNBQWMsRUFBRTtFQUNsQixDQUNGLENBQUM7QUFDSCxDQUFDO0FBQ0QsSUFBTUMsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUlYLFdBQVcsRUFBRVksb0JBQW9CLEVBQUs7RUFBQSxJQUFBQyxJQUFBO0VBQ3RELElBQUlDLFVBQVUsR0FBR0MsYUFBSSxDQUFDQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7RUFDN0MsSUFBSUMsU0FBUyxHQUFHRixhQUFJLENBQUNDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQztFQUM5QyxPQUFBSCxJQUFBLFdBQUFLLGdCQUFBLENBQUFDLE9BQUEsRUFBQU4sSUFBQSxFQUNHQyxVQUFVLEVBQUdmLFFBQVEsQ0FBQ0MsV0FBVyxDQUFDLE9BQUFrQixnQkFBQSxDQUFBQyxPQUFBLEVBQUFOLElBQUEsRUFDbENJLFNBQVMsRUFBR2xCLFFBQVEsQ0FBQ2Esb0JBQW9CLENBQUMsR0FBQUMsSUFBQTtBQUUvQyxDQUFDO0FBRU0sSUFBTU8sYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUN4QkMsWUFBWSxFQUNackIsV0FBVyxFQUNYWSxvQkFBb0IsRUFDcEIzRSxNQUFNLEVBQ05xRixRQUFRLEVBQ1JwRixXQUFXLEVBQ1hDLGNBQWMsRUFDZG9GLGVBQWUsRUFDWjtFQUNIO0VBQ0F0RixNQUFNLENBQUNJLE9BQU8sR0FBRyxJQUFJVSxnQkFBQyxDQUFDeUUsR0FBRyxDQUFDLEtBQUssRUFBRTtJQUNoQ0MsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNkQyxRQUFRLEVBQUUsQ0FBQztJQUNYQyxJQUFJLEVBQUVOLFlBQVk7SUFDbEJPLGtCQUFrQixFQUFFLEtBQUs7SUFDekJDLFlBQVksRUFBRTtFQUNoQixDQUFDLENBQUM7RUFFRjVGLE1BQU0sQ0FBQ0ksT0FBTyxDQUFDeUYsU0FBUyxDQUFDLFlBQU07SUFDN0IsSUFBSXBFLEdBQUcsR0FBR3pCLE1BQU0sQ0FBQ0ksT0FBTztJQUN4QlUsZ0JBQUMsQ0FBQ2dGLE9BQU8sQ0FDTmxDLE1BQU0sQ0FDTGMsUUFBUSxDQUFDWCxXQUFXLEVBQUVZLG9CQUFvQixDQUFDLEVBQzNDLENBQUMsQ0FBQyxFQUNGO01BQUVvQixRQUFRLEVBQUU7SUFBYyxDQUM1QixDQUFDLENBQ0FDLEtBQUssQ0FBQ3ZFLEdBQUcsQ0FBQztJQUNicUMsUUFBUSxDQUFDQyxXQUFXLENBQUMsQ0FBQ2lDLEtBQUssQ0FBQ3ZFLEdBQUcsQ0FBQztJQUVoQ0EsR0FBRyxDQUFDd0UsRUFBRSxDQUFDLFNBQVMsRUFBRSxZQUFZO01BQzVCO0lBQUEsQ0FDRCxDQUFDO0lBQ0ZDLFVBQVUsQ0FBQyxZQUFNO01BQ2YsSUFBSSxDQUFDbEcsTUFBTSxDQUFDSSxPQUFPLEVBQUU7UUFDbkI7TUFDRjtNQUVBLElBQUk7UUFDRkosTUFBTSxDQUFDSSxPQUFPLENBQUNjLGNBQWMsQ0FBQyxJQUFJLENBQUM7TUFDckMsQ0FBQyxDQUFDLE9BQU9pRixHQUFHLEVBQUU7UUFDWkMsT0FBTyxDQUFDQyxLQUFLLENBQUMsS0FBSyxFQUFFRixHQUFHLENBQUM7TUFDM0I7TUFFQWQsUUFBUSxDQUFDLElBQUFpQixpQkFBUSxFQUFDdEcsTUFBTSxDQUFDSSxPQUFPLENBQUMsQ0FBQztNQUNsQ2lGLFFBQVEsQ0FBQyxJQUFBa0Isd0JBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ0wsSUFBSXZHLE1BQU0sQ0FBQ0ksT0FBTyxJQUFJSCxXQUFXLENBQUNDLGNBQWMsQ0FBQyxFQUFFO01BQ2pERixNQUFNLENBQUNJLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSCxjQUFjLENBQUM7SUFDMUM7RUFDRixDQUFDLENBQUM7RUFFRkYsTUFBTSxDQUFDSSxPQUFPLENBQUM2RixFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVVPLENBQUMsRUFBRTtJQUN4QyxJQUFJLENBQUN4RyxNQUFNLENBQUNJLE9BQU8sRUFBRTtNQUNuQjtJQUNGO0lBQ0EsSUFBSXNGLElBQUksR0FBRzFGLE1BQU0sQ0FBQ0ksT0FBTyxDQUFDcUcsT0FBTyxDQUFDLENBQUM7SUFDbkNuQixlQUFlLENBQUNJLElBQUksQ0FBQztFQUN2QixDQUFDLENBQUM7QUFDSixDQUFDO0FBQUN2RSxPQUFBLENBQUFnRSxhQUFBLEdBQUFBLGFBQUE7QUFFSyxJQUFNdUIsVUFBVSxHQUFHO0VBQ3hCLENBQUMsRUFBRSxRQUFRO0VBQ1gsQ0FBQyxFQUFFLFFBQVE7RUFDWCxDQUFDLEVBQUUsUUFBUTtFQUNYLENBQUMsRUFBRSxRQUFRO0VBQ1gsQ0FBQyxFQUFFLFFBQVE7RUFDWCxDQUFDLEVBQUUsUUFBUTtFQUNYLENBQUMsRUFBRSxPQUFPO0VBQ1YsQ0FBQyxFQUFFLE9BQU87RUFDVixDQUFDLEVBQUUsT0FBTztFQUNWLEVBQUUsRUFBRSxPQUFPO0VBQ1gsRUFBRSxFQUFFLFFBQVE7RUFDWixFQUFFLEVBQUUsUUFBUTtFQUNaLEVBQUUsRUFBRSxRQUFRO0VBQ1osRUFBRSxFQUFFLFFBQVE7RUFDWixFQUFFLEVBQUUsUUFBUTtFQUNaLEVBQUUsRUFBRSxRQUFRO0VBQ1osRUFBRSxFQUFFLE9BQU87RUFDWCxFQUFFLEVBQUU7QUFDTixDQUFDO0FBQUN2RixPQUFBLENBQUF1RixVQUFBLEdBQUFBLFVBQUEifQ==
260
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsImFyZWFGb2N1c0xvZ2ljIiwibWFwUmVmIiwiaXNWYWxpZEFyZWEiLCJhcmVhVG9DZW50ZXJCeSIsIm1hcEluc3RhbmNlIiwiY3VycmVudCIsImZpdEJvdW5kcyIsInBhZGRpbmciLCJncm91cCIsInByb3BlcnR5IiwiX2xheWVycyIsImthbmRvX29iamVjdCIsInB1c2giLCJPYmplY3QiLCJrZXlzIiwiTCIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsImxlbmd0aCIsImludmFsaWRhdGVTaXplIiwiZXhwb3J0cyIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwiZWRnZXMiLCJtYXAiLCJ1bmRlZmluZWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiY29uY2F0IiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwibWluWm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsImJhc2VNYXBzIiwibWFwQm94U2F0ZWxsaXRlU3R5bGUiLCJfcmVmIiwiZGVmYXVsdE1hcCIsImkxOG4iLCJ0Iiwic2F0ZWxsaXRlIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwiZGlzcGF0Y2giLCJzZXRNYXBab29tTGV2ZWwiLCJNYXAiLCJjZW50ZXIiLCJ6b29tU25hcCIsInpvb20iLCJhdHRyaWJ1dGlvbkNvbnRyb2wiLCJwcmVmZXJDYW52YXMiLCJ3aGVuUmVhZHkiLCJjb250cm9sIiwicG9zaXRpb24iLCJhZGRUbyIsIm9uIiwic2V0VGltZW91dCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInN0b3JlTWFwIiwic2lkZU5hdkV4cGFuZGVkIiwiZSIsImdldFpvb20iLCJ6b29tTGV2ZWxzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAobWFwUmVmLCBpc1ZhbGlkQXJlYSwgYXJlYVRvQ2VudGVyQnkpID0+IHtcbiAgbGV0IG1hcEluc3RhbmNlOiBhbnkgPSBtYXBSZWYuY3VycmVudDtcbiAgaWYgKGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSwgeyBwYWRkaW5nOiBbMCwgMF0gfSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZ3JvdXA6IGFueVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcEluc3RhbmNlLl9sYXllcnMpIHtcbiAgICAgIGlmIChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJykge1xuICAgICAgICBncm91cC5wdXNoKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpKS5sZW5ndGggIT09IDApIHtcbiAgICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgcGFkZGluZzogWzEwMCwgMTAwXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBtYXBJbnN0YW5jZS5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkQXJlYSA9IChhcmVhKSA9PiB7XG4gIHJldHVybiBhcmVhICYmIGFyZWEubGVuZ3RoID4gMCAmJiBPYmplY3Qua2V5cyhhcmVhWzBdKS5sZW5ndGggPiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZExvYWRNYXBPYmplY3RzID0gKGdsb2JhbF9kYXRhLCBtYXBSZWYsIHBvaW50cywgZWRnZXMpID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWxfZGF0YS5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgIHBvaW50cyAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChcbiAgZWRnZXMsXG4gIGFyZWFzLFxuICBnbG9iYWwsXG4gIG1hcFJlZixcbiAgcG9pbnRzLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggIT09IDAgJiZcbiAgICBhcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICBwb2ludHMubGVuZ3RoICE9PSAwXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCA9IChcbiAgbGF5ZXJzVG9GaW5kOiBzdHJpbmdbXSxcbiAgY3VycmVudExheWVyLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXJzVG9GaW5kLmluY2x1ZGVzKGN1cnJlbnRMYXllci5rYW5kb19vYmplY3QpICYmXG4gICAgY3VycmVudExheWVyLmthbmRvX3BvaW50X3R5cGUgIT09ICdNYW5ob2xlJ1xuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50ZXJJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICBsYXllci5zZXRJY29uKGljb24pO1xuICBsYXllci5zZXRPcGFjaXR5KDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTGF5ZXJlZEljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGxldCBpc0FGZXdMYXllckljb24gPSBsYXllci5rYW5kb19mZXdfbGF5ZXJfaWNvbjtcbiAgbGV0IG1pbmlJY29uID0ge1xuICAgIHByZXNlbnQ6IGxheWVyLmthbmRvX3NlY29uZGFyeSB8fCBsYXllci5rYW5kb190aGlyZCxcbiAgICBzZWNvbmRhcnk6IGxheWVyLmthbmRvX3NlY29uZGFyeSxcbiAgICB0aGlyZDogbGF5ZXIua2FuZG9fdGhpcmQsXG4gIH07XG5cbiAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMCkge1xuICAgIGlmIChpc0FGZXdMYXllckljb24pIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGJ1YmJsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBidWJibGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMSkge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gbWlkZGxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG1pZGRsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH1cblxuICBsYXllci5zZXRJY29uKGljb24pO1xufTtcblxuY29uc3Qgb25lTGF5ZXJJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuMywgem9vbUxldmVsICogMy4zXSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10gYXMgUG9pbnRUdXBsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudEljb24gPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0gYXMgUG9pbnRUdXBsZSxcbiAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSBhcyBQb2ludFR1cGxlLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45OCwgem9vbUxldmVsICogNC4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBtYXBTdHlsZSA9IChtYXBCb3hTdHlsZSkgPT4ge1xuICByZXR1cm4gTC50aWxlTGF5ZXIoXG4gICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAge1xuICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICBtaW5ab29tOiAyLFxuICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgdGlsZVNpemU6IDUxMixcbiAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgdXBkYXRlV2hlbklkbGU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG59O1xuY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVNYXAgPSAoXG4gIG1hcFpvb21MZXZlbCxcbiAgbWFwQm94U3R5bGUsXG4gIG1hcEJveFNhdGVsbGl0ZVN0eWxlLFxuICBtYXBSZWYsXG4gIGRpc3BhdGNoLFxuICBpc1ZhbGlkQXJlYSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIHNldE1hcFpvb21MZXZlbCxcbikgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIG1hcFJlZi5jdXJyZW50ID0gbmV3IEwuTWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIGF0dHJpYnV0aW9uQ29udHJvbDogZmFsc2UsXG4gICAgcHJlZmVyQ2FudmFzOiB0cnVlLFxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBMLmNvbnRyb2xcbiAgICAgIC5sYXllcnMoXG4gICAgICAgIGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gICAgICAgIHt9LFxuICAgICAgICB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0sXG4gICAgICApXG4gICAgICAuYWRkVG8obWFwKTtcbiAgICBtYXBTdHlsZShtYXBCb3hTdHlsZSkuYWRkVG8obWFwKTtcblxuICAgIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21MZXZlbHMgPSB7XG4gIDE6ICdYTGFyZ2UnLFxuICAyOiAnWExhcmdlJyxcbiAgMzogJ1hMYXJnZScsXG4gIDQ6ICdYTGFyZ2UnLFxuICA1OiAnWExhcmdlJyxcbiAgNjogJ1hMYXJnZScsXG4gIDc6ICdMYXJnZScsXG4gIDg6ICdMYXJnZScsXG4gIDk6ICdMYXJnZScsXG4gIDEwOiAnTGFyZ2UnLFxuICAxMTogJ01MYXJnZScsXG4gIDEyOiAnTUxhcmdlJyxcbiAgMTM6ICdNTGFyZ2UnLFxuICAxNDogJ01MYXJnZScsXG4gIDE1OiAnTWVkaXVtJyxcbiAgMTY6ICdNZWRpdW0nLFxuICAxNzogJ1NtYWxsJyxcbiAgMTg6ICdTbWFsbCcsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVPLElBQU1HLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSUMsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLGNBQWMsRUFBSztFQUNyRSxJQUFJQyxXQUFnQixHQUFHSCxNQUFNLENBQUNJLE9BQU87RUFDckMsSUFBSUgsV0FBVyxDQUFDQyxjQUFjLENBQUMsRUFBRTtJQUMvQkMsV0FBVyxDQUFDRSxTQUFTLENBQUNILGNBQWMsRUFBRTtNQUFFSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUFFLENBQUMsQ0FBQztFQUM1RCxDQUFDLE1BQU07SUFDTCxJQUFNQyxLQUFZLEdBQUcsRUFBRTtJQUV2QixLQUFLLElBQU1DLFFBQVEsSUFBSUwsV0FBVyxDQUFDTSxPQUFPLEVBQUU7TUFDMUMsSUFBSU4sV0FBVyxDQUFDTSxPQUFPLENBQUNELFFBQVEsQ0FBQyxDQUFDRSxZQUFZLEtBQUssTUFBTSxFQUFFO1FBQ3pESCxLQUFLLENBQUNJLElBQUksQ0FBQ1IsV0FBVyxDQUFDTSxPQUFPLENBQUNELFFBQVEsQ0FBQyxDQUFDO01BQzNDO0lBQ0Y7SUFFQSxJQUFJSSxNQUFNLENBQUNDLElBQUksQ0FBQ0MsZ0JBQUMsQ0FBQ0MsWUFBWSxDQUFDUixLQUFLLENBQUMsQ0FBQ1MsU0FBUyxD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
@@ -47,21 +47,33 @@ var calculatePolygonArea = function calculatePolygonArea(coordinates) {
47
47
  };
48
48
  exports.calculatePolygonArea = calculatePolygonArea;
49
49
  var polygonTitle = function polygonTitle(area, mapZoom) {
50
- return "<div class=\"area-tooltip\" style=\"color:".concat(_theme.theme.colorScheme.primary.ps1, ";font-weight:700;background-color:transparent;font-size: ").concat((mapZoom - 10) * 6, "px;-webkit-text-stroke: 0.8px #ffffff;\"> ").concat(getAreaName(area), " \n </div>");
50
+ return "<div class=\"area-tooltip\" style=\"color:".concat(_theme.theme.colorScheme.primary.ps1, ";font-weight:700;background-color:transparent;font-size: ").concat(mapZoom * 1.5, "px;-webkit-text-stroke: 0.8px #ffffff;\"> ").concat(getAreaName(area), " \n </div>");
51
+ };
52
+ var bindToolTip = function bindToolTip(layer, title, permanent, mapZoom) {
53
+ layer.unbindTooltip();
54
+ layer.bindTooltip(title, {
55
+ className: 'area-tooltip',
56
+ permanent: permanent !== undefined ? permanent : mapZoom > 11,
57
+ direction: 'center'
58
+ });
51
59
  };
52
60
  var bindPopupBasedOnZoomLevel = function bindPopupBasedOnZoomLevel(LayerGroup, mapZoom, area) {
61
+ var permanent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
53
62
  var title = polygonTitle(area, mapZoom);
54
- LayerGroup.getLayers().forEach(function (layer) {
55
- layer.bindTooltip(title, {
56
- className: 'area-tooltip',
57
- permanent: mapZoom > 12,
58
- direction: 'center'
63
+ if (LayerGroup['area_name'] === undefined) {
64
+ LayerGroup.getLayers().forEach(function (layer) {
65
+ bindToolTip(layer, title, permanent, mapZoom);
59
66
  });
60
- });
67
+ } else {
68
+ bindToolTip(LayerGroup, title, permanent, mapZoom);
69
+ }
61
70
  };
62
71
  exports.bindPopupBasedOnZoomLevel = bindPopupBasedOnZoomLevel;
63
72
  var drillDownBasedOnZoomLevel = function drillDownBasedOnZoomLevel(areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible) {
64
- if (percentage >= zoomPercentageToDrillDown && isPartialPolygonVisible && area.sub_areas.length !== 0 && areaPolygon._map !== null) {
73
+ var drillDownCondition = function drillDownCondition() {
74
+ return percentage >= zoomPercentageToDrillDown && isPartialPolygonVisible && area.sub_areas.length !== 0 && areaPolygon._map !== null;
75
+ };
76
+ if (drillDownCondition()) {
65
77
  areaPolygon.setStyle({
66
78
  stroke: true,
67
79
  color: (0, _scoreToColor.scoreToColor)(area.area_score),
@@ -69,24 +81,28 @@ var drillDownBasedOnZoomLevel = function drillDownBasedOnZoomLevel(areaPolygon,
69
81
  fillOpacity: 0.0,
70
82
  opacity: 1
71
83
  });
72
- areaPolygon['sub_areas'] !== undefined && areaPolygon['sub_areas'].getLayers().forEach(function (subArea) {
73
- if (subArea.sub_areas && subArea.sub_areas.length === 0) {
74
- subArea.setStyle({
75
- fillOpacity: 0.4
76
- });
77
- }
78
- });
84
+ bindPopupBasedOnZoomLevel(areaPolygon, areaPolygon._map.getZoom(), area, false);
85
+ if (areaPolygon['sub_areas'] !== undefined) {
86
+ areaPolygon['sub_areas'].getLayers().forEach(function (subArea) {
87
+ if (subArea.sub_areas && subArea.sub_areas.length === 0) {
88
+ bindPopupBasedOnZoomLevel(subArea, subArea._map.getZoom(), subArea, true);
89
+ subArea.setStyle({
90
+ fillOpacity: 0.4
91
+ });
92
+ }
93
+ });
94
+ }
79
95
  } else {
80
96
  areaPolygon.setStyle({
81
- fillOpacity: 0.4
82
- });
83
- areaPolygon.setStyle({
97
+ fillOpacity: 0.4,
84
98
  stroke: false
85
99
  });
100
+ bindPopupBasedOnZoomLevel(areaPolygon, areaPolygon._map.getZoom(), area, true);
86
101
  areaPolygon['sub_areas'] !== undefined && areaPolygon['sub_areas'].getLayers().forEach(function (subArea) {
87
102
  subArea.setStyle({
88
103
  fillOpacity: 0.0
89
104
  });
105
+ bindPopupBasedOnZoomLevel(subArea, subArea._map.getZoom(), subArea, false);
90
106
  });
91
107
  }
92
108
  areaPolygon.redraw();
@@ -136,4 +152,4 @@ var createPolygon = function createPolygon(area, mapZoom, LayerGroup, map) {
136
152
  }
137
153
  };
138
154
  exports.createPolygon = createPolygon;
139
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0NvbG9yIiwicmVxdWlyZSIsIl90aGVtZSIsIl9sZWFmbGV0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImdldEFyZWFOYW1lIiwiYXJlYSIsIm5hbWUiLCJhcmVhX25hbWUiLCJleHBvcnRzIiwiZ2VuZXJpY1BvbHlnb24iLCJtYXBab29tIiwiYXJlYVBvbHlnb24iLCJsYXRsbmdzIiwic2hhcGVfZGF0YSIsIm1hcCIsImxvY2F0aW9uIiwibGVuZ3RoIiwiY29sb3IiLCJzY29yZVRvQ29sb3IiLCJhcmVhX3Njb3JlIiwidGl0bGUiLCJwb2x5Z29uVGl0bGUiLCJMIiwicG9seWdvbiIsImZpbGxPcGFjaXR5Iiwic2hvd0NvbG9yT25seUluQm9yZGVycyIsIndlaWdodCIsImJpbmRUb29sdGlwIiwiY2xhc3NOYW1lIiwicGVybWFuZW50IiwiZGlyZWN0aW9uIiwiY2FsY3VsYXRlUG9seWdvbkFyZWEiLCJjb29yZGluYXRlcyIsIm51bVBvaW50cyIsImkiLCJ4MSIsInkxIiwieDIiLCJ5MiIsIk1hdGgiLCJhYnMiLCJjb25jYXQiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwicHJpbWFyeSIsInBzMSIsImJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwiLCJMYXllckdyb3VwIiwiZ2V0TGF5ZXJzIiwiZm9yRWFjaCIsImxheWVyIiwiZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCIsInBlcmNlbnRhZ2UiLCJ6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duIiwiaXNQYXJ0aWFsUG9seWdvblZpc2libGUiLCJzdWJfYXJlYXMiLCJfbWFwIiwic2V0U3R5bGUiLCJzdHJva2UiLCJvcGFjaXR5IiwidW5kZWZpbmVkIiwic3ViQXJlYSIsInJlZHJhdyIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImFyZWFfaWQiLCJjYWxjdWxhdGVkX3N1cmZhY2UiLCJjcmVhdGVQb2x5Z29uIiwiY3JlYXRlQXNTdWJBcmVhIiwiYXJndW1lbnRzIiwiX2FyZWEkc3ViX2FyZWFzIiwic3ViQXJlYXNDcmVhdGVkIiwibGF5ZXJHcm91cCIsImhhc19wYXJlbnQiLCJoYXNMYXllciIsImFkZExheWVyIiwiYWRkVG8iLCJicmluZ1RvQmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9Db2xvcic7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyBQb2x5Z29uIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcblxuZXhwb3J0IGNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1BvbHlnb24gPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICBsZXQgYXJlYVBvbHlnb246IFBvbHlnb247XG4gIGxldCBsYXRsbmdzID0gYXJlYS5zaGFwZV9kYXRhLm1hcCgobG9jYXRpb246IGFueSkgPT4ge1xuICAgIHJldHVybiBbbG9jYXRpb25bJ2xhdCddLCBsb2NhdGlvblsnbG5nJ11dO1xuICB9KTtcblxuICBpZiAobGF0bG5ncy5sZW5ndGggPCAxKSByZXR1cm47XG5cbiAgbGV0IGNvbG9yID0gYXJlYS5jb2xvciA/IGFyZWEuY29sb3IgOiBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKTtcblxuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcblxuICBhcmVhUG9seWdvbiA9IEwucG9seWdvbihsYXRsbmdzLCB7XG4gICAgY29sb3IsXG4gICAgZmlsbE9wYWNpdHk6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDAuMyA6IDAuNCxcbiAgICB3ZWlnaHQ6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDIgOiAwLFxuICB9KS5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiBtYXBab29tID4gMTIsXG4gICAgZGlyZWN0aW9uOiAnY2VudGVyJyxcbiAgfSk7XG5cbiAgcmV0dXJuIGFyZWFQb2x5Z29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVBvbHlnb25BcmVhID0gKGNvb3JkaW5hdGVzKSA9PiB7XG4gIGxldCBhcmVhID0gMDtcbiAgbGV0IG51bVBvaW50cyA9IGNvb3JkaW5hdGVzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBvaW50czsgaSsrKSB7XG4gICAgbGV0IHgxID0gY29vcmRpbmF0ZXNbaV1bMF07XG4gICAgbGV0IHkxID0gY29vcmRpbmF0ZXNbaV1bMV07XG4gICAgbGV0IHgyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMF07XG4gICAgbGV0IHkyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMV07XG5cbiAgICBhcmVhICs9IHgxICogeTIgLSB4MiAqIHkxO1xuICB9XG5cbiAgcmV0dXJuIE1hdGguYWJzKGFyZWEgLyAyKTtcbn07XG5cbmNvbnN0IHBvbHlnb25UaXRsZSA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIHJldHVybiBgPGRpdiBjbGFzcz1cImFyZWEtdG9vbHRpcFwiIHN0eWxlPVwiY29sb3I6JHtcbiAgICB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnBzMVxuICB9O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZTogJHtcbiAgICAobWFwWm9vbSAtIDEwKSAqIDZcbiAgfXB4Oy13ZWJraXQtdGV4dC1zdHJva2U6IDAuOHB4ICNmZmZmZmY7XCI+ICR7Z2V0QXJlYU5hbWUoYXJlYSl9IFxuICAgICAgICA8L2Rpdj5gO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwgPSAoTGF5ZXJHcm91cCwgbWFwWm9vbSwgYXJlYSkgPT4ge1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcblxuICBMYXllckdyb3VwLmdldExheWVycygpLmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgbGF5ZXIuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgICBwZXJtYW5lbnQ6IG1hcFpvb20gPiAxMixcbiAgICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gICAgfSk7XG4gIH0pO1xufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuKSA9PiB7XG4gIGlmIChcbiAgICBwZXJjZW50YWdlID49IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gJiZcbiAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgIGFyZWFQb2x5Z29uLl9tYXAgIT09IG51bGxcbiAgKSB7XG4gICAgYXJlYVBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgd2VpZ2h0OiAyLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuMCxcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG4gICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIGlmIChzdWJBcmVhLnN1Yl9hcmVhcyAmJiBzdWJBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBzdWJBcmVhLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAuNCB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYXJlYVBvbHlnb24uc2V0U3R5bGUoeyBmaWxsT3BhY2l0eTogMC40IH0pO1xuICAgIGFyZWFQb2x5Z29uLnNldFN0eWxlKHsgc3Ryb2tlOiBmYWxzZSB9KTtcbiAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddLmdldExheWVycygpLmZvckVhY2goKHN1YkFyZWEpID0+IHtcbiAgICAgICAgc3ViQXJlYS5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFyZWFQb2x5Z29uLnJlZHJhdygpO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21Db250cm9sRm9yQXJlYSA9IChhcmVhUG9seWdvbiwgYXJlYSwgbWFwKSA9PiB7XG4gIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZ2V0TWFwQm91bmRzID0gbWFwLmdldEJvdW5kcygpO1xuICAgIGxldCBwb2x5Z29uQm91bmRzID0gYXJlYVBvbHlnb24uZ2V0Qm91bmRzKCk7XG4gICAgbGV0IGlzUGFydGlhbFBvbHlnb25WaXNpYmxlID0gZ2V0TWFwQm91bmRzLmludGVyc2VjdHMocG9seWdvbkJvdW5kcyk7XG4gICAgbGV0IG1hcEJvdW5kc1BvbHlnb24gPSBMLnBvbHlnb24oW1xuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoRWFzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoRWFzdCgpLFxuICAgIF0pO1xuXG4gICAgbGV0IG1hcEJvdW5kcyA9IGNhbGN1bGF0ZVBvbHlnb25BcmVhKFxuICAgICAgbWFwQm91bmRzUG9seWdvbi50b0dlb0pTT04oKS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcbiAgICApO1xuXG4gICAgbGV0IGFyZWFTdXJmYWNlID0gYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddO1xuICAgIGNvbnN0IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gPSAxNS4wO1xuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoYXJlYVN1cmZhY2UgLyBtYXBCb3VuZHMpICogMTAwO1xuXG4gICAgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYSxcbiAgICAgIHBlcmNlbnRhZ2UsXG4gICAgICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gICAgKTtcbiAgfSk7XG59O1xuXG5jb25zdCBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24gPSAoYXJlYVBvbHlnb24sIGFyZWEpID0+IHtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdF9pZCddID0gYXJlYS5hcmVhX2lkO1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG4gIGFyZWFQb2x5Z29uWydhcmVhX25hbWUnXSA9IGFyZWEuYXJlYV9uYW1lO1xuICBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ10gPSBhcmVhLmNhbGN1bGF0ZWRfc3VyZmFjZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2x5Z29uID0gKFxuICBhcmVhLFxuICBtYXBab29tLFxuICBMYXllckdyb3VwLFxuICBtYXAsXG4gIGNyZWF0ZUFzU3ViQXJlYTogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIGxldCBzdWJBcmVhc0NyZWF0ZWQgPSBMLmxheWVyR3JvdXAoW10pO1xuICAgIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICAgIGlmIChjcmVhdGVBc1N1YkFyZWEgfHwgIWFyZWEuaGFzX3BhcmVudCkge1xuICAgICAgcG9seWdvbiA9IGdlbmVyaWNQb2x5Z29uKGFyZWEsIG1hcFpvb20pO1xuICAgIH1cblxuICAgIGFyZWEuc3ViX2FyZWFzPy5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICBjcmVhdGVQb2x5Z29uKHN1YkFyZWEsIG1hcFpvb20sIHN1YkFyZWFzQ3JlYXRlZCwgbWFwLCB0cnVlKTtcbiAgICB9KTtcblxuICAgIGlmIChjcmVhdGVBc1N1YkFyZWEgfHwgIWFyZWEuaGFzX3BhcmVudCkge1xuICAgICAgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uKHBvbHlnb24sIGFyZWEpO1xuICAgICAgIUxheWVyR3JvdXAuaGFzTGF5ZXIocG9seWdvbikgJiYgTGF5ZXJHcm91cC5hZGRMYXllcihwb2x5Z29uKS5hZGRUbyhtYXApO1xuICAgICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgICAgaWYgKHN1YkFyZWFzQ3JlYXRlZC5nZXRMYXllcnMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHN1YkFyZWFzQ3JlYXRlZC5hZGRUbyhtYXApO1xuICAgICAgICBwb2x5Z29uWydzdWJfYXJlYXMnXSA9IHN1YkFyZWFzQ3JlYXRlZDtcbiAgICAgIH1cblxuICAgICAgem9vbUNvbnRyb2xGb3JBcmVhKHBvbHlnb24sIGFyZWEsIG1hcCk7XG4gICAgfVxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsYUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBRU8sSUFBTUksV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLElBQUksRUFBSztFQUNuQyxJQUFJQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsU0FBUyxJQUFJRixJQUFJLENBQUNDLElBQUk7RUFFdEMsT0FBT0EsSUFBSTtBQUNiLENBQUM7QUFBQ0UsT0FBQSxDQUFBSixXQUFBLEdBQUFBLFdBQUE7QUFFSyxJQUFNSyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUlKLElBQUksRUFBRUssT0FBTyxFQUFLO0VBQy9DLElBQUlDLFdBQW9CO0VBQ3hCLElBQUlDLE9BQU8sR0FBR1AsSUFBSSxDQUFDUSxVQUFVLENBQUNDLEdBQUcsQ0FBQyxVQUFDQyxRQUFhLEVBQUs7SUFDbkQsT0FBTyxDQUFDQSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUVBLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztFQUMzQyxDQUFDLENBQUM7RUFFRixJQUFJSCxPQUFPLENBQUNJLE1BQU0sR0FBRyxDQUFDLEVBQUU7RUFFeEIsSUFBSUMsS0FBSyxHQUFHWixJQUFJLENBQUNZLEtBQUssR0FBR1osSUFBSSxDQUFDWSxLQUFLLEdBQUcsSUFBQUMsMEJBQVksRUFBQ2IsSUFBSSxDQUFDYyxVQUFVLENBQUM7RUFFbkUsSUFBTUMsS0FBSyxHQUFHQyxZQUFZLENBQUNoQixJQUFJLEVBQUVLLE9BQU8sQ0FBQztFQUV6Q0MsV0FB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
155
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0NvbG9yIiwicmVxdWlyZSIsIl90aGVtZSIsIl9sZWFmbGV0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImdldEFyZWFOYW1lIiwiYXJlYSIsIm5hbWUiLCJhcmVhX25hbWUiLCJleHBvcnRzIiwiZ2VuZXJpY1BvbHlnb24iLCJtYXBab29tIiwiYXJlYVBvbHlnb24iLCJsYXRsbmdzIiwic2hhcGVfZGF0YSIsIm1hcCIsImxvY2F0aW9uIiwibGVuZ3RoIiwiY29sb3IiLCJzY29yZVRvQ29sb3IiLCJhcmVhX3Njb3JlIiwidGl0bGUiLCJwb2x5Z29uVGl0bGUiLCJMIiwicG9seWdvbiIsImZpbGxPcGFjaXR5Iiwic2hvd0NvbG9yT25seUluQm9yZGVycyIsIndlaWdodCIsImJpbmRUb29sdGlwIiwiY2xhc3NOYW1lIiwicGVybWFuZW50IiwiZGlyZWN0aW9uIiwiY2FsY3VsYXRlUG9seWdvbkFyZWEiLCJjb29yZGluYXRlcyIsIm51bVBvaW50cyIsImkiLCJ4MSIsInkxIiwieDIiLCJ5MiIsIk1hdGgiLCJhYnMiLCJjb25jYXQiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwicHJpbWFyeSIsInBzMSIsImJpbmRUb29sVGlwIiwibGF5ZXIiLCJ1bmJpbmRUb29sdGlwIiwidW5kZWZpbmVkIiwiYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbCIsIkxheWVyR3JvdXAiLCJhcmd1bWVudHMiLCJnZXRMYXllcnMiLCJmb3JFYWNoIiwiZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCIsInBlcmNlbnRhZ2UiLCJ6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duIiwiaXNQYXJ0aWFsUG9seWdvblZpc2libGUiLCJkcmlsbERvd25Db25kaXRpb24iLCJzdWJfYXJlYXMiLCJfbWFwIiwic2V0U3R5bGUiLCJzdHJva2UiLCJvcGFjaXR5IiwiZ2V0Wm9vbSIsInN1YkFyZWEiLCJyZWRyYXciLCJ6b29tQ29udHJvbEZvckFyZWEiLCJvbiIsImdldE1hcEJvdW5kcyIsImdldEJvdW5kcyIsInBvbHlnb25Cb3VuZHMiLCJpbnRlcnNlY3RzIiwibWFwQm91bmRzUG9seWdvbiIsImdldFNvdXRoV2VzdCIsImdldE5vcnRoV2VzdCIsImdldE5vcnRoRWFzdCIsImdldFNvdXRoRWFzdCIsIm1hcEJvdW5kcyIsInRvR2VvSlNPTiIsImdlb21ldHJ5IiwiYXJlYVN1cmZhY2UiLCJjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24iLCJhcmVhX2lkIiwiY2FsY3VsYXRlZF9zdXJmYWNlIiwiY3JlYXRlUG9seWdvbiIsImNyZWF0ZUFzU3ViQXJlYSIsIl9hcmVhJHN1Yl9hcmVhcyIsInN1YkFyZWFzQ3JlYXRlZCIsImxheWVyR3JvdXAiLCJoYXNfcGFyZW50IiwiaGFzTGF5ZXIiLCJhZGRMYXllciIsImFkZFRvIiwiYnJpbmdUb0JhY2siXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjb3JlVG9Db2xvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9zY29yZVRvQ29sb3InO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IEwgZnJvbSAnbGVhZmxldCc7XG5cbmV4cG9ydCBjb25zdCBnZXRBcmVhTmFtZSA9IChhcmVhKSA9PiB7XG4gIGxldCBuYW1lID0gYXJlYS5hcmVhX25hbWUgfHwgYXJlYS5uYW1lO1xuXG4gIHJldHVybiBuYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNQb2x5Z29uID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgbGV0IGFyZWFQb2x5Z29uOiBQb2x5Z29uO1xuICBsZXQgbGF0bG5ncyA9IGFyZWEuc2hhcGVfZGF0YS5tYXAoKGxvY2F0aW9uOiBhbnkpID0+IHtcbiAgICByZXR1cm4gW2xvY2F0aW9uWydsYXQnXSwgbG9jYXRpb25bJ2xuZyddXTtcbiAgfSk7XG5cbiAgaWYgKGxhdGxuZ3MubGVuZ3RoIDwgMSkgcmV0dXJuO1xuXG4gIGxldCBjb2xvciA9IGFyZWEuY29sb3IgPyBhcmVhLmNvbG9yIDogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSk7XG5cbiAgY29uc3QgdGl0bGUgPSBwb2x5Z29uVGl0bGUoYXJlYSwgbWFwWm9vbSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgfSkuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogbWFwWm9vbSA+IDEyLFxuICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gIH0pO1xuXG4gIHJldHVybiBhcmVhUG9seWdvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVQb2x5Z29uQXJlYSA9IChjb29yZGluYXRlcykgPT4ge1xuICBsZXQgYXJlYSA9IDA7XG4gIGxldCBudW1Qb2ludHMgPSBjb29yZGluYXRlcy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Qb2ludHM7IGkrKykge1xuICAgIGxldCB4MSA9IGNvb3JkaW5hdGVzW2ldWzBdO1xuICAgIGxldCB5MSA9IGNvb3JkaW5hdGVzW2ldWzFdO1xuICAgIGxldCB4MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzBdO1xuICAgIGxldCB5MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzFdO1xuXG4gICAgYXJlYSArPSB4MSAqIHkyIC0geDIgKiB5MTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLmFicyhhcmVhIC8gMik7XG59O1xuXG5jb25zdCBwb2x5Z29uVGl0bGUgPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJhcmVhLXRvb2x0aXBcIiBzdHlsZT1cImNvbG9yOiR7XG4gICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgfTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXNpemU6ICR7XG4gICAgbWFwWm9vbSAqIDEuNVxuICB9cHg7LXdlYmtpdC10ZXh0LXN0cm9rZTogMC44cHggI2ZmZmZmZjtcIj4gJHtnZXRBcmVhTmFtZShhcmVhKX0gXG4gICAgICAgIDwvZGl2PmA7XG59O1xuXG5jb25zdCBiaW5kVG9vbFRpcCA9IChsYXllciwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSkgPT4ge1xuICBsYXllci51bmJpbmRUb29sdGlwKCk7XG4gIGxheWVyLmJpbmRUb29sdGlwKHRpdGxlLCB7XG4gICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICBwZXJtYW5lbnQ6IHBlcm1hbmVudCAhPT0gdW5kZWZpbmVkID8gcGVybWFuZW50IDogbWFwWm9vbSA+IDExLFxuICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwgPSAoXG4gIExheWVyR3JvdXAsXG4gIG1hcFpvb20sXG4gIGFyZWEsXG4gIHBlcm1hbmVudCA9IHVuZGVmaW5lZCxcbikgPT4ge1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcblxuICBpZiAoTGF5ZXJHcm91cFsnYXJlYV9uYW1lJ10gPT09IHVuZGVmaW5lZCkge1xuICAgIExheWVyR3JvdXAuZ2V0TGF5ZXJzKCkuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgIGJpbmRUb29sVGlwKGxheWVyLCB0aXRsZSwgcGVybWFuZW50LCBtYXBab29tKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBiaW5kVG9vbFRpcChMYXllckdyb3VwLCB0aXRsZSwgcGVybWFuZW50LCBtYXBab29tKTtcbiAgfVxufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuKSA9PiB7XG4gIGNvbnN0IGRyaWxsRG93bkNvbmRpdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGVyY2VudGFnZSA+PSB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duICYmXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgICAgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBhcmVhUG9seWdvbi5fbWFwICE9PSBudWxsXG4gICAgKTtcbiAgfTtcblxuICBpZiAoZHJpbGxEb3duQ29uZGl0aW9uKCkpIHtcbiAgICBhcmVhUG9seWdvbi5zZXRTdHlsZSh7XG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgICBjb2xvcjogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSksXG4gICAgICB3ZWlnaHQ6IDIsXG4gICAgICBmaWxsT3BhY2l0eTogMC4wLFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KTtcbiAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhUG9seWdvbi5fbWFwLmdldFpvb20oKSxcbiAgICAgIGFyZWEsXG4gICAgICBmYWxzZSxcbiAgICApO1xuXG4gICAgaWYgKGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZ2V0TGF5ZXJzKCkuZm9yRWFjaCgoc3ViQXJlYSkgPT4ge1xuICAgICAgICBpZiAoc3ViQXJlYS5zdWJfYXJlYXMgJiYgc3ViQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgICAgICAgIHN1YkFyZWEsXG4gICAgICAgICAgICBzdWJBcmVhLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgICAgICAgc3ViQXJlYSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBzdWJBcmVhLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAuNCB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGFyZWFQb2x5Z29uLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAuNCwgc3Ryb2tlOiBmYWxzZSB9KTtcbiAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhUG9seWdvbi5fbWFwLmdldFpvb20oKSxcbiAgICAgIGFyZWEsXG4gICAgICB0cnVlLFxuICAgICk7XG5cbiAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddLmdldExheWVycygpLmZvckVhY2goKHN1YkFyZWEpID0+IHtcbiAgICAgICAgc3ViQXJlYS5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjAgfSk7XG4gICAgICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoXG4gICAgICAgICAgc3ViQXJlYSxcbiAgICAgICAgICBzdWJBcmVhLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgICAgIHN1YkFyZWEsXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFyZWFQb2x5Z29uLnJlZHJhdygpO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21Db250cm9sRm9yQXJlYSA9IChhcmVhUG9seWdvbiwgYXJlYSwgbWFwKSA9PiB7XG4gIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZ2V0TWFwQm91bmRzID0gbWFwLmdldEJvdW5kcygpO1xuICAgIGxldCBwb2x5Z29uQm91bmRzID0gYXJlYVBvbHlnb24uZ2V0Qm91bmRzKCk7XG4gICAgbGV0IGlzUGFydGlhbFBvbHlnb25WaXNpYmxlID0gZ2V0TWFwQm91bmRzLmludGVyc2VjdHMocG9seWdvbkJvdW5kcyk7XG4gICAgbGV0IG1hcEJvdW5kc1BvbHlnb24gPSBMLnBvbHlnb24oW1xuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoRWFzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoRWFzdCgpLFxuICAgIF0pO1xuXG4gICAgbGV0IG1hcEJvdW5kcyA9IGNhbGN1bGF0ZVBvbHlnb25BcmVhKFxuICAgICAgbWFwQm91bmRzUG9seWdvbi50b0dlb0pTT04oKS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcbiAgICApO1xuXG4gICAgbGV0IGFyZWFTdXJmYWNlID0gYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddO1xuICAgIGNvbnN0IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gPSAxNS4wO1xuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoYXJlYVN1cmZhY2UgLyBtYXBCb3VuZHMpICogMTAwO1xuXG4gICAgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYSxcbiAgICAgIHBlcmNlbnRhZ2UsXG4gICAgICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gICAgKTtcbiAgfSk7XG59O1xuXG5jb25zdCBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24gPSAoYXJlYVBvbHlnb24sIGFyZWEpID0+IHtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdF9pZCddID0gYXJlYS5hcmVhX2lkO1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG4gIGFyZWFQb2x5Z29uWydhcmVhX25hbWUnXSA9IGFyZWEuYXJlYV9uYW1lO1xuICBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ10gPSBhcmVhLmNhbGN1bGF0ZWRfc3VyZmFjZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2x5Z29uID0gKFxuICBhcmVhLFxuICBtYXBab29tLFxuICBMYXllckdyb3VwLFxuICBtYXAsXG4gIGNyZWF0ZUFzU3ViQXJlYTogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIGxldCBzdWJBcmVhc0NyZWF0ZWQgPSBMLmxheWVyR3JvdXAoW10pO1xuICAgIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICAgIGlmIChjcmVhdGVBc1N1YkFyZWEgfHwgIWFyZWEuaGFzX3BhcmVudCkge1xuICAgICAgcG9seWdvbiA9IGdlbmVyaWNQb2x5Z29uKGFyZWEsIG1hcFpvb20pO1xuICAgIH1cblxuICAgIGFyZWEuc3ViX2FyZWFzPy5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICBjcmVhdGVQb2x5Z29uKHN1YkFyZWEsIG1hcFpvb20sIHN1YkFyZWFzQ3JlYXRlZCwgbWFwLCB0cnVlKTtcbiAgICB9KTtcblxuICAgIGlmIChjcmVhdGVBc1N1YkFyZWEgfHwgIWFyZWEuaGFzX3BhcmVudCkge1xuICAgICAgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uKHBvbHlnb24sIGFyZWEpO1xuICAgICAgIUxheWVyR3JvdXAuaGFzTGF5ZXIocG9seWdvbikgJiYgTGF5ZXJHcm91cC5hZGRMYXllcihwb2x5Z29uKS5hZGRUbyhtYXApO1xuICAgICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgICAgaWYgKHN1YkFyZWFzQ3JlYXRlZC5nZXRMYXllcnMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHN1YkFyZWFzQ3JlYXRlZC5hZGRUbyhtYXApO1xuICAgICAgICBwb2x5Z29uWydzdWJfYXJlYXMnXSA9IHN1YkFyZWFzQ3JlYXRlZDtcbiAgICAgIH1cblxuICAgICAgem9vbUNvbnRyb2xGb3JBcmVhKHBvbHlnb24sIGFyZWEsIG1hcCk7XG4gICAgfVxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsYUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBRU8sSUFBTUksV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLElBQUksRUFBSztFQUNuQyxJQUFJQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsU0FBUyxJQUFJRixJQUFJLENBQUNDLElBQUk7RUFFdEMsT0FBT0EsSUFBSTtBQUNiLENBQUM7QUFBQ0UsT0FBQSxDQUFBSixXQUFBLEdBQUFBLFdBQUE7QUFFSyxJQUFNSyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUlKLElBQUksRUFBRUssT0FBTyxFQUFLO0VBQy9DLElBQUlDLFdBQW9CO0VBQ3hCLElBQUlDLE9BQU8sR0FBR1AsSUFBSSxDQUFDUSxVQUFVLENBQUNDLEdBQUcsQ0FBQyxVQUFDQyxRQUFhLEVBQUs7SUFDbkQsT0FBTyxDQUFDQSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUVBLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztFQUMzQyxDQUFDLENBQUM7RUFFRixJQUFJSCxPQUFPLENBQUNJLE1BQU0sR0FBRyxDQUFDLEVBQUU7RUFFeEIsSUFBSUMsS0FBSyxHQUFHWixJQUFJLENBQUNZLEtBQUssR0FBR1osSUFBSSxDQUFDWSxLQUFLLEdB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
@@ -28,31 +28,30 @@ var Edge = function Edge(_ref) {
28
28
  return data.lat === null || data.lng === null;
29
29
  }) === undefined;
30
30
  };
31
- var unmonitoredDescendants = function unmonitoredDescendants() {
32
- return allowUnmonitoredDescendants ? true : edge.descendants_has_device;
33
- };
31
+ // const unmonitoredDescendants = () => {
32
+ // return allowUnmonitoredDescendants ? true : edge.descendants_has_device;
33
+ // };
34
+
34
35
  (0, _react.useEffect)(function () {
35
- if (shapeDataExist() && unmonitoredDescendants()) {
36
+ if (shapeDataExist()) {
36
37
  var latlngs = [];
37
38
  edge.shape_data.forEach(function (data) {
38
39
  latlngs.push([data.lat, data.lng]);
39
40
  });
41
+ var sourcePoint = points.filter(function (point) {
42
+ return point.id === edge.source_point_id;
43
+ });
44
+ var targetPoint = points.filter(function (point) {
45
+ return point.id === edge.target_point_id;
46
+ });
47
+ if (points.length === 0) return;
48
+ if (sourcePoint[0] === undefined || targetPoint[0] === undefined) return;
40
49
  var polylineBack = L.polyline(latlngs, {
41
50
  color: 'rgb(227,227,227)',
42
51
  weight: 6,
43
52
  opacity: hideEdges ? 0 : 1
44
53
  }).addTo(map);
45
- if (points.length !== 0) {
46
- var sourcePoint = points.filter(function (point) {
47
- return point.id === edge.source_point_id;
48
- });
49
- var targetPoint = points.filter(function (point) {
50
- return point.id === edge.target_point_id;
51
- });
52
- if (sourcePoint[0] !== undefined && targetPoint[0] !== undefined) {
53
- polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(sourcePoint[0].group.name, ",<br>\n Target point: ").concat(targetPoint[0].group.name, ",\n Distance: ").concat(edge.distance));
54
- }
55
- }
54
+ polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(sourcePoint[0].group.name, ",<br>\n Target point: ").concat(targetPoint[0].group.name, ",\n Distance: ").concat(edge.distance));
56
55
  polylineBack['kando_object_id'] = edge.id;
57
56
  polylineBack['kando_object'] = 'Edge';
58
57
  polylineBack.bringToFront();
@@ -74,4 +73,4 @@ var Edge = function Edge(_ref) {
74
73
  var connector = (0, _reactRedux.connect)(null);
75
74
  var _default = connector(Edge);
76
75
  exports.default = _default;
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInNoYXBlRGF0YUV4aXN0Iiwia2V5cyIsInNoYXBlX2RhdGEiLCJsZW5ndGgiLCJmaW5kIiwiZGF0YSIsImxhdCIsImxuZyIsInVuZGVmaW5lZCIsInVubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwidXNlRWZmZWN0IiwibGF0bG5ncyIsImZvckVhY2giLCJwdXNoIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJhZGRUbyIsInNvdXJjZVBvaW50IiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwiYmluZFBvcHVwIiwiY29uY2F0IiwiZ3JvdXAiLCJuYW1lIiwiZGlzdGFuY2UiLCJicmluZ1RvRnJvbnQiLCJwb2x5bGluZUZyb250Iiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsImNyZWF0ZUVsZW1lbnQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2VkZ2VzL0VkZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgJy4vRWRnZS5zY3NzJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGVkZ2U6IElFZGdlO1xuICBwb2ludHM6IGFueTtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgc3BlY2lmaWNFdmVudD86IElFdmVudDtcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEVkZ2U6IFJlYWN0LkZDPFByb3BzPiA9ICh7XG4gIEwsXG4gIG1hcCxcbiAgZWRnZSxcbiAgcG9pbnRzLFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzID0gZmFsc2UsXG4gIHNwZWNpZmljRXZlbnQsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qgc2hhcGVEYXRhRXhpc3QgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIE9iamVjdC5rZXlzKGVkZ2Uuc2hhcGVfZGF0YSkubGVuZ3RoICE9PSAwICYmXG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZmluZChcbiAgICAgICAgKGRhdGE6IGFueSkgPT4gZGF0YS5sYXQgPT09IG51bGwgfHwgZGF0YS5sbmcgPT09IG51bGwsXG4gICAgICApID09PSB1bmRlZmluZWRcbiAgICApO1xuICB9O1xuICBjb25zdCB1bm1vbml0b3JlZERlc2NlbmRhbnRzID0gKCkgPT4ge1xuICAgIHJldHVybiBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMgPyB0cnVlIDogZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNoYXBlRGF0YUV4aXN0KCkgJiYgdW5tb25pdG9yZWREZXNjZW5kYW50cygpKSB7XG4gICAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgICB9KTtcblxuICAgICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICAgIHdlaWdodDogNixcbiAgICAgICAgb3BhY2l0eTogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgaWYgKHBvaW50cy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChzb3VyY2VQb2ludFswXSAhPT0gdW5kZWZpbmVkICYmIHRhcmdldFBvaW50WzBdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50WzBdLmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50WzBdLmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgICAgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdFZGdlJztcblxuICAgICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgICBsZXQgcG9seWxpbmVGcm9udDogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDI5LDI5LDI5KScsXG4gICAgICAgIHdlaWdodDogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICAgIG9wYWNpdHk6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgfSkuYWRkVG8obWFwKTtcblxuICAgICAgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgICAgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnRWRnZUZyb250JztcblxuICAgICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICAgIGlmIChzcGVjaWZpY0V2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbcG9seWxpbmVCYWNrLCBwb2x5bGluZUZyb250XSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkZ2UsIHNwZWNpZmljRXZlbnRdKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG51bGwpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEVkZ2UpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUFBLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFHQUEsT0FBQTtBQUVBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUFvRSxTQUFBSyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUosd0JBQUFRLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgs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
76
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInNoYXBlRGF0YUV4aXN0Iiwia2V5cyIsInNoYXBlX2RhdGEiLCJsZW5ndGgiLCJmaW5kIiwiZGF0YSIsImxhdCIsImxuZyIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImxhdGxuZ3MiLCJmb3JFYWNoIiwicHVzaCIsInNvdXJjZVBvaW50IiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJhZGRUbyIsImJpbmRQb3B1cCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsImRpc3RhbmNlIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJjcmVhdGVFbGVtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9lZGdlcy9FZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0ICcuL0VkZ2Uuc2Nzcyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBlZGdlOiBJRWRnZTtcbiAgcG9pbnRzOiBhbnk7XG4gIGhpZGVFZGdlcz86IGJvb2xlYW47XG4gIHNwZWNpZmljRXZlbnQ/OiBJRXZlbnQ7XG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz86IGJvb2xlYW47XG59O1xuXG5jb25zdCBFZGdlOiBSZWFjdC5GQzxQcm9wcz4gPSAoe1xuICBMLFxuICBtYXAsXG4gIGVkZ2UsXG4gIHBvaW50cyxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyA9IGZhbHNlLFxuICBzcGVjaWZpY0V2ZW50LFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHNoYXBlRGF0YUV4aXN0ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyhlZGdlLnNoYXBlX2RhdGEpLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZWRnZS5zaGFwZV9kYXRhLmZpbmQoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEubGF0ID09PSBudWxsIHx8IGRhdGEubG5nID09PSBudWxsLFxuICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfTtcbiAgLy8gY29uc3QgdW5tb25pdG9yZWREZXNjZW5kYW50cyA9ICgpID0+IHtcbiAgLy8gICByZXR1cm4gYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzID8gdHJ1ZSA6IGVkZ2UuZGVzY2VuZGFudHNfaGFzX2RldmljZTtcbiAgLy8gfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaGFwZURhdGFFeGlzdCgpKSB7XG4gICAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgICB9KTtcblxuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG4gICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgIGlmIChzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8IHRhcmdldFBvaW50WzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICAgIHdlaWdodDogNixcbiAgICAgICAgb3BhY2l0eTogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnRbMF0uZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludFswXS5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuXG4gICAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRWRnZSc7XG5cbiAgICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgICB3ZWlnaHQ6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgICBvcGFjaXR5OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0VkZ2VGcm9udCc7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnQuYnJpbmdUb0Zyb250KCk7XG4gICAgICBpZiAoc3BlY2lmaWNFdmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGdlLCBzcGVjaWZpY0V2ZW50XSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChudWxsKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFZGdlKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBR0FBLE9BQUE7QUFFQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFBb0UsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFKLHdCQUFBUSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxH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
@@ -23,6 +23,40 @@ var Edges = function Edges(_ref) {
23
23
  _ref$allowUnmonitored = _ref.allowUnmonitoredDescendants,
24
24
  allowUnmonitoredDescendants = _ref$allowUnmonitored === void 0 ? false : _ref$allowUnmonitored,
25
25
  specificEvent = _ref.specificEvent;
26
+ // const isRelevantPoint = (point: IPoint): boolean =>
27
+ // point.group.type === 'Groups::Factory' ||
28
+ // (point.group.type === 'Groups::Collectors' && point.has_device);
29
+
30
+ // const filterEdges = () => {
31
+ // const factoryPointIds = new Set(
32
+ // points.filter(isRelevantPoint).map((point) => point.id),
33
+ // );
34
+ //
35
+ // const filteredEdges = edges.filter(
36
+ // (edge) =>
37
+ // factoryPointIds.has(edge.source_point_id) ||
38
+ // lookForFactorySourcePoint(edge),
39
+ // );
40
+ //
41
+ // return filteredEdges;
42
+ // };
43
+
44
+ // const lookForFactorySourcePoint = (edge: IEdge): IPoint | undefined => {
45
+ // const sourcePoint = points.find(
46
+ // (point) => point.id === edge.source_point_id,
47
+ // );
48
+ //
49
+ // if (sourcePoint && isRelevantPoint(sourcePoint)) {
50
+ // return sourcePoint;
51
+ // }
52
+ //
53
+ // const nextLevelEdge = edges.find(
54
+ // (nextEdge) => nextEdge.target_point_id === edge.source_point_id,
55
+ // );
56
+ //
57
+ // return nextLevelEdge ? lookForFactorySourcePoint(nextLevelEdge) : undefined;
58
+ // };
59
+
26
60
  (0, _react.useEffect)(function () {
27
61
  return function cleanup() {
28
62
  for (var property in map._layers) {
@@ -43,12 +77,13 @@ var Edges = function Edges(_ref) {
43
77
  specificEvent: specificEvent,
44
78
  allowUnmonitoredDescendants: allowUnmonitoredDescendants
45
79
  });
46
- }), !hideEdges && !hideArrows && /*#__PURE__*/_react.default.createElement(_Arrows.Arrows, {
80
+ }), !hideEdges && !hideArrows && edges.length !== 0 && /*#__PURE__*/_react.default.createElement(_Arrows.Arrows, {
47
81
  map: map,
48
82
  L: L,
49
- edges: edges
83
+ edges: edges,
84
+ points: points
50
85
  }));
51
86
  };
52
87
  var _default = Edges;
53
88
  exports.default = _default;
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJyb3dzIiwiX0VkZ2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlcyIsIl9yZWYiLCJMIiwiZWRnZXMiLCJtYXAiLCJwb2ludHMiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkaGlkZUFycm93cyIsImhpZGVBcnJvd3MiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwidXNlRWZmZWN0IiwiY2xlYW51cCIsInByb3BlcnR5IiwiX2xheWVycyIsImthbmRvX29iamVjdCIsInJlbW92ZUxheWVyIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwibGVuZ3RoIiwiZWRnZSIsImlkIiwiQXJyb3dzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2VkZ2VzL0VkZ2VzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQXJyb3dzIH0gZnJvbSAnLi9hcnJvd3MvQXJyb3dzJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVkZ2UgZnJvbSAnLi9FZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcblxuaW50ZXJmYWNlIEVkZ2VzUHJvcHMge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBlZGdlczogSUVkZ2VbXTtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgaGlkZUFycm93cz86IGJvb2xlYW47XG4gIHNwZWNpZmljRXZlbnQ/OiBJRXZlbnQ7XG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz86IGJvb2xlYW47XG59XG5cbmNvbnN0IEVkZ2VzOiBSZWFjdC5GQzxFZGdlc1Byb3BzPiA9ICh7XG4gIEwsXG4gIGVkZ2VzLFxuICBtYXAsXG4gIHBvaW50cyxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIGhpZGVBcnJvd3MgPSBmYWxzZSxcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzID0gZmFsc2UsXG4gIHNwZWNpZmljRXZlbnQsXG59KSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcC5fbGF5ZXJzKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRWRnZScgfHxcbiAgICAgICAgICBtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRWRnZUZyb250JyB8fFxuICAgICAgICAgIG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcnJvdydcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2VkZ2VzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBlZGdlcy5tYXAoKGVkZ2U6IElFZGdlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxFZGdlXG4gICAgICAgICAgICAgIGVkZ2U9e2VkZ2V9XG4gICAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBrZXk9e2VkZ2UuaWR9XG4gICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICBoaWRlRWRnZXM9e2hpZGVFZGdlc31cbiAgICAgICAgICAgICAgc3BlY2lmaWNFdmVudD17c3BlY2lmaWNFdmVudH1cbiAgICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXthbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH0pfVxuICAgICAgeyFoaWRlRWRnZXMgJiYgIWhpZGVBcnJvd3MgJiYgPEFycm93cyBtYXA9e21hcH0gTD17TH0gZWRnZXM9e2VkZ2VzfSAvPn1cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEVkZ2VzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUEwQixTQUFBSSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEs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
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJyb3dzIiwiX0VkZ2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlcyIsIl9yZWYiLCJMIiwiZWRnZXMiLCJtYXAiLCJwb2ludHMiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkaGlkZUFycm93cyIsImhpZGVBcnJvd3MiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwidXNlRWZmZWN0IiwiY2xlYW51cCIsInByb3BlcnR5IiwiX2xheWVycyIsImthbmRvX29iamVjdCIsInJlbW92ZUxheWVyIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwibGVuZ3RoIiwiZWRnZSIsImlkIiwiQXJyb3dzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2VkZ2VzL0VkZ2VzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQXJyb3dzIH0gZnJvbSAnLi9hcnJvd3MvQXJyb3dzJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVkZ2UgZnJvbSAnLi9FZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcblxuaW50ZXJmYWNlIEVkZ2VzUHJvcHMge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBlZGdlczogSUVkZ2VbXTtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgaGlkZUFycm93cz86IGJvb2xlYW47XG4gIHNwZWNpZmljRXZlbnQ/OiBJRXZlbnQ7XG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz86IGJvb2xlYW47XG59XG5cbmNvbnN0IEVkZ2VzOiBSZWFjdC5GQzxFZGdlc1Byb3BzPiA9ICh7XG4gIEwsXG4gIGVkZ2VzLFxuICBtYXAsXG4gIHBvaW50cyxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIGhpZGVBcnJvd3MgPSBmYWxzZSxcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzID0gZmFsc2UsXG4gIHNwZWNpZmljRXZlbnQsXG59KSA9PiB7XG4gIC8vIGNvbnN0IGlzUmVsZXZhbnRQb2ludCA9IChwb2ludDogSVBvaW50KTogYm9vbGVhbiA9PlxuICAvLyAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknIHx8XG4gIC8vICAgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkNvbGxlY3RvcnMnICYmIHBvaW50Lmhhc19kZXZpY2UpO1xuXG4gIC8vIGNvbnN0IGZpbHRlckVkZ2VzID0gKCkgPT4ge1xuICAvLyAgIGNvbnN0IGZhY3RvcnlQb2ludElkcyA9IG5ldyBTZXQoXG4gIC8vICAgICBwb2ludHMuZmlsdGVyKGlzUmVsZXZhbnRQb2ludCkubWFwKChwb2ludCkgPT4gcG9pbnQuaWQpLFxuICAvLyAgICk7XG4gIC8vXG4gIC8vICAgY29uc3QgZmlsdGVyZWRFZGdlcyA9IGVkZ2VzLmZpbHRlcihcbiAgLy8gICAgIChlZGdlKSA9PlxuICAvLyAgICAgICBmYWN0b3J5UG9pbnRJZHMuaGFzKGVkZ2Uuc291cmNlX3BvaW50X2lkKSB8fFxuICAvLyAgICAgICBsb29rRm9yRmFjdG9yeVNvdXJjZVBvaW50KGVkZ2UpLFxuICAvLyAgICk7XG4gIC8vXG4gIC8vICAgcmV0dXJuIGZpbHRlcmVkRWRnZXM7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgbG9va0ZvckZhY3RvcnlTb3VyY2VQb2ludCA9IChlZGdlOiBJRWRnZSk6IElQb2ludCB8IHVuZGVmaW5lZCA9PiB7XG4gIC8vICAgY29uc3Qgc291cmNlUG9pbnQgPSBwb2ludHMuZmluZChcbiAgLy8gICAgIChwb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAvLyAgICk7XG4gIC8vXG4gIC8vICAgaWYgKHNvdXJjZVBvaW50ICYmIGlzUmVsZXZhbnRQb2ludChzb3VyY2VQb2ludCkpIHtcbiAgLy8gICAgIHJldHVybiBzb3VyY2VQb2ludDtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgY29uc3QgbmV4dExldmVsRWRnZSA9IGVkZ2VzLmZpbmQoXG4gIC8vICAgICAobmV4dEVkZ2UpID0+IG5leHRFZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQsXG4gIC8vICAgKTtcbiAgLy9cbiAgLy8gICByZXR1cm4gbmV4dExldmVsRWRnZSA/IGxvb2tGb3JGYWN0b3J5U291cmNlUG9pbnQobmV4dExldmVsRWRnZSkgOiB1bmRlZmluZWQ7XG4gIC8vIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwLl9sYXllcnMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdFZGdlJyB8fFxuICAgICAgICAgIG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdFZGdlRnJvbnQnIHx8XG4gICAgICAgICAgbWFwLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0Fycm93J1xuICAgICAgICApIHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobWFwLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZWRnZXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgIGVkZ2VzLm1hcCgoZWRnZTogSUVkZ2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEVkZ2VcbiAgICAgICAgICAgICAgZWRnZT17ZWRnZX1cbiAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgIGtleT17ZWRnZS5pZH1cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgICAgICBzcGVjaWZpY0V2ZW50PXtzcGVjaWZpY0V2ZW50fVxuICAgICAgICAgICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM9e2FsbG93VW5tb25pdG9yZWREZXNjZW5kYW50c31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICB7IWhpZGVFZGdlcyAmJiAhaGlkZUFycm93cyAmJiBlZGdlcy5sZW5ndGggIT09IDAgJiYgKFxuICAgICAgICA8QXJyb3dzIG1hcD17bWFwfSBMPXtMfSBlZGdlcz17ZWRnZXN9IHBvaW50cz17cG9pbnRzfSAvPlxuICAgICAgKX1cbiAgICA8Lz5cbiAgKTtcbn07XG5c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
@@ -9,10 +9,12 @@ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
10
  var _react = require("react");
11
11
  var _edgesMath = require("utilities/edgesMath");
12
+ var _EventUtils = require("../../events/EventUtils");
12
13
  var Arrows = function Arrows(_ref) {
13
14
  var map = _ref.map,
14
15
  L = _ref.L,
15
- edges = _ref.edges;
16
+ edges = _ref.edges,
17
+ points = _ref.points;
16
18
  var _useState = (0, _react.useState)(),
17
19
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
18
20
  arrowsGroup = _useState2[0],
@@ -43,6 +45,15 @@ var Arrows = function Arrows(_ref) {
43
45
  }
44
46
  return true;
45
47
  }).map(function (edge) {
48
+ var sourcePoint = points.filter(function (point) {
49
+ return point.id === edge.source_point_id;
50
+ });
51
+ var targetPoint = points.filter(function (point) {
52
+ return point.id === edge.target_point_id;
53
+ });
54
+ if (points.length === 0) return [];
55
+ if (sourcePoint[0] === undefined || targetPoint[0] === undefined) return [];
56
+ if ((0, _EventUtils.isCollectorUnmonitored)(sourcePoint[0]) || (0, _EventUtils.isCollectorUnmonitored)(targetPoint[0])) return [];
46
57
  if (validateEdgeShapeData(edge)) {
47
58
  return edge.shape_data.map(function (point) {
48
59
  return [point.lat, point.lng];
@@ -67,4 +78,4 @@ var Arrows = function Arrows(_ref) {
67
78
  return null;
68
79
  };
69
80
  exports.Arrows = Arrows;
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2VkZ2VzTWF0aCIsIkFycm93cyIsIl9yZWYiLCJtYXAiLCJMIiwiZWRnZXMiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkZWZhdWx0IiwiYXJyb3dzR3JvdXAiLCJzZXRBcnJvd3NHcm91cCIsInZhbGlkYXRlRWRnZVNoYXBlRGF0YSIsImVkZ2UiLCJPYmplY3QiLCJrZXlzIiwic2hhcGVfZGF0YSIsImxlbmd0aCIsInVzZUVmZmVjdCIsImZpbHRlcmVkUG9pbnRzIiwiZmlsdGVyIiwiZGVzY2VuZGFudHNfaGFzX2RldmljZSIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMiIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwicG9pbnQiLCJ2YWx1ZSIsImlzTmFOIiwibG5nIiwibGF0IiwiZXJyIiwiZSIsImYiLCJhcnJvd3NBcnIiLCJnZXRBcnJvd3MiLCJyZWR1Y2UiLCJhY2MiLCJ2YWwiLCJjb25jYXQiLCJuZXdBcnJvd3NHcm91cCIsImZlYXR1cmVHcm91cCIsImFkZFRvIiwiYnJpbmdUb0Zyb250IiwiY2xlYXJMYXllcnMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2VkZ2VzL2Fycm93cy9BcnJvd3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmVHcm91cCwgTWFwIGFzIExlYWZsZXRNYXAsIE1hcmtlciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgZ2V0QXJyb3dzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9lZGdlc01hdGgnO1xuXG5pbnRlcmZhY2UgQXJyb3dzUHJvcHMge1xuICBtYXA6IExlYWZsZXRNYXA7XG4gIEw6IGFueTtcbiAgZWRnZXM6IElFZGdlW107XG59XG5leHBvcnQgY29uc3QgQXJyb3dzOiBSZWFjdC5GQzxBcnJvd3NQcm9wcz4gPSAoeyBtYXAsIEwsIGVkZ2VzIH0pID0+IHtcbiAgY29uc3QgW2Fycm93c0dyb3VwLCBzZXRBcnJvd3NHcm91cF0gPSB1c2VTdGF0ZTxGZWF0dXJlR3JvdXA+KCk7XG4gIGNvbnN0IHZhbGlkYXRlRWRnZVNoYXBlRGF0YSA9IChlZGdlKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVkZ2Uuc2hhcGVfZGF0YSkubGVuZ3RoICE9PSAwO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyZWRQb2ludHM6IEFycmF5PFtudW1iZXIsIG51bWJlcl0+ID0gZWRnZXNcbiAgICAgIC5maWx0ZXIoKGVkZ2UpID0+IHtcbiAgICAgICAgaWYgKCFlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsaWRhdGVFZGdlU2hhcGVEYXRhKGVkZ2UpKSB7XG4gICAgICAgICAgZm9yIChsZXQgcG9pbnQgb2YgZWRnZS5zaGFwZV9kYXRhKSB7XG4gICAgICAgICAgICBpZiAoaXNOYU4ocG9pbnQubG5nKSB8fCBpc05hTihwb2ludC5sYXQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAubWFwKChlZGdlKSA9PiB7XG4gICAgICAgIGlmICh2YWxpZGF0ZUVkZ2VTaGFwZURhdGEoZWRnZSkpIHtcbiAgICAgICAgICByZXR1cm4gZWRnZS5zaGFwZV9kYXRhLm1hcCgocG9pbnQpID0+IFtwb2ludC5sYXQsIHBvaW50LmxuZ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBhcnJvd3NBcnI6IE1hcmtlcltdID0gZmlsdGVyZWRQb2ludHNcbiAgICAgIC5tYXAoKGVkZ2UpID0+IHtcbiAgICAgICAgcmV0dXJuIGdldEFycm93cyhlZGdlLCAnIzFkMWQxZCcsIDIsIG1hcCk7XG4gICAgICB9KVxuICAgICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xuXG4gICAgY29uc3QgbmV3QXJyb3dzR3JvdXA6IEZlYXR1cmVHcm91cCA9IEwuZmVhdHVyZUdyb3VwKGFycm93c0FycikuYWRkVG8obWFwKTtcbiAgICBuZXdBcnJvd3NHcm91cC5icmluZ1RvRnJvbnQoKTtcblxuICAgIHNldEFycm93c0dyb3VwKGFycm93c0dyb3VwKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoYXJyb3dzR3JvdXA/LmNsZWFyTGF5ZXJzKSB7XG4gICAgICAgIGFycm93c0dyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2VkZ2VzXSk7XG4gIHJldHVybiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBT08sSUFBTUUsTUFBNkIsR0FBRyxTQUFoQ0EsTUFBNkJBLENBQUFDLElBQUEsRUFBMEI7RUFBQSxJQUFwQkMsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7SUFBRUMsQ0FBQyxHQUFBRixJQUFBLENBQURFLENBQUM7SUFBRUMsS0FBSyxHQUFBSCxJQUFBLENBQUxHLEtBQUs7RUFDM0QsSUFBQUMsU0FBQSxHQUFzQyxJQUFBQyxlQUFRLEVBQWUsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsQ0FBQUMsT0FBQSxFQUFBSixTQUFBO0lBQXZESyxXQUFXLEdBQUFILFVBQUE7SUFBRUksY0FBYyxHQUFBSixVQUFBO0VBQ2xD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
81
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2VkZ2VzTWF0aCIsIl9FdmVudFV0aWxzIiwiQXJyb3dzIiwiX3JlZiIsIm1hcCIsIkwiLCJlZGdlcyIsInBvaW50cyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJhcnJvd3NHcm91cCIsInNldEFycm93c0dyb3VwIiwidmFsaWRhdGVFZGdlU2hhcGVEYXRhIiwiZWRnZSIsIk9iamVjdCIsImtleXMiLCJzaGFwZV9kYXRhIiwibGVuZ3RoIiwidXNlRWZmZWN0IiwiZmlsdGVyZWRQb2ludHMiLCJmaWx0ZXIiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJwb2ludCIsInZhbHVlIiwiaXNOYU4iLCJsbmciLCJsYXQiLCJlcnIiLCJlIiwiZiIsInNvdXJjZVBvaW50IiwiaWQiLCJzb3VyY2VfcG9pbnRfaWQiLCJ0YXJnZXRQb2ludCIsInRhcmdldF9wb2ludF9pZCIsInVuZGVmaW5lZCIsImlzQ29sbGVjdG9yVW5tb25pdG9yZWQiLCJhcnJvd3NBcnIiLCJnZXRBcnJvd3MiLCJyZWR1Y2UiLCJhY2MiLCJ2YWwiLCJjb25jYXQiLCJuZXdBcnJvd3NHcm91cCIsImZlYXR1cmVHcm91cCIsImFkZFRvIiwiYnJpbmdUb0Zyb250IiwiY2xlYXJMYXllcnMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2VkZ2VzL2Fycm93cy9BcnJvd3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmVHcm91cCwgTWFwIGFzIExlYWZsZXRNYXAsIE1hcmtlciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgZ2V0QXJyb3dzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9lZGdlc01hdGgnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgaXNDb2xsZWN0b3JVbm1vbml0b3JlZCB9IGZyb20gJy4uLy4uL2V2ZW50cy9FdmVudFV0aWxzJztcblxuaW50ZXJmYWNlIEFycm93c1Byb3BzIHtcbiAgbWFwOiBMZWFmbGV0TWFwO1xuICBMOiBhbnk7XG4gIGVkZ2VzOiBJRWRnZVtdO1xuICBwb2ludHM6IElQb2ludFtdO1xufVxuZXhwb3J0IGNvbnN0IEFycm93czogUmVhY3QuRkM8QXJyb3dzUHJvcHM+ID0gKHsgbWFwLCBMLCBlZGdlcywgcG9pbnRzIH0pID0+IHtcbiAgY29uc3QgW2Fycm93c0dyb3VwLCBzZXRBcnJvd3NHcm91cF0gPSB1c2VTdGF0ZTxGZWF0dXJlR3JvdXA+KCk7XG4gIGNvbnN0IHZhbGlkYXRlRWRnZVNoYXBlRGF0YSA9IChlZGdlKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVkZ2Uuc2hhcGVfZGF0YSkubGVuZ3RoICE9PSAwO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyZWRQb2ludHM6IEFycmF5PFtudW1iZXIsIG51bWJlcl0+ID0gZWRnZXNcbiAgICAgIC5maWx0ZXIoKGVkZ2UpID0+IHtcbiAgICAgICAgaWYgKCFlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsaWRhdGVFZGdlU2hhcGVEYXRhKGVkZ2UpKSB7XG4gICAgICAgICAgZm9yIChsZXQgcG9pbnQgb2YgZWRnZS5zaGFwZV9kYXRhKSB7XG4gICAgICAgICAgICBpZiAoaXNOYU4ocG9pbnQubG5nKSB8fCBpc05hTihwb2ludC5sYXQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAubWFwKChlZGdlKSA9PiB7XG4gICAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maWx0ZXIoXG4gICAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChwb2ludHMubGVuZ3RoID09PSAwKSByZXR1cm4gW107XG4gICAgICAgIGlmIChzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8IHRhcmdldFBvaW50WzBdID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgaXNDb2xsZWN0b3JVbm1vbml0b3JlZChzb3VyY2VQb2ludFswXSkgfHxcbiAgICAgICAgICBpc0NvbGxlY3RvclVubW9uaXRvcmVkKHRhcmdldFBvaW50WzBdKVxuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIFtdO1xuXG4gICAgICAgIGlmICh2YWxpZGF0ZUVkZ2VTaGFwZURhdGEoZWRnZSkpIHtcbiAgICAgICAgICByZXR1cm4gZWRnZS5zaGFwZV9kYXRhLm1hcCgocG9pbnQpID0+IFtwb2ludC5sYXQsIHBvaW50LmxuZ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBhcnJvd3NBcnI6IE1hcmtlcltdID0gZmlsdGVyZWRQb2ludHNcbiAgICAgIC5tYXAoKGVkZ2UpID0+IHtcbiAgICAgICAgcmV0dXJuIGdldEFycm93cyhlZGdlLCAnIzFkMWQxZCcsIDIsIG1hcCk7XG4gICAgICB9KVxuICAgICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xuXG4gICAgY29uc3QgbmV3QXJyb3dzR3JvdXA6IEZlYXR1cmVHcm91cCA9IEwuZmVhdHVyZUdyb3VwKGFycm93c0FycikuYWRkVG8obWFwKTtcbiAgICBuZXdBcnJvd3NHcm91cC5icmluZ1RvRnJvbnQoKTtcblxuICAgIHNldEFycm93c0dyb3VwKGFycm93c0dyb3VwKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoYXJyb3dzR3JvdXA/LmNsZWFyTGF5ZXJzKSB7XG4gICAgICAgIGFycm93c0dyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2VkZ2VzXSk7XG4gIHJldHVybiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBUU8sSUFBTUcsTUFBNkIsR0FBRyxTQUFoQ0EsTUFBNkJBLENBQUFDLElBQUEsRUFBa0M7RUFBQSxJQUE1QkMsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7SUFBRUMsQ0FBQyxHQUFBRixJQUFBLENBQURFLENBQUM7SUFBRUMsS0FBSyxHQUFBSCxJQUFBLENBQUxHLEtBQUs7SUFBRUMsTUFBTSxHQUFBSixJQUFBLENBQU5JLE1BQU07RUFDbkUsSUFBQUMsU0FBQSxHQUFzQyxJQUFBQyxlQUFRLEVBQWUsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsQ0FBQUMsT0FBQSxFQUFBSixTQUFBO0lBQXZESyxXQUFXLEdBQUFILFVBQUE7SUFBRUksY0FBYyxHQUFBSixVQUFBO0VBQ2xDLElBQU1LLHFCQUFxQixH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
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.recursiveDownStreamSearch = exports.pointIsWWTP = exports.pointIsObservation = exports.nextLevelDownStream = exports.getUpstreamEdges = exports.getFirstEdgeOfEventPath = exports.findUpstreamEdgesToDraw = exports.findEdgesFromEventPathToDraw = exports.findDownstreamEdgesToDraw = exports.findAndDrawEventNetworkEdges = exports.drawNetwork = exports.drawManholeIcon = void 0;
8
+ exports.recursiveDownStreamSearch = exports.pointIsWWTP = exports.pointIsObservation = exports.pointIsCollector = exports.nextLevelDownStream = exports.isCollectorUnmonitored = exports.getUpstreamEdges = exports.getFirstEdgeOfEventPath = exports.findUpstreamEdgesToDraw = exports.findEdgesFromEventPathToDraw = exports.findDownstreamEdgesToDraw = exports.findAndDrawEventNetworkEdges = exports.drawNetwork = exports.drawManholeIcon = void 0;
9
9
  var L = _interopRequireWildcard(require("leaflet"));
10
10
  require("utilities/polylinedecorator");
11
11
  var _whitePoint = _interopRequireDefault(require("../../../assets/white-point.png"));
@@ -76,12 +76,16 @@ var findUpstreamEdgesToDraw = function findUpstreamEdgesToDraw(upstreamEdges, ed
76
76
  return point.id === upstreamEdge.source_point_id;
77
77
  });
78
78
  if (sourcePoint) edgesToDraw.push(upstreamEdge);
79
+ var connectionEdges = edges.filter(function (edge) {
80
+ return edge.source_point_id === upstreamEdge.target_point_id;
81
+ });
82
+ if (connectionEdges.length !== 0) {
83
+ connectionEdges.forEach(function (edge) {
84
+ return edgesToDraw.push(edge);
85
+ });
86
+ }
79
87
  }
80
88
  });
81
- var connectionEdge = edges.find(function (edge) {
82
- return edge.source_point_id === upstreamEdges[0].target_point_id;
83
- });
84
- if (connectionEdge !== undefined) edgesToDraw.push(connectionEdge);
85
89
  return edgesToDraw;
86
90
  };
87
91
  exports.findUpstreamEdgesToDraw = findUpstreamEdgesToDraw;
@@ -130,47 +134,34 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
130
134
  weight: 6,
131
135
  opacity: 1
132
136
  });
133
- var tailDash = L.polylineDecorator(polylineBack._latlngs, {
134
- patterns: [
135
- // defines a pattern of 10px-wide dashes, repeated every 20px on the line
136
- {
137
- offset: 15,
138
- repeat: 25,
139
- symbol: L.Symbol.arrowHead({
140
- pixelSize: 3,
141
- polygon: false,
142
- pathOptions: {
143
- stroke: true,
144
- color: 'rgba(0,0,0)',
145
- weight: 1
146
- }
147
- })
148
- }]
149
- });
150
- tailDash['kando_object'] = 'Decorator';
151
- layerGroup.addLayer(tailDash);
152
- if (points.length !== 0) {
153
- var sourcePoint = points.find(function (point) {
154
- return point.id === edge.source_point_id;
137
+ var tailDash;
138
+ if (L.Symbol !== undefined) {
139
+ tailDash = L.polylineDecorator(polylineBack._latlngs, {
140
+ patterns: [
141
+ // defines a pattern of 10px-wide dashes, repeated every 20px on the line
142
+ {
143
+ offset: 15,
144
+ repeat: 25,
145
+ symbol: L.Symbol.arrowHead({
146
+ pixelSize: 3,
147
+ polygon: false,
148
+ pathOptions: {
149
+ stroke: true,
150
+ color: 'rgba(0,0,0)',
151
+ weight: 1
152
+ }
153
+ })
154
+ }]
155
155
  });
156
- var targetPoint = points.find(function (point) {
157
- return point.id === edge.target_point_id;
158
- });
159
- if (sourcePoint !== undefined && targetPoint !== undefined) {
160
- polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(sourcePoint.group.name, ",<br>\n Target point: ").concat(targetPoint.group.name, ",\n Distance: ").concat(edge.distance));
161
- }
162
-
163
- // if (sourcePoint) drawManholeIcon(sourcePoint, map);
164
- // if (targetPoint) drawManholeIcon(targetPoint, map);
165
- if (sourcePoint && (sourcePoint.has_device || pointIsWWTP(sourcePoint))) (0, _PointUtils.createBubblePoint)([sourcePoint.latitude, sourcePoint.longitude], sourcePoint, map, null, layerGroup);
166
- if (targetPoint && (targetPoint.has_device || pointIsWWTP(targetPoint))) (0, _PointUtils.createBubblePoint)([targetPoint.latitude, targetPoint.longitude], targetPoint, map, null, layerGroup);
156
+ tailDash['kando_object'] = 'Decorator';
157
+ layerGroup.addLayer(tailDash);
167
158
  }
168
159
  polylineBack['kando_object_id'] = edge.id;
169
160
  if (event.hovered) polylineBack['kando_object'] = 'HoveredEdge';
170
161
  if (event.focused) polylineBack['kando_object'] = 'FocusedEdge';
171
162
  if (map !== null) layerGroup.addLayer(polylineBack);
172
163
  polylineBack.bringToFront();
173
- tailDash.bringToFront();
164
+ if (L.Symbol !== undefined) tailDash.bringToFront();
174
165
  var polylineFront = L.polyline(latlngs, {
175
166
  color: 'rgb(29,29,29)',
176
167
  weight: 1,
@@ -185,6 +176,18 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
185
176
  polylineFront.bringToFront();
186
177
  if (event.hovered) dispatch((0, _actions.setHoveredEdgePaths)([polylineBack, polylineFront]));
187
178
  latlngs = [];
179
+ if (points.length !== 0) {
180
+ var sourcePoint = points.find(function (point) {
181
+ return point.id === edge.source_point_id;
182
+ });
183
+ var targetPoint = points.find(function (point) {
184
+ return point.id === edge.target_point_id;
185
+ });
186
+ if (sourcePoint !== undefined && targetPoint !== undefined) {
187
+ polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(sourcePoint.group.name, ",<br>\n Target point: ").concat(targetPoint.group.name, ",\n Distance: ").concat(edge.distance));
188
+ }
189
+ createPointLogic(sourcePoint, targetPoint, map, layerGroup);
190
+ }
188
191
  });
189
192
  };
190
193
  exports.drawNetwork = drawNetwork;
@@ -211,4 +214,18 @@ var pointIsWWTP = function pointIsWWTP(point) {
211
214
  return point.group.type === 'Groups::WastewaterTreatmentPlant';
212
215
  };
213
216
  exports.pointIsWWTP = pointIsWWTP;
214
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3doaXRlUG9pbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfUG9pbnRVdGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiZHJhd01hbmhvbGVJY29uIiwic291cmNlUG9pbnQiLCJtYXAiLCJwb2ludEljb24iLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiY29uY2F0IiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImV4cG9ydHMiLCJnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCIsImVkZ2VzIiwiZXZlbnQiLCJwYXRoIiwidW5kZWZpbmVkIiwiZmluZCIsImVkZ2UiLCJlZGdlX2lkIiwiZmluZEVkZ2VzIiwibmV4dFVwc3RyZWFtTGV2ZWxJZHMiLCJmaWx0ZXIiLCJpbmNsdWRlcyIsInRhcmdldF9wb2ludF9pZCIsInJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoIiwibmV4dExldmVsIiwibWFwQWxsRWRnZXNOZXN0aW5nIiwiYWxsVXBzdHJlYW1FZGdlcyIsInNvdXJjZV9wb2ludF9pZCIsImxlbmd0aCIsInB1c2giLCJtYXBwZWQiLCJmb3JFYWNoIiwiZ2V0VXBzdHJlYW1FZGdlcyIsImZpcnN0RWRnZSIsImZpcnN0VXBzdHJlYW1MZXZlbCIsImZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3IiwidXBzdHJlYW1FZGdlcyIsImVkZ2VzVG9EcmF3IiwicG9pbnRzIiwidXBzdHJlYW1FZGdlIiwicG9pbnQiLCJjb25uZWN0aW9uRWRnZSIsImZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXciLCJkb3duc3RyZWFtTmV0d29yayIsInJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2giLCJkb3duU3RyZWFtRWRnZSIsImxhc3REb3duU3RyZWFtRWRnZSIsIm5leHRMZXZlbERvd25TdHJlYW0iLCJmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3IiwicGFydCIsIm1hdGNoZWRQYXJ0IiwiZHJhd05ldHdvcmsiLCJkaXNwYXRjaCIsImxheWVyR3JvdXAiLCJsYXRsbmdzIiwic2hhcGVfZGF0YSIsImRhdGEiLCJsYXQiLCJsbmciLCJwb2x5bGluZUJhY2siLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0Iiwib3BhY2l0eSIsInRhaWxEYXNoIiwicG9seWxpbmVEZWNvcmF0b3IiLCJfbGF0bG5ncyIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiU3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwic3Ryb2tlIiwiYWRkTGF5ZXIiLCJ0YXJnZXRQb2ludCIsImJpbmRQb3B1cCIsImRpc3RhbmNlIiwiaGFzX2RldmljZSIsInBvaW50SXNXV1RQIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJob3ZlcmVkIiwiZm9jdXNlZCIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJzZXRIb3ZlcmVkRWRnZVBhdGhzIiwiZmluZEFuZERyYXdFdmVudE5ldHdvcmtFZGdlcyIsInBvaW50SXNPYnNlcnZhdGlvbiIsIm9ic2VydmF0aW9ucyIsIm9icyIsInBvaW50X2lkIiwidHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdzcmMvdXRpbGl0aWVzL3BvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0SG92ZXJlZEVkZ2VQYXRocyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IGNyZWF0ZUJ1YmJsZVBvaW50IH0gZnJvbSAnLi4vcG9pbnRzL1BvaW50VXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZHJhd01hbmhvbGVJY29uID0gKHNvdXJjZVBvaW50OiBJUG9pbnQsIG1hcDogTC5NYXApID0+IHtcbiAgbGV0IHBvaW50SWNvbiA9IEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuXG4gIGxldCBtYW5ob2xlSWNvbjogYW55ID0gTC5tYXJrZXIoXG4gICAgW3NvdXJjZVBvaW50LmxhdGl0dWRlLCBzb3VyY2VQb2ludC5sb25naXR1ZGVdLFxuICAgIHtcbiAgICAgIGljb246IHBvaW50SWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICAgIH0sXG4gICkuYWRkVG8obWFwKTtcbiAgbWFuaG9sZUljb24uYmluZFRvb2x0aXAoXG4gICAgYCR7c291cmNlUG9pbnQuZ3JvdXAubmFtZX0gKCR7c291cmNlUG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9KWAsXG4gICk7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHNvdXJjZVBvaW50LmlkO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnVXBzdHJlYW1Qb2ludCc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGggPSAoZWRnZXM6IElFZGdlW10sIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgaWYgKGV2ZW50LnBhdGhbMF0gPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICByZXR1cm4gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gZXZlbnQucGF0aFswXS5lZGdlX2lkKTtcbn07XG5cbmNvbnN0IGZpbmRFZGdlcyA9IChlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpID0+IHtcbiAgcmV0dXJuIGVkZ2VzLmZpbHRlcigoZWRnZTogSUVkZ2UpID0+XG4gICAgbmV4dFVwc3RyZWFtTGV2ZWxJZHMuaW5jbHVkZXMoZWRnZS50YXJnZXRfcG9pbnRfaWQpLFxuICApO1xufTtcblxuY29uc3QgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2ggPSAoXG4gIG5leHRMZXZlbCxcbiAgZWRnZXMsXG4gIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgYWxsVXBzdHJlYW1FZGdlcyxcbikgPT4ge1xuICBsZXQgbmV4dFVwc3RyZWFtTGV2ZWxJZHMgPSBuZXh0TGV2ZWwubWFwKChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCk7XG4gIGlmIChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbWFwQWxsRWRnZXNOZXN0aW5nKFtuZXh0TGV2ZWxdKTtcbiAgfSBlbHNlIHtcbiAgICBhbGxVcHN0cmVhbUVkZ2VzLnB1c2goZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykpO1xuICAgIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgICAgZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcyksXG4gICAgICBlZGdlcyxcbiAgICAgIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoYWxsVXBzdHJlYW1FZGdlcyk7XG59O1xuXG5jb25zdCBtYXBBbGxFZGdlc05lc3RpbmcgPSAoYWxsVXBzdHJlYW1FZGdlcykgPT4ge1xuICBsZXQgbWFwcGVkOiBhbnlbXSA9IFtdO1xuICBhbGxVcHN0cmVhbUVkZ2VzLmZvckVhY2goKGVkZ2VzKSA9PiB7XG4gICAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgbWFwcGVkLnB1c2goZWRnZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBtYXBwZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXBzdHJlYW1FZGdlcyA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICBsZXQgYWxsVXBzdHJlYW1FZGdlczogYW55W10gPSBbXTtcbiAgbGV0IGZpcnN0VXBzdHJlYW1MZXZlbDogSUVkZ2VbXSA9IGVkZ2VzLmZpbHRlcihcbiAgICAoZWRnZSkgPT4gZWRnZS50YXJnZXRfcG9pbnRfaWQgPT09IGZpcnN0RWRnZSEuc291cmNlX3BvaW50X2lkLFxuICApO1xuXG4gIHJldHVybiByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaChcbiAgICBmaXJzdFVwc3RyZWFtTGV2ZWwsXG4gICAgZWRnZXMsXG4gICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFVwc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIHVwc3RyZWFtRWRnZXM6IElFZGdlW10sXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICB1cHN0cmVhbUVkZ2VzLmZvckVhY2goKHVwc3RyZWFtRWRnZSkgPT4ge1xuICAgIGlmICh1cHN0cmVhbUVkZ2UpIHtcbiAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQpID0+IHBvaW50LmlkID09PSB1cHN0cmVhbUVkZ2UhLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChzb3VyY2VQb2ludCkgZWRnZXNUb0RyYXcucHVzaCh1cHN0cmVhbUVkZ2UpO1xuICAgIH1cbiAgfSk7XG5cbiAgbGV0IGNvbm5lY3Rpb25FZGdlID0gZWRnZXMuZmluZChcbiAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IHVwc3RyZWFtRWRnZXNbMF0udGFyZ2V0X3BvaW50X2lkLFxuICApO1xuICBpZiAoY29ubmVjdGlvbkVkZ2UgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChjb25uZWN0aW9uRWRnZSk7XG4gIHJldHVybiBlZGdlc1RvRHJhdztcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICBmaXJzdEVkZ2U6IElFZGdlLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZG93bnN0cmVhbU5ldHdvcmssXG4gIGVkZ2VzVG9EcmF3LFxuKSA9PiB7XG4gIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKS5mb3JFYWNoKFxuICAgIChkb3duU3RyZWFtRWRnZSkgPT4ge1xuICAgICAgZWRnZXNUb0RyYXcucHVzaChkb3duU3RyZWFtRWRnZSk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoID0gKFxuICBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgbGV0IGxhc3REb3duU3RyZWFtRWRnZSA9IGRvd25zdHJlYW1OZXR3b3JrW2Rvd25zdHJlYW1OZXR3b3JrLmxlbmd0aCAtIDFdO1xuXG4gIGlmIChuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbiAgfSBlbHNlIHtcbiAgICBuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGRvd25zdHJlYW1OZXR3b3JrLnB1c2goZWRnZSk7XG4gICAgICByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoKGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZG93bnN0cmVhbU5ldHdvcms7XG59O1xuXG5leHBvcnQgY29uc3QgbmV4dExldmVsRG93blN0cmVhbSA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gZmlyc3RFZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3ID0gKFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgbGV0IG1hdGNoZWRQYXJ0ID0gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGFydC5lZGdlX2lkKTtcbiAgICBpZiAobWF0Y2hlZFBhcnQgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChtYXRjaGVkUGFydCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdOZXR3b3JrID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgZXZlbnQsXG4gIGxheWVyR3JvdXAsXG4pID0+IHtcbiAgbGV0IGxhdGxuZ3M6IGFueSA9IFtdO1xuICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgZWRnZS5zaGFwZV9kYXRhLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKFtkYXRhLmxhdCwgZGF0YS5sbmddKTtcbiAgICB9KTtcblxuICAgIGxldCBwb2x5bGluZUJhY2s6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjI3LDIyNywyMjcpJyxcbiAgICAgIHdlaWdodDogNixcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG5cbiAgICBsZXQgdGFpbERhc2ggPSBMLnBvbHlsaW5lRGVjb3JhdG9yKHBvbHlsaW5lQmFjay5fbGF0bG5ncywge1xuICAgICAgcGF0dGVybnM6IFtcbiAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICB7XG4gICAgICAgICAgb2Zmc2V0OiAxNSxcbiAgICAgICAgICByZXBlYXQ6IDI1LFxuICAgICAgICAgIHN5bWJvbDogTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgIHBpeGVsU2l6ZTogMyxcbiAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMCwwLDApJyxcbiAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG4gICAgbGF5ZXJHcm91cC5hZGRMYXllcih0YWlsRGFzaCk7XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50Lmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgfVxuXG4gICAgICAvLyBpZiAoc291cmNlUG9pbnQpIGRyYXdNYW5ob2xlSWNvbihzb3VyY2VQb2ludCwgbWFwKTtcbiAgICAgIC8vIGlmICh0YXJnZXRQb2ludCkgZHJhd01hbmhvbGVJY29uKHRhcmdldFBvaW50LCBtYXApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICYmIChzb3VyY2VQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHNvdXJjZVBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICBzb3VyY2VQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICApO1xuICAgICAgaWYgKHRhcmdldFBvaW50ICYmICh0YXJnZXRQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHRhcmdldFBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFt0YXJnZXRQb2ludC5sYXRpdHVkZSwgdGFyZ2V0UG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICB0YXJnZXRQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlJztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZSc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUJhY2spO1xuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcblxuICAgIGxldCBwb2x5bGluZUZyb250OiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDI5LDI5LDI5KScsXG4gICAgICB3ZWlnaHQ6IDEsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuXG4gICAgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3QnXSA9ICdIb3ZlcmVkRWRnZUZyb250JztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnRm9jdXNlZEVkZ2VGcm9udCc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUZyb250KTtcbiAgICBwb2x5bGluZUJhY2suYWRkVG8obWFwKTtcbiAgICBwb2x5bGluZUZyb250LmFkZFRvKG1hcCk7XG5cbiAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKVxuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbcG9seWxpbmVCYWNrLCBwb2x5bGluZUZyb250XSkpO1xuICAgIGxhdGxuZ3MgPSBbXTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZEFuZERyYXdFdmVudE5ldHdvcmtFZGdlcyA9IChcbiAgZWRnZXM6IElFZGdlW10sXG4gIGV2ZW50OiBJRXZlbnQsXG4gIHBvaW50czogSVBvaW50W10sXG4gIGRpc3BhdGNoLFxuICBtYXAsXG4gIGxheWVyR3JvdXAsXG4pID0+IHtcbiAgbGV0IGVkZ2VzVG9EcmF3OiBJRWRnZVtdID0gW107XG4gIGxldCBmaXJzdEVkZ2UgPSBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aChlZGdlcywgZXZlbnQpO1xuXG4gIGlmIChmaXJzdEVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSA9IFtmaXJzdEVkZ2VdO1xuICAgIGxldCB1cHN0cmVhbUVkZ2VzID0gZ2V0VXBzdHJlYW1FZGdlcyhmaXJzdEVkZ2UsIGVkZ2VzKTtcbiAgICBpZiAodXBzdHJlYW1FZGdlcyA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMubGVuZ3RoICE9PSAwKVxuICAgICAgZmluZFVwc3RyZWFtRWRnZXNUb0RyYXcodXBzdHJlYW1FZGdlcywgZWRnZXNUb0RyYXcsIHBvaW50cywgZWRnZXMpO1xuICAgIGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcoZmlyc3RFZGdlLCBlZGdlcywgZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzVG9EcmF3KTtcbiAgfVxuXG4gIGRyYXdOZXR3b3JrKGVkZ2VzVG9EcmF3LCBwb2ludHMsIGRpc3BhdGNoLCBtYXAsIGV2ZW50LCBsYXllckdyb3VwKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzT2JzZXJ2YXRpb24gPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoKG9icykgPT4gb2JzLnBvaW50X2lkID09PSBwb2ludC5pZCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc1dXVFAgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50Jztcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsQ0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFJQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFBeUQsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFB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
217
+ var pointIsCollector = function pointIsCollector(point) {
218
+ return point.group.type === 'Groups::Collectors';
219
+ };
220
+ exports.pointIsCollector = pointIsCollector;
221
+ var isCollectorUnmonitored = function isCollectorUnmonitored(point) {
222
+ return pointIsCollector(point) && !point.has_device;
223
+ };
224
+ exports.isCollectorUnmonitored = isCollectorUnmonitored;
225
+ var createPointLogic = function createPointLogic(sourcePoint, targetPoint, map, layerGroup) {
226
+ if (sourcePoint || targetPoint || pointIsWWTP(sourcePoint) || pointIsWWTP(targetPoint)) {
227
+ if (isCollectorUnmonitored(sourcePoint) || isCollectorUnmonitored(targetPoint)) return;
228
+ (0, _PointUtils.createBubblePoint)([sourcePoint.latitude, sourcePoint.longitude], sourcePoint || targetPoint, map, null, layerGroup);
229
+ }
230
+ };
231
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3doaXRlUG9pbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfUG9pbnRVdGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiZHJhd01hbmhvbGVJY29uIiwic291cmNlUG9pbnQiLCJtYXAiLCJwb2ludEljb24iLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiY29uY2F0IiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImV4cG9ydHMiLCJnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCIsImVkZ2VzIiwiZXZlbnQiLCJwYXRoIiwidW5kZWZpbmVkIiwiZmluZCIsImVkZ2UiLCJlZGdlX2lkIiwiZmluZEVkZ2VzIiwibmV4dFVwc3RyZWFtTGV2ZWxJZHMiLCJmaWx0ZXIiLCJpbmNsdWRlcyIsInRhcmdldF9wb2ludF9pZCIsInJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoIiwibmV4dExldmVsIiwibWFwQWxsRWRnZXNOZXN0aW5nIiwiYWxsVXBzdHJlYW1FZGdlcyIsInNvdXJjZV9wb2ludF9pZCIsImxlbmd0aCIsInB1c2giLCJtYXBwZWQiLCJmb3JFYWNoIiwiZ2V0VXBzdHJlYW1FZGdlcyIsImZpcnN0RWRnZSIsImZpcnN0VXBzdHJlYW1MZXZlbCIsImZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3IiwidXBzdHJlYW1FZGdlcyIsImVkZ2VzVG9EcmF3IiwicG9pbnRzIiwidXBzdHJlYW1FZGdlIiwicG9pbnQiLCJjb25uZWN0aW9uRWRnZXMiLCJmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3IiwiZG93bnN0cmVhbU5ldHdvcmsiLCJyZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoIiwiZG93blN0cmVhbUVkZ2UiLCJsYXN0RG93blN0cmVhbUVkZ2UiLCJuZXh0TGV2ZWxEb3duU3RyZWFtIiwiZmluZEVkZ2VzRnJvbUV2ZW50UGF0aFRvRHJhdyIsInBhcnQiLCJtYXRjaGVkUGFydCIsImRyYXdOZXR3b3JrIiwiZGlzcGF0Y2giLCJsYXllckdyb3VwIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsIlN5bWJvbCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsImFkZExheWVyIiwiaG92ZXJlZCIsImZvY3VzZWQiLCJicmluZ1RvRnJvbnQiLCJwb2x5bGluZUZyb250Iiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJjcmVhdGVQb2ludExvZ2ljIiwiZmluZEFuZERyYXdFdmVudE5ldHdvcmtFZGdlcyIsInBvaW50SXNPYnNlcnZhdGlvbiIsIm9ic2VydmF0aW9ucyIsIm9icyIsInBvaW50X2lkIiwicG9pbnRJc1dXVFAiLCJ0eXBlIiwicG9pbnRJc0NvbGxlY3RvciIsImlzQ29sbGVjdG9yVW5tb25pdG9yZWQiLCJoYXNfZGV2aWNlIiwiY3JlYXRlQnViYmxlUG9pbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50VXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgd2hpdGVQb2ludCBmcm9tICcuLi8uLi8uLi9hc3NldHMvd2hpdGUtcG9pbnQucG5nJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVCdWJibGVQb2ludCB9IGZyb20gJy4uL3BvaW50cy9Qb2ludFV0aWxzJztcblxuZXhwb3J0IGNvbnN0IGRyYXdNYW5ob2xlSWNvbiA9IChzb3VyY2VQb2ludDogSVBvaW50LCBtYXA6IEwuTWFwKSA9PiB7XG4gIGxldCBwb2ludEljb24gPSBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUG9pbnQsXG4gICAgaWNvblNpemU6IFs5LCA5XSxcbiAgICBpY29uQW5jaG9yOiBbNC41LCA0LjVdLFxuICB9KTtcblxuICBsZXQgbWFuaG9sZUljb246IGFueSA9IEwubWFya2VyKFxuICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICB7XG4gICAgICBpY29uOiBwb2ludEljb24sXG4gICAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgICB9LFxuICApLmFkZFRvKG1hcCk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKFxuICAgIGAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9ICgke3NvdXJjZVBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfSlgLFxuICApO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBzb3VyY2VQb2ludC5pZDtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1Vwc3RyZWFtUG9pbnQnO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpcnN0RWRnZU9mRXZlbnRQYXRoID0gKGVkZ2VzOiBJRWRnZVtdLCBldmVudDogSUV2ZW50KSA9PiB7XG4gIGlmIChldmVudC5wYXRoWzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIGVkZ2VzLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IGV2ZW50LnBhdGhbMF0uZWRnZV9pZCk7XG59O1xuXG5jb25zdCBmaW5kRWRnZXMgPSAoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoKGVkZ2U6IElFZGdlKSA9PlxuICAgIG5leHRVcHN0cmVhbUxldmVsSWRzLmluY2x1ZGVzKGVkZ2UudGFyZ2V0X3BvaW50X2lkKSxcbiAgKTtcbn07XG5cbmNvbnN0IHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoID0gKFxuICBuZXh0TGV2ZWwsXG4gIGVkZ2VzLFxuICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gIGFsbFVwc3RyZWFtRWRnZXMsXG4pID0+IHtcbiAgbGV0IG5leHRVcHN0cmVhbUxldmVsSWRzID0gbmV4dExldmVsLm1hcCgoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQpO1xuICBpZiAoZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhbbmV4dExldmVsXSk7XG4gIH0gZWxzZSB7XG4gICAgYWxsVXBzdHJlYW1FZGdlcy5wdXNoKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpKTtcbiAgICByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaChcbiAgICAgIGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLFxuICAgICAgZWRnZXMsXG4gICAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgICBhbGxVcHN0cmVhbUVkZ2VzLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gbWFwQWxsRWRnZXNOZXN0aW5nKGFsbFVwc3RyZWFtRWRnZXMpO1xufTtcblxuY29uc3QgbWFwQWxsRWRnZXNOZXN0aW5nID0gKGFsbFVwc3RyZWFtRWRnZXMpID0+IHtcbiAgbGV0IG1hcHBlZDogYW55W10gPSBbXTtcbiAgYWxsVXBzdHJlYW1FZGdlcy5mb3JFYWNoKChlZGdlcykgPT4ge1xuICAgIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIG1hcHBlZC5wdXNoKGVkZ2UpO1xuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gbWFwcGVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFVwc3RyZWFtRWRnZXMgPSAoZmlyc3RFZGdlOiBJRWRnZSwgZWRnZXM6IElFZGdlW10pID0+IHtcbiAgbGV0IGFsbFVwc3RyZWFtRWRnZXM6IGFueVtdID0gW107XG4gIGxldCBmaXJzdFVwc3RyZWFtTGV2ZWw6IElFZGdlW10gPSBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2UudGFyZ2V0X3BvaW50X2lkID09PSBmaXJzdEVkZ2UhLnNvdXJjZV9wb2ludF9pZCxcbiAgKTtcblxuICByZXR1cm4gcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgZmlyc3RVcHN0cmVhbUxldmVsLFxuICAgIGVkZ2VzLFxuICAgIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgICBhbGxVcHN0cmVhbUVkZ2VzLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICB1cHN0cmVhbUVkZ2VzOiBJRWRnZVtdLFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgdXBzdHJlYW1FZGdlcy5mb3JFYWNoKCh1cHN0cmVhbUVkZ2UpID0+IHtcbiAgICBpZiAodXBzdHJlYW1FZGdlKSB7XG4gICAgICBsZXQgc291cmNlUG9pbnQgPSBwb2ludHMuZmluZChcbiAgICAgICAgKHBvaW50KSA9PiBwb2ludC5pZCA9PT0gdXBzdHJlYW1FZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoc291cmNlUG9pbnQpIGVkZ2VzVG9EcmF3LnB1c2godXBzdHJlYW1FZGdlKTtcblxuICAgICAgbGV0IGNvbm5lY3Rpb25FZGdlcyA9IGVkZ2VzLmZpbHRlcihcbiAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSB1cHN0cmVhbUVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKGNvbm5lY3Rpb25FZGdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgY29ubmVjdGlvbkVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IGVkZ2VzVG9EcmF3LnB1c2goZWRnZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGVkZ2VzVG9EcmF3O1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIGZpcnN0RWRnZTogSUVkZ2UsXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBkb3duc3RyZWFtTmV0d29yayxcbiAgZWRnZXNUb0RyYXcsXG4pID0+IHtcbiAgcmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaChkb3duc3RyZWFtTmV0d29yaywgZWRnZXMpLmZvckVhY2goXG4gICAgKGRvd25TdHJlYW1FZGdlKSA9PiB7XG4gICAgICBlZGdlc1RvRHJhdy5wdXNoKGRvd25TdHJlYW1FZGdlKTtcbiAgICB9LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2ggPSAoXG4gIGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBsZXQgbGFzdERvd25TdHJlYW1FZGdlID0gZG93bnN0cmVhbU5ldHdvcmtbZG93bnN0cmVhbU5ldHdvcmsubGVuZ3RoIC0gMV07XG5cbiAgaWYgKG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRvd25zdHJlYW1OZXR3b3JrO1xuICB9IGVsc2Uge1xuICAgIG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgZG93bnN0cmVhbU5ldHdvcmsucHVzaChlZGdlKTtcbiAgICAgIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbn07XG5cbmV4cG9ydCBjb25zdCBuZXh0TGV2ZWxEb3duU3RyZWFtID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBmaXJzdEVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcgPSAoXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBldmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICBsZXQgbWF0Y2hlZFBhcnQgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXJ0LmVkZ2VfaWQpO1xuICAgIGlmIChtYXRjaGVkUGFydCAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKG1hdGNoZWRQYXJ0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd05ldHdvcmsgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBldmVudCxcbiAgbGF5ZXJHcm91cCxcbikgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBsYXRsbmdzLnB1c2goW2RhdGEubGF0LCBkYXRhLmxuZ10pO1xuICAgIH0pO1xuXG4gICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMjcsMjI3LDIyNyknLFxuICAgICAgd2VpZ2h0OiA2LFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KTtcblxuICAgIGxldCB0YWlsRGFzaDogYW55O1xuXG4gICAgaWYgKEwuU3ltYm9sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRhaWxEYXNoID0gTC5wb2x5bGluZURlY29yYXRvcihwb2x5bGluZUJhY2suX2xhdGxuZ3MsIHtcbiAgICAgICAgcGF0dGVybnM6IFtcbiAgICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgICAge1xuICAgICAgICAgICAgb2Zmc2V0OiAxNSxcbiAgICAgICAgICAgIHJlcGVhdDogMjUsXG4gICAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgIHBpeGVsU2l6ZTogMyxcbiAgICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgwLDAsMCknLFxuICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuICAgICAgbGF5ZXJHcm91cC5hZGRMYXllcih0YWlsRGFzaCk7XG4gICAgfVxuXG4gICAgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2UnO1xuICAgIGlmIChldmVudC5mb2N1c2VkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlJztcbiAgICBpZiAobWFwICE9PSBudWxsKSBsYXllckdyb3VwLmFkZExheWVyKHBvbHlsaW5lQmFjayk7XG4gICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuICAgIGlmIChMLlN5bWJvbCAhPT0gdW5kZWZpbmVkKSB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcblxuICAgIGxldCBwb2x5bGluZUZyb250OiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDI5LDI5LDI5KScsXG4gICAgICB3ZWlnaHQ6IDEsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuXG4gICAgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3QnXSA9ICdIb3ZlcmVkRWRnZUZyb250JztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnRm9jdXNlZEVkZ2VGcm9udCc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUZyb250KTtcbiAgICBwb2x5bGluZUJhY2suYWRkVG8obWFwKTtcbiAgICBwb2x5bGluZUZyb250LmFkZFRvKG1hcCk7XG5cbiAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKVxuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbcG9seWxpbmVCYWNrLCBwb2x5bGluZUZyb250XSkpO1xuICAgIGxhdGxuZ3MgPSBbXTtcblxuICAgIGlmIChwb2ludHMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgc291cmNlUG9pbnQ6IElQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludDogSVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50Lmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgfVxuXG4gICAgICBjcmVhdGVQb2ludExvZ2ljKHNvdXJjZVBvaW50LCB0YXJnZXRQb2ludCwgbWFwLCBsYXllckdyb3VwKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBsYXllckdyb3VwLFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gIH1cblxuICBkcmF3TmV0d29yayhlZGdlc1RvRHJhdywgcG9pbnRzLCBkaXNwYXRjaCwgbWFwLCBldmVudCwgbGF5ZXJHcm91cCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc09ic2VydmF0aW9uID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc0NvbGxlY3RvciA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpDb2xsZWN0b3JzJztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvclVubW9uaXRvcmVkID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50SXNDb2xsZWN0b3IocG9pbnQpICYmICFwb2ludC5oYXNfZGV2aWNlO1xufTtcblxuY29uc3QgY3JlYXRlUG9pbnRMb2dpYyA9IChcbiAgc291cmNlUG9pbnQ6IElQb2ludCxcbiAgdGFyZ2V0UG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBsYXllckdyb3VwLFxuKSA9PiB7XG4gIGlmIChcbiAgICBzb3VyY2VQb2ludCB8fFxuICAgIHRhcmdldFBvaW50IHx8XG4gICAgcG9pbnRJc1dXVFAoc291cmNlUG9pbnQpIHx8XG4gICAgcG9pbnRJc1dXVFAodGFyZ2V0UG9pbnQpXG4gICkge1xuICAgIGlmIChcbiAgICAgIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQoc291cmNlUG9pbnQpIHx8XG4gICAgICBpc0NvbGxlY3RvclVubW9uaXRvcmVkKHRhcmdldFBvaW50KVxuICAgIClcbiAgICAgIHJldHVybjtcbiAgICBjcmVhdGVCdWJibGVQb2ludChcbiAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgIHNvdXJjZVBvaW50IHx8IHRhcmdldFBvaW50LFxuICAgICAgbWFwLFxuICAgICAgbnVsbCxcbiAgICAgIGxheWVyR3JvdXAsXG4gICAgKTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxDQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUlBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUF5RCxTQUFBSyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVAsd0JBQUFXLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJ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
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var packageJsonVersion = "1.2.263";
3
+ var packageJsonVersion = "1.2.265-alpha.0";
4
4
  if (typeof packageJsonVersion === 'string') {
5
5
  // eslint-disable-next-line no-console
6
6
  console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
7
7
  } else {
8
8
  console.error('getVersion.js got bad version from package.json, expected string.');
9
9
  }
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWNrYWdlSnNvblZlcnNpb24iLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFjcm9zL2dldFZlcnNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHByZXZhbCBmcm9tICdwcmV2YWwubWFjcm8nO1xuXG5jb25zdCBwYWNrYWdlSnNvblZlcnNpb24gPSBwcmV2YWxgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9iaW4vZ2V0VmVyc2lvbkZyb21QYWNrYWdlSnNvbi5qcycpYDtcbmlmICh0eXBlb2YgcGFja2FnZUpzb25WZXJzaW9uID09PSAnc3RyaW5nJykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhcbiAgICBgJWMgS2FuZG8gVUkgJWMgdiR7cGFja2FnZUpzb25WZXJzaW9ufSBgLFxuICAgICdmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGNvbG9yOiAjZTIwZjUzOycsXG4gICAgJ2ZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNlMjBmNTM7IGNvbG9yOiAjZmZmOycsXG4gICAgYHdpdGggTk9ERV9FTlY9JHtwcm9jZXNzLmVudi5OT0RFX0VOVn1gLFxuICApO1xufSBlbHNlIHtcbiAgY29uc29sZS5lcnJvcihcbiAgICAnZ2V0VmVyc2lvbi5qcyBnb3QgYmFkIHZlcnNpb24gZnJvbSBwYWNrYWdlLmpzb24sIGV4cGVjdGVkIHN0cmluZy4nLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUVBLElBQU1BLGtCQUFrQixZQUE2RTtBQUNyRyxJQUFJLE9BQU9BLGtCQUFrQixLQUFLLFFBQVEsRUFBRTtFQUMxQztFQUNBQyxPQUFPLENBQUNDLEdBQUcsb0JBQUFDLE1BQUEsQ0FDVUgsa0JBQWtCLFFBQ3JDLDBEQUEwRCxFQUMxRCw2RUFBNkUsbUJBQUFHLE1BQUEsQ0FDNURDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLENBQ3ZDLENBQUM7QUFDSCxDQUFDLE1BQU07RUFDTEwsT0FBTyxDQUFDTSxLQUFLLENBQ1gsbUVBQ0YsQ0FBQztBQUNIIn0=
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWNrYWdlSnNvblZlcnNpb24iLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFjcm9zL2dldFZlcnNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHByZXZhbCBmcm9tICdwcmV2YWwubWFjcm8nO1xuXG5jb25zdCBwYWNrYWdlSnNvblZlcnNpb24gPSBwcmV2YWxgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9iaW4vZ2V0VmVyc2lvbkZyb21QYWNrYWdlSnNvbi5qcycpYDtcbmlmICh0eXBlb2YgcGFja2FnZUpzb25WZXJzaW9uID09PSAnc3RyaW5nJykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhcbiAgICBgJWMgS2FuZG8gVUkgJWMgdiR7cGFja2FnZUpzb25WZXJzaW9ufSBgLFxuICAgICdmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGNvbG9yOiAjZTIwZjUzOycsXG4gICAgJ2ZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNlMjBmNTM7IGNvbG9yOiAjZmZmOycsXG4gICAgYHdpdGggTk9ERV9FTlY9JHtwcm9jZXNzLmVudi5OT0RFX0VOVn1gLFxuICApO1xufSBlbHNlIHtcbiAgY29uc29sZS5lcnJvcihcbiAgICAnZ2V0VmVyc2lvbi5qcyBnb3QgYmFkIHZlcnNpb24gZnJvbSBwYWNrYWdlLmpzb24sIGV4cGVjdGVkIHN0cmluZy4nLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUVBLElBQU1BLGtCQUFrQixvQkFBNkU7QUFDckcsSUFBSSxPQUFPQSxrQkFBa0IsS0FBSyxRQUFRLEVBQUU7RUFDMUM7RUFDQUMsT0FBTyxDQUFDQyxHQUFHLG9CQUFBQyxNQUFBLENBQ1VILGtCQUFrQixRQUNyQywwREFBMEQsRUFDMUQsNkVBQTZFLG1CQUFBRyxNQUFBLENBQzVEQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxDQUN2QyxDQUFDO0FBQ0gsQ0FBQyxNQUFNO0VBQ0xMLE9BQU8sQ0FBQ00sS0FBSyxDQUNYLG1FQUNGLENBQUM7QUFDSCJ9
@@ -1,5 +1,5 @@
1
1
  .dropableWrapper {
2
- @media (max-width: 500px) {
2
+ @media (max-width: 950px) {
3
3
  margin-inline-start: unset !important;
4
4
  }
5
5
  position: absolute;
@@ -1,12 +1,16 @@
1
1
  .highcharts-range-selector-group {
2
- @media (max-width: 500px) {
2
+ @media (max-width: 950px) {
3
3
  transform: scale(0.85) !important;
4
4
  }
5
5
  }
6
6
  .floating-graph {
7
- @media (max-width: 500px) {
7
+ @media (max-width: 950px) {
8
8
  width: 100vw !important;
9
+ .highcharts-reset-zoom {
10
+ display: none !important;
11
+ }
9
12
  }
13
+
10
14
  position: relative;
11
15
  background: white;
12
16
  bottom: 0;
@@ -1,4 +1,4 @@
1
- @media only screen and (max-width: 450px) {
1
+ @media only screen and (max-width: 950px) {
2
2
  .sidenav {
3
3
  width: 100vw !important;
4
4
 
@@ -19,6 +19,7 @@
19
19
 
20
20
  .back_button_container {
21
21
  width: 100vw !important;
22
+ max-width: 100% !important;
22
23
  }
23
24
 
24
25
  .toggle-expansion-button-mobile {
@@ -1,5 +1,5 @@
1
1
  .filter-container {
2
- @media (max-width: 500px) {
2
+ @media (max-width: 950px) {
3
3
  width: 98% !important;
4
4
  margin: 0 !important;
5
5
  box-shadow: none !important;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.263",
3
+ "version": "1.2.265-alpha.0",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {