@kando-env/kando-ui 1.2.140 → 1.2.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Widgets/Map/Map.js +2 -2
- package/lib/Widgets/Map/MapUtils.js +8 -2
- package/lib/Widgets/Map/events/EventUtils.js +8 -6
- package/lib/hooks/useUpdateEventBodyTail.js +2 -2
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +2 -2
- package/lib/pages/EventsPage/events/event_info/EventInfoStyle.scss +2 -1
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +8 -2
- package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +2 -1
- package/lib/pages/EventsPage/events/events_list/EventsList.js +3 -3
- package/package.json +1 -1
package/lib/Widgets/Map/Map.js
CHANGED
|
@@ -140,8 +140,8 @@ var Map = function Map(_ref) {
|
|
|
140
140
|
points: points,
|
|
141
141
|
hideEdges: hideEdges,
|
|
142
142
|
allowUnmonitoredDescendants: includeUnmonitoredDescendantsForEdges
|
|
143
|
-
})), (0, _MapUtils.
|
|
143
|
+
})), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, activateZoomControlForIcons, children))));
|
|
144
144
|
};
|
|
145
145
|
|
|
146
146
|
exports.Map = Map;
|
|
147
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFIiwiTWFwIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJoaWRlRWRnZXMiLCJtYXBCb3hTdHlsZSIsImNoaWxkcmVuIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIm1hcCIsIm1hcFJlZiIsImRpc3BhdGNoIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsInJlbmRlclBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiZXZlbnRGaWx0ZXJQYXJhbSIsImlzVmFsaWRBcmVhIiwiY2xlYW51cCIsInJlbW92ZSIsIndhdGVyQXV0aG9yaXR5SWQiLCJzaWRlbmF2RXhwYW5kZWQiLCJMIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQWpCQTtBQXNDQSxJQUFNQSwwQkFBMEIsR0FBRywyQkFBbkM7O0FBQ08sSUFBTUMsR0FBdUIsR0FBRyxTQUExQkEsR0FBMEIsT0FhakM7QUFBQSxNQVpKQyxLQVlJLFFBWkpBLEtBWUk7QUFBQSxNQVhKQyxLQVdJLFFBWEpBLEtBV0k7QUFBQSxNQVZKQyxNQVVJLFFBVkpBLE1BVUk7QUFB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bEMsa0JBQ0MsNERBQ0dVLFlBREgsZUFFRSw2QkFBQywwQkFBRDtBQUNFLElBQUEsS0FBSyxFQUFFdkIsS0FEVDtBQUVFLElBQUEsR0FBRyxFQUFFYSxNQUFNLENBQUNZLE9BRmQ7QUFHRSxJQUFBLENBQUMsRUFBRVcsZ0JBSEw7QUFJRSxJQUFBLGNBQWMsRUFBRWhDLGNBSmxCO0FBS0UsSUFBQSxPQUFPLEVBQUVXO0FBTFgsSUFGRixlQVVFLDZCQUFDLGNBQUQ7QUFDRSxJQUFBLEtBQUssRUFBRWQsS0FEVDtBQUVFLElBQUEsR0FBRyxFQUFFWSxNQUFNLENBQUNZLE9BRmQ7QUFHRSxJQUFBLENBQUMsRUFBRVcsZ0JBSEw7QUFJRSxJQUFBLE1BQU0sRUFBRWxDLE1BSlY7QUFLRSxJQUFBLFNBQVMsRUFBRUssU0FMYjtBQU1FLElBQUEsMkJBQTJCLEVBQ3pCSTtBQVBKLElBVkYsQ0FISixFQXlCRyxvQ0FBcUJSLFdBQXJCLEVBQWtDVSxNQUFsQyxrQkFDQyw0REFDR2MsYUFESCxFQUVHRCwyQkFGSCxFQUdHakIsUUFISCxDQTFCSixDQUxGLENBREYsQ0FERjtBQTJDRCxDQXBKTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGljb25ab29tQ29udHJvbCxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxufSBmcm9tICcuL01hcFV0aWxzJztcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzOiBJRWRnZVtdO1xuICBwb2ludHM6IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xufVxuY29uc3QgTUFQQk9YX0RFRkFVTFRfS0FORE9fU1RZTEUgPSAnY2tmd2NzMzVrNGc2MjFhcGtlYzl3cG9rbCc7XG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gTUFQQk9YX0RFRkFVTFRfS0FORE9fU1RZTEUsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSBmYWxzZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IG1hcFJlZiA9IHVzZVJlZjxMLk1hcD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCBldmVudHNEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZXZlbnRzX2RhdGEsXG4gICk7XG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICBjb25zdCByZW5kZXJQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWV2ZW50c0RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgICFmb2N1c2VkRXZlbnRQcmVzZW50ICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e2ZvY3VzZWRFdmVudFByZXNlbnR9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgKTtcbiAgfSwgW2V2ZW50c0RhdGEuaXNGZXRjaGluZywgbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudF0pO1xuXG4gIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChmb2N1c2VkRXZlbnRQcmVzZW50KSB7XG4gICAgICBmb2N1c2VkRXZlbnQhLmZvY3VzZWQgPSBmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgICAgZm9jdXNlZEV2ZW50IS5ob3ZlcmVkID0gIWZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGhvdmVyZWRFdmVudCEuaG92ZXJlZCA9IGhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgICBob3ZlcmVkRXZlbnQhLmZvY3VzZWQgPSAhaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoIWhvdmVyZWRFdmVudFByZXNlbnQgJiYgIWZvY3VzZWRFdmVudFByZXNlbnQpIHJldHVybiA8PjwvPjtcbiAgICByZXR1cm4gKFxuICAgICAgPEV2ZW50XG4gICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnQhIHx8IGhvdmVyZWRFdmVudCF9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBlZGdlcz17ZWRnZXN9XG4gICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICBpbmNsdWRlTmV0d29yaz17IWhvdmVyZWRFdmVudFByZXNlbnR9XG4gICAgICAvPlxuICAgICk7XG4gIH0sIFtmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgbWFwUmVmLFxuICAgICAgZGlzcGF0Y2gsXG4gICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIG1hcFJlZixcbiAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJlYUZvY3VzTG9naWMobWFwUmVmLCBpc1ZhbGlkQXJlYSwgYXJlYVRvQ2VudGVyQnkpO1xuICAgIH1cbiAgfSwgW2FyZWFUb0NlbnRlckJ5XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImtkLW1hcC1jb250YWluZXJcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgIG1hcC1jb250YWluZXIgJHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdtYXAtY29udGFpbmVyLS1zaWRlbmF2LWNvbGxhcHNlZCdcbiAgICAgICAgfWB9XG4gICAgICA+XG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIDxkaXYgaWQ9XCJtYXBcIj48L2Rpdj5cbiAgICAgICAgICB7c2hvdWxkTG9hZE1hcE9iamVjdHMoZ2xvYmFsX2RhdGEsIG1hcFJlZikgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge3JlbmRlclBvaW50c31cbiAgICAgICAgICAgICAgPEFyZWFQb2x5Z29uc1xuICAgICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgICAgICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICA8RWRnZXNcbiAgICAgICAgICAgICAgICBlZGdlcz17ZWRnZXN9XG4gICAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgICAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz17XG4gICAgICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvdWxkTG9hZE1hcE9iamVjdHMoZ2xvYmFsX2RhdGEsIG1hcFJlZikgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHthY3RpdmF0ZVpvb21Db250cm9sRm9ySWNvbnN9XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFIiwiTWFwIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJoaWRlRWRnZXMiLCJtYXBCb3hTdHlsZSIsImNoaWxkcmVuIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIm1hcCIsIm1hcFJlZiIsImRpc3BhdGNoIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsInJlbmRlclBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiZXZlbnRGaWx0ZXJQYXJhbSIsImlzVmFsaWRBcmVhIiwiY2xlYW51cCIsInJlbW92ZSIsIndhdGVyQXV0aG9yaXR5SWQiLCJzaWRlbmF2RXhwYW5kZWQiLCJMIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQWpCQTtBQXVDQSxJQUFNQSwwQkFBMEIsR0FBRywyQkFBbkM7O0FBQ08sSUFBTUMsR0FBdUIsR0FBRyxTQUExQkEsR0FBMEIsT0FhakM7QUFBQSxNQVpKQyxLQVlJLFFBWkpBLEtBWUk7QUFBQSxNQVhKQyxLQVdJLFFBWEpBLEtBV0k7QUFBQSxNQVZKQyxNQVVJLFFBVkpBLE1BVUk7QUFB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bEMsa0JBQ0MsNERBQ0dVLFlBREgsZUFFRSw2QkFBQywwQkFBRDtBQUNFLElBQUEsS0FBSyxFQUFFdkIsS0FEVDtBQUVFLElBQUEsR0FBRyxFQUFFYSxNQUFNLENBQUNZLE9BRmQ7QUFHRSxJQUFBLENBQUMsRUFBRVcsZ0JBSEw7QUFJRSxJQUFBLGNBQWMsRUFBRWhDLGNBSmxCO0FBS0UsSUFBQSxPQUFPLEVBQUVXO0FBTFgsSUFGRixlQVVFLDZCQUFDLGNBQUQ7QUFDRSxJQUFBLEtBQUssRUFBRWQsS0FEVDtBQUVFLElBQUEsR0FBRyxFQUFFWSxNQUFNLENBQUNZLE9BRmQ7QUFHRSxJQUFBLENBQUMsRUFBRVcsZ0JBSEw7QUFJRSxJQUFBLE1BQU0sRUFBRWxDLE1BSlY7QUFLRSxJQUFBLFNBQVMsRUFBRUssU0FMYjtBQU1FLElBQUEsMkJBQTJCLEVBQ3pCSTtBQVBKLElBVkYsQ0FISixFQXlCRyw0Q0FBNkJWLEtBQTdCLEVBQW9DRCxLQUFwQyxFQUEyQ0csV0FBM0MsRUFBd0RVLE1BQXhELGtCQUNDLDREQUNHYyxhQURILEVBRUdELDJCQUZILEVBR0dqQixRQUhILENBMUJKLENBTEYsQ0FERixDQURGO0FBMkNELENBcEpNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc3RvcmVNYXAgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgaWNvblpvb21Db250cm9sLFxuICBpbml0aWFsaXplTWFwLFxuICBpc1ZhbGlkQXJlYSxcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuXG5pbnRlcmZhY2UgTWFwUHJvcHMge1xuICBhcmVhczogSUFyZWFbXTtcbiAgZWRnZXM6IElFZGdlW107XG4gIHBvaW50czogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG59XG5jb25zdCBNQVBCT1hfREVGQVVMVF9LQU5ET19TVFlMRSA9ICdja2Z3Y3MzNWs0ZzYyMWFwa2VjOXdwb2tsJztcbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBNQVBCT1hfREVGQVVMVF9LQU5ET19TVFlMRSxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IGZhbHNlLFxuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IHJlbmRlclBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAhZXZlbnRzRGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgICAgIWZvY3VzZWRFdmVudFByZXNlbnQgJiYgKFxuICAgICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e2luY2x1ZGVVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgICByZXJlbmRlcj17Zm9jdXNlZEV2ZW50UHJlc2VudH1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICApO1xuICB9LCBbZXZlbnRzRGF0YS5pc0ZldGNoaW5nLCBtYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgaWNvblpvb21Db250cm9sKG1hcFJlZi5jdXJyZW50KTtcbiAgfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnRdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlc31cbiAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBtYXBSZWYsXG4gICAgICBkaXNwYXRjaCxcbiAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlKCk7XG4gICAgICBkaXNwYXRjaChzdG9yZU1hcCh1bmRlZmluZWQpKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgICBtYXBCb3hTdHlsZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmVhRm9jdXNMb2dpYyhtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9LCBbYXJlYVRvQ2VudGVyQnldKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7cmVuZGVyUG9pbnRzfVxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc31cbiAgICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtcbiAgICAgICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKGVkZ2VzLCBhcmVhcywgZ2xvYmFsX2RhdGEsIG1hcFJlZikgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHthY3RpdmF0ZVpvb21Db250cm9sRm9ySWNvbnN9XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ==
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.initializeMap = exports.iconZoomControl = exports.topIconOptions = exports.middleIconOptions = exports.bubbleIconOptions = exports.eventsCountIcon = exports.multipleLayeredIcons = exports.eventsCounterIcons = exports.findSpecificLayersFromMap = exports.shouldLoadMapObjects = exports.isValidArea = exports.areaFocusLogic = void 0;
|
|
8
|
+
exports.initializeMap = exports.iconZoomControl = exports.topIconOptions = exports.middleIconOptions = exports.bubbleIconOptions = exports.eventsCountIcon = exports.multipleLayeredIcons = exports.eventsCounterIcons = exports.findSpecificLayersFromMap = exports.shoudLoadDependentMapObjects = exports.shouldLoadMapObjects = exports.isValidArea = exports.areaFocusLogic = void 0;
|
|
9
9
|
|
|
10
10
|
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
11
11
|
|
|
@@ -51,6 +51,12 @@ var shouldLoadMapObjects = function shouldLoadMapObjects(global_data, mapRef) {
|
|
|
51
51
|
|
|
52
52
|
exports.shouldLoadMapObjects = shouldLoadMapObjects;
|
|
53
53
|
|
|
54
|
+
var shoudLoadDependentMapObjects = function shoudLoadDependentMapObjects(edges, areas, global, mapRef) {
|
|
55
|
+
return global.map !== undefined && mapRef.current !== null && edges.length !== 0 && areas.length !== 0;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports.shoudLoadDependentMapObjects = shoudLoadDependentMapObjects;
|
|
59
|
+
|
|
54
60
|
var findSpecificLayersFromMap = function findSpecificLayersFromMap(layersToFind, currentLayer) {
|
|
55
61
|
return layersToFind.includes(currentLayer.kando_object) && currentLayer.kando_point_type !== 'Manhole';
|
|
56
62
|
};
|
|
@@ -257,4 +263,4 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapRef, di
|
|
|
257
263
|
};
|
|
258
264
|
|
|
259
265
|
exports.initializeMap = initializeMap;
|
|
260
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwibWFwIiwidW5kZWZpbmVkIiwiZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCIsImxheWVyc1RvRmluZCIsImN1cnJlbnRMYXllciIsImluY2x1ZGVzIiwia2FuZG9fcG9pbnRfdHlwZSIsImV2ZW50c0NvdW50ZXJJY29ucyIsImxheWVyIiwiem9vbUxldmVsIiwiaWNvbiIsIm9wdGlvbnMiLCJpY29uU2l6ZSIsImV2ZW50c0NvdW50SWNvbiIsImljb25BbmNob3IiLCJzZXRJY29uIiwic2V0T3BhY2l0eSIsIm11bHRpcGxlTGF5ZXJlZEljb25zIiwiaXNBRmV3TGF5ZXJJY29uIiwia2FuZG9fZmV3X2xheWVyX2ljb24iLCJtaW5pSWNvbiIsInByZXNlbnQiLCJrYW5kb19zZWNvbmRhcnkiLCJrYW5kb190aGlyZCIsInNlY29uZGFyeSIsInRoaXJkIiwia2FuZG9faW5kZXhfb2JqZWN0IiwiYnViYmxlSWNvbk9wdGlvbnMiLCJvbmVMYXllckljb25PcHRpb25zIiwibWlkZGxlSWNvbk9wdGlvbnMiLCJ0b3BJY29uT3B0aW9ucyIsImljb25ab29tQ29udHJvbCIsImxheWVycyIsIl96b29tIiwiaW5pdGlhbGl6ZU1hcCIsIm1hcFpvb21MZXZlbCIsIm1hcEJveFN0eWxlIiwiZGlzcGF0Y2giLCJzZXRNYXBab29tTGV2ZWwiLCJjZW50ZXIiLCJ6b29tU25hcCIsInpvb20iLCJwcmVmZXJDYW52YXMiLCJ0aWxlTGF5ZXIiLCJhdHRyaWJ1dGlvbiIsIm1heFpvb20iLCJpZCIsInRpbGVTaXplIiwiem9vbU9mZnNldCIsInVwZGF0ZVdoZW5ab29taW5nIiwidXBkYXRlV2hlbklkbGUiLCJ3aGVuUmVhZHkiLCJvbiIsInNldFRpbWVvdXQiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJlIiwiZ2V0Wm9vbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRU8sSUFBTUEsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFDQyxNQUFELEVBQVNDLFdBQVQsRUFBc0JDLGNBQXRCLEVBQXlDO0FBQ3JFLE1BQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBOUI7O0FBQ0EsTUFBSUgsV0FBVyxDQUFDQyxjQUFELENBQWYsRUFBaUM7QUFDL0JDLElBQUFBLFdBQVcsQ0FBQ0UsU0FBWixDQUFzQkgsY0FBdEIsRUFBc0M7QUFBRUksTUFBQUEsT0FBTyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUo7QUFBWCxLQUF0QztBQUNELEdBRkQsTUFFTztBQUNMLFFBQU1DLEtBQVksR0FBRyxFQUFyQjs7QUFFQSxTQUFLLElBQU1DLFFBQVgsSUFBdUJMLFdBQVcsQ0FBQ00sT0FBbkMsRUFBNEM7QUFDMUMsVUFBSU4sV0FBVyxDQUFDTSxPQUFaLENBQW9CRCxRQUFwQixFQUE4QkUsWUFBOUIsS0FBK0MsTUFBbkQsRUFBMkQ7QUFDekRILFFBQUFBLEtBQUssQ0FBQ0ksSUFBTixDQUFXUixXQUFXLENBQUNNLE9BQVosQ0FBb0JELFFBQXBCLENBQVg7QUFDRDtBQUNGOztBQUVELFFBQUlJLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZQyxpQkFBRUMsWUFBRixDQUFlUixLQUFmLEVBQXNCUyxTQUF0QixFQUFaLEVBQStDQyxNQUEvQyxLQUEwRCxDQUE5RCxFQUFpRTtBQUMvRGQsTUFBQUEsV0FBVyxDQUFDRSxTQUFa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QUFlLENBQUMvQixHQUFELENBQWY7QUFDRCxLQUZEO0FBR0FxRCxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmLFVBQUksQ0FBQzNFLE1BQU0sQ0FBQ0ksT0FBWixFQUFxQjtBQUNuQjtBQUNEOztBQUVELFVBQUk7QUFDRkosUUFBQUEsTUFBTSxDQUFDSSxPQUFQLENBQWVjLGNBQWYsQ0FBOEIsSUFBOUI7QUFDRCxPQUZELENBRUUsT0FBTzBELEdBQVAsRUFBWTtBQUNaQyxRQUFBQSxPQUFPLENBQUNDLEtBQVIsQ0FBYyxLQUFkLEVBQXFCRixHQUFyQjtBQUNEOztBQUVEakIsTUFBQUEsUUFBUSxDQUFDLHVCQUFTM0QsTUFBTSxDQUFDSSxPQUFoQixDQUFELENBQVI7QUFDQXVELE1BQUFBLFFBQVEsQ0FBQyw4QkFBZ0IsSUFBaEIsQ0FBRCxDQUFSO0FBQ0QsS0FiUyxFQWFQLENBYk8sQ0FBVjs7QUFjQSxRQUFJM0QsTUFBTSxDQUFDSSxPQUFQLElBQWtCSCxXQUFXLENBQUNDLGNBQUQsQ0FBakMsRUFBbUQ7QUFDakRGLE1BQUFBLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlQyxTQUFmLENBQXlCSCxjQUF6QjtBQUNEO0FBQ0YsR0F0QkQ7QUF3QkFGLEVBQUFBLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlc0UsRUFBZixDQUFrQixTQUFsQixFQUE2QixVQUFVSyxDQUFWLEVBQWE7QUFDeEMsUUFBSSxDQUFDL0UsTUFBTSxDQUFDSSxPQUFaLEVBQXFCO0FBQ25CO0FBQ0Q7O0FBQ0QsUUFBSTJELElBQUksR0FBRy9ELE1BQU0sQ0FBQ0ksT0FBUCxDQUFlNEUsT0FBZixFQUFYO0FBQ0FwQixJQUFBQSxlQUFlLENBQUNHLElBQUQsQ0FBZjtBQUNELEdBTkQ7QUFPRCxDQS9ETSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZikgPT4ge1xuICByZXR1cm4gZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiYgbWFwUmVmLmN1cnJlbnQgIT09IG51bGw7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCA9IChcbiAgbGF5ZXJzVG9GaW5kOiBzdHJpbmdbXSxcbiAgY3VycmVudExheWVyLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXJzVG9GaW5kLmluY2x1ZGVzKGN1cnJlbnRMYXllci5rYW5kb19vYmplY3QpICYmXG4gICAgY3VycmVudExheWVyLmthbmRvX3BvaW50X3R5cGUgIT09ICdNYW5ob2xlJ1xuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50ZXJJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICBsYXllci5zZXRJY29uKGljb24pO1xuICBsYXllci5zZXRPcGFjaXR5KDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTGF5ZXJlZEljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGxldCBpc0FGZXdMYXllckljb24gPSBsYXllci5rYW5kb19mZXdfbGF5ZXJfaWNvbjtcbiAgbGV0IG1pbmlJY29uID0ge1xuICAgIHByZXNlbnQ6IGxheWVyLmthbmRvX3NlY29uZGFyeSB8fCBsYXllci5rYW5kb190aGlyZCxcbiAgICBzZWNvbmRhcnk6IGxheWVyLmthbmRvX3NlY29uZGFyeSxcbiAgICB0aGlyZDogbGF5ZXIua2FuZG9fdGhpcmQsXG4gIH07XG5cbiAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMCkge1xuICAgIGlmIChpc0FGZXdMYXllckljb24pIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGJ1YmJsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBidWJibGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMSkge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gbWlkZGxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG1pZGRsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH1cblxuICBsYXllci5zZXRJY29uKGljb24pO1xufTtcblxuY29uc3Qgb25lTGF5ZXJJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuMywgem9vbUxldmVsICogMy4zXSxcbiAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS43LCB6b29tTGV2ZWwgKiAzLjddLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSxcbiAgICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogMl0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdLFxuICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDRdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtaWRkbGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMy41XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDEuNV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS4yOTUsIHpvb21MZXZlbCAqIDMuMzVdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b3BJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAwLjksIHpvb21MZXZlbCAqIDEuOF0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC41LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjYsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC4yLCB6b29tTGV2ZWwgKiAyLjFdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGljb25ab29tQ29udHJvbCA9IChtYXApID0+IHtcbiAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICBsZXQgem9vbUxldmVsID0gbWFwLl96b29tO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydJY29uTnVtYmVyJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBldmVudHNDb3VudGVySWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1BvaW50JywgJ0ljb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1NhbXBsaW5nJywgJ09ic2VydmF0aW9uJ10sIGxheWVyc1twcm9wZXJ0eV0pXG4gICAgKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVNYXAgPSAoXG4gIG1hcFpvb21MZXZlbCxcbiAgbWFwQm94U3R5bGUsXG4gIG1hcFJlZixcbiAgZGlzcGF0Y2gsXG4gIGlzVmFsaWRBcmVhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgc2V0TWFwWm9vbUxldmVsLFxuKSA9PiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbWFwUmVmLmN1cnJlbnQgPSBMLm1hcCgnbWFwJywge1xuICAgIGNlbnRlcjogWzAsIDBdLFxuICAgIHpvb21TbmFwOiAxLFxuICAgIHpvb206IG1hcFpvb21MZXZlbCxcbiAgICBwcmVmZXJDYW52YXM6IHRydWUsXG4gICAgbGF5ZXJzOiBbXG4gICAgICBMLnRpbGVMYXllcihcbiAgICAgICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAgICAgIHtcbiAgICAgICAgICBhdHRyaWJ1dGlvbjpcbiAgICAgICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgICAgIG1heFpvb206IDE4LFxuICAgICAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgICAgICB0aWxlU2l6ZTogNTEyLFxuICAgICAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgICAgICB1cGRhdGVXaGVuSWRsZTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIF0sXG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50LndoZW5SZWFkeSgoKSA9PiB7XG4gICAgbGV0IG1hcCA9IG1hcFJlZi5jdXJyZW50O1xuICAgIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcbiJdfQ==
|
|
266
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwibWFwIiwidW5kZWZpbmVkIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImVkZ2VzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwibWFwQm94U3R5bGUiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsInByZWZlckNhbnZhcyIsInRpbGVMYXllciIsImF0dHJpYnV0aW9uIiwibWF4Wm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsIndoZW5SZWFkeSIsIm9uIiwic2V0VGltZW91dCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImUiLCJnZXRab29tIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLE1BQUQsRUFBU0MsV0FBVCxFQUFzQkMsY0FBdEIsRUFBeUM7QUFDckUsTUFBSUMsV0FBZ0IsR0FBR0gsTUFBTSxDQUFDSSxPQUE5Qjs7QUFDQSxNQUFJSCxXQUFXLENBQUNDLGNBQUQsQ0FBZixFQUFpQztBQUMvQkMsSUFBQUEsV0FBVyxDQUFDRSxTQUFaLENBQXNCSCxjQUF0QixFQUFzQztBQUFFSSxNQUFBQSxPQUFPLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSjtBQUFYLEtBQXRDO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsUUFBTUMsS0FBWSxHQUFHLEVBQXJCOztBQUVBLFNBQUssSUFBTUMsUUFBWCxJQUF1QkwsV0FBVyxDQUFDTSxPQUFuQyxFQUE0QztBQUMxQyxVQUFJTixXQUFXLENBQUNNLE9BQVosQ0FBb0JELFFBQXBCLEVBQThCRSxZQUE5QixLQUErQyxNQUFuRCxFQUEyRDtBQUN6REgsUUFBQUEsS0FBSyxDQUFDSSxJQUFOLENBQVdSLFdBQVcsQ0FBQ00sT0FBWixDQUFvQkQsUUFBcEIsQ0FBWDtBQUNEO0FBQ0Y7O0FBRUQsUUFBSUksTUFBTSxDQUFDQyxJQUFQLENBQVlDLGlCQUFFQyxZQUFGLENBQWVSLEtBQWYsRUFBc0JTLFNBQXRCLEVBQVosRUFB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QUFDeEMsUUFBSSxDQUFDbkYsTUFBTSxDQUFDSSxPQUFaLEVBQXFCO0FBQ25CO0FBQ0Q7O0FBQ0QsUUFBSStELElBQUksR0FBR25FLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlZ0YsT0FBZixFQUFYO0FBQ0FwQixJQUFBQSxlQUFlLENBQUNHLElBQUQsQ0FBZjtBQUNELEdBTkQ7QUFPRCxDQS9ETSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZikgPT4ge1xuICByZXR1cm4gZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiYgbWFwUmVmLmN1cnJlbnQgIT09IG51bGw7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChlZGdlcywgYXJlYXMsIGdsb2JhbCwgbWFwUmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggIT09IDAgJiZcbiAgICBhcmVhcy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10sXG4gICAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10sXG4gICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IEwubWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIHByZWZlckNhbnZhczogdHJ1ZSxcbiAgICBsYXllcnM6IFtcbiAgICAgIEwudGlsZUxheWVyKFxuICAgICAgICBgaHR0cHM6Ly9hcGkubWFwYm94LmNvbS9zdHlsZXMvdjEvbmFkYXYta2FuZG8vJHttYXBCb3hTdHlsZX0vdGlsZXMvMjU2L3t6fS97eH0ve3l9QDJ4P2FjY2Vzc190b2tlbj1way5leUoxSWpvaWJtRmtZWFl0YTJGdVpHOGlMQ0poSWpvaVkycHZlSHByZEdSeE1IbG1kRE40YkRnMGR6SnhPWGM0ZFNKOS5KLTJvaHE3ajR5S05ibTROXy1QNnF3YCxcbiAgICAgICAge1xuICAgICAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAgICAgJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvXCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCA8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuMC9cIj5DQy1CWS1TQTwvYT4sIEltYWdlcnkgwqkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCI+TWFwYm94PC9hPicsXG4gICAgICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICAgICAgem9vbU9mZnNldDogLTEsXG4gICAgICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICksXG4gICAgXSxcbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQud2hlblJlYWR5KCgpID0+IHtcbiAgICBsZXQgbWFwID0gbWFwUmVmLmN1cnJlbnQ7XG4gICAgbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgICAgaWNvblpvb21Db250cm9sKG1hcCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyJywgZXJyKTtcbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCh0cnVlKSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuIl19
|
|
@@ -148,7 +148,7 @@ var findEdgesFromEventPathToDraw = function findEdgesFromEventPathToDraw(edgesTo
|
|
|
148
148
|
|
|
149
149
|
exports.findEdgesFromEventPathToDraw = findEdgesFromEventPathToDraw;
|
|
150
150
|
|
|
151
|
-
var drawNetwork = function drawNetwork(edges, points, dispatch, map) {
|
|
151
|
+
var drawNetwork = function drawNetwork(edges, points, dispatch, map, event) {
|
|
152
152
|
var latlngs = [];
|
|
153
153
|
edges.forEach(function (edge) {
|
|
154
154
|
edge.shape_data.forEach(function (data) {
|
|
@@ -199,7 +199,8 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map) {
|
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
polylineBack['kando_object_id'] = edge.id;
|
|
202
|
-
polylineBack['kando_object'] = 'HoveredEdge';
|
|
202
|
+
if (event.hovered) polylineBack['kando_object'] = 'HoveredEdge';
|
|
203
|
+
if (event.focused) polylineBack['kando_object'] = 'FocusedEdge';
|
|
203
204
|
polylineBack.bringToFront();
|
|
204
205
|
tailDash.bringToFront();
|
|
205
206
|
|
|
@@ -210,9 +211,10 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map) {
|
|
|
210
211
|
}).addTo(map);
|
|
211
212
|
|
|
212
213
|
polylineFront['kando_object_id'] = edge.id;
|
|
213
|
-
polylineFront['kando_object'] = 'HoveredEdgeFront';
|
|
214
|
+
if (event.hovered) polylineFront['kando_object'] = 'HoveredEdgeFront';
|
|
215
|
+
if (event.focused) polylineFront['kando_object'] = 'FocusedEdgeFront';
|
|
214
216
|
polylineFront.bringToFront();
|
|
215
|
-
dispatch((0, _actions.setHoveredEdgePaths)([polylineBack, polylineFront]));
|
|
217
|
+
if (event.hovered) dispatch((0, _actions.setHoveredEdgePaths)([polylineBack, polylineFront]));
|
|
216
218
|
latlngs = [];
|
|
217
219
|
});
|
|
218
220
|
};
|
|
@@ -231,7 +233,7 @@ var findAndDrawEventNetworkEdges = function findAndDrawEventNetworkEdges(edges,
|
|
|
231
233
|
findDownstreamEdgesToDraw(firstEdge, edges, downstreamNetwork, edgesToDraw);
|
|
232
234
|
}
|
|
233
235
|
|
|
234
|
-
drawNetwork(edgesToDraw, points, dispatch, map);
|
|
236
|
+
drawNetwork(edgesToDraw, points, dispatch, map, event);
|
|
235
237
|
};
|
|
236
238
|
|
|
237
239
|
exports.findAndDrawEventNetworkEdges = findAndDrawEventNetworkEdges;
|
|
@@ -249,4 +251,4 @@ var pointIsWWTP = function pointIsWWTP(point) {
|
|
|
249
251
|
};
|
|
250
252
|
|
|
251
253
|
exports.pointIsWWTP = pointIsWWTP;
|
|
252
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscy50cyJdLCJuYW1lcyI6WyJkcmF3TWFuaG9sZUljb24iLCJzb3VyY2VQb2ludCIsIm1hcCIsInBvaW50SWNvbiIsIkwiLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImdldEZpcnN0RWRnZU9mRXZlbnRQYXRoIiwiZWRnZXMiLCJldmVudCIsInBhdGgiLCJ1bmRlZmluZWQiLCJmaW5kIiwiZWRnZSIsImVkZ2VfaWQiLCJmaW5kRWRnZXMiLCJuZXh0VXBzdHJlYW1MZXZlbElkcyIsImZpbHRlciIsImluY2x1ZGVzIiwidGFyZ2V0X3BvaW50X2lkIiwicmVjdXJzaXZlVXBzdHJlYW1TZWFyY2giLCJuZXh0TGV2ZWwiLCJtYXBBbGxFZGdlc05lc3RpbmciLCJhbGxVcHN0cmVhbUVkZ2VzIiwic291cmNlX3BvaW50X2lkIiwibGVuZ3RoIiwicHVzaCIsIm1hcHBlZCIsImZvckVhY2giLCJnZXRVcHN0cmVhbUVkZ2VzIiwiZmlyc3RFZGdlIiwiZmlyc3RVcHN0cmVhbUxldmVsIiwiZmluZFVwc3RyZWFtRWRnZXNUb0RyYXciLCJ1cHN0cmVhbUVkZ2VzIiwiZWRnZXNUb0RyYXciLCJwb2ludHMiLCJ1cHN0cmVhbUVkZ2UiLCJwb2ludCIsImNvbm5lY3Rpb25FZGdlIiwiZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyIsImRvd25zdHJlYW1OZXR3b3JrIiwicmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaCIsImRvd25TdHJlYW1FZGdlIiwibGFzdERvd25TdHJlYW1FZGdlIiwibmV4dExldmVsRG93blN0cmVhbSIsImZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXciLCJwYXJ0IiwibWF0Y2hlZFBhcnQiLCJkcmF3TmV0d29yayIsImRpc3BhdGNoIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJoYXNfZGV2aWNlIiwicG9pbnRJc1dXVFAiLCJicmluZ1RvRnJvbnQiLCJwb2x5bGluZUZyb250IiwiZmluZEFuZERyYXdFdmVudE5ldHdvcmtFZGdlcyIsInBvaW50SXNPYnNlcnZhdGlvbiIsIm9ic2VydmF0aW9ucyIsIm9icyIsInBvaW50X2lkIiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBQ0E7O0FBRU8sSUFBTUEsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxXQUFELEVBQXNCQyxHQUF0QixFQUFxQztBQUNsRSxNQUFJQyxTQUFTLEdBQUdDLGlCQUFFQyxJQUFGLENBQU87QUFDckJDLElBQUFBLE9BQU8sRUFBRUMsbUJBRFk7QUFFckJDLElBQUFBLFFBQVEsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBRlc7QUFHckJDLElBQUFBLFVBQVUsRUFBRSxDQUFDLEdBQUQsRUFBTSxHQUFOO0FBSFMsR0FBUCxDQUFoQjs7QUFNQSxNQUFJQyxXQUFnQixHQUFHTixpQkFBRU8sTUFBRixDQUNyQixDQUFDVixXQUFXLENBQUNXLFFBQWIsRUFBdUJYLFdBQVcsQ0FBQ1ksU0FBbkMsQ0FEcUIsRUFFckI7QUFDRVIsSUFBQUEs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Q0MsUUFBSixLQUFpQi9DLEtBQUssQ0FBQy9CLEVBQWhDO0FBQUEsR0FBeEIsQ0FBUDtBQUNELENBRk07Ozs7QUFJQSxJQUFNdUUsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ3hDLEtBQUQsRUFBbUI7QUFDNUMsU0FBT0EsS0FBSyxDQUFDbEMsS0FBTixDQUFZa0YsSUFBWixLQUFxQixrQ0FBNUI7QUFDRCxDQUZNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdsZWFmbGV0LXBvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcblxuICBpZiAoZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbiAgfSBlbHNlIHtcbiAgICBhbGxVcHN0cmVhbUVkZ2VzLnB1c2goZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykpO1xuICAgIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgICAgZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcyksXG4gICAgICBlZGdlcyxcbiAgICAgIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoYWxsVXBzdHJlYW1FZGdlcyk7XG59O1xuXG5jb25zdCBtYXBBbGxFZGdlc05lc3RpbmcgPSAoYWxsVXBzdHJlYW1FZGdlcykgPT4ge1xuICBsZXQgbWFwcGVkOiBhbnlbXSA9IFtdO1xuICBhbGxVcHN0cmVhbUVkZ2VzLmZvckVhY2goKGVkZ2VzKSA9PiB7XG4gICAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgbWFwcGVkLnB1c2goZWRnZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBtYXBwZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXBzdHJlYW1FZGdlcyA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICBsZXQgYWxsVXBzdHJlYW1FZGdlczogYW55W10gPSBbXTtcbiAgbGV0IGZpcnN0VXBzdHJlYW1MZXZlbDogSUVkZ2VbXSA9IGVkZ2VzLmZpbHRlcihcbiAgICAoZWRnZSkgPT4gZWRnZS50YXJnZXRfcG9pbnRfaWQgPT09IGZpcnN0RWRnZSEuc291cmNlX3BvaW50X2lkLFxuICApO1xuXG4gIHJldHVybiByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaChcbiAgICBmaXJzdFVwc3RyZWFtTGV2ZWwsXG4gICAgZWRnZXMsXG4gICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFVwc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIHVwc3RyZWFtRWRnZXM6IElFZGdlW10sXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICB1cHN0cmVhbUVkZ2VzLmZvckVhY2goKHVwc3RyZWFtRWRnZSkgPT4ge1xuICAgIGlmICh1cHN0cmVhbUVkZ2UpIHtcbiAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQpID0+IHBvaW50LmlkID09PSB1cHN0cmVhbUVkZ2UhLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChzb3VyY2VQb2ludCkgZWRnZXNUb0RyYXcucHVzaCh1cHN0cmVhbUVkZ2UpO1xuICAgIH1cbiAgfSk7XG5cbiAgbGV0IGNvbm5lY3Rpb25FZGdlID0gZWRnZXMuZmluZChcbiAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IHVwc3RyZWFtRWRnZXNbMF0udGFyZ2V0X3BvaW50X2lkLFxuICApO1xuICBpZiAoY29ubmVjdGlvbkVkZ2UgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChjb25uZWN0aW9uRWRnZSk7XG4gIHJldHVybiBlZGdlc1RvRHJhdztcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICBmaXJzdEVkZ2U6IElFZGdlLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZG93bnN0cmVhbU5ldHdvcmssXG4gIGVkZ2VzVG9EcmF3LFxuKSA9PiB7XG4gIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKS5mb3JFYWNoKFxuICAgIChkb3duU3RyZWFtRWRnZSkgPT4ge1xuICAgICAgZWRnZXNUb0RyYXcucHVzaChkb3duU3RyZWFtRWRnZSk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoID0gKFxuICBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgbGV0IGxhc3REb3duU3RyZWFtRWRnZSA9IGRvd25zdHJlYW1OZXR3b3JrW2Rvd25zdHJlYW1OZXR3b3JrLmxlbmd0aCAtIDFdO1xuXG4gIGlmIChuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbiAgfSBlbHNlIHtcbiAgICBuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGRvd25zdHJlYW1OZXR3b3JrLnB1c2goZWRnZSk7XG4gICAgICByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoKGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZG93bnN0cmVhbU5ldHdvcms7XG59O1xuXG5leHBvcnQgY29uc3QgbmV4dExldmVsRG93blN0cmVhbSA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gZmlyc3RFZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3ID0gKFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgbGV0IG1hdGNoZWRQYXJ0ID0gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGFydC5lZGdlX2lkKTtcbiAgICBpZiAobWF0Y2hlZFBhcnQgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChtYXRjaGVkUGFydCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdOZXR3b3JrID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbikgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBsYXRsbmdzLnB1c2goW2RhdGEubGF0LCBkYXRhLmxuZ10pO1xuICAgIH0pO1xuXG4gICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMjcsMjI3LDIyNyknLFxuICAgICAgd2VpZ2h0OiA2LFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgbGV0IHRhaWxEYXNoID0gTC5wb2x5bGluZURlY29yYXRvcihwb2x5bGluZUJhY2suX2xhdGxuZ3MsIHtcbiAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAge1xuICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDAsMCwwKScsXG4gICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50Lmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAoc291cmNlUG9pbnQpIGRyYXdNYW5ob2xlSWNvbihzb3VyY2VQb2ludCwgbWFwKTtcbiAgICAgIGlmICh0YXJnZXRQb2ludCkgZHJhd01hbmhvbGVJY29uKHRhcmdldFBvaW50LCBtYXApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICYmIChzb3VyY2VQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHNvdXJjZVBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICBzb3VyY2VQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICk7XG4gICAgICBpZiAodGFyZ2V0UG9pbnQgJiYgKHRhcmdldFBvaW50Lmhhc19kZXZpY2UgfHwgcG9pbnRJc1dXVFAodGFyZ2V0UG9pbnQpKSlcbiAgICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgICAgW3RhcmdldFBvaW50LmxhdGl0dWRlLCB0YXJnZXRQb2ludC5sb25naXR1ZGVdLFxuICAgICAgICAgIHRhcmdldFBvaW50LFxuICAgICAgICAgIG1hcCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlJztcblxuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcblxuICAgIGxldCBwb2x5bGluZUZyb250OiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDI5LDI5LDI5KScsXG4gICAgICB3ZWlnaHQ6IDEsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2VGcm9udCc7XG5cbiAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gIH1cblxuICBkcmF3TmV0d29yayhlZGdlc1RvRHJhdywgcG9pbnRzLCBkaXNwYXRjaCwgbWFwKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzT2JzZXJ2YXRpb24gPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoKG9icykgPT4gb2JzLnBvaW50X2lkID09PSBwb2ludC5pZCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc1dXVFAgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50Jztcbn07XG4iXX0=
|
|
254
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscy50cyJdLCJuYW1lcyI6WyJkcmF3TWFuaG9sZUljb24iLCJzb3VyY2VQb2ludCIsIm1hcCIsInBvaW50SWNvbiIsIkwiLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImdldEZpcnN0RWRnZU9mRXZlbnRQYXRoIiwiZWRnZXMiLCJldmVudCIsInBhdGgiLCJ1bmRlZmluZWQiLCJmaW5kIiwiZWRnZSIsImVkZ2VfaWQiLCJmaW5kRWRnZXMiLCJuZXh0VXBzdHJlYW1MZXZlbElkcyIsImZpbHRlciIsImluY2x1ZGVzIiwidGFyZ2V0X3BvaW50X2lkIiwicmVjdXJzaXZlVXBzdHJlYW1TZWFyY2giLCJuZXh0TGV2ZWwiLCJtYXBBbGxFZGdlc05lc3RpbmciLCJhbGxVcHN0cmVhbUVkZ2VzIiwic291cmNlX3BvaW50X2lkIiwibGVuZ3RoIiwicHVzaCIsIm1hcHBlZCIsImZvckVhY2giLCJnZXRVcHN0cmVhbUVkZ2VzIiwiZmlyc3RFZGdlIiwiZmlyc3RVcHN0cmVhbUxldmVsIiwiZmluZFVwc3RyZWFtRWRnZXNUb0RyYXciLCJ1cHN0cmVhbUVkZ2VzIiwiZWRnZXNUb0RyYXciLCJwb2ludHMiLCJ1cHN0cmVhbUVkZ2UiLCJwb2ludCIsImNvbm5lY3Rpb25FZGdlIiwiZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyIsImRvd25zdHJlYW1OZXR3b3JrIiwicmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaCIsImRvd25TdHJlYW1FZGdlIiwibGFzdERvd25TdHJlYW1FZGdlIiwibmV4dExldmVsRG93blN0cmVhbSIsImZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXciLCJwYXJ0IiwibWF0Y2hlZFBhcnQiLCJkcmF3TmV0d29yayIsImRpc3BhdGNoIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJoYXNfZGV2aWNlIiwicG9pbnRJc1dXVFAiLCJob3ZlcmVkIiwiZm9jdXNlZCIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzIiwicG9pbnRJc09ic2VydmF0aW9uIiwib2JzZXJ2YXRpb25zIiwib2JzIiwicG9pbnRfaWQiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFFTyxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLFdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDO0FBQ2xFLE1BQUlDLFNBQVMsR0FBR0MsaUJBQUVDLElBQUYsQ0FBTztBQUNyQkMsSUFBQUEsT0FBTyxFQUFFQyxtQkFEWTtBQUVyQkMsSUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGVztBQUdyQkMsSUFBQUEsVUFBVSxFQUFFLENBQUMsR0FBRCxFQUFNLEdBQU47QUFIUyxHQUFQLENBQWhCOztBQU1BLE1BQUlDLFdBQWdCLEdBQUdOLGlCQUFFTyxNQUFGLENBQ3JCLENBQUNWLFdBQVcsQ0FBQ1csUUFBYixFQUF1QlgsV0FBVyxDQUFDWSxTQUFuQyxDQURx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O0FBQ0Q7O0FBRURjLEVBQUFBLFdBQVcsQ0FBQ2QsV0FBRCxFQUFjQyxNQUFkLEVBQXNCYyxRQUF0QixFQUFnQzdELEdBQWhDLEVBQXFDcUIsS0FBckMsQ0FBWDtBQUNELENBcEJNOzs7O0FBc0JBLElBQU0wRSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUMxRSxLQUFELEVBQWdCNEIsS0FBaEIsRUFBa0M7QUFDbEUsU0FBTzVCLEtBQUssQ0FBQzJFLFlBQU4sQ0FBbUJ4RSxJQUFuQixDQUF3QixVQUFDeUUsR0FBRDtBQUFBLFdBQVNBLEdBQUcsQ0FBQ0MsUUFBSixLQUFpQmpELEtBQUssQ0FBQy9CLEVBQWhDO0FBQUEsR0FBeEIsQ0FBUDtBQUNELENBRk07Ozs7QUFJQSxJQUFNdUUsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ3hDLEtBQUQsRUFBbUI7QUFDNUMsU0FBT0EsS0FBSyxDQUFDbEMsS0FBTixDQUFZb0YsSUFBWixLQUFxQixrQ0FBNUI7QUFDRCxDQUZNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdsZWFmbGV0LXBvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcblxuICBpZiAoZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbiAgfSBlbHNlIHtcbiAgICBhbGxVcHN0cmVhbUVkZ2VzLnB1c2goZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykpO1xuICAgIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgICAgZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcyksXG4gICAgICBlZGdlcyxcbiAgICAgIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoYWxsVXBzdHJlYW1FZGdlcyk7XG59O1xuXG5jb25zdCBtYXBBbGxFZGdlc05lc3RpbmcgPSAoYWxsVXBzdHJlYW1FZGdlcykgPT4ge1xuICBsZXQgbWFwcGVkOiBhbnlbXSA9IFtdO1xuICBhbGxVcHN0cmVhbUVkZ2VzLmZvckVhY2goKGVkZ2VzKSA9PiB7XG4gICAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgbWFwcGVkLnB1c2goZWRnZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBtYXBwZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXBzdHJlYW1FZGdlcyA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICBsZXQgYWxsVXBzdHJlYW1FZGdlczogYW55W10gPSBbXTtcbiAgbGV0IGZpcnN0VXBzdHJlYW1MZXZlbDogSUVkZ2VbXSA9IGVkZ2VzLmZpbHRlcihcbiAgICAoZWRnZSkgPT4gZWRnZS50YXJnZXRfcG9pbnRfaWQgPT09IGZpcnN0RWRnZSEuc291cmNlX3BvaW50X2lkLFxuICApO1xuXG4gIHJldHVybiByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaChcbiAgICBmaXJzdFVwc3RyZWFtTGV2ZWwsXG4gICAgZWRnZXMsXG4gICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFVwc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIHVwc3RyZWFtRWRnZXM6IElFZGdlW10sXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICB1cHN0cmVhbUVkZ2VzLmZvckVhY2goKHVwc3RyZWFtRWRnZSkgPT4ge1xuICAgIGlmICh1cHN0cmVhbUVkZ2UpIHtcbiAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQpID0+IHBvaW50LmlkID09PSB1cHN0cmVhbUVkZ2UhLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChzb3VyY2VQb2ludCkgZWRnZXNUb0RyYXcucHVzaCh1cHN0cmVhbUVkZ2UpO1xuICAgIH1cbiAgfSk7XG5cbiAgbGV0IGNvbm5lY3Rpb25FZGdlID0gZWRnZXMuZmluZChcbiAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IHVwc3RyZWFtRWRnZXNbMF0udGFyZ2V0X3BvaW50X2lkLFxuICApO1xuICBpZiAoY29ubmVjdGlvbkVkZ2UgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChjb25uZWN0aW9uRWRnZSk7XG4gIHJldHVybiBlZGdlc1RvRHJhdztcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICBmaXJzdEVkZ2U6IElFZGdlLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZG93bnN0cmVhbU5ldHdvcmssXG4gIGVkZ2VzVG9EcmF3LFxuKSA9PiB7XG4gIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKS5mb3JFYWNoKFxuICAgIChkb3duU3RyZWFtRWRnZSkgPT4ge1xuICAgICAgZWRnZXNUb0RyYXcucHVzaChkb3duU3RyZWFtRWRnZSk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoID0gKFxuICBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgbGV0IGxhc3REb3duU3RyZWFtRWRnZSA9IGRvd25zdHJlYW1OZXR3b3JrW2Rvd25zdHJlYW1OZXR3b3JrLmxlbmd0aCAtIDFdO1xuXG4gIGlmIChuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbiAgfSBlbHNlIHtcbiAgICBuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGRvd25zdHJlYW1OZXR3b3JrLnB1c2goZWRnZSk7XG4gICAgICByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoKGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZG93bnN0cmVhbU5ldHdvcms7XG59O1xuXG5leHBvcnQgY29uc3QgbmV4dExldmVsRG93blN0cmVhbSA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gZmlyc3RFZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3ID0gKFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgbGV0IG1hdGNoZWRQYXJ0ID0gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGFydC5lZGdlX2lkKTtcbiAgICBpZiAobWF0Y2hlZFBhcnQgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChtYXRjaGVkUGFydCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdOZXR3b3JrID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgZXZlbnQsXG4pID0+IHtcbiAgbGV0IGxhdGxuZ3M6IGFueSA9IFtdO1xuICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgZWRnZS5zaGFwZV9kYXRhLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKFtkYXRhLmxhdCwgZGF0YS5sbmddKTtcbiAgICB9KTtcblxuICAgIGxldCBwb2x5bGluZUJhY2s6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjI3LDIyNywyMjcpJyxcbiAgICAgIHdlaWdodDogNixcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIGxldCB0YWlsRGFzaCA9IEwucG9seWxpbmVEZWNvcmF0b3IocG9seWxpbmVCYWNrLl9sYXRsbmdzLCB7XG4gICAgICBwYXR0ZXJuczogW1xuICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgIHtcbiAgICAgICAgICBvZmZzZXQ6IDE1LFxuICAgICAgICAgIHJlcGVhdDogMjUsXG4gICAgICAgICAgc3ltYm9sOiBMLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgwLDAsMCknLFxuICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KS5hZGRUbyhtYXApO1xuICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuXG4gICAgaWYgKHBvaW50cy5sZW5ndGggIT09IDApIHtcbiAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGlmIChzb3VyY2VQb2ludCAhPT0gdW5kZWZpbmVkICYmIHRhcmdldFBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcG9seWxpbmVCYWNrLmJpbmRQb3B1cChgRWRnZSBJRDogJHtlZGdlLmlkfSw8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZSBwb2ludDogJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSw8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludC5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzdGFuY2U6ICR7ZWRnZS5kaXN0YW5jZX1gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBkcmF3TWFuaG9sZUljb24oc291cmNlUG9pbnQsIG1hcCk7XG4gICAgICBpZiAodGFyZ2V0UG9pbnQpIGRyYXdNYW5ob2xlSWNvbih0YXJnZXRQb2ludCwgbWFwKTtcbiAgICAgIGlmIChzb3VyY2VQb2ludCAmJiAoc291cmNlUG9pbnQuaGFzX2RldmljZSB8fCBwb2ludElzV1dUUChzb3VyY2VQb2ludCkpKVxuICAgICAgICBjcmVhdGVCdWJibGVQb2ludChcbiAgICAgICAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAgICAgICAgc291cmNlUG9pbnQsXG4gICAgICAgICAgbWFwLFxuICAgICAgICApO1xuICAgICAgaWYgKHRhcmdldFBvaW50ICYmICh0YXJnZXRQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHRhcmdldFBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFt0YXJnZXRQb2ludC5sYXRpdHVkZSwgdGFyZ2V0UG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICB0YXJnZXRQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2UnO1xuICAgIGlmIChldmVudC5mb2N1c2VkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlJztcblxuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcblxuICAgIGxldCBwb2x5bGluZUZyb250OiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDI5LDI5LDI5KScsXG4gICAgICB3ZWlnaHQ6IDEsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlRnJvbnQnO1xuICAgIGlmIChldmVudC5mb2N1c2VkKSBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZUZyb250JztcblxuICAgIHBvbHlsaW5lRnJvbnQuYnJpbmdUb0Zyb250KCk7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpXG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRWRnZVBhdGhzKFtwb2x5bGluZUJhY2ssIHBvbHlsaW5lRnJvbnRdKSk7XG4gICAgbGF0bG5ncyA9IFtdO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbikgPT4ge1xuICBsZXQgZWRnZXNUb0RyYXc6IElFZGdlW10gPSBbXTtcbiAgbGV0IGZpcnN0RWRnZSA9IGdldEZpcnN0RWRnZU9mRXZlbnRQYXRoKGVkZ2VzLCBldmVudCk7XG5cbiAgaWYgKGZpcnN0RWRnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdID0gW2ZpcnN0RWRnZV07XG4gICAgbGV0IHVwc3RyZWFtRWRnZXMgPSBnZXRVcHN0cmVhbUVkZ2VzKGZpcnN0RWRnZSwgZWRnZXMpO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBpZiAodXBzdHJlYW1FZGdlcy5sZW5ndGggIT09IDApXG4gICAgICBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyh1cHN0cmVhbUVkZ2VzLCBlZGdlc1RvRHJhdywgcG9pbnRzLCBlZGdlcyk7XG4gICAgZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyhmaXJzdEVkZ2UsIGVkZ2VzLCBkb3duc3RyZWFtTmV0d29yaywgZWRnZXNUb0RyYXcpO1xuICB9XG5cbiAgZHJhd05ldHdvcmsoZWRnZXNUb0RyYXcsIHBvaW50cywgZGlzcGF0Y2gsIG1hcCwgZXZlbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNPYnNlcnZhdGlvbiA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBldmVudC5vYnNlcnZhdGlvbnMuZmluZCgob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzV1dUUCA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnO1xufTtcbiJdfQ==
|
|
@@ -25,7 +25,7 @@ function useUpdateEventBodyTail(time, focusedEvent, edges_data, isHover) {
|
|
|
25
25
|
var bodyPercentage = 0;
|
|
26
26
|
var tailPercentage = 0;
|
|
27
27
|
|
|
28
|
-
if (observation !== undefined) {
|
|
28
|
+
if (observation !== undefined && edge !== undefined) {
|
|
29
29
|
// if this path's segment has observation, the path.distance_from_last_observation is 0
|
|
30
30
|
var start_time = observation.start_time + path.distance_from_last_observation * 60;
|
|
31
31
|
var end_time = observation.end_time === null ? null : observation.end_time + path.distance_from_last_observation * 60;
|
|
@@ -64,4 +64,4 @@ function useUpdateEventBodyTail(time, focusedEvent, edges_data, isHover) {
|
|
|
64
64
|
|
|
65
65
|
var _default = useUpdateEventBodyTail;
|
|
66
66
|
exports.default = _default;
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VVcGRhdGVFdmVudEJvZHlUYWlsLnRzeCJdLCJuYW1lcyI6WyJ1c2VVcGRhdGVFdmVudEJvZHlUYWlsIiwidGltZSIsImZvY3VzZWRFdmVudCIsImVkZ2VzX2RhdGEiLCJpc0hvdmVyIiwiZGlzcGF0Y2giLCJwYXRoIiwidW5kZWZpbmVkIiwiZm9yRWFjaCIsImVkZ2UiLCJpdGVtcyIsImZpbHRlciIsImlkIiwiZWRnZV9pZCIsIm9ic2VydmF0aW9uIiwib2JzZXJ2YXRpb25zIiwibGFzdF9vYnNlcnZhdGlvbl9pZCIsImJvZHlQZXJjZW50YWdlIiwidGFpbFBlcmNlbnRhZ2UiLCJzdGFydF90aW1lIiwiZGlzdGFuY2VfZnJvbV9sYXN0X29ic2VydmF0aW9uIiwiZW5kX3RpbWUiLCJ0aW1lUGFzc2VkIiwiTWF0aCIsIm1pbiIsImRpc3RhbmNlIiwidGltZVBhc3NlZFRhaWwiLCJ0aW1lUGFzc2VkQm9keSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUlBOztBQUlBLFNBQVNBLHNCQUFULENBQ0VDLElBREYsRUFFRUMsWUFGRixFQUdFQyxVQUhGLEVBSUVDLE9BSkYsRUFLRTtBQUNBLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7QUFFQSx3QkFBVSxZQUFNO0FBQ2QsUUFBSUgsWUFBWSxLQUFLLElBQWpCLElBQXlCQSxZQUFZLENBQUNJLElBQWIsS0FBc0JDLFNBQW5ELEVBQThEO0FBQzVETCxNQUFBQSxZQUFZLENBQUNJLElBQWIsQ0FBa0JFLE9BQWxCLENBQTBCLFVBQUNGLElBQUQsRUFBZTtBQUN2QyxZQUFJRyxJQUFJLEdBQUdOLFVBQVUsQ0FBQ08sS0FBWCxDQUFpQkMsTUFBakIsQ0FDVCxVQUFDRixJQUFEO0FBQUEsaUJBQVVBLElBQUksQ0FBQ0csRUFBTCxLQUFZTixJQUFJLENBQUNPLE9BQTNCO0FBQUEsU0FEUyxFQUVULENBRlMsQ0FBWDtBQUdBLFlBQUlDLFdBQVcsR0FBR1osWUFBWSxDQUFDYSxZQUFiLENBQTBCSixNQUExQixDQUNoQixVQUFDRyxXQUFEO0FBQUEsaUJBQWlCQSxXQUFXLENBQUNGLEVBQVosS0FBbUJOLElBQUksQ0FBQ1UsbUJBQXpDO0FBQUEsU0FEZ0IsRUFFaEIsQ0FGZ0IsQ0FBbEI7QUFHQSxZQUFJQyxjQUFjLEdBQUcsQ0FBckI7QUFDQSxZQUFJQyxjQUFjLEdBQUcsQ0FBckI7O0FBRUEsWUFBSUosV0FBVyxLQUFLUCxTQUFoQixJQUE2QkUsSUFBSSxLQUFLRixTQUExQyxFQUFxRDtBQUNuRDtBQUNBLGNBQUlZLFVBQVUsR0FDWkwsV0FBVyxDQUFDSyxVQUFaLEdBQXlCYixJQUFJLENBQUNjLDhCQUFMLEdBQXNDLEVBRGpFO0FBRUEsY0FBSUMsUUFBUSxHQUNWUCxXQUFXLENBQUNPLFFBQVosS0FBeUIsSUFBekIsR0FDSSxJQURKLEdBRUlQLFdBQVcsQ0FBQ08sUUFBWixHQUF1QmYsSUFBSSxDQUFDYyw4QkFBTCxHQUFzQyxFQUhuRTs7QUFLQSxjQUFJRCxVQUFVLElBQUlsQixJQUFkLEtBQXVCb0IsUUFBUSxLQUFLLElBQWIsSUFBcUJBLFFBQVEsSUFBSXBCLElBQXhELENBQUosRUFBbUU7QUFDakU7QUFDQSxnQkFBSXFCLFVBQVUsR0FBRyxDQUFDckIsSUFBSSxHQUFHa0IsVUFBUixJQUFzQixFQUF2QztBQUNBRixZQUFBQSxjQUFjLEdBQUdNLElBQUksQ0FBQ0MsR0FBTCxDQUFVRixVQUFVLEdBQUdiLElBQUksQ0FBQ2dCLFFBQW5CLEdBQStCLEdBQXhDLEVBQTZDLEdBQTdDLENBQWpCO0FBQ0FQLFlBQUFBLGNBQWMsR0FBRyxDQUFqQjtBQUNELFdBTEQsTUFLTyxJQUFJRyxRQUFRLElBQUlwQixJQUFaLElBQW9Ca0IsVUFBVSxHQUFHbEIsSUFBckMsRUFBMkM7QUFDaEQ7QUFDQSxnQkFBSXlCLGNBQWMsR0FBRyxDQUFDekIsSUFBSSxHQUFHb0IsUUFBUixJQUFvQixFQUF6QztBQUNBLGdCQUFJTSxjQUFjLEdBQUcsQ0FBQzFCLElBQUksR0FBR2tCLFVBQVIsSUFBc0IsRUFBM0M7QUFDQUQsWUFBQUEsY0FBYyxHQUFHSyxJQUFJLENBQUNDLEdBQUwsQ0FDZEUsY0FBYyxHQUFHakIsSUFBSSxDQUFDZ0IsUUFBdkIsR0FBbUMsR0FEcEIsRUFFZixHQUZlLENBQWpCO0FBSUFSLFlBQUFBLGNBQWMsR0FBR00sSUFBSSxDQUFDQyxHQUFMLENBQ2RHLGNBQWMsR0FBR2xCLElBQUksQ0FBQ2dCLFFBQXZCLEdBQW1DLEdBRHBCLEVBRWYsR0FGZSxDQUFqQjs7QUFLQSxnQkFBSVAsY0FBYyxHQUFHLENBQXJCLEVBQXdCO0FBQ3RCRCxjQUFBQSxjQUFjLElBQUlDLGNBQWxCO0FBQ0Q7QUFDRixXQWhCTSxNQWdCQSxJQUFJQyxVQUFVLEdBQUdsQixJQUFqQixFQUF1QjtBQUM1QjtBQUNBaUIsWUFBQUEsY0FBYyxHQUFHLENBQWpCO0FBQ0FELFlBQUFBLGNBQWMsR0FBRyxDQUFqQjtBQUNEOztBQUNELGNBQUliLE9BQUosRUFBYTtBQUNYQyxZQUFBQSxRQUFRLENBQ04sNENBQ0VZLGNBREYsRUFFRUMsY0FGRixFQUdFVCxJQUFJLENBQUNHLEVBSFAsQ0FETSxDQUFSO0FBT0QsV0FSRCxNQVFPO0FBQ0xQLFlBQUFBLFFBQVEsQ0FDTiw0Q0FDRVksY0FERixFQUVFQyxjQUZGLEVBR0VULElBQUksQ0FBQ0csRUFIUCxDQURNLENBQVI7QUFPRDtBQUNGO0FBQ0YsT0EvREQ7QUFnRUQ7QUFDRixHQW5FRCxFQW1FRyxDQUFDWCxJQUFELENBbkVIO0FBb0VEOztlQUVjRCxzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIHVwZGF0ZUZvY3VzZWRFdmVudEJvZHlBbmRUYWlsLFxuICB1cGRhdGVIb3ZlcmVkRXZlbnRCb2R5QW5kVGFpbCxcbn0gZnJvbSAnLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJRWRnZXNTdGF0ZSB9IGZyb20gJy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZXNTdGF0ZSc7XG5cbmZ1bmN0aW9uIHVzZVVwZGF0ZUV2ZW50Qm9keVRhaWwoXG4gIHRpbWU6IG51bWJlcixcbiAgZm9jdXNlZEV2ZW50OiBJRXZlbnQgfCBudWxsLFxuICBlZGdlc19kYXRhOiBJRWRnZXNTdGF0ZSxcbiAgaXNIb3ZlcjogYm9vbGVhbixcbikge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIGZvY3VzZWRFdmVudC5wYXRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvY3VzZWRFdmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmlsdGVyKFxuICAgICAgICAgIChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXRoLmVkZ2VfaWQsXG4gICAgICAgIClbMF07XG4gICAgICAgIGxldCBvYnNlcnZhdGlvbiA9IGZvY3VzZWRFdmVudC5vYnNlcnZhdGlvbnMuZmlsdGVyKFxuICAgICAgICAgIChvYnNlcnZhdGlvbikgPT4gb2JzZXJ2YXRpb24uaWQgPT09IHBhdGgubGFzdF9vYnNlcnZhdGlvbl9pZCxcbiAgICAgICAgKVswXTtcbiAgICAgICAgbGV0IGJvZHlQZXJjZW50YWdlID0gMDtcbiAgICAgICAgbGV0IHRhaWxQZXJjZW50YWdlID0gMDtcblxuICAgICAgICBpZiAob2JzZXJ2YXRpb24gIT09IHVuZGVmaW5lZCAmJiBlZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBpZiB0aGlzIHBhdGgncyBzZWdtZW50IGhhcyBvYnNlcnZhdGlvbiwgdGhlIHBhdGguZGlzdGFuY2VfZnJvbV9sYXN0X29ic2VydmF0aW9uIGlzIDBcbiAgICAgICAgICBsZXQgc3RhcnRfdGltZSA9XG4gICAgICAgICAgICBvYnNlcnZhdGlvbi5zdGFydF90aW1lICsgcGF0aC5kaXN0YW5jZV9mcm9tX2xhc3Rfb2JzZXJ2YXRpb24gKiA2MDtcbiAgICAgICAgICBsZXQgZW5kX3RpbWUgPVxuICAgICAgICAgICAgb2JzZXJ2YXRpb24uZW5kX3RpbWUgPT09IG51bGxcbiAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgIDogb2JzZXJ2YXRpb24uZW5kX3RpbWUgKyBwYXRoLmRpc3RhbmNlX2Zyb21fbGFzdF9vYnNlcnZhdGlvbiAqIDYwO1xuXG4gICAgICAgICAgaWYgKHN0YXJ0X3RpbWUgPD0gdGltZSAmJiAoZW5kX3RpbWUgPT09IG51bGwgfHwgZW5kX3RpbWUgPj0gdGltZSkpIHtcbiAgICAgICAgICAgIC8vIG5vIHRhaWwgLSBzdGlsbCBwb2xsdXRpbmcgb24gdGhpcyBzZWdtZW50XG4gICAgICAgICAgICBsZXQgdGltZVBhc3NlZCA9ICh0aW1lIC0gc3RhcnRfdGltZSkgLyA2MDtcbiAgICAgICAgICAgIGJvZHlQZXJjZW50YWdlID0gTWF0aC5taW4oKHRpbWVQYXNzZWQgLyBlZGdlLmRpc3RhbmNlKSAqIDEwMCwgMTAwKTtcbiAgICAgICAgICAgIHRhaWxQZXJjZW50YWdlID0gMDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGVuZF90aW1lIDw9IHRpbWUgJiYgc3RhcnRfdGltZSA8IHRpbWUpIHtcbiAgICAgICAgICAgIC8vIGJvdGggdGFpbCBhbmQgYm9keSAtIHBvbGx1dGlvbiBoYXMgc3RvcHBlZCBvbiB0aGlzIHNlZ21lbnRcbiAgICAgICAgICAgIGxldCB0aW1lUGFzc2VkVGFpbCA9ICh0aW1lIC0gZW5kX3RpbWUpIC8gNjA7XG4gICAgICAgICAgICBsZXQgdGltZVBhc3NlZEJvZHkgPSAodGltZSAtIHN0YXJ0X3RpbWUpIC8gNjA7XG4gICAgICAgICAgICB0YWlsUGVyY2VudGFnZSA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAodGltZVBhc3NlZFRhaWwgLyBlZGdlLmRpc3RhbmNlKSAqIDEwMCxcbiAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJvZHlQZXJjZW50YWdlID0gTWF0aC5taW4oXG4gICAgICAgICAgICAgICh0aW1lUGFzc2VkQm9keSAvIGVkZ2UuZGlzdGFuY2UpICogMTAwLFxuICAgICAgICAgICAgICAxMDAsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAodGFpbFBlcmNlbnRhZ2UgPiAwKSB7XG4gICAgICAgICAgICAgIGJvZHlQZXJjZW50YWdlIC09IHRhaWxQZXJjZW50YWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhcnRfdGltZSA+IHRpbWUpIHtcbiAgICAgICAgICAgIC8vIFRoZSBwb2xsdXRpb24gaXMgbm90IG9uIHRoaXMgc2VnbWVudCB5ZXQuXG4gICAgICAgICAgICB0YWlsUGVyY2VudGFnZSA9IDA7XG4gICAgICAgICAgICBib2R5UGVyY2VudGFnZSA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc0hvdmVyKSB7XG4gICAgICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICAgICAgdXBkYXRlSG92ZXJlZEV2ZW50Qm9keUFuZFRhaWwoXG4gICAgICAgICAgICAgICAgYm9keVBlcmNlbnRhZ2UsXG4gICAgICAgICAgICAgICAgdGFpbFBlcmNlbnRhZ2UsXG4gICAgICAgICAgICAgICAgZWRnZS5pZCxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgICAgICB1cGRhdGVGb2N1c2VkRXZlbnRCb2R5QW5kVGFpbChcbiAgICAgICAgICAgICAgICBib2R5UGVyY2VudGFnZSxcbiAgICAgICAgICAgICAgICB0YWlsUGVyY2VudGFnZSxcbiAgICAgICAgICAgICAgICBlZGdlLmlkLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3RpbWVdKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlVXBkYXRlRXZlbnRCb2R5VGFpbDtcbiJdfQ==
|
package/lib/macros/getVersion.js
CHANGED
|
@@ -79,7 +79,7 @@ var EventInfo = function EventInfo(props) {
|
|
|
79
79
|
var layers = map._layers;
|
|
80
80
|
|
|
81
81
|
for (var property in layers) {
|
|
82
|
-
if (layers[property].kando_object !== undefined && layers[property].kando_object.includes('EventBody') || layers[property].kando_object === 'EventTail' || layers[property].kando_object === 'SamplingPoint' || layers[property].kando_object === 'Decorator' || layers[property].kando_object === 'HoveredEdgeFront' || layers[property].kando_object === 'HoveredEdge' || layers[property].kando_object === 'UpstreamPoint') {
|
|
82
|
+
if (layers[property].kando_object !== undefined && layers[property].kando_object.includes('EventBody') || layers[property].kando_object === 'EventTail' || layers[property].kando_object === 'SamplingPoint' || layers[property].kando_object === 'Decorator' || layers[property].kando_object === 'HoveredEdgeFront' || layers[property].kando_object === 'HoveredEdge' || layers[property].kando_object === 'FocusedEdgeFront' || layers[property].kando_object === 'FocusedEdge' || layers[property].kando_object === 'UpstreamPoint') {
|
|
83
83
|
map.removeLayer(layers[property]);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -135,4 +135,4 @@ var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
|
135
135
|
var _default = connector(EventInfo);
|
|
136
136
|
|
|
137
137
|
exports.default = _default;
|
|
138
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL0V2ZW50SW5mby50c3giXSwibmFtZXMiOlsibWFwU3RhdGVUb1Byb3BzIiwic3RhdGUiLCJldmVudHNfZGF0YSIsImdsb2JhbF9kYXRhIiwicG9pbnRzX2RhdGEiLCJuYXZfY29udGV4dF9kYXRhIiwiRXZlbnRJbmZvIiwicHJvcHMiLCJkaXNwYXRjaCIsImV2ZW50IiwicmVPcGVuRmlsdGVyIiwiZm9jdXNlZEV2ZW50UGF0aHMiLCJtYXAiLCJzZWxlY3RlZFNvdXJjZSIsInNldFNlbGVjdGVkU291cmNlIiwiaGlzdG9yeSIsInJlbW92ZU9iamVjdHNGcm9tTWFwIiwiZm9yRWFjaCIsInBhdGgiLCJyZW1vdmVMYXllciIsImxheWVycyIsIl9sYXllcnMiLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdCIsInVuZGVmaW5lZCIsImluY2x1ZGVzIiwiaGFuZGxlR29CYWNrQ2xpY2siLCJEYXRlIiwibm93IiwicHVzaCIsIm5hdkNvbnRleHQiLCJuYW1lIiwid2F0ZXJBdXRob3JpdHlJZCIsImxvY2FsZSIsImV2ZW50RmlsdGVyUGFyYW0iLCJ0b2dnbGVTb3VyY2VTZWxlY3Rpb24iLCJwb2ludF9pZCIsInNvdXJjZXMiLCJsZW5ndGgiLCJmbG9hdGluZ0dyYXBoIiwib3BlbiIsImZhQXJyb3dMZWZ0IiwiaTE4biIsInQiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFFQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBbkJBO0FBcUJBLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQTJDO0FBQ3pDLE1BQVFDLFdBQVIsR0FBb0VELEtBQXBFLENBQVFDLFdBQVI7QUFBQSxNQUFxQkMsV0FBckIsR0FBb0VGLEtBQXBFLENBQXFCRSxXQUFyQjtBQUFB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Q0UsNkJBQUMscUJBQUQ7QUFBYyxJQUFBLEtBQUssRUFBRWxDLEtBQXJCO0FBQTRCLElBQUEsTUFBTSxFQUFFTDtBQUFwQyxJQURGLGVBRUUsNkJBQUMsd0JBQUQ7QUFBaUIsSUFBQSxLQUFLLEVBQUVLO0FBQXhCLElBRkYsZUFHRSw2QkFBQyxnQkFBRDtBQUNFLElBQUEsY0FBYyxFQUFFSSxjQURsQjtBQUVFLElBQUEscUJBQXFCLEVBQUVzQixxQkFGekI7QUFHRSxJQUFBLE1BQU0sRUFBRS9CLFdBSFY7QUFJRSxJQUFBLFlBQVksRUFBRUs7QUFKaEIsSUFIRixDQURGLENBVkYsQ0FERjtBQXlCRCxDQXJGRDs7QUF1RkEsSUFBTW1DLFNBQVMsR0FBRyx5QkFBUTVDLGVBQVIsQ0FBbEI7O2VBQ2U0QyxTQUFTLENBQUN0QyxTQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0Jztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQge1xuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEZvY3VzZWRFdmVudFBhdGhzLFxuICBzZXRFdmVudEluZGljYXRvcixcbiAgc2VsZWN0U291cmNlLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgZmFBcnJvd0xlZnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBTb3VyY2VzIGZyb20gJy4vc291cmNlcy9Tb3VyY2VzJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IE1vYmlsZUV2ZW50UGF0aCBmcm9tICcuL01vYmlsZUV2ZW50UGF0aCc7XG5pbXBvcnQgRXZlbnREZXRhaWxzIGZyb20gJy4vRXZlbnREZXRhaWxzJztcbmltcG9ydCAnLi9FdmVudEluZm9TdHlsZS5zY3NzJztcbmltcG9ydCB7IHNldEN1cnJlbnRUaW1lLCBjbG9zZUZsb2F0aW5nR3JhcGggfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIG5hdl9jb250ZXh0X2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgcmVPcGVuRmlsdGVyOiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgRXZlbnRJbmZvOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBwb2ludHNfZGF0YSwgZ2xvYmFsX2RhdGEsIGV2ZW50LCBuYXZfY29udGV4dF9kYXRhLCByZU9wZW5GaWx0ZXIgfSA9XG4gICAgcHJvcHM7XG4gIGNvbnN0IHsgZm9jdXNlZEV2ZW50UGF0aHMgfSA9IHByb3BzLmV2ZW50c19kYXRhO1xuICBjb25zdCB7IG1hcCB9ID0gcHJvcHMuZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IFtzZWxlY3RlZFNvdXJjZSwgc2V0U2VsZWN0ZWRTb3VyY2VdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG5cbiAgY29uc3QgcmVtb3ZlT2JqZWN0c0Zyb21NYXAgPSAoKSA9PiB7XG4gICAgZm9jdXNlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgIH0pO1xuXG4gICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIChsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QuaW5jbHVkZXMoJ0V2ZW50Qm9keScpKSB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0V2ZW50VGFpbCcgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdTYW1wbGluZ1BvaW50JyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0RlY29yYXRvcicgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdIb3ZlcmVkRWRnZUZyb250JyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0hvdmVyZWRFZGdlJyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1Vwc3RyZWFtUG9pbnQnXG4gICAgICApIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKGxheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVHb0JhY2tDbGljayA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgZGlzcGF0Y2goc2V0RXZlbnRJbmRpY2F0b3IobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEN1cnJlbnRUaW1lKChEYXRlLm5vdygpIC8gMTAwMCkgfCAwKSk7XG4gICAgZGlzcGF0Y2goY2xvc2VGbG9hdGluZ0dyYXBoKCkpO1xuICAgIHJlbW92ZU9iamVjdHNGcm9tTWFwKCk7XG4gICAgcmVPcGVuRmlsdGVyKCk7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7Z2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbX1gLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlU291cmNlU2VsZWN0aW9uID0gKHBvaW50X2lkOiBudW1iZXIpID0+IHtcbiAgICBzZXRTZWxlY3RlZFNvdXJjZShwb2ludF9pZCk7XG4gICAgZGlzcGF0Y2goc2VsZWN0U291cmNlKHBvaW50X2lkKSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRTb3VyY2UgPT09IG51bGwgJiYgZXZlbnQuc291cmNlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIHRvZ2dsZVNvdXJjZVNlbGVjdGlvbihldmVudC5zb3VyY2VzWzBdLnBvaW50X2lkKTtcbiAgICB9XG4gIH0sIFtcbiAgICBwcm9wcy5wb2ludHNfZGF0YSxcbiAgICBwcm9wcy5ldmVudHNfZGF0YSxcbiAgICBldmVudCxcbiAgICBnbG9iYWxfZGF0YS5mbG9hdGluZ0dyYXBoLm9wZW4sXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXsnYmFja19idXR0b25fY29udGFpbmVyJ30+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzc05hbWU9eydiYWNrX2J1dHRvbl9jb250YWluZXJfX2J1dHRvbid9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlR29CYWNrQ2xpY2soKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2V2ZW50cycpfTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2NvbnRlbnQtY29udGFpbmVyJ30+XG4gICAgICAgICAgPEV2ZW50RGV0YWlscyBldmVudD17ZXZlbnR9IHBvaW50cz17cG9pbnRzX2RhdGF9IC8+XG4gICAgICAgICAgPE1vYmlsZUV2ZW50UGF0aCBldmVudD17ZXZlbnR9IC8+XG4gICAgICAgICAgPFNvdXJjZXNcbiAgICAgICAgICAgIHNlbGVjdGVkU291cmNlPXtzZWxlY3RlZFNvdXJjZX1cbiAgICAgICAgICAgIHRvZ2dsZVNvdXJjZVNlbGVjdGlvbj17dG9nZ2xlU291cmNlU2VsZWN0aW9ufVxuICAgICAgICAgICAgcG9pbnRzPXtwb2ludHNfZGF0YX1cbiAgICAgICAgICAgIGZvY3VzZWRFdmVudD17ZXZlbnR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgPC8+XG4gICk7XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRJbmZvKTtcbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL0V2ZW50SW5mby50c3giXSwibmFtZXMiOlsibWFwU3RhdGVUb1Byb3BzIiwic3RhdGUiLCJldmVudHNfZGF0YSIsImdsb2JhbF9kYXRhIiwicG9pbnRzX2RhdGEiLCJuYXZfY29udGV4dF9kYXRhIiwiRXZlbnRJbmZvIiwicHJvcHMiLCJkaXNwYXRjaCIsImV2ZW50IiwicmVPcGVuRmlsdGVyIiwiZm9jdXNlZEV2ZW50UGF0aHMiLCJtYXAiLCJzZWxlY3RlZFNvdXJjZSIsInNldFNlbGVjdGVkU291cmNlIiwiaGlzdG9yeSIsInJlbW92ZU9iamVjdHNGcm9tTWFwIiwiZm9yRWFjaCIsInBhdGgiLCJyZW1vdmVMYXllciIsImxheWVycyIsIl9sYXllcnMiLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdCIsInVuZGVmaW5lZCIsImluY2x1ZGVzIiwiaGFuZGxlR29CYWNrQ2xpY2siLCJEYXRlIiwibm93IiwicHVzaCIsIm5hdkNvbnRleHQiLCJuYW1lIiwid2F0ZXJBdXRob3JpdHlJZCIsImxvY2FsZSIsImV2ZW50RmlsdGVyUGFyYW0iLCJ0b2dnbGVTb3VyY2VTZWxlY3Rpb24iLCJwb2ludF9pZCIsInNvdXJjZXMiLCJsZW5ndGgiLCJmbG9hdGluZ0dyYXBoIiwib3BlbiIsImZhQXJyb3dMZWZ0IiwiaTE4biIsInQiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFFQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBbkJBO0FBcUJBLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQTJDO0FBQ3pDLE1BQVFDLFdBQVIsR0FBb0VELEtBQXBFLENBQVFDLFdBQVI7QUFBQSxNQUFxQkMsV0FBckIsR0FBb0VGLEtBQXBFLENBQXFCRSxXQUFyQjtBQUFB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QUtFLGdEQUFRQyxjQUFLQyxDQUFMLENBQU8sZ0NBQVAsQ0FBUixDQUxGLENBREYsQ0FERixlQVVFLDZCQUFDLHNCQUFELHFCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUU7QUFBaEIsa0JBQ0UsNkJBQUMscUJBQUQ7QUFBYyxJQUFBLEtBQUssRUFBRWxDLEtBQXJCO0FBQTRCLElBQUEsTUFBTSxFQUFFTDtBQUFwQyxJQURGLGVBRUUsNkJBQUMsd0JBQUQ7QUFBaUIsSUFBQSxLQUFLLEVBQUVLO0FBQXhCLElBRkYsZUFHRSw2QkFBQyxnQkFBRDtBQUNFLElBQUEsY0FBYyxFQUFFSSxjQURsQjtBQUVFLElBQUEscUJBQXFCLEVBQUVzQixxQkFGekI7QUFHRSxJQUFBLE1BQU0sRUFBRS9CLFdBSFY7QUFJRSxJQUFBLFlBQVksRUFBRUs7QUFKaEIsSUFIRixDQURGLENBVkYsQ0FERjtBQXlCRCxDQXZGRDs7QUF5RkEsSUFBTW1DLFNBQVMsR0FBRyx5QkFBUTVDLGVBQVIsQ0FBbEI7O2VBQ2U0QyxTQUFTLENBQUN0QyxTQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0Jztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQge1xuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEZvY3VzZWRFdmVudFBhdGhzLFxuICBzZXRFdmVudEluZGljYXRvcixcbiAgc2VsZWN0U291cmNlLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgZmFBcnJvd0xlZnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBTb3VyY2VzIGZyb20gJy4vc291cmNlcy9Tb3VyY2VzJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IE1vYmlsZUV2ZW50UGF0aCBmcm9tICcuL01vYmlsZUV2ZW50UGF0aCc7XG5pbXBvcnQgRXZlbnREZXRhaWxzIGZyb20gJy4vRXZlbnREZXRhaWxzJztcbmltcG9ydCAnLi9FdmVudEluZm9TdHlsZS5zY3NzJztcbmltcG9ydCB7IHNldEN1cnJlbnRUaW1lLCBjbG9zZUZsb2F0aW5nR3JhcGggfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIG5hdl9jb250ZXh0X2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgcmVPcGVuRmlsdGVyOiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgRXZlbnRJbmZvOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBwb2ludHNfZGF0YSwgZ2xvYmFsX2RhdGEsIGV2ZW50LCBuYXZfY29udGV4dF9kYXRhLCByZU9wZW5GaWx0ZXIgfSA9XG4gICAgcHJvcHM7XG4gIGNvbnN0IHsgZm9jdXNlZEV2ZW50UGF0aHMgfSA9IHByb3BzLmV2ZW50c19kYXRhO1xuICBjb25zdCB7IG1hcCB9ID0gcHJvcHMuZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IFtzZWxlY3RlZFNvdXJjZSwgc2V0U2VsZWN0ZWRTb3VyY2VdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG5cbiAgY29uc3QgcmVtb3ZlT2JqZWN0c0Zyb21NYXAgPSAoKSA9PiB7XG4gICAgZm9jdXNlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgIH0pO1xuXG4gICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIChsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QuaW5jbHVkZXMoJ0V2ZW50Qm9keScpKSB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0V2ZW50VGFpbCcgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdTYW1wbGluZ1BvaW50JyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0RlY29yYXRvcicgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdIb3ZlcmVkRWRnZUZyb250JyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0hvdmVyZWRFZGdlJyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0ZvY3VzZWRFZGdlRnJvbnQnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRm9jdXNlZEVkZ2UnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnVXBzdHJlYW1Qb2ludCdcbiAgICAgICkge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUdvQmFja0NsaWNrID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudChudWxsKSk7XG4gICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50UGF0aHMoW10pKTtcbiAgICBkaXNwYXRjaChzZXRFdmVudEluZGljYXRvcihudWxsKSk7XG4gICAgZGlzcGF0Y2goc2V0Q3VycmVudFRpbWUoKERhdGUubm93KCkgLyAxMDAwKSB8IDApKTtcbiAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgcmVtb3ZlT2JqZWN0c0Zyb21NYXAoKTtcbiAgICByZU9wZW5GaWx0ZXIoKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JnZhbHVlc0Zyb21LUUw9JHtnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB0b2dnbGVTb3VyY2VTZWxlY3Rpb24gPSAocG9pbnRfaWQ6IG51bWJlcikgPT4ge1xuICAgIHNldFNlbGVjdGVkU291cmNlKHBvaW50X2lkKTtcbiAgICBkaXNwYXRjaChzZWxlY3RTb3VyY2UocG9pbnRfaWQpKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWxlY3RlZFNvdXJjZSA9PT0gbnVsbCAmJiBldmVudC5zb3VyY2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgdG9nZ2xlU291cmNlU2VsZWN0aW9uKGV2ZW50LnNvdXJjZXNbMF0ucG9pbnRfaWQpO1xuICAgIH1cbiAgfSwgW1xuICAgIHByb3BzLnBvaW50c19kYXRhLFxuICAgIHByb3BzLmV2ZW50c19kYXRhLFxuICAgIGV2ZW50LFxuICAgIGdsb2JhbF9kYXRhLmZsb2F0aW5nR3JhcGgub3BlbixcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdiBjbGFzc05hbWU9eydiYWNrX2J1dHRvbl9jb250YWluZXInfT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzTmFtZT17J2JhY2tfYnV0dG9uX2NvbnRhaW5lcl9fYnV0dG9uJ31cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVHb0JhY2tDbGljaygpfVxuICAgICAgICA+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYUFycm93TGVmdH0gLz5cbiAgICAgICAgICA8c3Bhbj4ge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmJhY2tfdG9fZXZlbnRzJyl9PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fY29udGVudC1jb250YWluZXInfT5cbiAgICAgICAgICA8RXZlbnREZXRhaWxzIGV2ZW50PXtldmVudH0gcG9pbnRzPXtwb2ludHNfZGF0YX0gLz5cbiAgICAgICAgICA8TW9iaWxlRXZlbnRQYXRoIGV2ZW50PXtldmVudH0gLz5cbiAgICAgICAgICA8U291cmNlc1xuICAgICAgICAgICAgc2VsZWN0ZWRTb3VyY2U9e3NlbGVjdGVkU291cmNlfVxuICAgICAgICAgICAgdG9nZ2xlU291cmNlU2VsZWN0aW9uPXt0b2dnbGVTb3VyY2VTZWxlY3Rpb259XG4gICAgICAgICAgICBwb2ludHM9e3BvaW50c19kYXRhfVxuICAgICAgICAgICAgZm9jdXNlZEV2ZW50PXtldmVudH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFdmVudEluZm8pO1xuIl19
|
|
@@ -51,9 +51,15 @@ var MiniEventTree = function MiniEventTree(props) {
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
var getPoint = function getPoint(point_id) {
|
|
54
|
-
|
|
54
|
+
var point = points_data.items.filter(function (point) {
|
|
55
55
|
return point.id === point_id;
|
|
56
56
|
})[0];
|
|
57
|
+
if (point === undefined) return {
|
|
58
|
+
group: {
|
|
59
|
+
name: ''
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
return point;
|
|
57
63
|
};
|
|
58
64
|
|
|
59
65
|
var truncateText = function truncateText(text, start, end) {
|
|
@@ -114,4 +120,4 @@ var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
|
114
120
|
var _default = connector(MiniEventTree);
|
|
115
121
|
|
|
116
122
|
exports.default = _default;
|
|
117
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL01pbmlFdmVudFRyZWUudHN4Il0sIm5hbWVzIjpbIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiTWluaUV2ZW50VHJlZSIsInByb3BzIiwiZXZlbnQiLCJlZGdlcyIsInRyZWVEYXRhIiwic2V0VHJlZURhdGEiLCJnZXRFZGdlIiwicGF0aCIsIml0ZW1zIiwiZmlsdGVyIiwiZWRnZSIsImlkIiwiZWRnZV9pZCIsImdldFBvaW50IiwicG9pbnRfaWQiLCJwb2ludCIsInVuZGVmaW5lZCIsImdyb3VwIiwibmFtZSIsInRydW5jYXRlVGV4dCIsInRleHQiLCJzdGFydCIsImVuZCIsInN1YnN0cmluZyIsImluaXRpYWxpemVUcmVlIiwiZm9yRWFjaCIsImxlbmd0aCIsInNvdXJjZV9wb2ludF9pZCIsInB1c2giLCJsYXN0RWRnZSIsInRhcmdldF9wb2ludF9pZCIsInRyZWUiLCJwYXJlbnRQcm9wZXJ0eSIsImN1c3RvbUlEIiwieCIsInkiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7Ozs7O0FBTEE7QUFPQSxTQUFTQSxlQUFULENBQXlCQyxLQUF6QixFQUEyQztBQUN6QyxNQUFRQyxXQUFSLEdBQW9DRCxLQUFwQyxDQUFRQyxXQUFSO0FBQUEsTUFBcUJDLFVBQXJCLEdBQW9DRixLQUFwQyxDQUFxQkUsVUFBckI7QUFFQSxTQUFPO0FBQ0xELElBQUFBLFdBQVcsRUFBWEEsV0FESztBQUVMQyxJQUFBQSxVQUFVLEVBQVZBO0FBRkssR0FBUDtBQUlEOztBQU1ELElBQU1DLGFBQStCLEdBQUcsU0FBbENBLGFBQWtDLENBQUNDLEtBQUQsRUFBVztBQUNqRCxNQUFRSCxXQUFSLEdBQTJDRyxLQUEzQyxDQUFRSCxXQUFSO0FBQUEsTUFBcUJJLEtBQXJCLEdB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QWUsRUFBRSxJQUZSO0FBR1RaLFVBQUFBLElBQUksRUFBRUMsWUFBWSxDQUNoQk4sUUFBUSxDQUFDVixLQUFLLENBQUNBLEtBQUssQ0FBQ3VCLE1BQU4sR0FBZSxDQUFoQixDQUFMLENBQXdCSSxlQUF6QixDQUFSLENBQWtEYixLQUFsRCxDQUF3REMsSUFEeEMsRUFFaEIsQ0FGZ0IsRUFHaEIsRUFIZ0I7QUFIVCxTQUFYO0FBU0FmLFFBQUFBLEtBQUssQ0FBQ3lCLElBQU4sQ0FBV0MsUUFBWDtBQUNEOztBQUVELFVBQUlFLElBQUksR0FBRywwQkFBWTVCLEtBQVosRUFBbUI7QUFDNUI2QixRQUFBQSxjQUFjLEVBQUUsaUJBRFk7QUFFNUJDLFFBQUFBLFFBQVEsRUFBRTtBQUZrQixPQUFuQixDQUFYO0FBS0E1QixNQUFBQSxXQUFXLENBQUMwQixJQUFELENBQVg7QUFDRDtBQUNGLEdBOUNEOztBQWdEQSx3QkFBVSxZQUFNO0FBQ2RQLElBQUFBLGNBQWM7QUFDZixHQUZELEVBRUcsRUFGSDtBQUlBLHNCQUNFLDBDQUNHcEIsUUFBUSxLQUFLWSxTQUFiLGlCQUNDLDZCQUFDLG9CQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUVaLFFBRFI7QUFFRSxJQUFBLFNBQVMsRUFBRTtBQUFFOEIsTUFBQUEsQ0FBQyxFQUFFLEVBQUw7QUFBU0MsTUFBQUEsQ0FBQyxFQUFFO0FBQVosS0FGYjtBQUdFLElBQUEsSUFBSSxFQUFFLEdBSFI7QUFJRSxJQUFBLFdBQVcsRUFBRTtBQUpmLElBRkosQ0FERjtBQVlELENBbEZEOztBQW9GQSxJQUFNQyxTQUFTLEdBQUcseUJBQVF4QyxlQUFSLENBQWxCOztlQUNld0MsU0FBUyxDQUFDcEMsYUFBRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgVHJlZSBmcm9tICdyZWFjdC1kMy10cmVlJztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCBhcnJheVRvVHJlZSBmcm9tICdhcnJheS10by10cmVlJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBwb2ludHNfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBldmVudDogSUV2ZW50O1xufTtcblxuY29uc3QgTWluaUV2ZW50VHJlZTogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHBvaW50c19kYXRhLCBldmVudCwgZWRnZXNfZGF0YSB9ID0gcHJvcHM7XG4gIGNvbnN0IGVkZ2VzOiBhbnlbXSA9IFtdO1xuICBjb25zdCBbdHJlZURhdGEsIHNldFRyZWVEYXRhXSA9IHVzZVN0YXRlPGFueT4oKTtcbiAgY29uc3QgZ2V0RWRnZSA9IChwYXRoOiBhbnkpID0+IHtcbiAgICByZXR1cm4gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gIH07XG5cbiAgY29uc3QgZ2V0UG9pbnQgPSAocG9pbnRfaWQ6IG51bWJlcikgPT4ge1xuICAgIGxldCBwb2ludCA9IHBvaW50c19kYXRhLml0ZW1zLmZpbHRlcigocG9pbnQpID0+IHBvaW50LmlkID09PSBwb2ludF9pZClbMF07XG4gICAgaWYgKHBvaW50ID09PSB1bmRlZmluZWQpIHJldHVybiB7IGdyb3VwOiB7IG5hbWU6ICcnIH0gfTtcbiAgICByZXR1cm4gcG9pbnQ7XG4gIH07XG5cbiAgY29uc3QgdHJ1bmNhdGVUZXh0ID0gKHRleHQ6IHN0cmluZywgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpID0+IHtcbiAgICByZXR1cm4gdGV4dC5zdWJzdHJpbmcoc3RhcnQsIGVuZCkgKyAn4oCmJztcbiAgfTtcblxuICBjb25zdCBpbml0aWFsaXplVHJlZSA9ICgpID0+IHtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgaWYgKGdldEVkZ2UocGF0aCkubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIGxldCBlZGdlID0gZ2V0RWRnZShwYXRoKVswXTtcbiAgICAgICAgZWRnZS5uYW1lID0gdHJ1bmNhdGVUZXh0KFxuICAgICAgICAgIGdldFBvaW50KGVkZ2Uuc291cmNlX3BvaW50X2lkKS5ncm91cC5uYW1lLFxuICAgICAgICAgIDAsXG4gICAgICAgICAgMTAsXG4gICAgICAgICk7XG4gICAgICAgIGVkZ2VzLnB1c2goZWRnZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoZWRnZXMubGVuZ3RoID4gMCkge1xuICAgICAgbGV0IGxhc3RFZGdlOiBhbnkgPSBlZGdlc19kYXRhLml0ZW1zLmZpbHRlcihcbiAgICAgICAgKGVkZ2UpID0+XG4gICAgICAgICAgZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IGVkZ2VzW2VkZ2VzLmxlbmd0aCAtIDFdLnRhcmdldF9wb2ludF9pZCxcbiAgICAgIClbMF07XG4gICAgICBpZiAobGFzdEVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsYXN0RWRnZS5uYW1lID0gdHJ1bmNhdGVUZXh0KFxuICAgICAgICAgIGdldFBvaW50KGxhc3RFZGdlLnNvdXJjZV9wb2ludF9pZCkuZ3JvdXAubmFtZSxcbiAgICAgICAgICAwLFxuICAgICAgICAgIDEwLFxuICAgICAgICApO1xuICAgICAgICBlZGdlcy5wdXNoKGxhc3RFZGdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZXJlIGlzbid0IGFuIGVkZ2Ugd2l0aCBhIHNvdXJjZSBwb2ludCB0aGF0IGVxdWFscyB0byBsYXN0IGVkZ2UncyB0YXJnZXQgcG9pbnQsIHRha2UgdGhlIHRhcmdldCBwb2ludCBhbmQgbWFrZSBhIGZpY3Rpb25hbCBzb3VyY2UuXG4gICAgICAgIGxhc3RFZGdlID0ge1xuICAgICAgICAgIHNvdXJjZV9wb2ludF9pZDogZWRnZXNbZWRnZXMubGVuZ3RoIC0gMV0udGFyZ2V0X3BvaW50X2lkLFxuICAgICAgICAgIHRhcmdldF9wb2ludF9pZDogbnVsbCxcbiAgICAgICAgICBuYW1lOiB0cnVuY2F0ZVRleHQoXG4gICAgICAgICAgICBnZXRQb2ludChlZGdlc1tlZGdlcy5sZW5ndGggLSAxXS50YXJnZXRfcG9pbnRfaWQpLmdyb3VwLm5hbWUsXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgMTAsXG4gICAgICAgICAgKSxcbiAgICAgICAgfTtcbiAgICAgICAgZWRnZXMucHVzaChsYXN0RWRnZSk7XG4gICAgICB9XG5cbiAgICAgIGxldCB0cmVlID0gYXJyYXlUb1RyZWUoZWRnZXMsIHtcbiAgICAgICAgcGFyZW50UHJvcGVydHk6ICd0YXJnZXRfcG9pbnRfaWQnLFxuICAgICAgICBjdXN0b21JRDogJ3NvdXJjZV9wb2ludF9pZCcsXG4gICAgICB9KTtcblxuICAgICAgc2V0VHJlZURhdGEodHJlZSk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZVRyZWUoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIHt0cmVlRGF0YSAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgPFRyZWVcbiAgICAgICAgICBkYXRhPXt0cmVlRGF0YX1cbiAgICAgICAgICB0cmFuc2xhdGU9e3sgeDogMTAsIHk6IDgwIH19XG4gICAgICAgICAgem9vbT17MC43fVxuICAgICAgICAgIGNvbGxhcHNpYmxlPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoTWluaUV2ZW50VHJlZSk7XG4iXX0=
|
|
@@ -19,6 +19,7 @@ var Sampling = function Sampling(props) {
|
|
|
19
19
|
var point = props.point,
|
|
20
20
|
sampling = props.sampling,
|
|
21
21
|
timezone = props.timezone;
|
|
22
|
+
if (point === undefined) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
22
23
|
return /*#__PURE__*/_react.default.createElement(SamplingDiv, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
23
24
|
className: "icon"
|
|
24
25
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
@@ -42,4 +43,4 @@ var SamplingDiv = _styledComponents.default.div.withConfig({
|
|
|
42
43
|
|
|
43
44
|
var _default = Sampling;
|
|
44
45
|
exports.default = _default;
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL3NhbXBsaW5ncy9TYW1wbGluZy50c3giXSwibmFtZXMiOlsiU2FtcGxpbmciLCJwcm9wcyIsInBvaW50Iiwic2FtcGxpbmciLCJ0aW1lem9uZSIsInVuZGVmaW5lZCIsIlNhbXBsaW5nSWNvbiIsIm5hbWUiLCJtb21lbnQiLCJ1bml4Iiwic2FtcGxpbmdfdGltZSIsInR6IiwiZm9ybWF0IiwiU2FtcGxpbmdEaXYiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7Ozs7QUFFQTs7QUFVQSxJQUFNQSxRQUEwQixHQUFHLFNBQTdCQSxRQUE2QixDQUFDQyxLQUFELEVBQVc7QUFDNUMsTUFBUUMsS0FBUixHQUFzQ0QsS0FBdEMsQ0FBUUMsS0FBUjtBQUFBLE1BQWVDLFFBQWYsR0FBc0NGLEtBQXRDLENBQWVFLFFBQWY7QUFBQSxNQUF5QkMsUUFBekIsR0FBc0NILEtBQXRDLENBQXlCRyxRQUF6QjtBQUVBLE1BQUlGLEtBQUssS0FBS0csU0FBZCxFQUF5QixvQkFBTywyREFBUDtBQUN6QixzQkFDRSw2QkFBQyxXQUFELHFCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsR0FBRyxFQUFFQyxrQkFBVjtBQUF3QixJQUFBLE1BQU0sRUFBQyxNQUEvQjtBQUFzQyxJQUFBLEtBQUssRUFBQyxNQUE1QztBQUFtRCxJQUFBLEdBQUcsRUFBQztBQUF2RCxJQURGLENBREYsZUFJRTtBQUFLLElBQUEsU0FBUyxFQUFFO0FBQWhCLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUF1QkosS0FBSyxDQUFDSyxJQUE3QixDQURGLGVBRUU7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0dDLHdCQUFPQyxJQUFQLENBQVlOLFFBQVEsQ0FBQ08sYUFBckIsRUFBb0NDLEVBQXBDLENBQXVDUCxRQUF2QyxFQUFpRFEsTUFBakQsQ0FBd0QsUUFBeEQsQ0FESCxDQUZGLENBSkYsQ0FERjtBQWFELENBakJEOztBQW1CQSxJQUFNQyxXQUFXLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLDZTQUFqQjs7ZUE4QmVmLFEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNhbXBsaW5nSWNvbiBmcm9tICdzcmMvYXNzZXRzL2ZsYXNrLWJsdWUuc3ZnJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIHNhbXBsaW5nOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIHRpbWV6b25lOiBzdHJpbmc7XG59O1xuXG5jb25zdCBTYW1wbGluZzogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHBvaW50LCBzYW1wbGluZywgdGltZXpvbmUgfSA9IHByb3BzO1xuXG4gIGlmIChwb2ludCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gPD48Lz47XG4gIHJldHVybiAoXG4gICAgPFNhbXBsaW5nRGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJpY29uXCI+XG4gICAgICAgIDxpbWcgc3JjPXtTYW1wbGluZ0ljb259IGhlaWdodD1cIjE0cHhcIiB3aWR0aD1cIjE0cHhcIiBhbHQ9XCJzYW1wbGluZ0ljb25cIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17J3NhbXBsaW5nLWRldGFpbCd9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm5hbWVcIj57cG9pbnQubmFtZX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lXCI+XG4gICAgICAgICAge21vbWVudC51bml4KHNhbXBsaW5nLnNhbXBsaW5nX3RpbWUpLnR6KHRpbWV6b25lKS5mb3JtYXQoJ2g6bW0gYScpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvU2FtcGxpbmdEaXY+XG4gICk7XG59O1xuXG5jb25zdCBTYW1wbGluZ0RpdiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICB9XG4gIC5zYW1wbGluZy1kZXRhaWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLm5hbWUsXG4gICAgLnRpbWUge1xuICAgICAgZmxleDogMTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgLmljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBTYW1wbGluZztcbiJdfQ==
|
|
@@ -254,7 +254,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
254
254
|
for (var property in layers) {
|
|
255
255
|
var kando_object = layers[property].kando_object;
|
|
256
256
|
|
|
257
|
-
if ((kando_object === null || kando_object === void 0 ? void 0 : kando_object.includes('EventBody')) || ['EventTail', 'SamplingPoint', 'Decorator', 'HoveredEdge', 'HoveredEdgeFront'].includes(kando_object)) {
|
|
257
|
+
if ((kando_object === null || kando_object === void 0 ? void 0 : kando_object.includes('EventBody')) || ['EventTail', 'SamplingPoint', 'Decorator', 'HoveredEdge', 'HoveredEdgeFront', 'FocusedEdge', 'FocusedEdgeFront'].includes(kando_object)) {
|
|
258
258
|
map.removeLayer(layers[property]);
|
|
259
259
|
}
|
|
260
260
|
}
|
|
@@ -287,7 +287,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
287
287
|
} else {
|
|
288
288
|
return true;
|
|
289
289
|
}
|
|
290
|
-
}, [events_data.focusedEvent]);
|
|
290
|
+
}, [events_data.focusedEvent, areas_data.isFetching, points_data.isFetching, edges_data.isFetching, events_data.isFetching]);
|
|
291
291
|
|
|
292
292
|
var triggerSort = function triggerSort(sort) {
|
|
293
293
|
if (global_data.activeFilter !== null) {
|
|
@@ -429,4 +429,4 @@ var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
|
429
429
|
var _default = connector(EventsList);
|
|
430
430
|
|
|
431
431
|
exports.default = _default;
|
|
432
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50Iiwic2V0VGltZW91dCIsImV2ZW50RmlsdGVyUGFyYW0iLCJvbk1vdXNlRW50ZXJFdmVudCIsInJlbW92ZUxheWVyIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwiaW5jbHVkZXMiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidG9TdHJpbmciLCJ0cmlnZ2VyU29ydCIsInNvcnQiLCJhY3RpdmVGaWx0ZXIiLCJLUUwiLCJVUkwiLCJjYWxjRXZlbnRzUmVhbEFtb3VudCIsImV2ZW50c0NvdW50IiwiZXZlbnRzX2NvdW50IiwibW9yZUluZm8iLCJhY3RpdmUiLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImZhQXJyb3dMZWZ0IiwiTGVmdEFycm93SWNvbiIsIk5vRXZlbnRzSW1hZ2UiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUlBOztBQUVBOztBQUNBOztBQVFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUEvQkE7QUFpQ0EsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFDRUMsV0FERixHQU9JRCxLQVBKLENBQ0VDLFdBREY7QUFBQSxNQUVFQyxXQUZGLEdBT0lGLEtBUEosQ0FFRUUsV0FGRjtBQUFBLE1BR0VDLFVBSEYsR0FPSUgsS0FQSixDQUdFRyxVQUhGO0FBQUEsTUFJRUMsV0FK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RixlQUlFO0FBQ0UsSUFBQSxTQUFTLEVBQUUsNkJBRGI7QUFFRSxJQUFBLE9BQU8sRUFBRTtBQUFBLGFBQU12QixrQkFBa0IsRUFBeEI7QUFBQTtBQUZYLEtBSUdzQixjQUFLQyxDQUFMLENBQU8sMENBQVAsQ0FKSCxDQUpGLENBTk4sRUFrQkdwRCxLQUFLLENBQUMwQixNQUFOLEtBQWlCLENBQWpCLElBQ0MsQ0FBQy9CLFVBQVUsQ0FBQ00sVUFEYixJQUVDLENBQUNQLFdBQVcsQ0FBQ08sVUFGZCxJQUdDLENBQUNSLFVBQVUsQ0FBQ1EsVUFIYixpQkFJRztBQUFJLElBQUEsU0FBUyxFQUFDO0FBQWQsS0FDR0QsS0FBSyxDQUFDTyxHQUFOLENBQVUsVUFBQzRCLEtBQUQ7QUFBQSx3QkFDVDtBQUFJLE1BQUEsR0FBRyxFQUFFQSxLQUFLLENBQUNlLEVBQWY7QUFBbUIsTUFBQSxTQUFTLEVBQUMsT0FBN0I7QUFBcUMsdUJBQWVmLEtBQUssQ0FBQ2U7QUFBMUQsb0JBQ0UsNkJBQUMsd0JBQUQ7QUFDRSxNQUFBLEtBQUssRUFBRWYsS0FEVDtBQUVFLE1BQUEsV0FBVyxFQUFFeUIsb0JBRmY7QUFHRSxNQUFBLGlCQUFpQixFQUFFSyxpQkFIckI7QUFJRSxNQUFBLGlCQUFpQixFQUFFSCxpQkFKckI7QUFLRSxNQUFBLGFBQWEsRUFBRTVCLGFBTGpCO0FBTUUsTUFBQSxjQUFjLEVBQUVwQjtBQU5sQixNQURGLENBRFM7QUFBQSxHQUFWLENBREgsQ0F0Qk4sQ0F4RkYsQ0FERjtBQWlJRCxDQWpjRDs7QUFtY0EsSUFBTThFLFNBQVMsR0FBRyx5QkFBUXZHLGVBQVIsQ0FBbEI7O2VBQ2V1RyxTQUFTLENBQUMvRixVQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBldGMvbm8tY29tbWVudGVkLW91dC1jb2RlICovXG5pbXBvcnQge1xuICBmYUFycm93TGVmdCxcbiAgZmFDYXJldExlZnQsXG4gIGZhQ2FyZXRSaWdodCxcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgUmVhY3QsIHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgTGluaywgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBMZWZ0QXJyb3dJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvYXJyb3ctbGVmdC5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRmlsdGVySWNvbiB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvZnVubmVsLnN2Zyc7XG5pbXBvcnQgTm9FdmVudHNJbWFnZSBmcm9tICdzcmMvYXNzZXRzL25vX2V2ZW50cy5zdmcnO1xuaW1wb3J0IHsgU2V2ZXJlRXZlbnQgfSBmcm9tICdzcmMvY29tcG9uZW50cy9TZXZlcmVFdmVudC9TZXZlcmVFdmVudCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyB1c2VMYXN0VmlzaXRlZCB9IGZyb20gJ3NyYy9wcm92aWRlcnMvVXJsSGlzdG9yeSc7XG5pbXBvcnQge1xuICBmZXRjaEV2ZW50cyxcbiAgc2V0Rm9jdXNlZEV2ZW50LFxuICBzZXRIb3ZlcmVkRWRnZVBhdGhzLFxuICBzZXRIb3ZlcmVkRXZlbnQsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEV2ZW50RmlsdGVyUGFyYW0sIHNpZGVOYXZFeHBhbmRlZCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgYnVpbGRLUUxRdWVyeSB9IGZyb20gJ3NyYy91dGlsaXRpZXMva3FsJztcbmltcG9ydCAnLi4vRXZlbnRzU3R5bGUuc2Nzcyc7XG5pbXBvcnQgRXZlbnRJbmZvIGZyb20gJy4uL2V2ZW50X2luZm8vRXZlbnRJbmZvJztcbmltcG9ydCBNb3JlSW5mbyBmcm9tICcuLi9Nb3JlSW5mbyc7XG5pbXBvcnQgRmlsdGVyQ29udGFpbmVyIGZyb20gJy4vRmlsdGVyL0ZpbHRlckNvbnRhaW5lcic7XG5pbXBvcnQgU29ydCBmcm9tICcuL1NvcnQnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBzaWRlbmF2RXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG5jb25zdCBFdmVudHNMaXN0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgYXJlYXNfZGF0YSxcbiAgcG9pbnRzX2RhdGEsXG4gIGVkZ2VzX2RhdGEsXG4gIGdsb2JhbF9kYXRhLFxuICBzaWRlbmF2RXhwYW5kZWQsXG4gIGV2ZW50c19kYXRhLFxuICBuYXZfY29udGV4dF9kYXRhLFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHtcbiAgICBpdGVtcyxcbiAgICBpc0ZldGNoaW5nLFxuICAgIGZvY3VzZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50UGF0aHMsXG4gICAgaG92ZXJlZEVkZ2VQYXRocyxcbiAgfSA9IGV2ZW50c19kYXRhO1xuICBjb25zdCB7IHdhdGVyQXV0aG9yaXR5SWQsIG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IFtmaWx0ZXJQb3B1cE9wZW4sIHNldEZpbHRlclBvcHVwT3Blbl0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2V4Y2VwdGlvbkFsZXJ0LCBzZXRFeGNlcHRpb25BbGVydF0gPSB1c2VTdGF0ZTx7XG4gICAgbWVzc2FnZXM6IHsgbWVzc2FnZTogYW55OyBldmVudF9pZDogbnVtYmVyIH1bXTtcbiAgICBldmVudF9pZHM6IG51bWJlcltdO1xuICB9Pih7IG1lc3NhZ2VzOiBbeyBtZXNzYWdlOiAnJywgZXZlbnRfaWQ6IDAgfV0sIGV2ZW50X2lkczogW10gfSk7XG4gIGNvbnN0IGxhc3RWaXNpdGVkID0gdXNlTGFzdFZpc2l0ZWQoKTtcblxuICBjb25zdCB1c2VRdWVyeSA9ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh1c2VMb2NhdGlvbigpLnNlYXJjaCk7XG4gIH07XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnkoKTtcbiAgY29uc3QgZ2V0S1FMVmFsdWVzRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG4gIGNvbnN0IGdldEV2ZW50SWRGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ2V2ZW50SWQnKTtcbiAgfTtcblxuICBjb25zdCBsb2FkZXIgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgKGlzRmV0Y2hpbmcgJiYgaXRlbXMubGVuZ3RoID09PSAwKSB8fFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggPT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLmlzRmV0Y2hpbmcgfHxcbiAgICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICkge1xuICAgICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPXsnbG9hZGVyJ30+PC9kaXY+O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCghc2lkZW5hdkV4cGFuZGVkKSk7XG4gIH07XG5cbiAgY29uc3QgYXBwbHlEZWZhdWx0RmlsdGVyID0gKCkgPT4ge1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD1gLFxuICAgICk7XG4gICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbSgnJykpO1xuICB9O1xuXG4gIGNvbnN0IHZhbGlkYXRlRXZlbnQgPSAoZXZlbnQ6IElFdmVudCkgPT4ge1xuICAgIC8vIGNoZWNrIHRoYXQgYWxsIG9ic2VydmF0aW9ucycgZWRnZXMgZXhpc3RzLiBJZiB0aGV5IGFyZSBub3QgZXhpc3RzIGl0J3MgaW5kaWNhdGVzIHRoYXQgdGhlaXIgcG9pbnRzIGFyZVxuICAgIC8vIG5vdCBpbiB0aGUgaGllcmFyY2h5IG9yIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXM6IGFueSA9IFtdO1xuICAgIGV2ZW50Lm9ic2VydmF0aW9ucy5mb3JFYWNoKChvYnNlcnZhdGlvbjogYW55KSA9PiB7XG4gICAgICAvLyBpZiBvYnNlcnZhdGlvbiBpcyByb290IChleC4gV1dUUCkgdGhlcmUgaXMgbm8gZWRnZSB0aGF0IGl0cyBhIHNvdXJjZS4gc28gd2UgY2FuIHNraXAgdGhpcyBjaGVja1xuICAgICAgaWYgKCFvYnNlcnZhdGlvbi5wb2ludF9pc19yb290KSB7XG4gICAgICAgIGxldCBlZGdlID0gZWRnZXNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gb2JzZXJ2YXRpb24ucG9pbnRfaWQsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChlZGdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgIGAke29ic2VydmF0aW9uLnBvaW50X25hbWV9ICgke29ic2VydmF0aW9uLnBvaW50X2lkfSkgYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IGluZGV4ID0gZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMuZmluZEluZGV4KFxuICAgICAgICAobXNnKSA9PiBtc2cuZXZlbnRfaWQgPT09IGV2ZW50LmlkLFxuICAgICAgKTtcblxuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICBzZXRFeGNlcHRpb25BbGVydCh7XG4gICAgICAgICAgbWVzc2FnZXM6IFtcbiAgICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtZXNzYWdlOiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudF9kYXRhX21pc3NpbmcnKX08L3A+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGV2ZW50X2lkOiBldmVudC5pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBldmVudF9pZHM6IFsuLi5leGNlcHRpb25BbGVydC5ldmVudF9pZHMsIGV2ZW50LmlkXSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gc2FtZSBjaGVjayBhcyBhYm92ZSBidXQgdGhpcyB0aW1lIGZvciB0aGUgZXZlbnQgcGF0aC4gSWYgZWRnZSBkb2Vzbid0IGV4aXN0LCBpdCdzIGluZGljYXRlcyB0aGF0IG9uZSBvZiB0aGVcbiAgICAvLyBwb2ludHMgZG93bnN0cmVhbSBkb2Vzbid0IGhhdmUgbGF0L2xuZy5cbiAgICBsZXQgaW52YWxpZFBhdGhNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXRoOiBhbnkpID0+IHtcbiAgICAgIGxldCBlZGdlID0gZWRnZXNfZGF0YS5pdGVtcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXRoLmVkZ2VfaWQpO1xuICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBlZGdlICR7cGF0aC5lZGdlX2lkfSBjYW4gbm90IGJlIGZvdW5kYCk7XG4gICAgICAgIGxldCBvYnNlcnZhdGlvbiA9IGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKFxuICAgICAgICAgIChvYnNlcnZhdGlvbikgPT4gb2JzZXJ2YXRpb24uaWQgPT09IHBhdGgubGFzdF9vYnNlcnZhdGlvbl9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgbGV0IGxhc3RPYnNlcnZhdGlvblBvaW50ID0gJ05vdCBmb3VuZCc7XG4gICAgICAgIGlmIChvYnNlcnZhdGlvbikge1xuICAgICAgICAgIGxhc3RPYnNlcnZhdGlvblBvaW50ID0gb2JzZXJ2YXRpb24ucG9pbnRfbmFtZTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdsYXN0T2JzZXJ2YXRpb25Qb2ludCcsIGxhc3RPYnNlcnZhdGlvblBvaW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGludmFsaWRQYXRoTWVzc2FnZXMucHVzaChgJHtsYXN0T2JzZXJ2YXRpb25Qb2ludH0gYCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW52YWxpZFBhdGhNZXNzYWdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgbWVzc2FnZXM6IFtcbiAgICAgICAgICAuLi5leGNlcHRpb25BbGVydC5tZXNzYWdlcyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X3ZlcmlmeV9jb29yZGluYXRlcycpfTwvcD5cbiAgICAgICAgICAgICAgICA8c3Bhbj57aW52YWxpZFBhdGhNZXNzYWdlc308L3NwYW4+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGV2ZW50X2lkOiBldmVudC5pZCxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBldmVudF9pZHM6IFsuLi5leGNlcHRpb25BbGVydC5ldmVudF9pZHMsIGV2ZW50LmlkXSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV2ZW50SXRlbUNsaWNrID0gKFxuICAgIGV2ZW50OiBJRXZlbnQsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+IHwgbnVsbCxcbiAgKSA9PiB7XG4gICAgaWYgKHJlZiAhPT0gbnVsbCkgb25Nb3VzZUxlYXZlRXZlbnQoKTtcbiAgICAvLyBpZiAoaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgLy8gICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAvLyAgICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJFdmVudEluZGljYXRvcihudWxsKSk7XG4gICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50KGV2ZW50KSk7XG4gICAgc2V0RmlsdGVyUG9wdXBPcGVuKGZhbHNlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGhpc3RvcnkucHVzaChcbiAgICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgIH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD0ke1xuICAgICAgICAgIGV2ZW50LmlkXG4gICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1cbiAgICAgICAgfSZ2YWxpZEV2ZW50PSR7dmFsaWRhdGVFdmVudChldmVudCl9YCxcbiAgICAgICk7XG4gICAgfSwgNTAwKTtcbiAgfTtcblxuICBjb25zdCBvbk1vdXNlRW50ZXJFdmVudCA9IChldmVudCkgPT4ge1xuICAgIGlmICghZm9jdXNlZEV2ZW50ICYmICFob3ZlcmVkRXZlbnQgJiYgdmFsaWRhdGVFdmVudChldmVudCkpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChldmVudCkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbk1vdXNlTGVhdmVFdmVudCA9ICgpID0+IHtcbiAgICBpZiAoaG92ZXJlZEV2ZW50ICYmIGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGhvdmVyZWRFZGdlUGF0aHMpIHtcbiAgICAgICAgaG92ZXJlZEVkZ2VQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgICAgY29uc3Qga2FuZG9fb2JqZWN0ID0gbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3Q7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrYW5kb19vYmplY3Q/LmluY2x1ZGVzKCdFdmVudEJvZHknKSB8fFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICdFdmVudFRhaWwnLFxuICAgICAgICAgICAgJ1NhbXBsaW5nUG9pbnQnLFxuICAgICAgICAgICAgJ0RlY29yYXRvcicsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2UnLFxuICAgICAgICAgICAgJ0hvdmVyZWRFZGdlRnJvbnQnLFxuICAgICAgICAgIF0uaW5jbHVkZXMoa2FuZG9fb2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgfTtcblxuICBjb25zdCBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gbnVsbCAmJlxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gJ251bGwnICYmXG4gICAgICBmb2N1c2VkRXZlbnQgPT09IG51bGwgJiZcbiAgICAgIGl0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgIWlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAoZTogSUV2ZW50KSA9PiBlLmlkID09PSBwYXJzZUludChnZXRFdmVudElkRnJvbVVSTCgpISksXG4gICAgICApO1xuICAgICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaGFuZGxlRXZlbnRJdGVtQ2xpY2soZXZlbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB2YWxpZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgIChlKSA9PiBlLmlkLnRvU3RyaW5nKCkgPT09IGdldEV2ZW50SWRGcm9tVVJMKCksXG4gICAgKTtcblxuICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFdmVudChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSwgW2V2ZW50c19kYXRhLmZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IHRyaWdnZXJTb3J0ID0gKHNvcnQ6IG51bWJlcikgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIgIT09IG51bGwpIHtcbiAgICAgIGxldCBLUUw7XG4gICAgICBsZXQgVVJMO1xuICAgICAgc3dpdGNoIChzb3J0KSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ25ld2VzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdvbGRlc3QnKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lXG4gICAgICAgICAgfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgICB9JmV2ZW50SWQ9JHtnZXRFdmVudElkRnJvbVVSTCgpfSZsb2NhbGU9JHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGVcbiAgICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtLUUx9JnZhbGlkRXZlbnQ9JHt2YWxpZEV2ZW50fWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnc2V2ZXJpdHknKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lXG4gICAgICAgICAgfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgICB9JmV2ZW50SWQ9JHtnZXRFdmVudElkRnJvbVVSTCgpfSZsb2NhbGU9JHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGVcbiAgICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtLUUx9JnZhbGlkRXZlbnQ9JHt2YWxpZEV2ZW50fWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgY2FsY0V2ZW50c1JlYWxBbW91bnQgPSAoKSA9PiB7XG4gICAgbGV0IGV2ZW50c0NvdW50OiBudW1iZXIgfCBzdHJpbmcgPSAwO1xuICAgIGV2ZW50c0NvdW50ID0gZXZlbnRzX2RhdGEuZXZlbnRzX2NvdW50O1xuICAgIGlmIChldmVudHNDb3VudCA+IDUwKVxuICAgICAgZXZlbnRzQ291bnQgPSBgJHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5tb3JlX3RoYW4nKX0gNTBgO1xuXG4gICAgcmV0dXJuIGV2ZW50c0NvdW50O1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hFdmVudHMod2F0ZXJBdXRob3JpdHlJZCwgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIHx8ICdERUZBVUxUJykpO1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgIWV2ZW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMoKTtcbiAgICB9XG4gIH0sIFtcbiAgICBldmVudHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGFyZWFzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXsnc2lkZW5hdiAnICsgKHNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ3NpZGVuYXYtLWNvbGxhcHNlZCcpfT5cbiAgICAgIHtnbG9iYWxfZGF0YS5tb3JlSW5mbyAhPT0gdW5kZWZpbmVkICYmIGdsb2JhbF9kYXRhLm1vcmVJbmZvLmFjdGl2ZSAmJiAoXG4gICAgICAgIDxNb3JlSW5mbyAvPlxuICAgICAgKX1cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICdldmVudC1pbmZvICcgK1xuICAgICAgICAgICghaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbFxuICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgOiAnZXZlbnQtaW5mby0tY29sbGFwc2VkJylcbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICB7IWhvdmVyZWRFdmVudCAmJiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgKFxuICAgICAgICAgIDxFdmVudEluZm9cbiAgICAgICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnR9XG4gICAgICAgICAgICByZU9wZW5GaWx0ZXI9eygpID0+IHNldEZpbHRlclBvcHVwT3Blbih0cnVlKX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cInRvZ2dsZS1leHBhbnNpb24tYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm5hdi1leHBhbnNpb24taWNvblwiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb25cbiAgICAgICAgICAgIGljb249e3NpZGVuYXZFeHBhbmRlZCA/IGZhQ2FyZXRMZWZ0IDogZmFDYXJldFJpZ2h0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17J3RvZ2dsZS1leHBhbnNpb24tYnV0dG9uLW1vYmlsZSd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFeHBhbnNpb25Ub2dnbGUoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGEgaHJlZj1cIiNcIj5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhQXJyb3dMZWZ0fSAvPlxuICAgICAgICAgIDxzcGFuPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYmFja190b19kZXRhaWxzJyl9PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzLWhlYWRlclwiPlxuICAgICAgICB7bGFzdFZpc2l0ZWQgJiYgIWlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgIDxMaW5rIGNsYXNzTmFtZT1cImJhY2tcIiB0bz17bGFzdFZpc2l0ZWR9PlxuICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgc3JjPXtMZWZ0QXJyb3dJY29ufVxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxMHB4XCJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxMnB4XCJcbiAgICAgICAgICAgICAgYWx0PVwiYmFja1wiXG4gICAgICAgICAgICAvPnsnICd9XG4gICAgICAgICAgICB7aTE4bi50KCdhcmVhX3NjcmVlbi5iYWNrJyl9XG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICApfVxuICAgICAgICA8aDQ+XG4gICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50c19saXN0Jyl9XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZXZlbnRzLWhlYWRlcl9fZXZlbnRzX2Ftb3VudCd9PlxuICAgICAgICAgICAgKHtjYWxjRXZlbnRzUmVhbEFtb3VudCgpfSlcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyaW5nXCI+XG4gICAgICAgICAge2V2ZW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgICA8U29ydFxuICAgICAgICAgICAgICB0cmlnZ2VyU29ydD17dHJpZ2dlclNvcnR9XG4gICAgICAgICAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGV2ZW50c0ZldGNoaW5nPXtldmVudHNfZGF0YS5pc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXI9e2dsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbHRlclwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEZpbHRlclBvcHVwT3BlbighZmlsdGVyUG9wdXBPcGVuKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZpbHRlckljb24gd2lkdGg9XCIxN3B4XCIgaGVpZ2h0PVwiMTdweFwiIGZpbGw9XCIjZjYwMDRmXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7cG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmICFmb2N1c2VkRXZlbnQgJiYgKFxuICAgICAgICAgIDxGaWx0ZXJDb250YWluZXJcbiAgICAgICAgICAgIGZpbHRlclBvcHVwT3Blbj17ZmlsdGVyUG9wdXBPcGVufVxuICAgICAgICAgICAgZmV0Y2hUeXBlPXsnRXZlbnRGaWx0ZXInfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzLWNvbnRhaW5lciBzY3JvbGxiYXIgXCI+XG4gICAgICAgIHtsb2FkZXIoKX1cbiAgICAgICAgeyFpc0ZldGNoaW5nICYmXG4gICAgICAgICAgaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnRzX19ibGFua3NsYXRlJ30+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtOb0V2ZW50c0ltYWdlfSBhbHQ9XCJOb0V2ZW50c0ljb25cIiAvPlxuICAgICAgICAgICAgICA8aDI+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmhlYWRlcicpfTwvaDI+XG4gICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5ib2R5Jyl9PC9wPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2FwcGx5X2RlZmF1bHRfZmlsdGVyX2J1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gYXBwbHlEZWZhdWx0RmlsdGVyKCl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuYnV0dG9uJyl9XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIHtpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmIChcbiAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJldmVudHMgXCI+XG4gICAgICAgICAgICAgIHtpdGVtcy5tYXAoKGV2ZW50OiBhbnkpID0+IChcbiAgICAgICAgICAgICAgICA8bGkga2V5PXtldmVudC5pZH0gY2xhc3NOYW1lPVwiZXZlbnRcIiBkYXRhLWV2ZW50LWlkPXtldmVudC5pZH0+XG4gICAgICAgICAgICAgICAgICA8U2V2ZXJlRXZlbnRcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ9e2V2ZW50fVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGljaz17aGFuZGxlRXZlbnRJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlckV2ZW50PXtvbk1vdXNlRW50ZXJFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlRXZlbnQ9e29uTW91c2VMZWF2ZUV2ZW50fVxuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZUV2ZW50PXt2YWxpZGF0ZUV2ZW50fVxuICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25BbGVydD17ZXhjZXB0aW9uQWxlcnR9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRzTGlzdCk7XG4iXX0=
|
|
432
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50Iiwic2V0VGltZW91dCIsImV2ZW50RmlsdGVyUGFyYW0iLCJvbk1vdXNlRW50ZXJFdmVudCIsInJlbW92ZUxheWVyIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwiaW5jbHVkZXMiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidG9TdHJpbmciLCJ0cmlnZ2VyU29ydCIsInNvcnQiLCJhY3RpdmVGaWx0ZXIiLCJLUUwiLCJVUkwiLCJjYWxjRXZlbnRzUmVhbEFtb3VudCIsImV2ZW50c0NvdW50IiwiZXZlbnRzX2NvdW50IiwibW9yZUluZm8iLCJhY3RpdmUiLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImZhQXJyb3dMZWZ0IiwiTGVmdEFycm93SWNvbiIsIk5vRXZlbnRzSW1hZ2UiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUlBOztBQUVBOztBQUNBOztBQVFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUEvQkE7QUFpQ0EsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFDRUMsV0FERixHQU9JRCxLQVBKLENBQ0VDLFdBREY7QUFBQSxNQUVFQyxXQUZGLEdBT0lGLEtBUEosQ0FFRUUsV0FGRjtBQUFBLE1BR0VDLFVBSEYsR0FPSUgsS0FQSixDQUdFRyxVQUhGO0FBQUEsTUFJRUMsV0FK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ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBFdmVudEluZm8gZnJvbSAnLi4vZXZlbnRfaW5mby9FdmVudEluZm8nO1xuaW1wb3J0IE1vcmVJbmZvIGZyb20gJy4uL01vcmVJbmZvJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyJztcbmltcG9ydCBTb3J0IGZyb20gJy4vU29ydCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNpZGVuYXZFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEV2ZW50c0xpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhc19kYXRhLFxuICBwb2ludHNfZGF0YSxcbiAgZWRnZXNfZGF0YSxcbiAgZ2xvYmFsX2RhdGEsXG4gIHNpZGVuYXZFeHBhbmRlZCxcbiAgZXZlbnRzX2RhdGEsXG4gIG5hdl9jb250ZXh0X2RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qge1xuICAgIGl0ZW1zLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnRQYXRocyxcbiAgICBob3ZlcmVkRWRnZVBhdGhzLFxuICB9ID0gZXZlbnRzX2RhdGE7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgW2ZpbHRlclBvcHVwT3Blbiwgc2V0RmlsdGVyUG9wdXBPcGVuXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbZXhjZXB0aW9uQWxlcnQsIHNldEV4Y2VwdGlvbkFsZXJ0XSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlczogeyBtZXNzYWdlOiBhbnk7IGV2ZW50X2lkOiBudW1iZXIgfVtdO1xuICAgIGV2ZW50X2lkczogbnVtYmVyW107XG4gIH0+KHsgbWVzc2FnZXM6IFt7IG1lc3NhZ2U6ICcnLCBldmVudF9pZDogMCB9XSwgZXZlbnRfaWRzOiBbXSB9KTtcbiAgY29uc3QgbGFzdFZpc2l0ZWQgPSB1c2VMYXN0VmlzaXRlZCgpO1xuXG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuICBjb25zdCBnZXRLUUxWYWx1ZXNGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3ZhbHVlc0Zyb21LUUwnKTtcbiAgfTtcbiAgY29uc3QgZ2V0RXZlbnRJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnZXZlbnRJZCcpO1xuICB9O1xuXG4gIGNvbnN0IGxvYWRlciA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICAoaXNGZXRjaGluZyAmJiBpdGVtcy5sZW5ndGggPT09IDApIHx8XG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9eydsb2FkZXInfT48L2Rpdj47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbnNpb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKCFzaWRlbmF2RXhwYW5kZWQpKTtcbiAgfTtcblxuICBjb25zdCBhcHBseURlZmF1bHRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPWAsXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKCcnKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVFdmVudCA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgLy8gY2hlY2sgdGhhdCBhbGwgb2JzZXJ2YXRpb25zJyBlZGdlcyBleGlzdHMuIElmIHRoZXkgYXJlIG5vdCBleGlzdHMgaXQncyBpbmRpY2F0ZXMgdGhhdCB0aGVpciBwb2ludHMgYXJlXG4gICAgLy8gbm90IGluIHRoZSBoaWVyYXJjaHkgb3IgZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgIC8vIGlmIG9ic2VydmF0aW9uIGlzIHJvb3QgKGV4LiBXV1RQKSB0aGVyZSBpcyBubyBlZGdlIHRoYXQgaXRzIGEgc291cmNlLiBzbyB3ZSBjYW4gc2tpcCB0aGlzIGNoZWNrXG4gICAgICBpZiAoIW9ic2VydmF0aW9uLnBvaW50X2lzX3Jvb3QpIHtcbiAgICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBvYnNlcnZhdGlvbi5wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgYCR7b2JzZXJ2YXRpb24ucG9pbnRfbmFtZX0gKCR7b2JzZXJ2YXRpb24ucG9pbnRfaWR9KSBgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgaW5kZXggPSBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5maW5kSW5kZXgoXG4gICAgICAgIChtc2cpID0+IG1zZy5ldmVudF9pZCA9PT0gZXZlbnQuaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X2RhdGFfbWlzc2luZycpfTwvcD5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzYW1lIGNoZWNrIGFzIGFib3ZlIGJ1dCB0aGlzIHRpbWUgZm9yIHRoZSBldmVudCBwYXRoLiBJZiBlZGdlIGRvZXNuJ3QgZXhpc3QsIGl0J3MgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZVxuICAgIC8vIHBvaW50cyBkb3duc3RyZWFtIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkUGF0aE1lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYGVkZ2UgJHtwYXRoLmVkZ2VfaWR9IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgICAgICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgKG9ic2VydmF0aW9uKSA9PiBvYnNlcnZhdGlvbi5pZCA9PT0gcGF0aC5sYXN0X29ic2VydmF0aW9uX2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSAnTm90IGZvdW5kJztcbiAgICAgICAgaWYgKG9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSBvYnNlcnZhdGlvbi5wb2ludF9uYW1lO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xhc3RPYnNlcnZhdGlvblBvaW50JywgbGFzdE9ic2VydmF0aW9uUG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52YWxpZFBhdGhNZXNzYWdlcy5wdXNoKGAke2xhc3RPYnNlcnZhdGlvblBvaW50fSBgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkUGF0aE1lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfdmVyaWZ5X2Nvb3JkaW5hdGVzJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxzcGFuPntpbnZhbGlkUGF0aE1lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXZlbnRJdGVtQ2xpY2sgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICByZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4gfCBudWxsLFxuICApID0+IHtcbiAgICBpZiAocmVmICE9PSBudWxsKSBvbk1vdXNlTGVhdmVFdmVudCgpO1xuICAgIC8vIGlmIChob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAvLyAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgIC8vICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgIC8vICAgICB9KTtcbiAgICAvLyB9XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlckV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICBzZXRGaWx0ZXJQb3B1cE9wZW4oZmFsc2UpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZldmVudElkPSR7XG4gICAgICAgICAgZXZlbnQuaWRcbiAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbVxuICAgICAgICB9JnZhbGlkRXZlbnQ9JHt2YWxpZGF0ZUV2ZW50KGV2ZW50KX1gLFxuICAgICAgKTtcbiAgICB9LCA1MDApO1xuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VFbnRlckV2ZW50ID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFmb2N1c2VkRXZlbnQgJiYgIWhvdmVyZWRFdmVudCAmJiB2YWxpZGF0ZUV2ZW50KGV2ZW50KSkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VMZWF2ZUV2ZW50ID0gKCkgPT4ge1xuICAgIGlmIChob3ZlcmVkRXZlbnQgJiYgaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaG92ZXJlZEVkZ2VQYXRocykge1xuICAgICAgICBob3ZlcmVkRWRnZVBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICBjb25zdCBrYW5kb19vYmplY3QgPSBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGthbmRvX29iamVjdD8uaW5jbHVkZXMoJ0V2ZW50Qm9keScpIHx8XG4gICAgICAgICAgW1xuICAgICAgICAgICAgJ0V2ZW50VGFpbCcsXG4gICAgICAgICAgICAnU2FtcGxpbmdQb2ludCcsXG4gICAgICAgICAgICAnRGVjb3JhdG9yJyxcbiAgICAgICAgICAgICdIb3ZlcmVkRWRnZScsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2VGcm9udCcsXG4gICAgICAgICAgICAnRm9jdXNlZEVkZ2UnLFxuICAgICAgICAgICAgJ0ZvY3VzZWRFZGdlRnJvbnQnLFxuICAgICAgICAgIF0uaW5jbHVkZXMoa2FuZG9fb2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgfTtcblxuICBjb25zdCBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gbnVsbCAmJlxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gJ251bGwnICYmXG4gICAgICBmb2N1c2VkRXZlbnQgPT09IG51bGwgJiZcbiAgICAgIGl0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgIWlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAoZTogSUV2ZW50KSA9PiBlLmlkID09PSBwYXJzZUludChnZXRFdmVudElkRnJvbVVSTCgpISksXG4gICAgICApO1xuICAgICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaGFuZGxlRXZlbnRJdGVtQ2xpY2soZXZlbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB2YWxpZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgIChlKSA9PiBlLmlkLnRvU3RyaW5nKCkgPT09IGdldEV2ZW50SWRGcm9tVVJMKCksXG4gICAgKTtcblxuICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFdmVudChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSwgW1xuICAgIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCxcbiAgICBhcmVhc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZXZlbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgXSk7XG5cbiAgY29uc3QgdHJpZ2dlclNvcnQgPSAoc29ydDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciAhPT0gbnVsbCkge1xuICAgICAgbGV0IEtRTDtcbiAgICAgIGxldCBVUkw7XG4gICAgICBzd2l0Y2ggKHNvcnQpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnbmV3ZXN0Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZVxuICAgICAgICAgIH0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZldmVudElkPSR7Z2V0RXZlbnRJZEZyb21VUkwoKX0mbG9jYWxlPSR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfSZ2YWxpZEV2ZW50PSR7dmFsaWRFdmVudH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ29sZGVzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdzZXZlcml0eScpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBjYWxjRXZlbnRzUmVhbEFtb3VudCA9ICgpID0+IHtcbiAgICBsZXQgZXZlbnRzQ291bnQ6IG51bWJlciB8IHN0cmluZyA9IDA7XG4gICAgZXZlbnRzQ291bnQgPSBldmVudHNfZGF0YS5ldmVudHNfY291bnQ7XG4gICAgaWYgKGV2ZW50c0NvdW50ID4gNTApXG4gICAgICBldmVudHNDb3VudCA9IGAke2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3Lm1vcmVfdGhhbicpfSA1MGA7XG5cbiAgICByZXR1cm4gZXZlbnRzQ291bnQ7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaEV2ZW50cyh3YXRlckF1dGhvcml0eUlkLCBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgfHwgJ0RFRkFVTFQnKSk7XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICAhZXZlbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIHNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcygpO1xuICAgIH1cbiAgfSwgW1xuICAgIGV2ZW50c19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIHBvaW50c19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgYXJlYXNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW0sXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9eydzaWRlbmF2ICcgKyAoc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnc2lkZW5hdi0tY29sbGFwc2VkJyl9PlxuICAgICAge2dsb2JhbF9kYXRhLm1vcmVJbmZvICE9PSB1bmRlZmluZWQgJiYgZ2xvYmFsX2RhdGEubW9yZUluZm8uYWN0aXZlICYmIChcbiAgICAgICAgPE1vcmVJbmZvIC8+XG4gICAgICApfVxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgJ2V2ZW50LWluZm8gJyArXG4gICAgICAgICAgKCFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsXG4gICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICA6ICdldmVudC1pbmZvLS1jb2xsYXBzZWQnKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHshaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgPEV2ZW50SW5mb1xuICAgICAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgIHJlT3BlbkZpbHRlcj17KCkgPT4gc2V0RmlsdGVyUG9wdXBPcGVuKHRydWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPVwidG9nZ2xlLWV4cGFuc2lvbi1idXR0b25cIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmF2LWV4cGFuc2lvbi1pY29uXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgaWNvbj17c2lkZW5hdkV4cGFuZGVkID8gZmFDYXJldExlZnQgOiBmYUNhcmV0UmlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXsndG9nZ2xlLWV4cGFuc2lvbi1idXR0b24tbW9iaWxlJ31cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8YSBocmVmPVwiI1wiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2RldGFpbHMnKX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtaGVhZGVyXCI+XG4gICAgICAgIHtsYXN0VmlzaXRlZCAmJiAhaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgPExpbmsgY2xhc3NOYW1lPVwiYmFja1wiIHRvPXtsYXN0VmlzaXRlZH0+XG4gICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBzcmM9e0xlZnRBcnJvd0ljb259XG4gICAgICAgICAgICAgIGhlaWdodD1cIjEwcHhcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjEycHhcIlxuICAgICAgICAgICAgICBhbHQ9XCJiYWNrXCJcbiAgICAgICAgICAgIC8+eycgJ31cbiAgICAgICAgICAgIHtpMThuLnQoJ2FyZWFfc2NyZWVuLmJhY2snKX1cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICl9XG4gICAgICAgIDxoND5cbiAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRzX2xpc3QnKX1cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydldmVudHMtaGVhZGVyX19ldmVudHNfYW1vdW50J30+XG4gICAgICAgICAgICAoe2NhbGNFdmVudHNSZWFsQW1vdW50KCl9KVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9oND5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJpbmdcIj5cbiAgICAgICAgICB7ZXZlbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmIChcbiAgICAgICAgICAgIDxTb3J0XG4gICAgICAgICAgICAgIHRyaWdnZXJTb3J0PXt0cmlnZ2VyU29ydH1cbiAgICAgICAgICAgICAgZXZlbnRzPXtldmVudHNfZGF0YS5pdGVtc31cbiAgICAgICAgICAgICAgZXZlbnRzRmV0Y2hpbmc9e2V2ZW50c19kYXRhLmlzRmV0Y2hpbmd9XG4gICAgICAgICAgICAgIGFjdGl2ZUZpbHRlcj17Z2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaWNvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsdGVyXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0RmlsdGVyUG9wdXBPcGVuKCFmaWx0ZXJQb3B1cE9wZW4pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RmlsdGVySWNvbiB3aWR0aD1cIjE3cHhcIiBoZWlnaHQ9XCIxN3B4XCIgZmlsbD1cIiNmNjAwNGZcIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHtwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgJiYgIWZvY3VzZWRFdmVudCAmJiAoXG4gICAgICAgICAgPEZpbHRlckNvbnRhaW5lclxuICAgICAgICAgICAgZmlsdGVyUG9wdXBPcGVuPXtmaWx0ZXJQb3B1cE9wZW59XG4gICAgICAgICAgICBmZXRjaFR5cGU9eydFdmVudEZpbHRlcid9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtY29udGFpbmVyIHNjcm9sbGJhciBcIj5cbiAgICAgICAge2xvYWRlcigpfVxuICAgICAgICB7IWlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudHNfX2JsYW5rc2xhdGUnfT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e05vRXZlbnRzSW1hZ2V9IGFsdD1cIk5vRXZlbnRzSWNvblwiIC8+XG4gICAgICAgICAgICAgIDxoMj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuaGVhZGVyJyl9PC9oMj5cbiAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJvZHknKX08L3A+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYXBwbHlfZGVmYXVsdF9maWx0ZXJfYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBhcHBseURlZmF1bHRGaWx0ZXIoKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5idXR0b24nKX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAge2l0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImV2ZW50cyBcIj5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoZXZlbnQ6IGFueSkgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e2V2ZW50LmlkfSBjbGFzc05hbWU9XCJldmVudFwiIGRhdGEtZXZlbnQtaWQ9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgIDxTZXZlcmVFdmVudFxuICAgICAgICAgICAgICAgICAgICBldmVudD17ZXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNsaWNrPXtoYW5kbGVFdmVudEl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyRXZlbnQ9e29uTW91c2VFbnRlckV2ZW50fVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmVFdmVudD17b25Nb3VzZUxlYXZlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlRXZlbnQ9e3ZhbGlkYXRlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbkFsZXJ0PXtleGNlcHRpb25BbGVydH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFdmVudHNMaXN0KTtcbiJdfQ==
|