@kando-env/kando-ui 1.2.238-alpha.2 → 1.2.238-alpha.3
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/i18n/en.json +1 -0
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/EventsPage/events/events_list/EventsList.js +2 -2
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +28 -25
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +3 -3
- package/lib/store/events/actions.js +3 -3
- package/package.json +1 -1
package/lib/i18n/en.json
CHANGED
package/lib/macros/getVersion.js
CHANGED
|
@@ -327,7 +327,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
327
327
|
};
|
|
328
328
|
|
|
329
329
|
(0, _react.useEffect)(function () {
|
|
330
|
-
dispatch((0, _actions.fetchEvents)(waterAuthorityId, getKQLValuesFromURL() || 'DEFAULT'));
|
|
330
|
+
dispatch((0, _actions.fetchEvents)(waterAuthorityId, getKQLValuesFromURL() || 'DEFAULT', getEventIdFromURL()));
|
|
331
331
|
}, [global_data.waterAuthorityId, global_data.eventFilterParam]);
|
|
332
332
|
(0, _react.useEffect)(function () {
|
|
333
333
|
if (!events_data.isFetching && !edges_data.isFetching && !points_data.isFetching && !areas_data.isFetching) {
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50Iiwic2V0VGltZW91dCIsImV2ZW50RmlsdGVyUGFyYW0iLCJvbk1vdXNlRW50ZXJFdmVudCIsInJlbW92ZUxheWVyIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwiaW5jbHVkZXMiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidG9TdHJpbmciLCJ0cmlnZ2VyU29ydCIsInNvcnQiLCJhY3RpdmVGaWx0ZXIiLCJLUUwiLCJVUkwiLCJjYWxjRXZlbnRzUmVhbEFtb3VudCIsImV2ZW50c0NvdW50IiwiZXZlbnRzX2NvdW50IiwibW9yZUluZm8iLCJhY3RpdmUiLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImZhQXJyb3dMZWZ0IiwiTGVmdEFycm93SWNvbiIsIk5vRXZlbnRzSW1hZ2UiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUlBOztBQUVBOztBQUNBOztBQVFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUEvQkE7QUFpQ0EsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFDRUMsV0FERixHQU9JRCxLQVBKLENBQ0VDLFdBREY7QUFBQSxNQUVFQyxXQUZGLEdBT0lGLEtBUEosQ0FFRUUsV0FGRjtBQUFBLE1BR0VDLFVBSEYsR0FPSUgsS0FQSixDQUdFRyxVQUhGO0FBQUEsTUFJRUMsV0FKRixHQU9JSixLQVBKLENBSUVJLFdBSkY7QUFBQSxNQUtFQyxVQUxGLEdBT0lMLEtBUEosQ0FLRUssVUFMRjtBQUFBLE1BTUVDLGdCQU5GLEdBT0lOLEtBUEosQ0FNRU0sZ0JBTkY7QUFTQSxTQUFPO0FBQ0xMLElBQUFBLFdBQVcsRUFBWEEsV0FESztBQUVMQyxJQUFBQSxXQUFXLEVBQVhBLFdBRks7QUFHTEMsSUFBQUEsVUFBVSxFQUFWQSxVQUhLO0FBSUxDLElBQUFBLFdBQVcsRUFBWEEsV0FKSztBQUtMQyxJQUFBQSxVQUFVLEVBQVZBLFVBTEs7QUFNTEMsSUFBQUEsZ0JBQWdCLEVBQWhCQTtBQU5LLEdBQVA7QUFRRDs7QUFNRCxJQUFNQyxVQUE0QixHQUFHLFNBQS9CQSxVQUErQixPQVEvQjtBQUFBLE1BUEpGLFVBT0ksUUFQSkEsVUFPSTtBQUFBLE1BTkpELFdBTUksUUFOSkEsV0FNSTtBQUFBLE1BTEpELFVBS0ksUUFMSkEsVUFLSTtBQUFBLE1BSkpELFdBSUksUUFKSkEsV0FJSTtBQUFBLE1BSEpNLGVBR0ksUUFISkEsZUFHSTtBQUFBLE1BRkpQLFdBRUksUUFGSkEsV0FFSTtBQUFBLE1BREpLLGdCQUNJLFFBREpBLGdCQUNJO0FBQ0osTUFBTUcsUUFBUSxHQUFHLDhCQUFqQjtBQUNBLE1BQ0VDLEtBREYsR0FPSVQsV0FQSixDQUNFUyxLQURGO0FBQUEsTUFFRUMsVUFGRixHQU9JVixXQVBKLENBRUVVLFVBRkY7QUFBQSxNQUdFQyxZQUhGLEdBT0lYLFdBUEosQ0FHRVcsWUFIRjtBQUFBLE1BSUVDLFlBSkYsR0FPSVosV0FQSixDQUlFWSxZQUpGO0FBQUEsTUFLRUMsaUJBTEYsR0FPSWIsV0FQSixDQUtFYSxpQkFMRjtBQUFBLE1BTUVDLGdCQU5GLEdBT0lkLFdBUEosQ0FNRWMsZ0JBTkY7QUFRQSxNQUFRQyxnQkFBUixHQUFrQ2QsV0FBbEMsQ0FBUWMsZ0JBQVI7QUFBQSxNQUEwQkMsR0FBMUIsR0FBa0NmLFdBQWxDLENBQTBCZSxHQUExQjs7QUFDQSxrQkFBOEMscUJBQVMsSUFBVCxDQUE5QztBQUFBO0FBQUEsTUFBT0MsZUFBUDtBQUFBLE1BQXdCQyxrQkFBeEI7O0FBQ0EsbUJBQTRDLHFCQUd6QztBQUFFQyxJQUFBQSxRQUFRLEVBQUUsQ0FBQztBQUFFQyxNQUFBQSxPQUFPLEVBQUUsRUFBWDtBQUFlQyxNQUFBQSxRQUFRLEVBQUU7QUFBekIsS0FBRCxDQUFaO0FBQTRDQyxJQUFBQSxTQUFTLEVBQUU7QUFBdkQsR0FIeUMsQ0FBNUM7QUFBQTtBQUFBLE1BQU9DLGNBQVA7QUFBQSxNQUF1QkMsaUJBQXZCOztBQUlBLE1BQU1DLFdBQVcsR0FBRyxpQ0FBcEI7O0FBRUEsTUFBTUMsUUFBUSxHQUFHLFNBQVhBLFFBQVcsR0FBTTtBQUNyQixXQUFPLElBQUlDLGVBQUosQ0FBb0IsbUNBQWNDLE1BQWxDLENBQVA7QUFDRCxHQUZEOztBQUdBLE1BQU1DLE9BQU8sR0FBRyxpQ0FBaEI7QUFDQSxNQUFNQyxLQUFLLEdBQUdKLFFBQVEsRUFBdEI7O0FBQ0EsTUFBTUssbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixHQUFNO0FBQ2hDLFdBQU9ELEtBQUssQ0FBQ0UsR0FBTixDQUFVLGVBQVYsQ0FBUDtBQUNELEdBRkQ7O0FBR0EsTUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixHQUFNO0FBQzlCLFdBQU9ILEtBQUssQ0FBQ0UsR0FBTixDQUFVLFNBQVYsQ0FBUDtBQUNELEdBRkQ7O0FBSUEsTUFBTUUsTUFBTSxHQUFHLFNBQVRBLE1BQVMsR0FBTTtBQUNuQixRQUNHeEIsVUFBVSxJQUFJRCxLQUFLLENBQUMwQixNQUFOLEtBQWlCLENBQWhDLElBQ0EvQixVQUFVLENBQUNnQyxRQUFYLENBQW9CRCxNQUFwQixLQUErQixDQUQvQixJQUVBaEMsV0FBVyxDQUFDTyxVQUZaLElBR0FSLFVBQVUsQ0FBQ1EsVUFKYixFQUtFO0FBQ0EsMEJBQU87QUFBSyxRQUFBLFNBQVMsRUFBRTtBQUFoQixRQUFQO0FBQ0QsS0FQRCxNQU9PO0FBQ0wsYUFBTyxJQUFQO0FBQ0Q7QUFDRixHQVhEOztBQWFBLE1BQU0yQixxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXdCLEdBQU07QUFDbEM3QixJQUFBQSxRQUFRLENBQUMsK0JBQWdCLENBQUNELGVBQWpCLENBQUQsQ0FBUjtBQUNELEdBRkQ7O0FBSUEsTUFBTStCLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsR0FBTTtBQUMvQlQsSUFBQUEsT0FBTyxDQUFDVSxJQUFSLFlBQ01sQyxnQkFBZ0IsQ0FBQ21DLFVBQWpCLENBQTRCQyxJQURsQyx1Q0FDbUV4QyxXQUFXLENBQUNjLGdCQUQvRSxxQkFDMEdWLGdCQUFnQixDQUFDbUMsVUFBakIsQ0FBNEJFLE1BRHRJO0FBR0FsQyxJQUFBQSxRQUFRLENBQUMsbUNBQW9CLEVBQXBCLENBQUQsQ0FBUjtBQUNELEdBTEQ7O0FBT0EsTUFBTW1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ0MsS0FBRCxFQUFtQjtBQUN2QztBQUNBO0FBQ0EsUUFBSUMsMkJBQWdDLEdBQUcsRUFBdkM7QUFDQUQsSUFBQUEsS0FBSyxDQUFDRSxZQUFOLENBQW1CQyxPQUFuQixDQUEyQixVQUFDQyxXQUFELEVBQXNCO0FBQy9DO0FBQ0EsVUFBSSxDQUFDQSxXQUFXLENBQUNDLGFBQWpCLEVBQWdDO0FBQzlCLFlBQUlDLElBQUksR0FBR2hELFVBQVUsQ0FBQ08sS0FBWCxDQUFpQjBDLElBQWpCLENBQ1QsVUFBQ0QsSUFBRDtBQUFBLGlCQUFVQSxJQUFJLENBQUNFLGVBQUwsS0FBeUJKLFdBQVcsQ0FBQ0ssUUFBL0M7QUFBQSxTQURTLENBQVg7O0FBR0EsWUFBSUgsSUFBSSxLQUFLSSxTQUFiLEVBQXdCO0FBQ3RCVCxVQUFBQSwyQkFBMkIsQ0FBQ04sSUFBNUIsV0FDS1MsV0FBVyxDQUFDTyxVQURqQixlQUNnQ1AsV0FBVyxDQUFDSyxRQUQ1QztBQUdEO0FBQ0Y7QUFDRixLQVpEOztBQWNBLFFBQUlSLDJCQUEyQixDQUFDVixNQUE1QixLQUF1QyxDQUEzQyxFQUE4QztBQUM1QyxVQUFJcUIsS0FBSyxHQUFHakMsY0FBYyxDQUFDSixRQUFmLENBQXdCc0MsU0FBeEIsQ0FDVixVQUFDQyxHQUFEO0FBQUEsZUFBU0EsR0FBRyxDQUFDckMsUUFBSixLQUFpQnVCLEtBQUssQ0FBQ2UsRUFBaEM7QUFBQSxPQURVLENBQVo7O0FBSUEsVUFBSUgsS0FBSyxLQUFLLENBQUMsQ0FBZixFQUFrQjtBQUNoQmhDLFFBQUFBLGlCQUFpQixDQUFDO0FBQ2hCTCxVQUFBQSxRQUFRLDZDQUNISSxjQUFjLENBQUNKLFFBRFosSUFFTjtBQUNFQyxZQUFBQSxPQUFPLGVBQ0wseUVBQ0Usd0NBQUl3QyxjQUFLQyxDQUFMLENBQU8sb0NBQVAsQ0FBSixDQURGLENBRko7QUFNRXhDLFlBQUFBLFFBQVEsRUFBRXVCLEtBQUssQ0FBQ2U7QUFObEIsV0FGTSxFQURRO0FBWWhCckMsVUFBQUEsU0FBUyw2Q0FBTUMsY0FBYyxDQUFDRCxTQUFyQixJQUFnQ3NCLEtBQUssQ0FBQ2UsRUFBdEM7QUFaTyxTQUFELENBQWpCO0FBY0Q7O0FBQ0QsYUFBTyxLQUFQO0FBQ0QsS0F4Q3NDLENBMEN2QztBQUNBOzs7QUFDQSxRQUFJRyxtQkFBd0IsR0FBRyxFQUEvQjtBQUNBbEIsSUFBQUEsS0FBSyxDQUFDbUIsSUFBTixDQUFXaEIsT0FBWCxDQUFtQixVQUFDZ0IsSUFBRCxFQUFlO0FBQ2hDLFVBQUliLElBQUksR0FBR2hELFVBQVUsQ0FBQ08sS0FBWCxDQUFpQjBDLElBQWpCLENBQXNCLFVBQUNELElBQUQ7QUFBQSxlQUFVQSxJQUFJLENBQUNTLEVBQUwsS0FBWUksSUFBSSxDQUFDQyxPQUEzQjtBQUFBLE9BQXRCLENBQVg7O0FBQ0EsVUFBSWQsSUFBSSxLQUFLSSxTQUFiLEVBQXdCO0FBQ3RCVyxRQUFBQSxPQUFPLENBQUNDLEtBQVIsZ0JBQXNCSCxJQUFJLENBQUNDLE9BQTNCO0FBQ0EsWUFBSWhCLFdBQVcsR0FBR0osS0FBSyxDQUFDRSxZQUFOLENBQW1CSyxJQUFuQixDQUNoQixVQUFDSCxXQUFEO0FBQUEsaUJBQWlCQSxXQUFXLENBQUNXLEVBQVosS0FBbUJJLElBQUksQ0FBQ0ksbUJBQXpDO0FBQUEsU0FEZ0IsQ0FBbEI7QUFHQSxZQUFJQyxvQkFBb0IsR0FBRyxXQUEzQjs7QUFDQSxZQUFJcEIsV0FBSixFQUFpQjtBQUNmb0IsVUFBQUEsb0JBQW9CLEdBQUdwQixXQUFXLENBQUNPLFVBQW5DO0FBQ0FVLFVBQUFBLE9BQU8sQ0FBQ0MsS0FBUixDQUFjLHNCQUFkLEVBQXNDRSxvQkFBdEM7QUFDRCxTQVRxQixDQVd0Qjs7QUFDRDtBQUNGLEtBZkQ7O0FBaUJBLFFBQUlOLG1CQUFtQixDQUFDM0IsTUFBcEIsS0FBK0IsQ0FBbkMsRUFBc0M7QUFDcENYLE1BQUFBLGlCQUFpQixDQUFDO0FBQ2hCTCxRQUFBQSxRQUFRLDZDQUNISSxjQUFjLENBQUNKLFFBRFosSUFFTjtBQUNFQyxVQUFBQSxPQUFPLGVBQ0wseUVBQ0Usd0NBQUl3QyxjQUFLQyxDQUFMLENBQU8sMENBQVAsQ0FBSixDQURGLGVBRUUsMkNBQU9DLG1CQUFQLENBRkYsQ0FGSjtBQU9FekMsVUFBQUEsUUFBUSxFQUFFdUIsS0FBSyxDQUFDZTtBQVBsQixTQUZNLEVBRFE7QUFhaEJyQyxRQUFBQSxTQUFTLDZDQUFNQyxjQUFjLENBQUNELFNBQXJCLElBQWdDc0IsS0FBSyxDQUFDZSxFQUF0QztBQWJPLE9BQUQsQ0FBakI7QUFlQSxhQUFPLEtBQVA7QUFDRDs7QUFFRCxXQUFPLElBQVA7QUFDRCxHQWxGRDs7QUFvRkEsTUFBTVUsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUF1QixDQUMzQnpCLEtBRDJCLEVBRTNCMEIsR0FGMkIsRUFHeEI7QUFDSCxRQUFJQSxHQUFHLEtBQUssSUFBWixFQUFrQkMsaUJBQWlCLEdBRGhDLENBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EvRCxJQUFBQSxRQUFRLENBQUMsOEJBQWdCb0MsS0FBaEIsQ0FBRCxDQUFSO0FBQ0ExQixJQUFBQSxrQkFBa0IsQ0FBQyxLQUFELENBQWxCO0FBQ0FzRCxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmM0MsTUFBQUEsT0FBTyxDQUFDVSxJQUFSLFlBQ01sQyxnQkFBZ0IsQ0FBQ21DLFVBQWpCLENBQTRCQyxJQURsQyx1Q0FFSXhDLFdBQVcsQ0FBQ2MsZ0JBRmhCLHFCQUdhVixnQkFBZ0IsQ0FBQ21DLFVBQWpCLENBQTRCRSxNQUh6QyxzQkFJSUUsS0FBSyxDQUFDZSxFQUpWLDRCQU1JMUQsV0FBVyxDQUFDd0UsZ0JBTmhCLHlCQU9pQjlCLGFBQWEsQ0FBQ0MsS0FBRCxDQVA5QjtBQVNELEtBVlMsRUFVUCxHQVZPLENBQVY7QUFXRCxHQXpCRDs7QUEyQkEsTUFBTThCLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsQ0FBQzlCLEtBQUQsRUFBVztBQUNuQyxRQUFJLENBQUNqQyxZQUFELElBQWlCLENBQUNDLFlBQWxCLElBQWtDK0IsYUFBYSxDQUFDQyxLQUFELENBQW5ELEVBQTREO0FBQzFEcEMsTUFBQUEsUUFBUSxDQUFDLDhCQUFnQm9DLEtBQWhCLENBQUQsQ0FBUjtBQUNEO0FBQ0YsR0FKRDs7QUFNQSxNQUFNMkIsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixHQUFNO0FBQzlCLFFBQUkzRCxZQUFZLElBQUlDLGlCQUFoQixJQUFxQ0csR0FBekMsRUFBOEM7QUFDNUNILE1BQUFBLGlCQUFpQixDQUFDa0MsT0FBbEIsQ0FBMEIsVUFBQ2dCLElBQUQsRUFBVTtBQUNsQy9DLFFBQUFBLEdBQUcsQ0FBQzJELFdBQUosQ0FBZ0JaLElBQWhCO0FBQ0QsT0FGRDs7QUFJQSxVQUFJakQsZ0JBQUosRUFBc0I7QUFDcEJBLFFBQUFBLGdCQUFnQixDQUFDaUMsT0FBakIsQ0FBeUIsVUFBQ2dCLElBQUQsRUFBVTtBQUNqQy9DLFVBQUFBLEdBQUcsQ0FBQzJELFdBQUosQ0FBZ0JaLElBQWhCO0FBQ0QsU0FGRDtBQUdEOztBQUVELFVBQUlhLE1BQU0sR0FBRzVELEdBQUcsQ0FBQzZELE9BQWpCOztBQUNBLFdBQUssSUFBTUMsUUFBWCxJQUF1QkYsTUFBdkIsRUFBK0I7QUFDN0IsWUFBTUcsWUFBWSxHQUFHSCxNQUFNLENBQUNFLFFBQUQsQ0FBTixDQUFpQkMsWUFBdEM7O0FBQ0EsWUFDRSxDQUFBQSxZQUFZLFNBQVosSUFBQUEsWUFBWSxXQUFaLFlBQUFBLFlBQVksQ0FBRUMsUUFBZCxDQUF1QixXQUF2QixNQUNBLENBQ0UsV0FERixFQUVFLGVBRkYsRUFHRSxXQUhGLEVBSUUsYUFKRixFQUtFLGtCQUxGLEVBTUUsYUFORixFQU9FLGtCQVBGLEVBUUVBLFFBUkYsQ0FRV0QsWUFSWCxDQUZGLEVBV0U7QUFDQS9ELFVBQUFBLEdBQUcsQ0FBQzJELFdBQUosQ0FBZ0JDLE1BQU0sQ0FBQ0UsUUFBRCxDQUF0QjtBQUNEO0FBQ0Y7QUFDRjs7QUFDRHRFLElBQUFBLFFBQVEsQ0FBQyw4QkFBZ0IsSUFBaEIsQ0FBRCxDQUFSO0FBQ0FBLElBQUFBLFFBQVEsQ0FBQyxtQ0FBcUIsRUFBckIsQ0FBRCxDQUFSO0FBQ0FBLElBQUFBLFFBQVEsQ0FBQyxrQ0FBb0IsRUFBcEIsQ0FBRCxDQUFSO0FBQ0QsR0FsQ0Q7O0FBb0NBLE1BQU15RSw4QkFBOEIsR0FBRyxTQUFqQ0EsOEJBQWlDLEdBQU07QUFDM0MsUUFDRWhELGlCQUFpQixPQUFPLElBQXhCLElBQ0FBLGlCQUFpQixPQUFPLE1BRHhCLElBRUF0QixZQUFZLEtBQUssSUFGakIsSUFHQUYsS0FBSyxDQUFDMEIsTUFBTixLQUFpQixDQUhqQixJQUlBLENBQUN6QixVQUpELElBS0EsQ0FBQ04sVUFBVSxDQUFDTSxVQUxaLElBTUEsQ0FBQ1AsV0FBVyxDQUFDTyxVQU5iLElBT0EsQ0FBQ1IsVUFBVSxDQUFDUSxVQVJkLEVBU0U7QUFDQSxVQUFJa0MsS0FBSyxHQUFHNUMsV0FBVyxDQUFDUyxLQUFaLENBQWtCMEMsSUFBbEIsQ0FDVixVQUFDK0IsQ0FBRDtBQUFBLGVBQWVBLENBQUMsQ0FBQ3ZCLEVBQUYsS0FBU3dCLFFBQVEsQ0FBQ2xELGlCQUFpQixFQUFsQixDQUFoQztBQUFBLE9BRFUsQ0FBWjs7QUFHQSxVQUFJVyxLQUFLLEtBQUtVLFNBQWQsRUFBeUI7QUFDdkJlLFFBQUFBLG9CQUFvQixDQUFDekIsS0FBRCxFQUFRLElBQVIsQ0FBcEI7QUFDRDtBQUNGO0FBQ0YsR0FsQkQ7O0FBb0JBLE1BQU13QyxVQUFVLEdBQUcsb0JBQVEsWUFBTTtBQUMvQixRQUFJeEMsS0FBSyxHQUFHNUMsV0FBVyxDQUFDUyxLQUFaLENBQWtCMEMsSUFBbEIsQ0FDVixVQUFDK0IsQ0FBRDtBQUFBLGFBQU9BLENBQUMsQ0FBQ3ZCLEVBQUYsQ0FBSzBCLFFBQUwsT0FBb0JwRCxpQkFBaUIsRUFBNUM7QUFBQSxLQURVLENBQVo7O0FBSUEsUUFBSVcsS0FBSyxLQUFLVSxTQUFkLEVBQXlCO0FBQ3ZCLGFBQU9YLGFBQWEsQ0FBQ0MsS0FBRCxDQUFwQjtBQUNELEtBRkQsTUFFTztBQUNMLGFBQU8sSUFBUDtBQUNEO0FBQ0YsR0FWa0IsRUFVaEIsQ0FDRDVDLFdBQVcsQ0FBQ1csWUFEWCxFQUVEUCxVQUFVLENBQUNNLFVBRlYsRUFHRFAsV0FBVyxDQUFDTyxVQUhYLEVBSURSLFVBQVUsQ0FBQ1EsVUFKVixFQUtEVixXQUFXLENBQUNVLFVBTFgsQ0FWZ0IsQ0FBbkI7O0FBa0JBLE1BQU00RSxXQUFXLEdBQUcsU0FBZEEsV0FBYyxDQUFDQyxJQUFELEVBQWtCO0FBQ3BDLFFBQUl0RixXQUFXLENBQUN1RixZQUFaLEtBQTZCLElBQWpDLEVBQXVDO0FBQ3JDLFVBQUlDLEdBQUo7QUFDQSxVQUFJQyxHQUFKOztBQUNBLGNBQVFILElBQVI7QUFDRSxhQUFLLENBQUw7QUFDRUUsVUFBQUEsR0FBRyxhQUFNLHdCQUFjeEYsV0FBVyxDQUFDdUYsWUFBMUIsRUFBd0MsUUFBeEMsQ0FBTixDQUFIO0FBQ0FFLFVBQUFBLEdBQUcsY0FDRHJGLGdCQUFnQixDQUFDbUMsVUFBakIsQ0FBNEJDLElBRDNCLHVDQUdEeEMsV0FBVyxDQUFDYyxnQkFIWCxzQkFJU2tCLGlCQUFpQixFQUoxQixxQkFLRDVCLGdCQUFnQixDQUFDbUMsVUFBakIsQ0FBNEJFLE1BTDNCLDRCQU1lK0MsR0FOZix5QkFNaUNMLFVBTmpDLENBQUg7QUFPQXZELFVBQUFBLE9BQU8sQ0FBQ1UsSUFBUixDQUFhbUQsR0FBYjtBQUNBbEYsVUFBQUEsUUFBUSxDQUFDLG1DQUFvQmlGLEdBQXBCLENBQUQsQ0FBUjtBQUNBOztBQUNGLGFBQUssQ0FBTDtBQUNFQSxVQUFBQSxHQUFHLGFBQU0sd0JBQWN4RixXQUFXLENBQUN1RixZQUExQixFQUF3QyxRQUF4QyxDQUFOLENBQUg7QUFDQUUsVUFBQUEsR0FBRyxjQUNEckYsZ0JBQWdCLENBQUNtQyxVQUFqQixDQUE0QkMsSUFEM0IsdUNBR0R4QyxXQUFXLENBQUNjLGdCQUhYLHNCQUlTa0IsaUJBQWlCLEVBSjFCLHFCQUtENUIsZ0JBQWdCLENBQUNtQyxVQUFqQixDQUE0QkUsTUFMM0IsNEJBTWUrQyxHQU5mLHlCQU1pQ0wsVUFOakMsQ0FBSDtBQU9BdkQsVUFBQUEsT0FBTyxDQUFDVSxJQUFSLENBQWFtRCxHQUFiO0FBQ0FsRixVQUFBQSxRQUFRLENBQUMsbUNBQW9CaUYsR0FBcEIsQ0FBRCxDQUFSO0FBQ0E7O0FBQ0YsYUFBSyxDQUFMO0FBQ0VBLFVBQUFBLEdBQUcsYUFBTSx3QkFBY3hGLFdBQVcsQ0FBQ3VGLFlBQTFCLEVBQXdDLFVBQXhDLENBQU4sQ0FBSDtBQUNBRSxVQUFBQSxHQUFHLGNBQ0RyRixnQkFBZ0IsQ0FBQ21DLFVBQWpCLENBQTRCQyxJQUQzQix1Q0FHRHhDLFdBQVcsQ0FBQ2MsZ0JBSFgsc0JBSVNrQixpQkFBaUIsRUFKMUIscUJBS0Q1QixnQkFBZ0IsQ0FBQ21DLFVBQWpCLENBQTRCRSxNQUwzQiw0QkFNZStDLEdBTmYseUJBTWlDTCxVQU5qQyxDQUFIO0FBT0F2RCxVQUFBQSxPQUFPLENBQUNVLElBQVIsQ0FBYW1ELEdBQWI7QUFDQWxGLFVBQUFBLFFBQVEsQ0FBQyxtQ0FBb0JpRixHQUFwQixDQUFELENBQVI7QUFDQTtBQXBDSjtBQXNDRDtBQUNGLEdBM0NEOztBQTZDQSxNQUFNRSxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQXVCLEdBQU07QUFDakMsUUFBSUMsV0FBNEIsR0FBRyxDQUFuQztBQUNBQSxJQUFBQSxXQUFXLEdBQUc1RixXQUFXLENBQUM2RixZQUExQjtBQUNBLFFBQUlELFdBQVcsR0FBRyxFQUFsQixFQUNFQSxXQUFXLGFBQU1oQyxjQUFLQyxDQUFMLENBQU8sMkJBQVAsQ0FBTixRQUFYO0FBRUYsV0FBTytCLFdBQVA7QUFDRCxHQVBEOztBQVNBLHdCQUFVLFlBQU07QUFDZHBGLElBQUFBLFFBQVEsQ0FBQywwQkFBWU8sZ0JBQVosRUFBOEJnQixtQkFBbUIsTUFBTSxTQUF2RCxDQUFELENBQVI7QUFDRCxHQUZELEVBRUcsQ0FBQzlCLFdBQVcsQ0FBQ2MsZ0JBQWIsRUFBK0JkLFdBQVcsQ0FBQ3dFLGdCQUEzQyxDQUZIO0FBSUEsd0JBQVUsWUFBTTtBQUNkLFFBQ0UsQ0FBQ3pFLFdBQVcsQ0FBQ1UsVUFBYixJQUNBLENBQUNSLFVBQVUsQ0FBQ1EsVUFEWixJQUVBLENBQUNQLFdBQVcsQ0FBQ08sVUFGYixJQUdBLENBQUNOLFVBQVUsQ0FBQ00sVUFKZCxFQUtFO0FBQ0F1RSxNQUFBQSw4QkFBOEI7QUFDL0I7QUFDRixHQVRELEVBU0csQ0FDRGpGLFdBQVcsQ0FBQ1UsVUFEWCxFQUVEUixVQUFVLENBQUNRLFVBRlYsRUFHRFAsV0FBVyxDQUFDTyxVQUhYLEVBSUROLFVBQVUsQ0FBQ00sVUFKVixFQUtEVCxXQUFXLENBQUN3RSxnQkFMWCxDQVRIO0FBaUJBLHNCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUUsY0FBY2xFLGVBQWUsR0FBRyxFQUFILEdBQVEsb0JBQXJDO0FBQWhCLEtBQ0dOLFdBQVcsQ0FBQzZGLFFBQVosS0FBeUJ4QyxTQUF6QixJQUFzQ3JELFdBQVcsQ0FBQzZGLFFBQVosQ0FBcUJDLE1BQTNELGlCQUNDLDZCQUFDLGlCQUFELE9BRkosZUFLRTtBQUNFLElBQUEsU0FBUyxFQUNQLGlCQUNDLENBQUNuRixZQUFELElBQWlCRCxZQUFZLEtBQUssSUFBbEMsR0FDRyxFQURILEdBRUcsdUJBSEo7QUFGSixLQVFHLENBQUNDLFlBQUQsSUFBaUJELFlBQVksS0FBSyxJQUFsQyxpQkFDQyw2QkFBQyxrQkFBRDtBQUNFLElBQUEsS0FBSyxFQUFFQSxZQURUO0FBRUUsSUFBQSxZQUFZLEVBQUU7QUFBQSxhQUFNTyxrQkFBa0IsQ0FBQyxJQUFELENBQXhCO0FBQUE7QUFGaEIsSUFUSixDQUxGLGVBb0JFO0FBQ0UsSUFBQSxTQUFTLEVBQUMseUJBRFo7QUFFRSxJQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNibUIsTUFBQUEscUJBQXFCO0FBQ3RCO0FBSkgsa0JBTUU7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFLDZCQUFDLGlDQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUU5QixlQUFlLEdBQUd5Riw4QkFBSCxHQUFpQkM7QUFEeEMsSUFERixDQU5GLENBcEJGLGVBZ0NFO0FBQ0UsSUFBQSxTQUFTLEVBQUUsZ0NBRGI7QUFFRSxJQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiNUQsTUFBQUEscUJBQXFCO0FBQ3RCO0FBSkgsa0JBTUU7QUFBRyxJQUFBLElBQUksRUFBQztBQUFSLGtCQUNFLDZCQUFDLGlDQUFEO0FBQWlCLElBQUEsSUFBSSxFQUFFNkQ7QUFBdkIsSUFERixlQUVFLGdEQUFRdEMsY0FBS0MsQ0FBTCxDQUFPLGlDQUFQLENBQVIsQ0FGRixDQU5GLENBaENGLGVBMkNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUNHcEMsV0FBVyxJQUFJLENBQUNmLFVBQWhCLGlCQUNDLDZCQUFDLG9CQUFEO0FBQU0sSUFBQSxTQUFTLEVBQUMsTUFBaEI7QUFBdUIsSUFBQSxFQUFFLEVBQUVlO0FBQTNCLEtBQ0csR0FESCxlQUVFO0FBQ0UsSUFBQSxHQUFHLEVBQUUwRSxrQkFEUDtBQUVFLElBQUEsTUFBTSxFQUFDLE1BRlQ7QUFHRSxJQUFBLEtBQUssRUFBQyxNQUhSO0FBSUUsSUFBQSxHQUFHLEVBQUM7QUFKTixJQUZGLEVBT0ssR0FQTCxFQVFHdkMsY0FBS0MsQ0FBTCxDQUFPLGtCQUFQLENBUkgsQ0FGSixlQWFFLHlDQUNHRCxjQUFLQyxDQUFMLENBQU8sNkJBQVAsQ0FESCxlQUVFO0FBQU0sSUFBQSxTQUFTLEVBQUU7QUFBakIsVUFDSThCLG9CQUFvQixFQUR4QixNQUZGLENBYkYsZUFtQkU7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0czRixXQUFXLENBQUNTLEtBQVosQ0FBa0IwQixNQUFsQixLQUE2QixDQUE3QixpQkFDQyw2QkFBQyxhQUFEO0FBQ0UsSUFBQSxXQUFXLEVBQUVtRCxXQURmO0FBRUUsSUFBQSxNQUFNLEVBQUV0RixXQUFXLENBQUNTLEtBRnRCO0FBR0UsSUFBQSxjQUFjLEVBQUVULFdBQVcsQ0FBQ1UsVUFIOUI7QUFJRSxJQUFBLFlBQVksRUFBRVQsV0FBVyxDQUFDdUY7QUFKNUIsSUFGSixlQVNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUNFLElBQUEsU0FBUyxFQUFDLFFBRFo7QUFFRSxJQUFBLE9BQU8sRUFBRTtBQUFBLGFBQU10RSxrQkFBa0IsQ0FBQyxDQUFDRCxlQUFGLENBQXhCO0FBQUE7QUFGWCxrQkFJRSw2QkFBQyxzQkFBRDtBQUFZLElBQUEsS0FBSyxFQUFDLE1BQWxCO0FBQXlCLElBQUEsTUFBTSxFQUFDLE1BQWhDO0FBQXVDLElBQUEsSUFBSSxFQUFDO0FBQTVDLElBSkYsQ0FERixDQVRGLENBbkJGLEVBc0NHZCxXQUFXLENBQUNNLEtBQVosQ0FBa0IwQixNQUFsQixLQUE2QixDQUE3QixJQUFrQyxDQUFDeEIsWUFBbkMsaUJBQ0MsNkJBQUMsd0JBQUQ7QUFDRSxJQUFBLGVBQWUsRUFBRU0sZUFEbkI7QUFFRSxJQUFBLFNBQVMsRUFBRTtBQUZiLElBdkNKLENBM0NGLGVBd0ZFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUNHaUIsTUFBTSxFQURULEVBRUcsQ0FBQ3hCLFVBQUQsSUFDQ0QsS0FBSyxDQUFDMEIsTUFBTixLQUFpQixDQURsQixJQUVDLENBQUNoQyxXQUFXLENBQUNPLFVBRmQsSUFHQyxDQUFDUixVQUFVLENBQUNRLFVBSGIsaUJBSUc7QUFBSyxJQUFBLFNBQVMsRUFBRTtBQUFoQixrQkFDRTtBQUFLLElBQUEsR0FBRyxFQUFFMEYsa0JBQVY7QUFBeUIsSUFBQSxHQUFHLEVBQUM7QUFBN0IsSUFERixlQUVFLHlDQUFLeEMsY0FBS0MsQ0FBTCxDQUFPLDBDQUFQLENBQUwsQ0FGRixlQUdFLHdDQUFJRCxjQUFLQyxDQUFMLENBQU8sd0NBQVAsQ0FBSixDQUhGLGVBSUU7QUFDRSxJQUFBLFNBQVMsRUFBRSw2QkFEYjtBQUVFLElBQUEsT0FBTyxFQUFFO0FBQUEsYUFBTXZCLGtCQUFrQixFQUF4QjtBQUFBO0FBRlgsS0FJR3NCLGNBQUtDLENBQUwsQ0FBTywwQ0FBUCxDQUpILENBSkYsQ0FOTixFQWtCR3BELEtBQUssQ0FBQzBCLE1BQU4sS0FBaUIsQ0FBakIsSUFDQyxDQUFDL0IsVUFBVSxDQUFDTSxVQURiLElBRUMsQ0FBQ1AsV0FBVyxDQUFDTyxVQUZkLElBR0MsQ0FBQ1IsVUFBVSxDQUFDUSxVQUhiLGlCQUlHO0FBQUksSUFBQSxTQUFTLEVBQUM7QUFBZCxLQUNHRCxLQUFLLENBQUNPLEdBQU4sQ0FBVSxVQUFDNEIsS0FBRDtBQUFBLHdCQUNUO0FBQUksTUFBQSxHQUFHLEVBQUVBLEtBQUssQ0FBQ2UsRUFBZjtBQUFtQixNQUFBLFNBQVMsRUFBQyxPQUE3QjtBQUFxQyx1QkFBZWYsS0FBSyxDQUFDZTtBQUExRCxvQkFDRSw2QkFBQyx3QkFBRDtBQUNFLE1BQUEsS0FBSyxFQUFFZixLQURUO0FBRUUsTUFBQSxXQUFXLEVBQUV5QixvQkFGZjtBQUdFLE1BQUEsaUJBQWlCLEVBQUVLLGlCQUhyQjtBQUlFLE1BQUEsaUJBQWlCLEVBQUVILGlCQUpyQjtBQUtFLE1BQUEsYUFBYSxFQUFFNUIsYUFMakI7QUFNRSxNQUFBLGNBQWMsRUFBRXBCO0FBTmxCLE1BREYsQ0FEUztBQUFBLEdBQVYsQ0FESCxDQXRCTixDQXhGRixDQURGO0FBaUlELENBemNEOztBQTJjQSxJQUFNOEUsU0FBUyxHQUFHLHlCQUFRdkcsZUFBUixDQUFsQjs7ZUFDZXVHLFNBQVMsQ0FBQy9GLFVBQUQsQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBFdmVudEluZm8gZnJvbSAnLi4vZXZlbnRfaW5mby9FdmVudEluZm8nO1xuaW1wb3J0IE1vcmVJbmZvIGZyb20gJy4uL01vcmVJbmZvJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyJztcbmltcG9ydCBTb3J0IGZyb20gJy4vU29ydCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNpZGVuYXZFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEV2ZW50c0xpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhc19kYXRhLFxuICBwb2ludHNfZGF0YSxcbiAgZWRnZXNfZGF0YSxcbiAgZ2xvYmFsX2RhdGEsXG4gIHNpZGVuYXZFeHBhbmRlZCxcbiAgZXZlbnRzX2RhdGEsXG4gIG5hdl9jb250ZXh0X2RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qge1xuICAgIGl0ZW1zLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnRQYXRocyxcbiAgICBob3ZlcmVkRWRnZVBhdGhzLFxuICB9ID0gZXZlbnRzX2RhdGE7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgW2ZpbHRlclBvcHVwT3Blbiwgc2V0RmlsdGVyUG9wdXBPcGVuXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbZXhjZXB0aW9uQWxlcnQsIHNldEV4Y2VwdGlvbkFsZXJ0XSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlczogeyBtZXNzYWdlOiBhbnk7IGV2ZW50X2lkOiBudW1iZXIgfVtdO1xuICAgIGV2ZW50X2lkczogbnVtYmVyW107XG4gIH0+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==
|
|
432
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50Iiwic2V0VGltZW91dCIsImV2ZW50RmlsdGVyUGFyYW0iLCJvbk1vdXNlRW50ZXJFdmVudCIsInJlbW92ZUxheWVyIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwiaW5jbHVkZXMiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidG9TdHJpbmciLCJ0cmlnZ2VyU29ydCIsInNvcnQiLCJhY3RpdmVGaWx0ZXIiLCJLUUwiLCJVUkwiLCJjYWxjRXZlbnRzUmVhbEFtb3VudCIsImV2ZW50c0NvdW50IiwiZXZlbnRzX2NvdW50IiwibW9yZUluZm8iLCJhY3RpdmUiLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImZhQXJyb3dMZWZ0IiwiTGVmdEFycm93SWNvbiIsIk5vRXZlbnRzSW1hZ2UiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUlBOztBQUVBOztBQUNBOztBQVFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUEvQkE7QUFpQ0EsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFDRUMsV0FERixHQU9JRCxLQVBKLENBQ0VDLFdBREY7QUFBQSxNQUVFQyxXQUZGLEdBT0lGLEtBUEosQ0FFRUUsV0FGRjtBQUFBLE1BR0VDLFVBSEYsR0FPSUgsS0FQSixDQUdFRyxVQUhGO0FBQUEsTUFJRUMsV0FK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YmxlIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBFdmVudEluZm8gZnJvbSAnLi4vZXZlbnRfaW5mby9FdmVudEluZm8nO1xuaW1wb3J0IE1vcmVJbmZvIGZyb20gJy4uL01vcmVJbmZvJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyJztcbmltcG9ydCBTb3J0IGZyb20gJy4vU29ydCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNpZGVuYXZFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEV2ZW50c0xpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhc19kYXRhLFxuICBwb2ludHNfZGF0YSxcbiAgZWRnZXNfZGF0YSxcbiAgZ2xvYmFsX2RhdGEsXG4gIHNpZGVuYXZFeHBhbmRlZCxcbiAgZXZlbnRzX2RhdGEsXG4gIG5hdl9jb250ZXh0X2RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qge1xuICAgIGl0ZW1zLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnRQYXRocyxcbiAgICBob3ZlcmVkRWRnZVBhdGhzLFxuICB9ID0gZXZlbnRzX2RhdGE7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgW2ZpbHRlclBvcHVwT3Blbiwgc2V0RmlsdGVyUG9wdXBPcGVuXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbZXhjZXB0aW9uQWxlcnQsIHNldEV4Y2VwdGlvbkFsZXJ0XSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlczogeyBtZXNzYWdlOiBhbnk7IGV2ZW50X2lkOiBudW1iZXIgfVtdO1xuICAgIGV2ZW50X2lkczogbnVtYmVyW107XG4gIH0+KHsgbWVzc2FnZXM6IFt7IG1lc3NhZ2U6ICcnLCBldmVudF9pZDogMCB9XSwgZXZlbnRfaWRzOiBbXSB9KTtcbiAgY29uc3QgbGFzdFZpc2l0ZWQgPSB1c2VMYXN0VmlzaXRlZCgpO1xuXG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuICBjb25zdCBnZXRLUUxWYWx1ZXNGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3ZhbHVlc0Zyb21LUUwnKTtcbiAgfTtcbiAgY29uc3QgZ2V0RXZlbnRJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnZXZlbnRJZCcpO1xuICB9O1xuXG4gIGNvbnN0IGxvYWRlciA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICAoaXNGZXRjaGluZyAmJiBpdGVtcy5sZW5ndGggPT09IDApIHx8XG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9eydsb2FkZXInfT48L2Rpdj47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbnNpb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKCFzaWRlbmF2RXhwYW5kZWQpKTtcbiAgfTtcblxuICBjb25zdCBhcHBseURlZmF1bHRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPWAsXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKCcnKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVFdmVudCA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgLy8gY2hlY2sgdGhhdCBhbGwgb2JzZXJ2YXRpb25zJyBlZGdlcyBleGlzdHMuIElmIHRoZXkgYXJlIG5vdCBleGlzdHMgaXQncyBpbmRpY2F0ZXMgdGhhdCB0aGVpciBwb2ludHMgYXJlXG4gICAgLy8gbm90IGluIHRoZSBoaWVyYXJjaHkgb3IgZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgIC8vIGlmIG9ic2VydmF0aW9uIGlzIHJvb3QgKGV4LiBXV1RQKSB0aGVyZSBpcyBubyBlZGdlIHRoYXQgaXRzIGEgc291cmNlLiBzbyB3ZSBjYW4gc2tpcCB0aGlzIGNoZWNrXG4gICAgICBpZiAoIW9ic2VydmF0aW9uLnBvaW50X2lzX3Jvb3QpIHtcbiAgICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBvYnNlcnZhdGlvbi5wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgYCR7b2JzZXJ2YXRpb24ucG9pbnRfbmFtZX0gKCR7b2JzZXJ2YXRpb24ucG9pbnRfaWR9KSBgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgaW5kZXggPSBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5maW5kSW5kZXgoXG4gICAgICAgIChtc2cpID0+IG1zZy5ldmVudF9pZCA9PT0gZXZlbnQuaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X2RhdGFfbWlzc2luZycpfTwvcD5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzYW1lIGNoZWNrIGFzIGFib3ZlIGJ1dCB0aGlzIHRpbWUgZm9yIHRoZSBldmVudCBwYXRoLiBJZiBlZGdlIGRvZXNuJ3QgZXhpc3QsIGl0J3MgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZVxuICAgIC8vIHBvaW50cyBkb3duc3RyZWFtIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkUGF0aE1lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYGVkZ2UgJHtwYXRoLmVkZ2VfaWR9IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgICAgICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgKG9ic2VydmF0aW9uKSA9PiBvYnNlcnZhdGlvbi5pZCA9PT0gcGF0aC5sYXN0X29ic2VydmF0aW9uX2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSAnTm90IGZvdW5kJztcbiAgICAgICAgaWYgKG9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSBvYnNlcnZhdGlvbi5wb2ludF9uYW1lO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xhc3RPYnNlcnZhdGlvblBvaW50JywgbGFzdE9ic2VydmF0aW9uUG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52YWxpZFBhdGhNZXNzYWdlcy5wdXNoKGAke2xhc3RPYnNlcnZhdGlvblBvaW50fSBgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkUGF0aE1lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfdmVyaWZ5X2Nvb3JkaW5hdGVzJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxzcGFuPntpbnZhbGlkUGF0aE1lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXZlbnRJdGVtQ2xpY2sgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICByZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4gfCBudWxsLFxuICApID0+IHtcbiAgICBpZiAocmVmICE9PSBudWxsKSBvbk1vdXNlTGVhdmVFdmVudCgpO1xuICAgIC8vIGlmIChob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAvLyAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgIC8vICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgIC8vICAgICB9KTtcbiAgICAvLyB9XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlckV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICBzZXRGaWx0ZXJQb3B1cE9wZW4oZmFsc2UpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZldmVudElkPSR7XG4gICAgICAgICAgZXZlbnQuaWRcbiAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbVxuICAgICAgICB9JnZhbGlkRXZlbnQ9JHt2YWxpZGF0ZUV2ZW50KGV2ZW50KX1gLFxuICAgICAgKTtcbiAgICB9LCA1MDApO1xuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VFbnRlckV2ZW50ID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFmb2N1c2VkRXZlbnQgJiYgIWhvdmVyZWRFdmVudCAmJiB2YWxpZGF0ZUV2ZW50KGV2ZW50KSkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VMZWF2ZUV2ZW50ID0gKCkgPT4ge1xuICAgIGlmIChob3ZlcmVkRXZlbnQgJiYgaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaG92ZXJlZEVkZ2VQYXRocykge1xuICAgICAgICBob3ZlcmVkRWRnZVBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICBjb25zdCBrYW5kb19vYmplY3QgPSBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGthbmRvX29iamVjdD8uaW5jbHVkZXMoJ0V2ZW50Qm9keScpIHx8XG4gICAgICAgICAgW1xuICAgICAgICAgICAgJ0V2ZW50VGFpbCcsXG4gICAgICAgICAgICAnU2FtcGxpbmdQb2ludCcsXG4gICAgICAgICAgICAnRGVjb3JhdG9yJyxcbiAgICAgICAgICAgICdIb3ZlcmVkRWRnZScsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2VGcm9udCcsXG4gICAgICAgICAgICAnRm9jdXNlZEVkZ2UnLFxuICAgICAgICAgICAgJ0ZvY3VzZWRFZGdlRnJvbnQnLFxuICAgICAgICAgIF0uaW5jbHVkZXMoa2FuZG9fb2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgfTtcblxuICBjb25zdCBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gbnVsbCAmJlxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gJ251bGwnICYmXG4gICAgICBmb2N1c2VkRXZlbnQgPT09IG51bGwgJiZcbiAgICAgIGl0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgIWlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAoZTogSUV2ZW50KSA9PiBlLmlkID09PSBwYXJzZUludChnZXRFdmVudElkRnJvbVVSTCgpISksXG4gICAgICApO1xuICAgICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaGFuZGxlRXZlbnRJdGVtQ2xpY2soZXZlbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB2YWxpZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgIChlKSA9PiBlLmlkLnRvU3RyaW5nKCkgPT09IGdldEV2ZW50SWRGcm9tVVJMKCksXG4gICAgKTtcblxuICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFdmVudChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSwgW1xuICAgIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCxcbiAgICBhcmVhc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZXZlbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgXSk7XG5cbiAgY29uc3QgdHJpZ2dlclNvcnQgPSAoc29ydDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciAhPT0gbnVsbCkge1xuICAgICAgbGV0IEtRTDtcbiAgICAgIGxldCBVUkw7XG4gICAgICBzd2l0Y2ggKHNvcnQpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnbmV3ZXN0Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZVxuICAgICAgICAgIH0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZldmVudElkPSR7Z2V0RXZlbnRJZEZyb21VUkwoKX0mbG9jYWxlPSR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfSZ2YWxpZEV2ZW50PSR7dmFsaWRFdmVudH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ29sZGVzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdzZXZlcml0eScpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBjYWxjRXZlbnRzUmVhbEFtb3VudCA9ICgpID0+IHtcbiAgICBsZXQgZXZlbnRzQ291bnQ6IG51bWJlciB8IHN0cmluZyA9IDA7XG4gICAgZXZlbnRzQ291bnQgPSBldmVudHNfZGF0YS5ldmVudHNfY291bnQ7XG4gICAgaWYgKGV2ZW50c0NvdW50ID4gNTApXG4gICAgICBldmVudHNDb3VudCA9IGAke2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3Lm1vcmVfdGhhbicpfSA1MGA7XG5cbiAgICByZXR1cm4gZXZlbnRzQ291bnQ7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChcbiAgICAgIGZldGNoRXZlbnRzKFxuICAgICAgICB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgfHwgJ0RFRkFVTFQnLFxuICAgICAgICBnZXRFdmVudElkRnJvbVVSTCgpLFxuICAgICAgKSxcbiAgICApO1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgIWV2ZW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMoKTtcbiAgICB9XG4gIH0sIFtcbiAgICBldmVudHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGFyZWFzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXsnc2lkZW5hdiAnICsgKHNpZGVuYXZFeHBhbmRlZCA/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=
|
|
@@ -106,12 +106,11 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
106
106
|
var query = (0, _useQueryURL.default)();
|
|
107
107
|
|
|
108
108
|
var getPathogen = function getPathogen() {
|
|
109
|
-
return query.get('pathogen') || '';
|
|
109
|
+
return query.get('pathogen') || 'covid';
|
|
110
110
|
};
|
|
111
111
|
|
|
112
|
-
var pathogens = (0, _reactRedux.useSelector)(function (
|
|
113
|
-
|
|
114
|
-
return permissions.pathogens;
|
|
112
|
+
var pathogens = (0, _reactRedux.useSelector)(function (state) {
|
|
113
|
+
return state.permissions.pathogens;
|
|
115
114
|
});
|
|
116
115
|
|
|
117
116
|
var _useState = (0, _react.useState)([]),
|
|
@@ -119,37 +118,35 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
119
118
|
currentData = _useState2[0],
|
|
120
119
|
setCurrentData = _useState2[1];
|
|
121
120
|
|
|
122
|
-
var _useState3 = (0, _react.useState)(
|
|
123
|
-
return item.toLowerCase() === getPathogen().toLowerCase();
|
|
124
|
-
}) || ''),
|
|
121
|
+
var _useState3 = (0, _react.useState)([]),
|
|
125
122
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
126
|
-
|
|
127
|
-
|
|
123
|
+
mapAreas = _useState4[0],
|
|
124
|
+
setMapAreas = _useState4[1];
|
|
128
125
|
|
|
129
126
|
var _useState5 = (0, _react.useState)([]),
|
|
130
127
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
131
|
-
|
|
132
|
-
|
|
128
|
+
mapZoom = _useState6[0],
|
|
129
|
+
setMapZoom = _useState6[1];
|
|
133
130
|
|
|
134
131
|
var _useState7 = (0, _react.useState)([]),
|
|
135
132
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
rows = _useState8[0],
|
|
134
|
+
setRows = _useState8[1];
|
|
138
135
|
|
|
139
|
-
var _useState9 = (0, _react.useState)(
|
|
136
|
+
var _useState9 = (0, _react.useState)(DEFAULT_TABS),
|
|
140
137
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
tabs = _useState10[0],
|
|
139
|
+
setTabs = _useState10[1];
|
|
143
140
|
|
|
144
|
-
var _useState11 = (0, _react.useState)(
|
|
141
|
+
var _useState11 = (0, _react.useState)(tabs[0]),
|
|
145
142
|
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
146
|
-
|
|
147
|
-
|
|
143
|
+
selectedTab = _useState12[0],
|
|
144
|
+
setSelectedTab = _useState12[1];
|
|
148
145
|
|
|
149
|
-
var _useState13 = (0, _react.useState)(
|
|
146
|
+
var _useState13 = (0, _react.useState)(getPathogen()),
|
|
150
147
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
151
|
-
|
|
152
|
-
|
|
148
|
+
selectedPathogen = _useState14[0],
|
|
149
|
+
setSelectedPathogen = _useState14[1];
|
|
153
150
|
|
|
154
151
|
var _useKandoFetch = (0, _useKandoFetch2.default)(fetchUrl(convertTabNameToParam(selectedTab))),
|
|
155
152
|
data = _useKandoFetch.data,
|
|
@@ -412,10 +409,16 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
412
409
|
initializeComponent();
|
|
413
410
|
}
|
|
414
411
|
}, [isFetching, selectedPathogen, data]);
|
|
415
|
-
|
|
412
|
+
var pathogenTitle = pathogens.find(function (item) {
|
|
413
|
+
return item.toLowerCase() === selectedPathogen.toLowerCase();
|
|
414
|
+
});
|
|
415
|
+
|
|
416
|
+
var dropDownTitle = pathogenTitle || _i18n.default.t('components.wbe_dashboard.pathogen_not_found');
|
|
417
|
+
|
|
418
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, "".concat(_i18n.default.t('components.wbe_dashboard.table_name'), " (").concat(pathogenTitle || getPathogen(), ")")), /*#__PURE__*/_react.default.createElement(ActionsContainer, null, pathogens.length > 1 && /*#__PURE__*/_react.default.createElement(_DropdownButton.default, {
|
|
416
419
|
id: "dropdown-basic-button",
|
|
417
420
|
className: 'button button--sort',
|
|
418
|
-
title:
|
|
421
|
+
title: dropDownTitle + ' ',
|
|
419
422
|
variant: "secondary"
|
|
420
423
|
}, pathogens.map(function (pathogen) {
|
|
421
424
|
return /*#__PURE__*/_react.default.createElement(_Dropdown.default.Item, {
|
|
@@ -498,4 +501,4 @@ var Content = _styledComponents.default.div.withConfig({
|
|
|
498
501
|
displayName: "WbeDashboardPage__Content",
|
|
499
502
|
componentId: "sc-14f81cv-5"
|
|
500
503
|
})(["@media (max-width:576px){padding:20px;}h1{font-weight:bold;}padding:60px 60px;"]);
|
|
501
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZS50c3giXSwibmFtZXMiOlsiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiV0JFSXNyYWVsSWQiLCJXYmVEYXNoYm9hcmRQYWdlIiwiZ2V0V0FJZCIsInF1ZXJ5IiwiZ2V0IiwiZmV0Y2hVcmwiLCJmaXJzdFBhcmFtIiwic2VsZWN0ZWRQYXRob2dlbiIsIkRFRkFVTFRfVEFCUyIsImkxOG4iLCJ0IiwiY29udmVydFRhYk5hbWVUb1BhcmFtIiwidGFiX25hbWUiLCJnZXRQYXRob2dlbiIsInBhdGhvZ2VucyIsInBlcm1pc3Npb25zIiwiY3VycmVudERhdGEiLCJzZXRDdXJyZW50RGF0YSIsImZpbmQiLCJpdGVtIiwidG9Mb3dlckNhc2UiLCJzZXRTZWxlY3RlZFBhdGhvZ2VuIiwibWFwQXJlYXMiLCJzZXRNYXBBcmVhcyIsIm1hcFpvb20iLCJzZXRNYXBab29tIiwicm93cyIsInNldFJvd3MiLCJ0YWJzIiwic2V0VGFicyIsInNlbGVjdGVkVGFiIiwic2V0U2VsZWN0ZWRUYWIiLCJkYXRhIiwiaXNGZXRjaGluZyIsInNldEZldGNoaW5nIiwiZGlzcGF0Y2giLCJuYXZDb250ZXh0Iiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwiZ2xvYmFsRGF0YSIsImdsb2JhbF9kYXRhIiwiaXNSdGwiLCJsb2NhbGUiLCJjb2xvckZvclJvdyIsInJvdyIsInF1YWxpdHkiLCJzYW1wbGVfYWN0aXZlIiwiaXNJbmZlY3RlZCIsIm52bCIsImNvbHVtbnMiLCJSZWFjdCIsInVzZU1lbW8iLCJuYW1lIiwic2VsZWN0b3IiLCJzb3J0YWJsZSIsImNlbGwiLCJoYW5kbGVBcmVhQ2xpY2siLCJoYXNfY2hpbGRyZW4iLCJudmxfY2hhbmdlIiwiZGlyZWN0aW9uIiwiY29sb3IiLCJtYXJnaW4iLCJmYUNoZXZyb25VcCIsImZhQ2hldnJvbkRvd24iLCJsYXN0X3VwZGF0ZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiaWQiLCJwb3B1bGF0aW9uIiwicGFyc2VJbnQiLCJpbml0aWFsaXplTWFwQXJlYXMiLCJhcmVhcyIsIm1hcHBlZFdpdGhDb2xvciIsIm1hcCIsImEiLCJ3YmVfZGFzaGJvYXJkX25hbWUiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuNjAiLCJSMTAwIiwiRzEwMCIsInpvb21Ub0FyZWEiLCJhcmVhIiwic2hhcGVfZGF0YSIsInVuZGVmaW5lZCIsInpvb21BbGxBcmVhcyIsInNoYXBlRGF0YSIsImRhdHVtIiwiaGlzdG9yeSIsIndhdGVyQXV0aG9yaXR5SWQiLCJkaXIiLCJEaXJlY3Rpb24iLCJSVEwiLCJMVFIiLCJmaWx0ZXJSZXN1bHRzQW5kU2V0Um93cyIsInRleHQiLCJyZXN1bHRzIiwiZmlsdGVyIiwiZWwiLCJpbmNsdWRlcyIsImhhbmRsZU9uUm93RXhwYW5kIiwiZXhwYW5kZWQiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrIiwicGF0aG9nZW4iLCJ1dGlsaXR5X25hbWUiLCJwdXNoIiwiZmV0Y2hGb3JUYWJTZWxlY3Rpb24iLCJ0YWIiLCJheGlvcyIsInRoZW4iLCJyZXNwb25zZSIsInJlc3BvbnNlRGF0YSIsImhhbmRsZVRhYlNlbGVjdGlvbkNsaWNrIiwiaW5pdGlhbGl6ZURyaWxsZWRBcmVhIiwiaW5pdGlhbGl6ZUNvbXBvbmVudCIsImxlbmd0aCIsInRleHRBbGlnbiIsIkV4cGFuZGVkQ29tcG9uZW50IiwiUm93TmFtZSIsInN0eWxlZCIsImRpdiIsInAiLCJBY3Rpb25zQ29udGFpbmVyIiwiRmlyc3RTZWN0aW9uIiwiU2Vjb25kU2VjdGlvbiIsIk1hcFRhYmxlQ29udGFpbmVyIiwiQ29udGVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFD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RUFBRTBILHNDQVBoQjtBQVFFLElBQUEsNEJBQTRCLEVBQUU7QUFBRWQsTUFBQUEsUUFBUSxFQUFFbkc7QUFBWixLQVJoQztBQVNFLElBQUEsa0JBQWtCLEVBQUU7QUFUdEIsSUFqQkosQ0FURixDQXpDRixDQURGLENBREY7QUFzRkQsQ0FyWk07Ozs7QUF1WlAsSUFBTWtILE9BQU8sR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEseWRBaUNNOUMsYUFBTUMsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLEdBakNoQyxFQW1DYUgsYUFBTUMsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLEdBbkN2QyxFQTBDRCxVQUFDNEMsQ0FBRDtBQUFBLFNBQVFBLENBQUMsQ0FBQ25GLEtBQUYsR0FBVSxjQUFWLEdBQTJCLGFBQW5DO0FBQUEsQ0ExQ0MsQ0FBYjs7QUFtREEsSUFBTW9GLGdCQUFnQixHQUFHSCwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSw4REFBdEI7O0FBTUEsSUFBTUcsWUFBWSxHQUFHSiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSw2QkFBbEI7O0FBSUEsSUFBTUksYUFBYSxHQUFHTCwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxtRkFBbkI7O0FBT0EsSUFBTUssaUJBQWlCLEdBQUdOLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGtnQkFBdkI7O0FBd0NBLElBQU1NLE9BQU8sR0FBR1AsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsc0ZBQWIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuL1NlYXJjaElucHV0JztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBHcmFwaFdyYXBwZXIgfSBmcm9tICcuL0dyYXBoV3JhcHBlcic7XG5pbXBvcnQgeyBmYUNoZXZyb25Eb3duLCBmYUNoZXZyb25VcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJy4uLy4uL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5pbXBvcnQgeyBrRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL1Rob3VzYW5kc1RvSyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBEcmlsbERvd25JY29uIH0gZnJvbSAnLi9EcmlsbERvd25JY29uLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBCYXNlTGV2ZWwgfSBmcm9tICcuL0Jhc2VMZXZlbC5zdmcnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAncmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgbGV2ZWxOVkwgfSBmcm9tICcuLi9Db3ZpZFBhZ2UvY29tcG9uZW50cy9udmxTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnLi4vLi4vV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IEthbmRvVGFibGUgfSBmcm9tICdzcmMvdWkta2l0L0thbmRvVGFibGUvS2FuZG9UYWJsZSc7XG5pbXBvcnQgeyBUYWJzIH0gZnJvbSAnLi9UYWJzJztcbmltcG9ydCB1c2VLYW5kb0ZldGNoIGZyb20gJy4uLy4uL2hvb2tzL3VzZUthbmRvRmV0Y2gnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd24nO1xuaW1wb3J0IERyb3Bkb3duQnV0dG9uIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd25CdXR0b24nO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBUcnVuY2F0ZSBmcm9tICcuLi8uLi91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHsgRXhwYW5kZWRDb21wb25lbnQgfSBmcm9tICcuL0V4cGFuZGFibGVDb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IFdiZVN1bW1hcnlCYXIgfSBmcm9tICcuL1diZVN1bW1hcnlCYXInO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuY29uc3QgVEFCTEVfUk9XU19QRVJfUEFHRSA9IDI1O1xuY29uc3QgTUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEUgPSAnY2t6emtqc2k3MDA1ZjE0bzlpbTBtY3pzOSc7XG5cbmV4cG9ydCBjb25zdCBXQkVJc3JhZWxJZCA9IDQ2MztcbmV4cG9ydCBjb25zdCBXYmVEYXNoYm9hcmRQYWdlID0gKCkgPT4ge1xuICBjb25zdCBnZXRXQUlkID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuICBjb25zdCBmZXRjaFVybCA9IChmaXJzdFBhcmFtKSA9PiB7XG4gICAgcmV0dXJuIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvJHtzZWxlY3RlZFBhdGhvZ2VufS8ke2ZpcnN0UGFyYW19P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dldFdBSWQoKX1gO1xuICB9O1xuICBjb25zdCBERUZBVUxUX1RBQlMgPSBbXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJyksXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJyksXG4gIF07XG4gIGNvbnN0IGNvbnZlcnRUYWJOYW1lVG9QYXJhbSA9ICh0YWJfbmFtZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKHRhYl9uYW1lID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKSkge1xuICAgICAgcmV0dXJuICdjaXR5JztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGFiX25hbWUgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm1vbml0b3JlZF9hcmVhcycpXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ21vbml0b3JlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdjaXR5JztcbiAgfTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBnZXRQYXRob2dlbiA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdwYXRob2dlbicpIHx8ICcnO1xuICB9O1xuXG4gIGNvbnN0IHBhdGhvZ2VucyA9IHVzZVNlbGVjdG9yKCh7IHBlcm1pc3Npb25zIH0pID0+IHBlcm1pc3Npb25zLnBhdGhvZ2Vucyk7XG5cbiAgY29uc3QgW2N1cnJlbnREYXRhLCBzZXRDdXJyZW50RGF0YV0gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtzZWxlY3RlZFBhdGhvZ2VuLCBzZXRTZWxlY3RlZFBhdGhvZ2VuXSA9IHVzZVN0YXRlPHN0cmluZz4oXG4gICAgcGF0aG9nZW5zLmZpbmQoXG4gICAgICAoaXRlbSkgPT4gaXRlbS50b0xvd2VyQ2FzZSgpID09PSBnZXRQYXRob2dlbigpLnRvTG93ZXJDYXNlKCksXG4gICAgKSB8fCAnJyxcbiAgKTtcbiAgY29uc3QgW21hcEFyZWFzLCBzZXRNYXBBcmVhc10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbbWFwWm9vbSwgc2V0TWFwWm9vbV0gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbcm93cywgc2V0Um93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3QgW3RhYnMsIHNldFRhYnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KERFRkFVTFRfVEFCUyk7XG4gIGNvbnN0IFtzZWxlY3RlZFRhYiwgc2V0U2VsZWN0ZWRUYWJdID0gdXNlU3RhdGU8c3RyaW5nPih0YWJzWzBdKTtcbiAgY29uc3QgeyBkYXRhLCBpc0ZldGNoaW5nLCBzZXRGZXRjaGluZyB9ID0gdXNlS2FuZG9GZXRjaChcbiAgICBmZXRjaFVybChjb252ZXJ0VGFiTmFtZVRvUGFyYW0oc2VsZWN0ZWRUYWIpKSxcbiAgKTtcblxuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG4gIGNvbnN0IGdsb2JhbERhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5nbG9iYWxfZGF0YSxcbiAgKTtcbiAgY29uc3QgaXNSdGw6IGJvb2xlYW4gPSBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IHRydWUgOiBmYWxzZTtcbiAgY29uc3QgY29sb3JGb3JSb3cgPSAocm93KSA9PiB7XG4gICAgbGV0IHF1YWxpdHk7XG4gICAgaWYgKCFyb3cuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgcXVhbGl0eSA9ICdpbmFjdGl2ZS1zYW1wbGluZyc7XG4gICAgfSBlbHNlIGlmIChpc0luZmVjdGVkKHJvdy5udmwpKSB7XG4gICAgICBxdWFsaXR5ID0gJ2luZmVjdGVkJztcbiAgICB9IGVsc2Uge1xuICAgICAgcXVhbGl0eSA9ICdjbGVhbic7XG4gICAgfVxuXG4gICAgcmV0dXJuIGByb3dfbmFtZS0tJHtxdWFsaXR5fWA7XG4gIH07XG4gIGNvbnN0IGNvbHVtbnM6IGFueSA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gW1xuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5uYW1lJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubmFtZSxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgbmFtZTogc3RyaW5nOyBudmw6IG51bWJlcjsgaGFzX2NoaWxkcmVuOiBib29sZWFuIH0pID0+IChcbiAgICAgICAgICA8Um93TmFtZSBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcm93X25hbWUgJHtjb2xvckZvclJvdyhyb3cpfWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVBcmVhQ2xpY2socm93KTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydleHBhbmRhYmxlLWljb24nfT5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIHtyb3cuaGFzX2NoaWxkcmVuICYmIDxEcmlsbERvd25JY29uIC8+fVxuICAgICAgICAgICAgICAgICAgeyFyb3cuaGFzX2NoaWxkcmVuICYmIDxCYXNlTGV2ZWwgLz59XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnbmFtZSd9PlxuICAgICAgICAgICAgICAgIDxUcnVuY2F0ZSBjaGFyYWN0ZXJzPXszfSBpbmhlcml0VGV4dEFsaWduPXt0cnVlfT5cbiAgICAgICAgICAgICAgICAgIHtyb3cubmFtZX1cbiAgICAgICAgICAgICAgICA8L1RydW5jYXRlPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1Jvd05hbWU+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5udmxfc2NvcmUnKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5udmwsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG52bDogbnVtYmVyIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj57cm93Lm52bH08L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnBlcmNlbnRhZ2VfZnJvbV9sYXN0X3NhbXBsaW5nJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubnZsX2NoYW5nZSxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgbnZsX2NoYW5nZTogbnVtYmVyIH0pID0+IChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpcmVjdGlvbjogJ2x0cicsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiAnIzAwMDAwMCcsIG1hcmdpbjogJzAgNnB4JyB9fT5cbiAgICAgICAgICAgICAge3Jvdy5udmxfY2hhbmdlfSVcbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgICAgICAgaWNvbj17cm93Lm52bF9jaGFuZ2UgPiAwID8gZmFDaGV2cm9uVXAgOiBmYUNoZXZyb25Eb3dufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubGFzdF9zYW1wbGVkJyksXG4gICAgICAgIHNlbGVjdG9yOiAnbGFzdF9zYW1wbGVkJyxcbiAgICAgICAgc29ydGFibGU6IChyb3cpID0+IHJvdy5sYXN0X3VwZGF0ZWQsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgbGFzdF91cGRhdGVkOiBzdHJpbmcgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAge3Jvdy5sYXN0X3VwZGF0ZWQgPT09IG51bGxcbiAgICAgICAgICAgICAgPyAnLSdcbiAgICAgICAgICAgICAgOiBuZXcgRGF0ZShyb3cubGFzdF91cGRhdGVkKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLUdCJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC50cmVuZF9ncmFwaCcpLFxuICAgICAgICBzZWxlY3RvcjogJ3RyZW5kX2dyYXBoJyxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgaWQ6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+XG4gICAgICAgICAgICA8R3JhcGhXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cm93LmlkfVxuICAgICAgICAgICAgICByb3c9e3Jvd31cbiAgICAgICAgICAgICAgd2F0ZXJfYXV0aG9yaXR5X2lkPXtnZXRXQUlkKCl9XG4gICAgICAgICAgICAgIHBhdGhvZ2VuPXtzZWxlY3RlZFBhdGhvZ2VufVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnBvcHVsYXRpb24nKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5wb3B1bGF0aW9uLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBwb3B1bGF0aW9uOiBzdHJpbmcgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAge2tGb3JtYXR0ZXIocGFyc2VJbnQocm93LnBvcHVsYXRpb24pKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbaXNSdGwsIHNlbGVjdGVkUGF0aG9nZW5dLFxuICApO1xuXG4gIGNvbnN0IGluaXRpYWxpemVNYXBBcmVhcyA9IChhcmVhcykgPT4ge1xuICAgIGNvbnN0IG1hcHBlZFdpdGhDb2xvciA9IGFyZWFzLm1hcCgoYTogYW55KSA9PiB7XG4gICAgICBhLndiZV9kYXNoYm9hcmRfbmFtZSA9IGEubmFtZTtcbiAgICAgIGEuc2hvd0NvbG9yT25seUluQm9yZGVycyA9IHRydWU7XG5cbiAgICAgIGlmICghYS5zYW1wbGVfYWN0aXZlKSB7XG4gICAgICAgIGEuY29sb3IgPSB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0luZmVjdGVkKGEubnZsKSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5SMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGEuY29sb3IgPSB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLkcxMDA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc2V0TWFwQXJlYXMobWFwcGVkV2l0aENvbG9yKTtcbiAgfTtcblxuICBjb25zdCB6b29tVG9BcmVhID0gKGFyZWEpID0+IHtcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJiBzZXRNYXBab29tKGFyZWEuc2hhcGVfZGF0YSk7XG4gIH07XG5cbiAgY29uc3Qgem9vbUFsbEFyZWFzID0gKGRhdGEpID0+IHtcbiAgICBjb25zdCBzaGFwZURhdGEgPSBkYXRhLm1hcCgoZGF0dW0pID0+IHtcbiAgICAgIHJldHVybiBkYXR1bS5zaGFwZV9kYXRhO1xuICAgIH0pO1xuXG4gICAgc2V0TWFwWm9vbShzaGFwZURhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGlzSW5mZWN0ZWQgPSAobnZsOiBudW1iZXIpID0+IHtcbiAgICBpZiAobGV2ZWxOVkwobnZsKSA9PT0gJ2NsZWFuJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsZXZlbE5WTChudmwpID09PSAnbG93JyB8fFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ21lZGl1bScgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdoaWdoJ1xuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT5cbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG5cbiAgY29uc3QgZGlyOiBEaXJlY3Rpb24gPVxuICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gRGlyZWN0aW9uLlJUTCA6IERpcmVjdGlvbi5MVFI7XG5cbiAgY29uc3QgZmlsdGVyUmVzdWx0c0FuZFNldFJvd3MgPSAodGV4dDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHJlc3VsdHMgPSBjdXJyZW50RGF0YS5maWx0ZXIoZnVuY3Rpb24gKGVsOiBhbnkpIHtcbiAgICAgIHJldHVybiBlbC5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGV4dC50b0xvd2VyQ2FzZSgpKTtcbiAgICB9KTtcblxuICAgIHNldFJvd3MocmVzdWx0cyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlT25Sb3dFeHBhbmQgPSAoZXhwYW5kZWQsIHJvdykgPT4ge1xuICAgIGV4cGFuZGVkICYmIHpvb21Ub0FyZWEocm93KTtcbiAgICAhZXhwYW5kZWQgJiYgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5TmFtZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdFBhdGhvZ2VuQ2xpY2sgPSAocGF0aG9nZW4pID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnV0JFIFN0YXR1cyBSZXBvcnQgLSBQYXRob2dlbiBjaGFuZ2UgY2xpY2tlZCcsIHtcbiAgICAgIHBhdGhvZ2VuOiBwYXRob2dlbixcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIHNldFNlbGVjdGVkUGF0aG9nZW4ocGF0aG9nZW4pO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvd2JlX2Rhc2hib2FyZC9pbmRleD9sb2NhbGU9JHtuYXZDb250ZXh0LmxvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH0mcGF0aG9nZW49JHtwYXRob2dlbn1gLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hGb3JUYWJTZWxlY3Rpb24gPSAodGFiKSA9PiB7XG4gICAgc2V0RmV0Y2hpbmcodHJ1ZSk7XG4gICAgYXhpb3MuZ2V0KGZldGNoVXJsKHRhYikpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICBsZXQgcmVzcG9uc2VEYXRhID0gcmVzcG9uc2UuZGF0YS5kYXRhO1xuXG4gICAgICBzZXRGZXRjaGluZyhmYWxzZSk7XG4gICAgICBzZXRUYWJzKERFRkFVTFRfVEFCUyk7XG4gICAgICBzZXRSb3dzKHJlc3BvbnNlRGF0YSk7XG4gICAgICBzZXRDdXJyZW50RGF0YShyZXNwb25zZURhdGEpO1xuICAgICAgaW5pdGlhbGl6ZU1hcEFyZWFzKHJlc3BvbnNlRGF0YSk7XG4gICAgICB6b29tQWxsQXJlYXMocmVzcG9uc2VEYXRhKTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVUYWJTZWxlY3Rpb25DbGljayA9ICh0YWIpID0+IHtcbiAgICBpZiAoIWlzRmV0Y2hpbmcpIHtcbiAgICAgIHNldFNlbGVjdGVkVGFiKHRhYik7XG5cbiAgICAgIGlmICh0YWIgIT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpKSB7XG4gICAgICAgIHRhYiA9XG4gICAgICAgICAgdGFiID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKVxuICAgICAgICAgICAgPyAnY2l0eSdcbiAgICAgICAgICAgIDogdGFiID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5tb25pdG9yZWRfYXJlYXMnKVxuICAgICAgICAgICAgPyAnbW9uaXRvcmVkJ1xuICAgICAgICAgICAgOiAnJztcblxuICAgICAgICBmZXRjaEZvclRhYlNlbGVjdGlvbih0YWIpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBpbml0aWFsaXplRHJpbGxlZEFyZWEgPSAocmVzcG9uc2UpID0+IHtcbiAgICBsZXQgZGF0YSA9IHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICBzZXRSb3dzKGRhdGEpO1xuICAgIHNldEN1cnJlbnREYXRhKGRhdGEpO1xuICAgIGluaXRpYWxpemVNYXBBcmVhcyhkYXRhKTtcbiAgICB6b29tQWxsQXJlYXMoZGF0YSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQXJlYUNsaWNrID0gKGFyZWEpID0+IHtcbiAgICB6b29tVG9BcmVhKGFyZWEpO1xuXG4gICAgaWYgKGFyZWEuaGFzX2NoaWxkcmVuKSB7XG4gICAgICBzZXRUYWJzKFsuLi50YWJzLCBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKV0pO1xuICAgICAgc2V0U2VsZWN0ZWRUYWIoaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJykpO1xuXG4gICAgICBheGlvcy5nZXQoZmV0Y2hVcmwoYXJlYS5pZCkpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGluaXRpYWxpemVEcmlsbGVkQXJlYShyZXNwb25zZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZUNvbXBvbmVudCA9ICgpID0+IHtcbiAgICBzZXRDdXJyZW50RGF0YShkYXRhKTtcbiAgICBzZXRSb3dzKGRhdGEpO1xuICAgIGFuYWx5dGljc1RyYWNrKCdXQkUgU3RhdHVzIFJlcG9ydCcsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIGRpc3BhdGNoKHVwZGF0ZU5hdkNvbnRleHQoeyBuYW1lOiAnd2JlX2Rhc2hib2FyZCcgfSkpO1xuICAgIGluaXRpYWxpemVNYXBBcmVhcyhkYXRhKTtcbiAgICB6b29tQWxsQXJlYXMoZGF0YSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzRmV0Y2hpbmcgJiYgZGF0YSAhPT0gbnVsbCkge1xuICAgICAgaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICAgIH1cbiAgfSwgW2lzRmV0Y2hpbmcsIHNlbGVjdGVkUGF0aG9nZW4sIGRhdGFdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Q29udGVudD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDE+XG4gICAgICAgICAgICB7YCR7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQudGFibGVfbmFtZScpfSAoJHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRQYXRob2dlbiB8fCBnZXRQYXRob2dlbigpXG4gICAgICAgICAgICB9KWB9XG4gICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8QWN0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIHtwYXRob2dlbnMubGVuZ3RoID4gMSAmJiAoXG4gICAgICAgICAgICAgIDxEcm9wZG93bkJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiZHJvcGRvd24tYmFzaWMtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydidXR0b24gYnV0dG9uLS1zb3J0J31cbiAgICAgICAgICAgICAgICB0aXRsZT17c2VsZWN0ZWRQYXRob2dlbiArICcgJ31cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtwYXRob2dlbnMubWFwKChwYXRob2dlbikgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlU2VsZWN0UGF0aG9nZW5DbGljayhwYXRob2dlbil9XG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2Q29udGV4dC5sb2NhbGUgPT09ICdoZScgPyAncmlnaHQnIDogJ2xlZnQnLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7cGF0aG9nZW59XG4gICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd24uSXRlbT5cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIDwvRHJvcGRvd25CdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQWN0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxGaXJzdFNlY3Rpb24+XG4gICAgICAgICAgPFdiZVN1bW1hcnlCYXJcbiAgICAgICAgICAgIHBhdGhvZ2VuPXtzZWxlY3RlZFBhdGhvZ2VufVxuICAgICAgICAgICAgd2F0ZXJBdXRob3JpdHlJZD17d2F0ZXJBdXRob3JpdHlJZH1cbiAgICAgICAgICAgIGlzUnRsPXtpc1J0bH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0ZpcnN0U2VjdGlvbj5cblxuICAgICAgICA8U2Vjb25kU2VjdGlvbj5cbiAgICAgICAgICA8U2VhcmNoSW5wdXQgb25DaGFuZ2VCZWhhdmlvcj17ZmlsdGVyUmVzdWx0c0FuZFNldFJvd3N9IC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0YWJzLWNvbnRhaW5lcid9PlxuICAgICAgICAgICAgPFRhYnNcbiAgICAgICAgICAgICAgdGFicz17dGFic31cbiAgICAgICAgICAgICAgc2VsZWN0ZWRUYWI9e3NlbGVjdGVkVGFifVxuICAgICAgICAgICAgICBoYW5kbGVPbkNsaWNrPXtoYW5kbGVUYWJTZWxlY3Rpb25DbGlja31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPE1hcFRhYmxlQ29udGFpbmVyIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgICB7aXNGZXRjaGluZyAmJiA8U3Bpbm5lciAvPn1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbWFwLWNvbnRhaW5lcid9PlxuICAgICAgICAgICAgICB7IWlzRmV0Y2hpbmcgJiYgcm93cyAhPT0gbnVsbCAmJiBtYXBab29tICE9PSBudWxsICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICAgICAgICAgIDxNYXBcbiAgICAgICAgICAgICAgICAgICAgYXJlYXM9e21hcEFyZWFzfVxuICAgICAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17bWFwWm9vbX1cbiAgICAgICAgICAgICAgICAgICAgZWRnZXM9e1tdfVxuICAgICAgICAgICAgICAgICAgICBwb2ludHM9e1tdfVxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsRGF0YX1cbiAgICAgICAgICAgICAgICAgICAgbWFwQm94U3R5bGU9e01BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHshaXNGZXRjaGluZyAmJiByb3dzICE9PSBudWxsICYmIChcbiAgICAgICAgICAgICAgPEthbmRvVGFibGVcbiAgICAgICAgICAgICAgICBvblJvd0V4cGFuZFRvZ2dsZWQ9e2hhbmRsZU9uUm93RXhwYW5kfVxuICAgICAgICAgICAgICAgIGRhdGE9e3Jvd3N9XG4gICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICBkaXJlY3Rpb249e2Rpcn1cbiAgICAgICAgICAgICAgICBleHBhbmRhYmxlUm93cz17dHJ1ZX1cbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uUGVyUGFnZT17VEFCTEVfUk9XU19QRVJfUEFHRX1cbiAgICAgICAgICAgICAgICByb3dDb21wb25lbnQ9e0V4cGFuZGVkQ29tcG9uZW50fVxuICAgICAgICAgICAgICAgIGV4cGFuZGFibGVSb3dzQ29tcG9uZW50UHJvcHM9e3sgcGF0aG9nZW46IHNlbGVjdGVkUGF0aG9nZW4gfX1cbiAgICAgICAgICAgICAgICBkZWZhdWx0U29ydEZpZWxkSWQ9ezN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvTWFwVGFibGVDb250YWluZXI+XG4gICAgICAgIDwvU2Vjb25kU2VjdGlvbj5cbiAgICAgIDwvQ29udGVudD5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmNvbnN0IFJvd05hbWUgPSBzdHlsZWQuZGl2PHsgaXNSdGw6IGJvb2xlYW4gfT5gXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgICBcbiAgICAucm93X25hbWUge1xuICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBlYXNlLWluOyAgICAgIFxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICBcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1jbGVhbiB7XG4gICAgICAgICBjb2xvcjogIzI3YTYzYTsgXG4gICAgICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyN2E2M2E7ICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYtLWluZmVjdGVkIHtcbiAgICAgICAgICBjb2xvcjogI2UxMDAzNjtcbiAgICAgICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlMTAwMzY7ICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYtLWluYWN0aXZlLXNhbXBsaW5nIHtcbiAgICAgICAgICBjb2xvcjogJHt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG4gICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICR7KHApID0+IChwLmlzUnRsID8gJ3JpZ2h0OiA1MXB4OycgOiAnbGVmdDogNTFweDsnKX1cbiAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IDcuNWVtO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYDtcblxuY29uc3QgQWN0aW9uc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBGaXJzdFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBtYXJnaW46IDg1cHggMCAyMHB4IDA7XG5gO1xuXG5jb25zdCBTZWNvbmRTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZDogI2ZjZmNmYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuYDtcblxuY29uc3QgTWFwVGFibGVDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgaXNSdGw6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgLm1hcC1jb250YWluZXIge1xuICAgIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIC5ldmVudC10aW1lcmFuZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDY5dmg7XG4gICAgICB3aWR0aDogMzB2dztcbiAgICB9XG4gIH1cbiAgW2RhdGEtdGVzdGlkPSdrYW5kby10YWJsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBbZGF0YS1jb2x1bW4taWQ9JzEnXSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5uYW1lIHtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTIwcHggKyAxdncpO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGN1YmljLWJlemllcigwLjY1LCAwLjA1LCAwLjM2LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3Bpbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgcGFkZGluZzogNjBweCA2MHB4O1xuYDtcbiJdfQ==
|
|
504
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZS50c3giXSwibmFtZXMiOlsiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiV0JFSXNyYWVsSWQiLCJXYmVEYXNoYm9hcmRQYWdlIiwiZ2V0V0FJZCIsInF1ZXJ5IiwiZ2V0IiwiZmV0Y2hVcmwiLCJmaXJzdFBhcmFtIiwic2VsZWN0ZWRQYXRob2dlbiIsIkRFRkFVTFRfVEFCUyIsImkxOG4iLCJ0IiwiY29udmVydFRhYk5hbWVUb1BhcmFtIiwidGFiX25hbWUiLCJnZXRQYXRob2dlbiIsInBhdGhvZ2VucyIsInN0YXRlIiwicGVybWlzc2lvbnMiLCJjdXJyZW50RGF0YSIsInNldEN1cnJlbnREYXRhIiwibWFwQXJlYXMiLCJzZXRNYXBBcmVhcyIsIm1hcFpvb20iLCJzZXRNYXBab29tIiwicm93cyIsInNldFJvd3MiLCJ0YWJzIiwic2V0VGFicyIsInNlbGVjdGVkVGFiIiwic2V0U2VsZWN0ZWRUYWIiLCJzZXRTZWxlY3RlZFBhdGhvZ2VuIiwiZGF0YSIsImlzRmV0Y2hpbmciLCJzZXRGZXRjaGluZyIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsIm5hdl9jb250ZXh0X2RhdGEiLCJnbG9iYWxEYXRhIiwiZ2xvYmFsX2RhdGEiLCJpc1J0bCIsImxvY2FsZSIsImNvbG9yRm9yUm93Iiwicm93IiwicXVhbGl0eSIsInNhbXBsZV9hY3RpdmUiLCJpc0luZmVjdGVkIiwibnZsIiwiY29sdW1ucyIsIlJlYWN0IiwidXNlTWVtbyIsIm5hbWUiLCJzZWxlY3RvciIsInNvcnRhYmxlIiwiY2VsbCIsImhhbmRsZUFyZWFDbGljayIsImhhc19jaGlsZHJlbiIsIm52bF9jaGFuZ2UiLCJkaXJlY3Rpb24iLCJjb2xvciIsIm1hcmdpbiIsImZhQ2hldnJvblVwIiwiZmFDaGV2cm9uRG93biIsImxhc3RfdXBkYXRlZCIsIkRhdGUiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJpZCIsInBvcHVsYXRpb24iLCJwYXJzZUludCIsImluaXRpYWxpemVNYXBBcmVhcyIsImFyZWFzIiwibWFwcGVkV2l0aENvbG9yIiwibWFwIiwiYSIsIndiZV9kYXNoYm9hcmRfbmFtZSIsInNob3dDb2xvck9ubHlJbkJvcmRlcnMiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm42MCIsIlIxMDAiLCJHMTAwIiwiem9vbVRvQXJlYSIsImFyZWEiLCJzaGFwZV9kYXRhIiwidW5kZWZpbmVkIiwiem9vbUFsbEFyZWFzIiwic2hhcGVEYXRhIiwiZGF0dW0iLCJoaXN0b3J5Iiwid2F0ZXJBdXRob3JpdHlJZCIsImRpciIsIkRpcmVjdGlvbiIsIlJUTCIsIkxUUiIsImZpbHRlclJlc3VsdHNBbmRTZXRSb3dzIiwidGV4dCIsInJlc3VsdHMiLCJmaWx0ZXIiLCJlbCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJoYW5kbGVPblJvd0V4cGFuZCIsImV4cGFuZGVkIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiaGFuZGxlU2VsZWN0UGF0aG9nZW5DbGljayIsInBhdGhvZ2VuIiwidXRpbGl0eV9uYW1lIiwicHVzaCIsImZldGNoRm9yVGFiU2VsZWN0aW9uIiwidGFiIiwiYXhpb3MiLCJ0aGVuIiwicmVzcG9uc2UiLCJyZXNwb25zZURhdGEiLCJoYW5kbGVUYWJTZWxlY3Rpb25DbGljayIsImluaXRpYWxpemVEcmlsbGVkQXJlYSIsImluaXRpYWxpemVDb21wb25lbnQiLCJwYXRob2dlblRpdGxlIiwiZmluZCIsIml0ZW0iLCJkcm9wRG93blRpdGxlIiwibGVuZ3RoIiwidGV4dEFsaWduIiwiRXhwYW5kZWRDb21wb25lbnQiLCJSb3dOYW1lIiwic3R5bGVkIiwiZGl2IiwicCIsIkFjdGlvbnNDb250YWluZXIiLCJGaXJzdFNlY3Rpb24iLCJTZWNvbmRTZWN0aW9uIiwiTWFwVGFibGVDb250YWluZXIiLCJDb250ZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztB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QUFFN0UsSUFGUjtBQUdFLElBQUEsT0FBTyxFQUFFdUIsT0FIWDtBQUlFLElBQUEsU0FBUyxFQUFFMkMsR0FKYjtBQUtFLElBQUEsY0FBYyxFQUFFLElBTGxCO0FBTUUsSUFBQSxpQkFBaUIsRUFBRTNGLG1CQU5yQjtBQU9FLElBQUEsWUFBWSxFQUFFNEgsc0NBUGhCO0FBUUUsSUFBQSw0QkFBNEIsRUFBRTtBQUFFbEIsTUFBQUEsUUFBUSxFQUFFakc7QUFBWixLQVJoQztBQVNFLElBQUEsa0JBQWtCLEVBQUU7QUFUdEIsSUFqQkosQ0FURixDQXpDRixDQURGLENBREY7QUFzRkQsQ0F4Wk07Ozs7QUEwWlAsSUFBTW9ILE9BQU8sR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEseWRBaUNNbkQsYUFBTUMsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLEdBakNoQyxFQW1DYUgsYUFBTUMsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLEdBbkN2QyxFQTBDRCxVQUFDaUQsQ0FBRDtBQUFBLFNBQVFBLENBQUMsQ0FBQ3hGLEtBQUYsR0FBVSxjQUFWLEdBQTJCLGFBQW5DO0FBQUEsQ0ExQ0MsQ0FBYjs7QUFtREEsSUFBTXlGLGdCQUFnQixHQUFHSCwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSw4REFBdEI7O0FBTUEsSUFBTUcsWUFBWSxHQUFHSiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSw2QkFBbEI7O0FBSUEsSUFBTUksYUFBYSxHQUFHTCwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxtRkFBbkI7O0FBT0EsSUFBTUssaUJBQWlCLEdBQUdOLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGtnQkFBdkI7O0FBd0NBLElBQU1NLE9BQU8sR0FBR1AsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsc0ZBQWIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuL1NlYXJjaElucHV0JztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBHcmFwaFdyYXBwZXIgfSBmcm9tICcuL0dyYXBoV3JhcHBlcic7XG5pbXBvcnQgeyBmYUNoZXZyb25Eb3duLCBmYUNoZXZyb25VcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJy4uLy4uL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5pbXBvcnQgeyBrRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL1Rob3VzYW5kc1RvSyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBEcmlsbERvd25JY29uIH0gZnJvbSAnLi9EcmlsbERvd25JY29uLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBCYXNlTGV2ZWwgfSBmcm9tICcuL0Jhc2VMZXZlbC5zdmcnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAncmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgbGV2ZWxOVkwgfSBmcm9tICcuLi9Db3ZpZFBhZ2UvY29tcG9uZW50cy9udmxTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnLi4vLi4vV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IEthbmRvVGFibGUgfSBmcm9tICdzcmMvdWkta2l0L0thbmRvVGFibGUvS2FuZG9UYWJsZSc7XG5pbXBvcnQgeyBUYWJzIH0gZnJvbSAnLi9UYWJzJztcbmltcG9ydCB1c2VLYW5kb0ZldGNoIGZyb20gJy4uLy4uL2hvb2tzL3VzZUthbmRvRmV0Y2gnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd24nO1xuaW1wb3J0IERyb3Bkb3duQnV0dG9uIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd25CdXR0b24nO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBUcnVuY2F0ZSBmcm9tICcuLi8uLi91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHsgRXhwYW5kZWRDb21wb25lbnQgfSBmcm9tICcuL0V4cGFuZGFibGVDb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IFdiZVN1bW1hcnlCYXIgfSBmcm9tICcuL1diZVN1bW1hcnlCYXInO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuY29uc3QgVEFCTEVfUk9XU19QRVJfUEFHRSA9IDI1O1xuY29uc3QgTUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEUgPSAnY2t6emtqc2k3MDA1ZjE0bzlpbTBtY3pzOSc7XG5cbmV4cG9ydCBjb25zdCBXQkVJc3JhZWxJZCA9IDQ2MztcbmV4cG9ydCBjb25zdCBXYmVEYXNoYm9hcmRQYWdlID0gKCkgPT4ge1xuICBjb25zdCBnZXRXQUlkID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuICBjb25zdCBmZXRjaFVybCA9IChmaXJzdFBhcmFtKSA9PiB7XG4gICAgcmV0dXJuIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvJHtzZWxlY3RlZFBhdGhvZ2VufS8ke2ZpcnN0UGFyYW19P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dldFdBSWQoKX1gO1xuICB9O1xuICBjb25zdCBERUZBVUxUX1RBQlMgPSBbXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJyksXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJyksXG4gIF07XG4gIGNvbnN0IGNvbnZlcnRUYWJOYW1lVG9QYXJhbSA9ICh0YWJfbmFtZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKHRhYl9uYW1lID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKSkge1xuICAgICAgcmV0dXJuICdjaXR5JztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGFiX25hbWUgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm1vbml0b3JlZF9hcmVhcycpXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ21vbml0b3JlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdjaXR5JztcbiAgfTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBnZXRQYXRob2dlbiA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdwYXRob2dlbicpIHx8ICdjb3ZpZCc7XG4gIH07XG5cbiAgY29uc3QgcGF0aG9nZW5zID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy5wYXRob2dlbnMpO1xuXG4gIGNvbnN0IFtjdXJyZW50RGF0YSwgc2V0Q3VycmVudERhdGFdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbbWFwQXJlYXMsIHNldE1hcEFyZWFzXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gIGNvbnN0IFttYXBab29tLCBzZXRNYXBab29tXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gIGNvbnN0IFtyb3dzLCBzZXRSb3dzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbdGFicywgc2V0VGFic10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oREVGQVVMVF9UQUJTKTtcbiAgY29uc3QgW3NlbGVjdGVkVGFiLCBzZXRTZWxlY3RlZFRhYl0gPSB1c2VTdGF0ZTxzdHJpbmc+KHRhYnNbMF0pO1xuICBjb25zdCBbc2VsZWN0ZWRQYXRob2dlbiwgc2V0U2VsZWN0ZWRQYXRob2dlbl0gPSB1c2VTdGF0ZTxzdHJpbmc+KFxuICAgIGdldFBhdGhvZ2VuKCksXG4gICk7XG4gIGNvbnN0IHsgZGF0YSwgaXNGZXRjaGluZywgc2V0RmV0Y2hpbmcgfSA9IHVzZUthbmRvRmV0Y2goXG4gICAgZmV0Y2hVcmwoY29udmVydFRhYk5hbWVUb1BhcmFtKHNlbGVjdGVkVGFiKSksXG4gICk7XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuICBjb25zdCBnbG9iYWxEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZ2xvYmFsX2RhdGEsXG4gICk7XG4gIGNvbnN0IGlzUnRsOiBib29sZWFuID0gbmF2Q29udGV4dC5sb2NhbGUgPT09ICdoZScgPyB0cnVlIDogZmFsc2U7XG4gIGNvbnN0IGNvbG9yRm9yUm93ID0gKHJvdykgPT4ge1xuICAgIGxldCBxdWFsaXR5O1xuICAgIGlmICghcm93LnNhbXBsZV9hY3RpdmUpIHtcbiAgICAgIHF1YWxpdHkgPSAnaW5hY3RpdmUtc2FtcGxpbmcnO1xuICAgIH0gZWxzZSBpZiAoaXNJbmZlY3RlZChyb3cubnZsKSkge1xuICAgICAgcXVhbGl0eSA9ICdpbmZlY3RlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHF1YWxpdHkgPSAnY2xlYW4nO1xuICAgIH1cblxuICAgIHJldHVybiBgcm93X25hbWUtLSR7cXVhbGl0eX1gO1xuICB9O1xuICBjb25zdCBjb2x1bW5zOiBhbnkgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubmFtZScpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm5hbWUsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG5hbWU6IHN0cmluZzsgbnZsOiBudW1iZXI7IGhhc19jaGlsZHJlbjogYm9vbGVhbiB9KSA9PiAoXG4gICAgICAgICAgPFJvd05hbWUgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJvd19uYW1lICR7Y29sb3JGb3JSb3cocm93KX1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQXJlYUNsaWNrKHJvdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXhwYW5kYWJsZS1pY29uJ30+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICB7cm93Lmhhc19jaGlsZHJlbiAmJiA8RHJpbGxEb3duSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgIHshcm93Lmhhc19jaGlsZHJlbiAmJiA8QmFzZUxldmVsIC8+fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J25hbWUnfT5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17M30gaW5oZXJpdFRleHRBbGlnbj17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICB7cm93Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9Sb3dOYW1lPlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubnZsX3Njb3JlJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubnZsLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBudmw6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+e3Jvdy5udmx9PC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wZXJjZW50YWdlX2Zyb21fbGFzdF9zYW1wbGluZycpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm52bF9jaGFuZ2UsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG52bF9jaGFuZ2U6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXJlY3Rpb246ICdsdHInLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBjb2xvcjogJyMwMDAwMDAnLCBtYXJnaW46ICcwIDZweCcgfX0+XG4gICAgICAgICAgICAgIHtyb3cubnZsX2NoYW5nZX0lXG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgICAgIGljb249e3Jvdy5udmxfY2hhbmdlID4gMCA/IGZhQ2hldnJvblVwIDogZmFDaGV2cm9uRG93bn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmxhc3Rfc2FtcGxlZCcpLFxuICAgICAgICBzZWxlY3RvcjogJ2xhc3Rfc2FtcGxlZCcsXG4gICAgICAgIHNvcnRhYmxlOiAocm93KSA9PiByb3cubGFzdF91cGRhdGVkLFxuICAgICAgICBjZWxsOiAocm93OiB7IGxhc3RfdXBkYXRlZDogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtyb3cubGFzdF91cGRhdGVkID09PSBudWxsXG4gICAgICAgICAgICAgID8gJy0nXG4gICAgICAgICAgICAgIDogbmV3IERhdGUocm93Lmxhc3RfdXBkYXRlZCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1HQicpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQudHJlbmRfZ3JhcGgnKSxcbiAgICAgICAgc2VsZWN0b3I6ICd0cmVuZF9ncmFwaCcsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IGlkOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAgPEdyYXBoV3JhcHBlclxuICAgICAgICAgICAgICBrZXk9e3Jvdy5pZH1cbiAgICAgICAgICAgICAgcm93PXtyb3d9XG4gICAgICAgICAgICAgIHdhdGVyX2F1dGhvcml0eV9pZD17Z2V0V0FJZCgpfVxuICAgICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wb3B1bGF0aW9uJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cucG9wdWxhdGlvbixcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgcG9wdWxhdGlvbjogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtrRm9ybWF0dGVyKHBhcnNlSW50KHJvdy5wb3B1bGF0aW9uKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgIF0sXG4gICAgW2lzUnRsLCBzZWxlY3RlZFBhdGhvZ2VuXSxcbiAgKTtcblxuICBjb25zdCBpbml0aWFsaXplTWFwQXJlYXMgPSAoYXJlYXMpID0+IHtcbiAgICBjb25zdCBtYXBwZWRXaXRoQ29sb3IgPSBhcmVhcy5tYXAoKGE6IGFueSkgPT4ge1xuICAgICAgYS53YmVfZGFzaGJvYXJkX25hbWUgPSBhLm5hbWU7XG4gICAgICBhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPSB0cnVlO1xuXG4gICAgICBpZiAoIWEuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNJbmZlY3RlZChhLm52bCkpIHtcbiAgICAgICAgYS5jb2xvciA9IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuUjEwMDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5HMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNldE1hcEFyZWFzKG1hcHBlZFdpdGhDb2xvcik7XG4gIH07XG5cbiAgY29uc3Qgem9vbVRvQXJlYSA9IChhcmVhKSA9PiB7XG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiYgc2V0TWFwWm9vbShhcmVhLnNoYXBlX2RhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHpvb21BbGxBcmVhcyA9IChkYXRhKSA9PiB7XG4gICAgY29uc3Qgc2hhcGVEYXRhID0gZGF0YS5tYXAoKGRhdHVtKSA9PiB7XG4gICAgICByZXR1cm4gZGF0dW0uc2hhcGVfZGF0YTtcbiAgICB9KTtcblxuICAgIHNldE1hcFpvb20oc2hhcGVEYXRhKTtcbiAgfTtcblxuICBjb25zdCBpc0luZmVjdGVkID0gKG52bDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGxldmVsTlZMKG52bCkgPT09ICdjbGVhbicpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ2xvdycgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdtZWRpdW0nIHx8XG4gICAgICBsZXZlbE5WTChudmwpID09PSAnaGlnaCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGRpcjogRGlyZWN0aW9uID1cbiAgICBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IERpcmVjdGlvbi5SVEwgOiBEaXJlY3Rpb24uTFRSO1xuXG4gIGNvbnN0IGZpbHRlclJlc3VsdHNBbmRTZXRSb3dzID0gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGxldCByZXN1bHRzID0gY3VycmVudERhdGEuZmlsdGVyKGZ1bmN0aW9uIChlbDogYW55KSB7XG4gICAgICByZXR1cm4gZWwubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgfSk7XG5cbiAgICBzZXRSb3dzKHJlc3VsdHMpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU9uUm93RXhwYW5kID0gKGV4cGFuZGVkLCByb3cpID0+IHtcbiAgICBleHBhbmRlZCAmJiB6b29tVG9BcmVhKHJvdyk7XG4gICAgIWV4cGFuZGVkICYmIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrID0gKHBhdGhvZ2VuKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0IC0gUGF0aG9nZW4gY2hhbmdlIGNsaWNrZWQnLCB7XG4gICAgICBwYXRob2dlbjogcGF0aG9nZW4sXG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBzZXRTZWxlY3RlZFBhdGhvZ2VuKHBhdGhvZ2VuKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgL3diZV9kYXNoYm9hcmQvaW5kZXg/bG9jYWxlPSR7bmF2Q29udGV4dC5sb2NhbGV9JndhdGVyX2F1dGhvcml0eV9pZD0ke3dhdGVyQXV0aG9yaXR5SWR9JnBhdGhvZ2VuPSR7cGF0aG9nZW59YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoRm9yVGFiU2VsZWN0aW9uID0gKHRhYikgPT4ge1xuICAgIHNldEZldGNoaW5nKHRydWUpO1xuICAgIGF4aW9zLmdldChmZXRjaFVybCh0YWIpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgbGV0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGEuZGF0YTtcblxuICAgICAgc2V0RmV0Y2hpbmcoZmFsc2UpO1xuICAgICAgc2V0VGFicyhERUZBVUxUX1RBQlMpO1xuICAgICAgc2V0Um93cyhyZXNwb25zZURhdGEpO1xuICAgICAgc2V0Q3VycmVudERhdGEocmVzcG9uc2VEYXRhKTtcbiAgICAgIGluaXRpYWxpemVNYXBBcmVhcyhyZXNwb25zZURhdGEpO1xuICAgICAgem9vbUFsbEFyZWFzKHJlc3BvbnNlRGF0YSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2sgPSAodGFiKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nKSB7XG4gICAgICBzZXRTZWxlY3RlZFRhYih0YWIpO1xuXG4gICAgICBpZiAodGFiICE9PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKSkge1xuICAgICAgICB0YWIgPVxuICAgICAgICAgIHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJylcbiAgICAgICAgICAgID8gJ2NpdHknXG4gICAgICAgICAgICA6IHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJylcbiAgICAgICAgICAgID8gJ21vbml0b3JlZCdcbiAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgZmV0Y2hGb3JUYWJTZWxlY3Rpb24odGFiKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZURyaWxsZWRBcmVhID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgbGV0IGRhdGEgPSByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBzZXRDdXJyZW50RGF0YShkYXRhKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUFyZWFDbGljayA9IChhcmVhKSA9PiB7XG4gICAgem9vbVRvQXJlYShhcmVhKTtcblxuICAgIGlmIChhcmVhLmhhc19jaGlsZHJlbikge1xuICAgICAgc2V0VGFicyhbLi4udGFicywgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJyldKTtcbiAgICAgIHNldFNlbGVjdGVkVGFiKGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpKTtcblxuICAgICAgYXhpb3MuZ2V0KGZldGNoVXJsKGFyZWEuaWQpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpbml0aWFsaXplRHJpbGxlZEFyZWEocmVzcG9uc2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGluaXRpYWxpemVDb21wb25lbnQgPSAoKSA9PiB7XG4gICAgc2V0Q3VycmVudERhdGEoZGF0YSk7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBhbmFseXRpY3NUcmFjaygnV0JFIFN0YXR1cyBSZXBvcnQnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBkaXNwYXRjaCh1cGRhdGVOYXZDb250ZXh0KHsgbmFtZTogJ3diZV9kYXNoYm9hcmQnIH0pKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nICYmIGRhdGEgIT09IG51bGwpIHtcbiAgICAgIGluaXRpYWxpemVDb21wb25lbnQoKTtcbiAgICB9XG4gIH0sIFtpc0ZldGNoaW5nLCBzZWxlY3RlZFBhdGhvZ2VuLCBkYXRhXSk7XG5cbiAgY29uc3QgcGF0aG9nZW5UaXRsZSA9IHBhdGhvZ2Vucy5maW5kKFxuICAgIChpdGVtKSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkgPT09IHNlbGVjdGVkUGF0aG9nZW4udG9Mb3dlckNhc2UoKSxcbiAgKTtcbiAgY29uc3QgZHJvcERvd25UaXRsZSA9XG4gICAgcGF0aG9nZW5UaXRsZSB8fCBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wYXRob2dlbl9ub3RfZm91bmQnKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPENvbnRlbnQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgxPlxuICAgICAgICAgICAge2Ake2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRhYmxlX25hbWUnKX0gKCR7XG4gICAgICAgICAgICAgIHBhdGhvZ2VuVGl0bGUgfHwgZ2V0UGF0aG9nZW4oKVxuICAgICAgICAgICAgfSlgfVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPEFjdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICB7cGF0aG9nZW5zLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgICA8RHJvcGRvd25CdXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImRyb3Bkb3duLWJhc2ljLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYnV0dG9uIGJ1dHRvbi0tc29ydCd9XG4gICAgICAgICAgICAgICAgdGl0bGU9e2Ryb3BEb3duVGl0bGUgKyAnICd9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cGF0aG9nZW5zLm1hcCgocGF0aG9nZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdFBhdGhvZ2VuQ2xpY2socGF0aG9nZW4pfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gJ3JpZ2h0JyA6ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3BhdGhvZ2VufVxuICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duQnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0FjdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Rmlyc3RTZWN0aW9uPlxuICAgICAgICAgIDxXYmVTdW1tYXJ5QmFyXG4gICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ9e3dhdGVyQXV0aG9yaXR5SWR9XG4gICAgICAgICAgICBpc1J0bD17aXNSdGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9GaXJzdFNlY3Rpb24+XG5cbiAgICAgICAgPFNlY29uZFNlY3Rpb24+XG4gICAgICAgICAgPFNlYXJjaElucHV0IG9uQ2hhbmdlQmVoYXZpb3I9e2ZpbHRlclJlc3VsdHNBbmRTZXRSb3dzfSAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGFicy1jb250YWluZXInfT5cbiAgICAgICAgICAgIDxUYWJzXG4gICAgICAgICAgICAgIHRhYnM9e3RhYnN9XG4gICAgICAgICAgICAgIHNlbGVjdGVkVGFiPXtzZWxlY3RlZFRhYn1cbiAgICAgICAgICAgICAgaGFuZGxlT25DbGljaz17aGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2t9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxNYXBUYWJsZUNvbnRhaW5lciBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAge2lzRmV0Y2hpbmcgJiYgPFNwaW5uZXIgLz59XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J21hcC1jb250YWluZXInfT5cbiAgICAgICAgICAgICAgeyFpc0ZldGNoaW5nICYmIHJvd3MgIT09IG51bGwgJiYgbWFwWm9vbSAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgICAgICAgIGFyZWFzPXttYXBBcmVhc31cbiAgICAgICAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e21hcFpvb219XG4gICAgICAgICAgICAgICAgICAgIGVkZ2VzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbERhdGF9XG4gICAgICAgICAgICAgICAgICAgIG1hcEJveFN0eWxlPXtNQVBCT1hfV0JFX0RBU0hCT0FSRF9TVFlMRX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7IWlzRmV0Y2hpbmcgJiYgcm93cyAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICAgIDxLYW5kb1RhYmxlXG4gICAgICAgICAgICAgICAgb25Sb3dFeHBhbmRUb2dnbGVkPXtoYW5kbGVPblJvd0V4cGFuZH1cbiAgICAgICAgICAgICAgICBkYXRhPXtyb3dzfVxuICAgICAgICAgICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJ9XG4gICAgICAgICAgICAgICAgZXhwYW5kYWJsZVJvd3M9e3RydWV9XG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvblBlclBhZ2U9e1RBQkxFX1JPV1NfUEVSX1BBR0V9XG4gICAgICAgICAgICAgICAgcm93Q29tcG9uZW50PXtFeHBhbmRlZENvbXBvbmVudH1cbiAgICAgICAgICAgICAgICBleHBhbmRhYmxlUm93c0NvbXBvbmVudFByb3BzPXt7IHBhdGhvZ2VuOiBzZWxlY3RlZFBhdGhvZ2VuIH19XG4gICAgICAgICAgICAgICAgZGVmYXVsdFNvcnRGaWVsZElkPXszfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L01hcFRhYmxlQ29udGFpbmVyPlxuICAgICAgICA8L1NlY29uZFNlY3Rpb24+XG4gICAgICA8L0NvbnRlbnQ+XG4gICAgPC8+XG4gICk7XG59O1xuXG5jb25zdCBSb3dOYW1lID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICAgIHdpZHRoOiAxMDAlO1xuICAgICAgXG4gICAgLnJvd19uYW1lIHtcbiAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbjsgICAgICBcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0tY2xlYW4ge1xuICAgICAgICAgY29sb3I6ICMyN2E2M2E7IFxuICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjdhNjNhOyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1pbmZlY3RlZCB7XG4gICAgICAgICAgY29sb3I6ICNlMTAwMzY7XG4gICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTEwMDM2OyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1pbmFjdGl2ZS1zYW1wbGluZyB7XG4gICAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuICAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07ICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAkeyhwKSA9PiAocC5pc1J0bCA/ICdyaWdodDogNTFweDsnIDogJ2xlZnQ6IDUxcHg7Jyl9XG4gICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiA3LjVlbTtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIGA7XG5cbmNvbnN0IEFjdGlvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuY29uc3QgRmlyc3RTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luOiA4NXB4IDAgMjBweCAwO1xuYDtcblxuY29uc3QgU2Vjb25kU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNmY2ZjZmM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbmA7XG5cbmNvbnN0IE1hcFRhYmxlQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIC5tYXAtY29udGFpbmVyIHtcbiAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAuZXZlbnQtdGltZXJhbmdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICNtYXAge1xuICAgICAgaGVpZ2h0OiA2OXZoO1xuICAgICAgd2lkdGg6IDMwdnc7XG4gICAgfVxuICB9XG4gIFtkYXRhLXRlc3RpZD0na2FuZG8tdGFibGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgW2RhdGEtY29sdW1uLWlkPScxJ10ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICAubmFtZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEyMHB4ICsgMXZ3KTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBjdWJpYy1iZXppZXIoMC42NSwgMC4wNSwgMC4zNiwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNwaW5uZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5gO1xuXG5jb25zdCBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIHBhZGRpbmc6IDYwcHggNjBweDtcbmA7XG4iXX0=
|
|
@@ -102,8 +102,8 @@ var WbeSummaryBar = function WbeSummaryBar(props) {
|
|
|
102
102
|
isRtl: isRtl
|
|
103
103
|
}, /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
|
|
104
104
|
data: _i18n.default.t('components.wbe_dashboard.wbe_summary.tooltip.infected'),
|
|
105
|
-
title: _i18n.default.t('components.wbe_dashboard.wbe_summary.
|
|
106
|
-
}, _i18n.default.t('components.wbe_dashboard.wbe_summary.
|
|
105
|
+
title: _i18n.default.t('components.wbe_dashboard.wbe_summary.infected_areas')
|
|
106
|
+
}, _i18n.default.t('components.wbe_dashboard.wbe_summary.infected_areas'))), /*#__PURE__*/_react.default.createElement(Percentage, null, data.infected_percentage, "%"), /*#__PURE__*/_react.default.createElement(PercentageDescription, null, positiveOrNegativeString(data.infected_gap_from_previous_week), ' ', _i18n.default.t('components.wbe_dashboard.wbe_summary.from_last_week'))), /*#__PURE__*/_react.default.createElement(Box, null, /*#__PURE__*/_react.default.createElement(PercentageLabel, {
|
|
107
107
|
isRtl: isRtl
|
|
108
108
|
}, /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
|
|
109
109
|
data: _i18n.default.t('components.wbe_dashboard.wbe_summary.tooltip.trend'),
|
|
@@ -202,4 +202,4 @@ var TopSection = _styledComponents.default.div.withConfig({
|
|
|
202
202
|
displayName: "WbeSummaryBar__TopSection",
|
|
203
203
|
componentId: "sc-1riqg8c-9"
|
|
204
204
|
})(["@media (max-width:1250px){width:100%;max-width:100%;}display:flex;justify-content:space-evenly;width:max-content;max-width:50%;"]);
|
|
205
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlU3VtbWFyeUJhci50c3giXSwibmFtZXMiOlsiV2JlU3VtbWFyeUJhciIsInByb3BzIiwid2F0ZXJBdXRob3JpdHlJZCIsImlzUnRsIiwicGF0aG9nZW4iLCJpbml0aWFsU3VtbWFyeVN0YXRlIiwiY2xlYW5fcGVyY2VudGFnZSIsImNsZWFuZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlayIsImluY3JlYXNpbmdfdHJlbmRfcGVyY2VudGFnZSIsImluZmVjdGVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWsiLCJpbmZlY3RlZF9wZXJjZW50YWdlIiwiYXJlYXNfd2l0aF9hY3RpdmVfc2FtcGxpbmdzX3BlcmNlbnRhZ2UiLCJwb3B1bGF0aW9uIiwid2Vla3NfZm9yX2dvdl9mZXRjaCIsIndlZWtzIiwieF9heGlzIiwiZGF0YSIsInNldERhdGEiLCJpc1N1bW1hcnlHcmFwaE1vZGFsT3BlbiIsInNldElzU3VtbWFyeUdyYXBoTW9kYWxPcGVuIiwiZmV0Y2hBbmRTZXREYXRhIiwiYXhpb3MiLCJnZXQiLCJ3YmVEYXNoYm9hcmQiLCJzdW1tYXJ5QmFyIiwidXJsIiwidGhlbiIsInJlc3BvbnNlIiwic3VtbWFyeSIsInBvc2l0aXZlT3JOZWdhdGl2ZVN0cmluZyIsIm51bWJlciIsIk1hdGgiLCJzaWduIiwiaGFuZGxlRXhwYW5kQ2xpY2siLCJ1bmRlZmluZWQiLCJjbGVhbnVwIiwiaTE4biIsInQiLCJmYUFycm93c0FsdCIsIkJveENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIkJveCIsIkdyYXBoQm94IiwiR3JhcGhDb250YWluZXIiLCJFeHBhbmRJY29uIiwicCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjUwIiwicHJpbWFyeSIsInAxIiwiUGVyY2VudGFnZUxhYmVsIiwiUGVyY2VudGFnZSIsIlBlcmNlbnRhZ2VEZXNjcmlwdGlvbiIsIm42MCIsIkJvdHRvbVNlY3Rpb24iLCJUb3BT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RUFBekM7QUFBQSxDQUhLLENBQWhCOztBQU1BLElBQU1HLHFCQUFxQixHQUFHZiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSw4SUFVaEI7QUFBQSxNQUFHTSxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCTyxHQUF6QztBQUFBLENBVmdCLENBQTNCOztBQWFBLElBQU1DLGFBQWEsR0FBR2pCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHFKQUFuQjs7QUFhQSxJQUFNaUIsVUFBVSxHQUFHbEIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsdUlBQWhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgU3VtbWFyeUdyYXBoIH0gZnJvbSAnLi9TdW1tYXJ5R3JhcGgnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnc3JjL3VpLWtpdC9JbmZvVG9vbHRpcC9JbmZvVG9vbHRpcCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFBcnJvd3NBbHQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgU3VtbWFyeUdyYXBoTW9kYWwgfSBmcm9tICcuL1N1bW1hcnlHcmFwaE1vZGFsJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcblxudHlwZSBQcm9wcyA9IHtcbiAgd2F0ZXJBdXRob3JpdHlJZDogbnVtYmVyO1xuICBwYXRob2dlbjogc3RyaW5nO1xuICBpc1J0bDogYm9vbGVhbjtcbn07XG5cbnR5cGUgRGF0YSA9IHtcbiAgY2xlYW5fcGVyY2VudGFnZTogbnVtYmVyO1xuICBjbGVhbmVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWs6IG51bWJlcjtcbiAgaW5jcmVhc2luZ190cmVuZF9wZXJjZW50YWdlOiBudW1iZXI7XG4gIGluZmVjdGVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWs6IG51bWJlcjtcbiAgaW5mZWN0ZWRfcGVyY2VudGFnZTogbnVtYmVyO1xuICBhcmVhc193aXRoX2FjdGl2ZV9zYW1wbGluZ3NfcGVyY2VudGFnZTogbnVtYmVyO1xuICBwb3B1bGF0aW9uOiBudW1iZXI7XG4gIHdlZWtzX2Zvcl9nb3ZfZmV0Y2g6IHsgd2Vla3M6IHN0cmluZ1tdOyB4X2F4aXM6IHN0cmluZ1tdIH07XG59O1xuXG5leHBvcnQgY29uc3QgV2JlU3VtbWFyeUJhcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgaXNSdGwsIHBhdGhvZ2VuIH0gPSBwcm9wcztcbiAgY29uc3QgaW5pdGlhbFN1bW1hcnlTdGF0ZSA9IHtcbiAgICBjbGVhbl9wZXJjZW50YWdlOiAwLFxuICAgIGNsZWFuZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlazogMCxcbiAgICBpbmNyZWFzaW5nX3RyZW5kX3BlcmNlbnRhZ2U6IDAsXG4gICAgaW5mZWN0ZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlazogMCxcbiAgICBpbmZlY3RlZF9wZXJjZW50YWdlOiAwLFxuICAgIGFyZWFzX3dpdGhfYWN0aXZlX3NhbXBsaW5nc19wZXJjZW50YWdlOiAwLFxuICAgIHBvcHVsYXRpb246IDAsXG4gICAgd2Vla3NfZm9yX2dvdl9mZXRjaDogeyB3ZWVrczogW10sIHhfYXhpczogW10gfSxcbiAgfTtcbiAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGU8RGF0YT4oaW5pdGlhbFN1bW1hcnlTdGF0ZSk7XG4gIGNvbnN0IFtpc1N1bW1hcnlHcmFwaE1vZGFsT3Blbiwgc2V0SXNTdW1tYXJ5R3JhcGhNb2RhbE9wZW5dID1cbiAgICB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IGZldGNoQW5kU2V0RGF0YSA9ICgpID0+IHtcbiAgICBheGlvc1xuICAgICAgLmdldChcbiAgICAgICAgdXJscyh7IHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsIHBhdGhvZ2VuIH0pLndiZURhc2hib2FyZFxuICAgICAgICAgIC5zdW1tYXJ5QmFyLnVybCxcbiAgICAgIClcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBzZXREYXRhKHJlc3BvbnNlLmRhdGEuc3VtbWFyeSk7XG4gICAgICB9KTtcbiAgfTtcbiAgY29uc3QgcG9zaXRpdmVPck5lZ2F0aXZlU3RyaW5nID0gKG51bWJlcikgPT4ge1xuICAgIGlmIChNYXRoLnNpZ24obnVtYmVyKSA9PT0gMSkge1xuICAgICAgcmV0dXJuIGArJHtudW1iZXJ9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bWJlcjtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXhwYW5kQ2xpY2sgPSAoKSA9PiB7XG4gICAgc2V0SXNTdW1tYXJ5R3JhcGhNb2RhbE9wZW4odHJ1ZSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAod2F0ZXJBdXRob3JpdHlJZCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgZmV0Y2hBbmRTZXREYXRhKCk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIHNldERhdGEoaW5pdGlhbFN1bW1hcnlTdGF0ZSk7XG4gICAgfTtcbiAgfSwgW3dhdGVyQXV0aG9yaXR5SWQsIHBhdGhvZ2VuXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94Q29udGFpbmVyPlxuICAgICAgPFRvcFNlY3Rpb24+XG4gICAgICAgIDxCb3g+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VMYWJlbCBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgIGRhdGE9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LnRvb2x0aXAuY2xlYW4nLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkuY2xlYW5lZF9hcmVhcycsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5jbGVhbmVkX2FyZWFzJyl9XG4gICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgIDwvUGVyY2VudGFnZUxhYmVsPlxuXG4gICAgICAgICAgPFBlcmNlbnRhZ2U+e2RhdGEuY2xlYW5fcGVyY2VudGFnZX0lPC9QZXJjZW50YWdlPlxuICAgICAgICAgIDxQZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgICAgICB7cG9zaXRpdmVPck5lZ2F0aXZlU3RyaW5nKGRhdGEuY2xlYW5lZF9nYXBfZnJvbV9wcmV2aW91c193ZWVrKX17JyAnfVxuICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmZyb21fbGFzdF93ZWVrJyl9XG4gICAgICAgICAgPC9QZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8Qm94PlxuICAgICAgICAgIDxQZXJjZW50YWdlTGFiZWwgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgICBkYXRhPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50b29sdGlwLmluZmVjdGVkJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmluZmVjdGVkX3BvaW50cycsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5pbmZlY3RlZF9wb2ludHMnKX1cbiAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgPC9QZXJjZW50YWdlTGFiZWw+XG4gICAgICAgICAgPFBlcmNlbnRhZ2U+e2RhdGEuaW5mZWN0ZWRfcGVyY2VudGFnZX0lPC9QZXJjZW50YWdlPlxuICAgICAgICAgIDxQZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgICAgICB7cG9zaXRpdmVPck5lZ2F0aXZlU3RyaW5nKGRhdGEuaW5mZWN0ZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2Vlayl9eycgJ31cbiAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5mcm9tX2xhc3Rfd2VlaycpfVxuICAgICAgICAgIDwvUGVyY2VudGFnZURlc2NyaXB0aW9uPlxuICAgICAgICA8L0JveD5cbiAgICAgICAgPEJveD5cbiAgICAgICAgICA8UGVyY2VudGFnZUxhYmVsIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgZGF0YT17aTE4bi50KFxuICAgICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkudG9vbHRpcC50cmVuZCcsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50cmVuZCcpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkudHJlbmQnKX1cbiAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgPC9QZXJjZW50YWdlTGFiZWw+XG4gICAgICAgICAgPFBlcmNlbnRhZ2U+e2RhdGEuaW5jcmVhc2luZ190cmVuZF9wZXJjZW50YWdlfSU8L1BlcmNlbnRhZ2U+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkud2l0aF9pbmNyZWFzZWRfdmlydXNfbG9hZCcsXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvUGVyY2VudGFnZURlc2NyaXB0aW9uPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvVG9wU2VjdGlvbj5cbiAgICAgIDxCb3R0b21TZWN0aW9uPlxuICAgICAgICA8Qm94PlxuICAgICAgICAgIDxQZXJjZW50YWdlTGFiZWwgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgICBkYXRhPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50b29sdGlwLmNvdmVyYWdlJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmNvdmVyYWdlJyl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5jb3ZlcmFnZScpfVxuICAgICAgICAgICAgPC9JbmZvVG9vbHRpcD5cbiAgICAgICAgICA8L1BlcmNlbnRhZ2VMYWJlbD5cbiAgICAgICAgICA8UGVyY2VudGFnZT5cbiAgICAgICAgICAgIHtkYXRhLmFyZWFzX3dpdGhfYWN0aXZlX3NhbXBsaW5nc19wZXJjZW50YWdlfSVcbiAgICAgICAgICA8L1BlcmNlbnRhZ2U+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5wb3B1bGF0aW9uJyl9eycgJ31cbiAgICAgICAgICAgIHtkYXRhLnBvcHVsYXRpb259XG4gICAgICAgICAgPC9QZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8R3JhcGhCb3g+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VMYWJlbCBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgIGRhdGE9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LnRvb2x0aXAubnZsX29mX2FsbCcsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5udmxfb2ZfYWxsJyl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5udmxfb2ZfYWxsJyl9XG4gICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgIDwvUGVyY2VudGFnZUxhYmVsPlxuICAgICAgICAgIDxHcmFwaENvbnRhaW5lciBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPFN1bW1hcnlHcmFwaFxuICAgICAgICAgICAgICBwYXRob2dlbj17cGF0aG9nZW59XG4gICAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ9e3dhdGVyQXV0aG9yaXR5SWR9XG4gICAgICAgICAgICAgIHdlZWtzRm9yR292RmV0Y2g9e2RhdGEud2Vla3NfZm9yX2dvdl9mZXRjaH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8RXhwYW5kSWNvbiBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgICAgICAgaWNvbj17ZmFBcnJvd3NBbHR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRXhwYW5kQ2xpY2soKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvRXhwYW5kSWNvbj5cbiAgICAgICAgICAgIHtpc1N1bW1hcnlHcmFwaE1vZGFsT3BlbiAmJiAoXG4gICAgICAgICAgICAgIDxTdW1tYXJ5R3JhcGhNb2RhbCBzZXRPcGVuPXtzZXRJc1N1bW1hcnlHcmFwaE1vZGFsT3Blbn0+XG4gICAgICAgICAgICAgICAgPFN1bW1hcnlHcmFwaFxuICAgICAgICAgICAgICAgICAgcGF0aG9nZW49e3BhdGhvZ2VufVxuICAgICAgICAgICAgICAgICAgd2F0ZXJBdXRob3JpdHlJZD17d2F0ZXJBdXRob3JpdHlJZH1cbiAgICAgICAgICAgICAgICAgIHdlZWtzRm9yR292RmV0Y2g9e2RhdGEud2Vla3NfZm9yX2dvdl9mZXRjaH1cbiAgICAgICAgICAgICAgICAgIG1pbmk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3VtbWFyeUdyYXBoTW9kYWw+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvR3JhcGhDb250YWluZXI+XG4gICAgICAgIDwvR3JhcGhCb3g+XG4gICAgICA8L0JvdHRvbVNlY3Rpb24+XG4gICAgPC9Cb3hDb250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBCb3hDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTIyNHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiBHaWxyb3ktVWx0cmFMaWdodDtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuY29uc3QgQm94ID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMjRweCkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGhlaWdodDogMTIycHg7XG4gIHdpZHRoOiAzMzBweDtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBHcmFwaEJveCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDAgMDtcbiAgYmFja2dyb3VuZDogI2ZjZmNmYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBoZWlnaHQ6IDEyMnB4O1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IEdyYXBoQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICB3aWR0aDogNjB2dztcbiAgfVxuXG4gIG1hcmdpbi10b3A6IDVweDtcbiAgd2lkdGg6IDMwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5jb25zdCBFeHBhbmRJY29uID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICR7KHApID0+IChwLmlzUnRsID8gJ2xlZnQ6IDVweDsnIDogJ3JpZ2h0OiA1cHg7Jyl9XG4gIHRvcDogNXB4O1xuXG4gIHN2ZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjUwfTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgUGVyY2VudGFnZUxhYmVsID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgdG9wOiAtMjBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICBmb250LXNpemU6IDE2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgbGVmdDogMDtcbiAgJHsocCkgPT4gKHAuaXNSdGwgPyAncmlnaHQ6IDBweDsnIDogJ2xlZnQ6IDBweDsnKX1cbmA7XG5cbmNvbnN0IFBlcmNlbnRhZ2UgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IGNhbGMoMjBweCArIDJ2dyk7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuYDtcblxuY29uc3QgUGVyY2VudGFnZURlc2NyaXB0aW9uID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyg5cHggKyAwLjZ2dyk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgZm9udC1zaXplOiBjYWxjKDRweCArIDAuNnZ3KTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuYDtcblxuY29uc3QgQm90dG9tU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDUwJTtcbmA7XG5cbmNvbnN0IFRvcFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiA1MCU7XG5gO1xuIl19
|
|
205
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlU3VtbWFyeUJhci50c3giXSwibmFtZXMiOlsiV2JlU3VtbWFyeUJhciIsInByb3BzIiwid2F0ZXJBdXRob3JpdHlJZCIsImlzUnRsIiwicGF0aG9nZW4iLCJpbml0aWFsU3VtbWFyeVN0YXRlIiwiY2xlYW5fcGVyY2VudGFnZSIsImNsZWFuZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlayIsImluY3JlYXNpbmdfdHJlbmRfcGVyY2VudGFnZSIsImluZmVjdGVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWsiLCJpbmZlY3RlZF9wZXJjZW50YWdlIiwiYXJlYXNfd2l0aF9hY3RpdmVfc2FtcGxpbmdzX3BlcmNlbnRhZ2UiLCJwb3B1bGF0aW9uIiwid2Vla3NfZm9yX2dvdl9mZXRjaCIsIndlZWtzIiwieF9heGlzIiwiZGF0YSIsInNldERhdGEiLCJpc1N1bW1hcnlHcmFwaE1vZGFsT3BlbiIsInNldElzU3VtbWFyeUdyYXBoTW9kYWxPcGVuIiwiZmV0Y2hBbmRTZXREYXRhIiwiYXhpb3MiLCJnZXQiLCJ3YmVEYXNoYm9hcmQiLCJzdW1tYXJ5QmFyIiwidXJsIiwidGhlbiIsInJlc3BvbnNlIiwic3VtbWFyeSIsInBvc2l0aXZlT3JOZWdhdGl2ZVN0cmluZyIsIm51bWJlciIsIk1hdGgiLCJzaWduIiwiaGFuZGxlRXhwYW5kQ2xpY2siLCJ1bmRlZmluZWQiLCJjbGVhbnVwIiwiaTE4biIsInQiLCJmYUFycm93c0FsdCIsIkJveENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIkJveCIsIkdyYXBoQm94IiwiR3JhcGhDb250YWluZXIiLCJFeHBhbmRJY29uIiwicCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjUwIiwicHJpbWFyeSIsInAxIiwiUGVyY2VudGFnZUxhYmVsIiwiUGVyY2VudGFnZSIsIlBlcmNlbnRhZ2VEZXNjcmlwdGlvbiIsIm42MCIsIkJvdHRvbVNlY3Rpb24iLCJUb3BT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RUFBekM7QUFBQSxDQUhLLENBQWhCOztBQU1BLElBQU1HLHFCQUFxQixHQUFHZiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSw4SUFVaEI7QUFBQSxNQUFHTSxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCTyxHQUF6QztBQUFBLENBVmdCLENBQTNCOztBQWFBLElBQU1DLGFBQWEsR0FBR2pCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHFKQUFuQjs7QUFhQSxJQUFNaUIsVUFBVSxHQUFHbEIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsdUlBQWhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgU3VtbWFyeUdyYXBoIH0gZnJvbSAnLi9TdW1tYXJ5R3JhcGgnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnc3JjL3VpLWtpdC9JbmZvVG9vbHRpcC9JbmZvVG9vbHRpcCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFBcnJvd3NBbHQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgU3VtbWFyeUdyYXBoTW9kYWwgfSBmcm9tICcuL1N1bW1hcnlHcmFwaE1vZGFsJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcblxudHlwZSBQcm9wcyA9IHtcbiAgd2F0ZXJBdXRob3JpdHlJZDogbnVtYmVyO1xuICBwYXRob2dlbjogc3RyaW5nO1xuICBpc1J0bDogYm9vbGVhbjtcbn07XG5cbnR5cGUgRGF0YSA9IHtcbiAgY2xlYW5fcGVyY2VudGFnZTogbnVtYmVyO1xuICBjbGVhbmVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWs6IG51bWJlcjtcbiAgaW5jcmVhc2luZ190cmVuZF9wZXJjZW50YWdlOiBudW1iZXI7XG4gIGluZmVjdGVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWs6IG51bWJlcjtcbiAgaW5mZWN0ZWRfcGVyY2VudGFnZTogbnVtYmVyO1xuICBhcmVhc193aXRoX2FjdGl2ZV9zYW1wbGluZ3NfcGVyY2VudGFnZTogbnVtYmVyO1xuICBwb3B1bGF0aW9uOiBudW1iZXI7XG4gIHdlZWtzX2Zvcl9nb3ZfZmV0Y2g6IHsgd2Vla3M6IHN0cmluZ1tdOyB4X2F4aXM6IHN0cmluZ1tdIH07XG59O1xuXG5leHBvcnQgY29uc3QgV2JlU3VtbWFyeUJhcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgaXNSdGwsIHBhdGhvZ2VuIH0gPSBwcm9wcztcbiAgY29uc3QgaW5pdGlhbFN1bW1hcnlTdGF0ZSA9IHtcbiAgICBjbGVhbl9wZXJjZW50YWdlOiAwLFxuICAgIGNsZWFuZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlazogMCxcbiAgICBpbmNyZWFzaW5nX3RyZW5kX3BlcmNlbnRhZ2U6IDAsXG4gICAgaW5mZWN0ZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlazogMCxcbiAgICBpbmZlY3RlZF9wZXJjZW50YWdlOiAwLFxuICAgIGFyZWFzX3dpdGhfYWN0aXZlX3NhbXBsaW5nc19wZXJjZW50YWdlOiAwLFxuICAgIHBvcHVsYXRpb246IDAsXG4gICAgd2Vla3NfZm9yX2dvdl9mZXRjaDogeyB3ZWVrczogW10sIHhfYXhpczogW10gfSxcbiAgfTtcbiAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGU8RGF0YT4oaW5pdGlhbFN1bW1hcnlTdGF0ZSk7XG4gIGNvbnN0IFtpc1N1bW1hcnlHcmFwaE1vZGFsT3Blbiwgc2V0SXNTdW1tYXJ5R3JhcGhNb2RhbE9wZW5dID1cbiAgICB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IGZldGNoQW5kU2V0RGF0YSA9ICgpID0+IHtcbiAgICBheGlvc1xuICAgICAgLmdldChcbiAgICAgICAgdXJscyh7IHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsIHBhdGhvZ2VuIH0pLndiZURhc2hib2FyZFxuICAgICAgICAgIC5zdW1tYXJ5QmFyLnVybCxcbiAgICAgIClcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBzZXREYXRhKHJlc3BvbnNlLmRhdGEuc3VtbWFyeSk7XG4gICAgICB9KTtcbiAgfTtcbiAgY29uc3QgcG9zaXRpdmVPck5lZ2F0aXZlU3RyaW5nID0gKG51bWJlcikgPT4ge1xuICAgIGlmIChNYXRoLnNpZ24obnVtYmVyKSA9PT0gMSkge1xuICAgICAgcmV0dXJuIGArJHtudW1iZXJ9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bWJlcjtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXhwYW5kQ2xpY2sgPSAoKSA9PiB7XG4gICAgc2V0SXNTdW1tYXJ5R3JhcGhNb2RhbE9wZW4odHJ1ZSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAod2F0ZXJBdXRob3JpdHlJZCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgZmV0Y2hBbmRTZXREYXRhKCk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIHNldERhdGEoaW5pdGlhbFN1bW1hcnlTdGF0ZSk7XG4gICAgfTtcbiAgfSwgW3dhdGVyQXV0aG9yaXR5SWQsIHBhdGhvZ2VuXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94Q29udGFpbmVyPlxuICAgICAgPFRvcFNlY3Rpb24+XG4gICAgICAgIDxCb3g+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VMYWJlbCBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgIGRhdGE9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LnRvb2x0aXAuY2xlYW4nLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkuY2xlYW5lZF9hcmVhcycsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5jbGVhbmVkX2FyZWFzJyl9XG4gICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgIDwvUGVyY2VudGFnZUxhYmVsPlxuXG4gICAgICAgICAgPFBlcmNlbnRhZ2U+e2RhdGEuY2xlYW5fcGVyY2VudGFnZX0lPC9QZXJjZW50YWdlPlxuICAgICAgICAgIDxQZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgICAgICB7cG9zaXRpdmVPck5lZ2F0aXZlU3RyaW5nKGRhdGEuY2xlYW5lZF9nYXBfZnJvbV9wcmV2aW91c193ZWVrKX17JyAnfVxuICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmZyb21fbGFzdF93ZWVrJyl9XG4gICAgICAgICAgPC9QZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8Qm94PlxuICAgICAgICAgIDxQZXJjZW50YWdlTGFiZWwgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgICBkYXRhPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50b29sdGlwLmluZmVjdGVkJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmluZmVjdGVkX2FyZWFzJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmluZmVjdGVkX2FyZWFzJyl9XG4gICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgIDwvUGVyY2VudGFnZUxhYmVsPlxuICAgICAgICAgIDxQZXJjZW50YWdlPntkYXRhLmluZmVjdGVkX3BlcmNlbnRhZ2V9JTwvUGVyY2VudGFnZT5cbiAgICAgICAgICA8UGVyY2VudGFnZURlc2NyaXB0aW9uPlxuICAgICAgICAgICAge3Bvc2l0aXZlT3JOZWdhdGl2ZVN0cmluZyhkYXRhLmluZmVjdGVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWspfXsnICd9XG4gICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkuZnJvbV9sYXN0X3dlZWsnKX1cbiAgICAgICAgICA8L1BlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgPC9Cb3g+XG4gICAgICAgIDxCb3g+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VMYWJlbCBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgIGRhdGE9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LnRvb2x0aXAudHJlbmQnLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkudHJlbmQnKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LnRyZW5kJyl9XG4gICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgIDwvUGVyY2VudGFnZUxhYmVsPlxuICAgICAgICAgIDxQZXJjZW50YWdlPntkYXRhLmluY3JlYXNpbmdfdHJlbmRfcGVyY2VudGFnZX0lPC9QZXJjZW50YWdlPlxuICAgICAgICAgIDxQZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgICAgICB7aTE4bi50KFxuICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LndpdGhfaW5jcmVhc2VkX3ZpcnVzX2xvYWQnLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1BlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L1RvcFNlY3Rpb24+XG4gICAgICA8Qm90dG9tU2VjdGlvbj5cbiAgICAgICAgPEJveD5cbiAgICAgICAgICA8UGVyY2VudGFnZUxhYmVsIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgZGF0YT17aTE4bi50KFxuICAgICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkudG9vbHRpcC5jb3ZlcmFnZScsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5jb3ZlcmFnZScpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkuY292ZXJhZ2UnKX1cbiAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgPC9QZXJjZW50YWdlTGFiZWw+XG4gICAgICAgICAgPFBlcmNlbnRhZ2U+XG4gICAgICAgICAgICB7ZGF0YS5hcmVhc193aXRoX2FjdGl2ZV9zYW1wbGluZ3NfcGVyY2VudGFnZX0lXG4gICAgICAgICAgPC9QZXJjZW50YWdlPlxuICAgICAgICAgIDxQZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkucG9wdWxhdGlvbicpfXsnICd9XG4gICAgICAgICAgICB7ZGF0YS5wb3B1bGF0aW9ufVxuICAgICAgICAgIDwvUGVyY2VudGFnZURlc2NyaXB0aW9uPlxuICAgICAgICA8L0JveD5cbiAgICAgICAgPEdyYXBoQm94PlxuICAgICAgICAgIDxQZXJjZW50YWdlTGFiZWwgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgICBkYXRhPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50b29sdGlwLm52bF9vZl9hbGwnLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkubnZsX29mX2FsbCcpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkubnZsX29mX2FsbCcpfVxuICAgICAgICAgICAgPC9JbmZvVG9vbHRpcD5cbiAgICAgICAgICA8L1BlcmNlbnRhZ2VMYWJlbD5cbiAgICAgICAgICA8R3JhcGhDb250YWluZXIgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxTdW1tYXJ5R3JhcGhcbiAgICAgICAgICAgICAgcGF0aG9nZW49e3BhdGhvZ2VufVxuICAgICAgICAgICAgICB3YXRlckF1dGhvcml0eUlkPXt3YXRlckF1dGhvcml0eUlkfVxuICAgICAgICAgICAgICB3ZWVrc0ZvckdvdkZldGNoPXtkYXRhLndlZWtzX2Zvcl9nb3ZfZmV0Y2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEV4cGFuZEljb24gaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgICAgIGljb249e2ZhQXJyb3dzQWx0fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUV4cGFuZENsaWNrKCl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0V4cGFuZEljb24+XG4gICAgICAgICAgICB7aXNTdW1tYXJ5R3JhcGhNb2RhbE9wZW4gJiYgKFxuICAgICAgICAgICAgICA8U3VtbWFyeUdyYXBoTW9kYWwgc2V0T3Blbj17c2V0SXNTdW1tYXJ5R3JhcGhNb2RhbE9wZW59PlxuICAgICAgICAgICAgICAgIDxTdW1tYXJ5R3JhcGhcbiAgICAgICAgICAgICAgICAgIHBhdGhvZ2VuPXtwYXRob2dlbn1cbiAgICAgICAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ9e3dhdGVyQXV0aG9yaXR5SWR9XG4gICAgICAgICAgICAgICAgICB3ZWVrc0ZvckdvdkZldGNoPXtkYXRhLndlZWtzX2Zvcl9nb3ZfZmV0Y2h9XG4gICAgICAgICAgICAgICAgICBtaW5pPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N1bW1hcnlHcmFwaE1vZGFsPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0dyYXBoQ29udGFpbmVyPlxuICAgICAgICA8L0dyYXBoQm94PlxuICAgICAgPC9Cb3R0b21TZWN0aW9uPlxuICAgIDwvQm94Q29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMjRweCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogR2lscm95LVVsdHJhTGlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IEJveCA9IHN0eWxlZC5kaXZgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjI0cHgpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZDogI2ZjZmNmYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBoZWlnaHQ6IDEyMnB4O1xuICB3aWR0aDogMzMwcHg7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuY29uc3QgR3JhcGhCb3ggPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAwIDA7XG4gIGJhY2tncm91bmQ6ICNmY2ZjZmM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgaGVpZ2h0OiAxMjJweDtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBHcmFwaENvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgd2lkdGg6IDYwdnc7XG4gIH1cblxuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHdpZHRoOiAzMHZ3O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAkeyhwKSA9PiAocC5pc1J0bCA/ICdsZWZ0OiA1cHg7JyA6ICdyaWdodDogNXB4OycpfVxuICB0b3A6IDVweDtcblxuICBzdmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJHt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm41MH07XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHt0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFBlcmNlbnRhZ2VMYWJlbCA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgIHRvcDogLTIwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgZm9udC1zaXplOiAxNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMwcHg7XG4gIGxlZnQ6IDA7XG4gICR7KHApID0+IChwLmlzUnRsID8gJ3JpZ2h0OiAwcHg7JyA6ICdsZWZ0OiAwcHg7Jyl9XG5gO1xuXG5jb25zdCBQZXJjZW50YWdlID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiBjYWxjKDIwcHggKyAydncpO1xuICBmb250LXdlaWdodDogMTAwO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbmA7XG5cbmNvbnN0IFBlcmNlbnRhZ2VEZXNjcmlwdGlvbiA9IHN0eWxlZC5kaXZgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICBmb250LXNpemU6IGNhbGMoOXB4ICsgMC42dncpO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGZvbnQtc2l6ZTogY2FsYyg0cHggKyAwLjZ2dyk7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbmA7XG5cbmNvbnN0IEJvdHRvbVNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiA1MCU7XG5gO1xuXG5jb25zdCBUb3BTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogNTAlO1xuYDtcbiJdfQ==
|
|
@@ -144,14 +144,14 @@ function selectSource(point_id) {
|
|
|
144
144
|
};
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
function fetchEvents(waterAuthorityId, valuesFromKQL) {
|
|
147
|
+
function fetchEvents(waterAuthorityId, valuesFromKQL, eventId) {
|
|
148
148
|
return function (dispatch) {
|
|
149
149
|
dispatch(requestEvents());
|
|
150
|
-
return fetch("/events.json?water_authority_id=".concat(waterAuthorityId, "&valuesFromKQL=").concat(valuesFromKQL)).then(function (response) {
|
|
150
|
+
return fetch("/events.json?water_authority_id=".concat(waterAuthorityId, "&valuesFromKQL=").concat(valuesFromKQL, "&eventId=").concat(eventId)).then(function (response) {
|
|
151
151
|
return response.json();
|
|
152
152
|
}).then(function (json) {
|
|
153
153
|
return dispatch(receiveEvents(json));
|
|
154
154
|
});
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucy50cyJdLCJuYW1lcyI6WyJyZXF1ZXN0RXZlbnRzIiwidHlwZSIsIlJFUVVFU1RfRVZFTlRTIiwicmVjZWl2ZUV2ZW50cyIsImpzb24iLCJSRUNFSVZFX0VWRU5UUyIsInBheWxvYWQiLCJzZXRGb2N1c2VkRXZlbnQiLCJldmVudCIsIlNFVF9GT0NVU0VEX0VWRU5UIiwic2V0SG92ZXJlZEV2ZW50IiwiU0VUX0hPVkVSRURfRVZFTlQiLCJzZXRIb3ZlcmVkRWRnZVBhdGhzIiwicGF0aHMiLCJTRVRfSE9WRVJFRF9FREdFX1BBVEhTIiwic2V0Rm9jdXNlZEV2ZW50UGF0aHMiLCJTRVRfRk9DVVNFRF9FVkVOVF9QQVRIUyIsInNldEhvdmVyZWRFdmVudFBhdGhzIiwiU0VUX0hPVkVSRURfRVZFTlRfUEFUSFMiLCJ1cGRhdGVFdmVudHMiLCJkYXRhIiwiVVBEQVRFX0VWRU5UUyIsInNldEV2ZW50SW5kaWNhdG9yIiwiZXZlbnRJbmRpY2F0b3IiLCJTRVRfRVZFTlRfSU5ESUNBVE9SIiwic2V0SG92ZXJFdmVudEluZGljYXRvciIsIlNFVF9IT1ZFUl9FVkVOVF9JTkRJQ0FUT1IiLCJ1cGRhdGVGb2N1c2VkRXZlbnRCb2R5QW5kVGFpbCIsImJvZHlfcGVyY2VudGFnZSIsInRhaWxfcGVyY2VudGFnZSIsImVkZ2VfaWQiLCJVUERBVEVfRk9DVVNFRF9FVkVOVF9CT0RZX0FORF9UQUlMIiwidXBkYXRlSG92ZXJlZEV2ZW50Qm9keUFuZFRhaWwiLCJVUERBVEVfSE9WRVJFRF9FVkVOVF9CT0RZX0FORF9UQUlMIiwic2V0RGlzY2hhcmdpbmciLCJkaXNjaGFyZ2luZyIsInBvaW50X2lkIiwiU0VUX0RJU0NIQVJHSU5HIiwicmVmcmVzaEN1cnJlbnRUaW1lIiwiUkVGUkVTSF9DVVJSRU5UX1RJTUUiLCJyZW1vdmVFdmVudCIsIlJFTU9WRV9FVkVOVCIsInNlbGVjdFNvdXJjZSIsIlNFTEVDVF9TT1VSQ0UiLCJmZXRjaEV2ZW50cyIsIndhdGVyQXV0aG9yaXR5SWQiLCJ2YWx1ZXNGcm9tS1FMIiwiZXZlbnRJZCIsImRpc3BhdGNoIiwiZmV0Y2giLCJ0aGVuIiwicmVzcG9uc2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFvQkEsU0FBU0EsYUFBVCxHQUF5QjtBQUN2QixTQUFPO0FBQ0xDLElBQUFBLElBQUksRUFBRUM7QUFERCxHQUFQO0FBR0Q7O0FBRU0sU0FBU0MsYUFBVCxDQUF1QkMsSUFBdkIsRUFBa0M7QUFDdkMsU0FBTztBQUNMSCxJQUFBQSxJQUFJLEVBQUVJLDJCQUREO0FBRUxDLElBQUFBLE9BQU8sRUFBRUY7QUFGSixHQUFQO0FBSUQ7O0FBRU0sU0FBU0csZUFBVCxDQUF5QkMsS0FBekIsRUFBcUM7QUFDMUMsU0FBTztBQUNMUCxJQUFBQSxJQUFJLEVBQUVRLDhCQUREO0FBRUxILElBQUFBLE9BQU8sRUFBRUU7QUFGSixHQUFQO0FBSUQ7O0FBRU0sU0FBU0UsZUFBVCxDQUF5QkYsS0FBekIsRUFBcUM7QUFDMUMsU0FBTztBQUNMUCxJQUFBQSxJQUFJLEVBQUVVLDhCQUREO0FBRUxMLElBQUFBLE9BQU8sRUFBRUU7QUFGSixHQUFQO0FBSUQ7O0FBRU0sU0FBU0ksbUJBQVQsQ0FBNkJDLEtBQTdCLEVBQXlDO0FBQzlDLFNBQU87QUFDTFosSUFBQUEsSUFBSSxFQUFFYSxtQ0FERDtBQUVMUixJQUFBQSxPQUFPLEVBQUVPO0FBRkosR0FBUDtBQUlEOztBQUVNLFNBQVNFLG9CQUFULENBQThCRixLQUE5QixFQUEwQztBQUMvQyxTQUFPO0FBQ0xaLElBQUFBLElBQUksRUFBRWUsb0NBREQ7QUFFTFYsSUFBQUEsT0FBTyxFQUFFTztBQUZKLEdBQVA7QUFJRDs7QUFFTSxTQUFTSSxvQkFBVCxDQUE4QkosS0FBOUIsRUFBMEM7QUFDL0MsU0FBTztBQUNMWixJQUFBQSxJQUFJLEVBQUVpQixvQ0FERDtBQUVMWixJQUFBQSxPQUFPLEVBQUVPO0FBRkosR0FBUDtBQUlEOztBQUVNLFNBQVNNLFlBQVQsQ0FBc0JDLElBQXRCLEVBQWlDO0FBQ3RDLFNBQU87QUFDTG5CLElBQUFBLElBQUksRUFBRW9CLDBCQUREO0FBRUxmLElBQUFBLE9BQU8sRUFBRWM7QUFGSixHQUFQO0FBSUQ7O0FBRU0sU0FBU0UsaUJBQVQsQ0FBMkJDLGNBQTNCLEVBQWdEO0FBQ3JELFNBQU87QUFDTHRCLElBQUFBLElBQUksRUFBRXVCLGdDQUREO0FBRUxsQixJQUFBQSxPQUFPLEVBQUVpQjtBQUZKLEdBQVA7QUFJRDs7QUFFTSxTQUFTRSxzQkFBVCxDQUFnQ0YsY0FBaEMsRUFBcUQ7QUFDMUQsU0FBTztBQUNMdEIsSUFBQUEsSUFBSSxFQUFFeUIsc0NBREQ7QUFFTHBCLElBQUFBLE9BQU8sRUFBRWlCO0FBRkosR0FBUDtBQUlEOztBQUVNLFNBQVNJLDZCQUFULENBQ0xDLGVBREssRUFFTEMsZUFGSyxFQUdMQyxPQUhLLEVBSUw7QUFDQSxTQUFPO0FBQ0w3QixJQUFBQSxJQUFJLEVBQUU4QiwrQ0FERDtBQUVMekIsSUFBQUEsT0FBTyxFQUFFO0FBQ1BzQixNQUFBQSxlQUFlLEVBQUVBLGVBRFY7QUFFUEMsTUFBQUEsZUFBZSxFQUFFQSxlQUZWO0FBR1BDLE1BQUFBLE9BQU8sRUFBRUE7QUFIRjtBQUZKLEdBQVA7QUFRRDs7QUFFTSxTQUFTRSw2QkFBVCxDQUNMSixlQURLLEVBRUxDLGVBRkssRUFHTEMsT0FISyxFQUlMO0FBQ0EsU0FBTztBQUNMN0IsSUFBQUEsSUFBSSxFQUFFZ0MsK0NBREQ7QUFFTDNCLElBQUFBLE9BQU8sRUFBRTtBQUNQc0IsTUFBQUEsZUFBZSxFQUFFQSxlQURWO0FBRVBDLE1BQUFBLGVBQWUsRUFBRUEsZUFGVjtBQUdQQyxNQUFBQSxPQUFPLEVBQUVBO0FBSEY7QUFGSixHQUFQO0FBUUQ7O0FBRU0sU0FBU0ksY0FBVCxDQUNMQyxXQURLLEVBRUxDLFFBRkssRUFHTDVCLEtBSEssRUFJTDtBQUNBLFNBQU87QUFDTFAsSUFBQUEsSUFBSSxFQUFFb0MsNEJBREQ7QUFFTC9CLElBQUFBLE9BQU8sRUFBRTtBQUFFNkIsTUFBQUEsV0FBVyxFQUFFQSxXQUFmO0FBQTRCQyxNQUFBQSxRQUFRLEVBQUVBLFFBQXRDO0FBQWdENUIsTUFBQUEsS0FBSyxFQUFFQTtBQUF2RDtBQUZKLEdBQVA7QUFJRDs7QUFFTSxTQUFTOEIsa0JBQVQsR0FBOEI7QUFDbkMsU0FBTztBQUNMckMsSUFBQUEsSUFBSSxFQUFFc0M7QUFERCxHQUFQO0FBR0Q7O0FBRU0sU0FBU0MsV0FBVCxDQUFxQmhDLEtBQXJCLEVBQW9DO0FBQ3pDLFNBQU87QUFDTFAsSUFBQUEsSUFBSSxFQUFFd0MseUJBREQ7QUFFTG5DLElBQUFBLE9BQU8sRUFBRUU7QUFGSixHQUFQO0FBSUQ7O0FBRU0sU0FBU2tDLFlBQVQsQ0FBc0JOLFFBQXRCLEVBQXdDO0FBQzdDLFNBQU87QUFDTG5DLElBQUFBLElBQUksRUFBRTBDLDBCQUREO0FBRUxyQyxJQUFBQSxPQUFPLEVBQUU4QjtBQUZKLEdBQVA7QUFJRDs7QUFFTSxTQUFTUSxXQUFULENBQ0xDLGdCQURLLEVBRUxDLGFBRkssRUFHTEMsT0FISyxFQUlMO0FBQ0EsU0FBTyxVQUFDQyxRQUFELEVBQW1DO0FBQ3hDQSxJQUFBQSxRQUFRLENBQUNoRCxhQUFhLEVBQWQsQ0FBUjtBQUNBLFdBQU9pRCxLQUFLLDJDQUN5QkosZ0JBRHpCLDRCQUMyREMsYUFEM0Qsc0JBQ29GQyxPQURwRixFQUFMLENBR0pHLElBSEksQ0FHQyxVQUFDQyxRQUFEO0FBQUEsYUFBY0EsUUFBUSxDQUFDL0MsSUFBVCxFQUFkO0FBQUEsS0FIRCxFQUlKOEMsSUFKSSxDQUlDLFVBQUM5QyxJQUFEO0FBQUEsYUFBVTRDLFFBQVEsQ0FBQzdDLGFBQWEsQ0FBQ0MsSUFBRCxDQUFkLENBQWxCO0FBQUEsS0FKRCxDQUFQO0FBS0QsR0FQRDtBQVFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUkVRVUVTVF9FVkVOVFMsXG4gIFJFQ0VJVkVfRVZFTlRTLFxuICBVUERBVEVfRVZFTlRTLFxuICBTRVRfRk9DVVNFRF9FVkVOVCxcbiAgU0VUX0ZPQ1VTRURfRVZFTlRfUEFUSFMsXG4gIFNFVF9FVkVOVF9JTkRJQ0FUT1IsXG4gIFVQREFURV9GT0NVU0VEX0VWRU5UX0JPRFlfQU5EX1RBSUwsXG4gIFNFVF9ESVNDSEFSR0lORyxcbiAgUkVGUkVTSF9DVVJSRU5UX1RJTUUsXG4gIFJFTU9WRV9FVkVOVCxcbiAgU0VMRUNUX1NPVVJDRSxcbiAgU0VUX0hPVkVSRURfRVZFTlQsXG4gIFVQREFURV9IT1ZFUkVEX0VWRU5UX0JPRFlfQU5EX1RBSUwsXG4gIFNFVF9IT1ZFUl9FVkVOVF9JTkRJQ0FUT1IsXG4gIFNFVF9IT1ZFUkVEX0VWRU5UX1BBVEhTLFxuICBTRVRfSE9WRVJFRF9FREdFX1BBVEhTLFxufSBmcm9tICcuL2FjdGlvblR5cGVzJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4vbW9kZWxzL0lFdmVudCc7XG5cbmZ1bmN0aW9uIHJlcXVlc3RFdmVudHMoKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogUkVRVUVTVF9FVkVOVFMsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWNlaXZlRXZlbnRzKGpzb246IGFueSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFJFQ0VJVkVfRVZFTlRTLFxuICAgIHBheWxvYWQ6IGpzb24sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRGb2N1c2VkRXZlbnQoZXZlbnQ6IGFueSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFNFVF9GT0NVU0VEX0VWRU5ULFxuICAgIHBheWxvYWQ6IGV2ZW50LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0SG92ZXJlZEV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBTRVRfSE9WRVJFRF9FVkVOVCxcbiAgICBwYXlsb2FkOiBldmVudCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEhvdmVyZWRFZGdlUGF0aHMocGF0aHM6IGFueSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFNFVF9IT1ZFUkVEX0VER0VfUEFUSFMsXG4gICAgcGF5bG9hZDogcGF0aHMsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRGb2N1c2VkRXZlbnRQYXRocyhwYXRoczogYW55KSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogU0VUX0ZPQ1VTRURfRVZFTlRfUEFUSFMsXG4gICAgcGF5bG9hZDogcGF0aHMsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRIb3ZlcmVkRXZlbnRQYXRocyhwYXRoczogYW55KSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogU0VUX0hPVkVSRURfRVZFTlRfUEFUSFMsXG4gICAgcGF5bG9hZDogcGF0aHMsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVFdmVudHMoZGF0YTogYW55KSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogVVBEQVRFX0VWRU5UUyxcbiAgICBwYXlsb2FkOiBkYXRhLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RXZlbnRJbmRpY2F0b3IoZXZlbnRJbmRpY2F0b3I6IGFueSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFNFVF9FVkVOVF9JTkRJQ0FUT1IsXG4gICAgcGF5bG9hZDogZXZlbnRJbmRpY2F0b3IsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRIb3ZlckV2ZW50SW5kaWNhdG9yKGV2ZW50SW5kaWNhdG9yOiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBTRVRfSE9WRVJfRVZFTlRfSU5ESUNBVE9SLFxuICAgIHBheWxvYWQ6IGV2ZW50SW5kaWNhdG9yLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRm9jdXNlZEV2ZW50Qm9keUFuZFRhaWwoXG4gIGJvZHlfcGVyY2VudGFnZTogbnVtYmVyLFxuICB0YWlsX3BlcmNlbnRhZ2U6IG51bWJlcixcbiAgZWRnZV9pZDogbnVtYmVyLFxuKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogVVBEQVRFX0ZPQ1VTRURfRVZFTlRfQk9EWV9BTkRfVEFJTCxcbiAgICBwYXlsb2FkOiB7XG4gICAgICBib2R5X3BlcmNlbnRhZ2U6IGJvZHlfcGVyY2VudGFnZSxcbiAgICAgIHRhaWxfcGVyY2VudGFnZTogdGFpbF9wZXJjZW50YWdlLFxuICAgICAgZWRnZV9pZDogZWRnZV9pZCxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlSG92ZXJlZEV2ZW50Qm9keUFuZFRhaWwoXG4gIGJvZHlfcGVyY2VudGFnZTogbnVtYmVyLFxuICB0YWlsX3BlcmNlbnRhZ2U6IG51bWJlcixcbiAgZWRnZV9pZDogbnVtYmVyLFxuKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogVVBEQVRFX0hPVkVSRURfRVZFTlRfQk9EWV9BTkRfVEFJTCxcbiAgICBwYXlsb2FkOiB7XG4gICAgICBib2R5X3BlcmNlbnRhZ2U6IGJvZHlfcGVyY2VudGFnZSxcbiAgICAgIHRhaWxfcGVyY2VudGFnZTogdGFpbF9wZXJjZW50YWdlLFxuICAgICAgZWRnZV9pZDogZWRnZV9pZCxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RGlzY2hhcmdpbmcoXG4gIGRpc2NoYXJnaW5nOiBib29sZWFuLFxuICBwb2ludF9pZDogbnVtYmVyLFxuICBldmVudDogSUV2ZW50LFxuKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogU0VUX0RJU0NIQVJHSU5HLFxuICAgIHBheWxvYWQ6IHsgZGlzY2hhcmdpbmc6IGRpc2NoYXJnaW5nLCBwb2ludF9pZDogcG9pbnRfaWQsIGV2ZW50OiBldmVudCB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVmcmVzaEN1cnJlbnRUaW1lKCkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFJFRlJFU0hfQ1VSUkVOVF9USU1FLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRXZlbnQoZXZlbnQ6IElFdmVudCkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFJFTU9WRV9FVkVOVCxcbiAgICBwYXlsb2FkOiBldmVudCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFNvdXJjZShwb2ludF9pZDogbnVtYmVyKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogU0VMRUNUX1NPVVJDRSxcbiAgICBwYXlsb2FkOiBwb2ludF9pZCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZldGNoRXZlbnRzKFxuICB3YXRlckF1dGhvcml0eUlkOiBudW1iZXIsXG4gIHZhbHVlc0Zyb21LUUw6IHN0cmluZyxcbiAgZXZlbnRJZDogc3RyaW5nLFxuKSB7XG4gIHJldHVybiAoZGlzcGF0Y2g6IChhcmcwOiBhbnkpID0+IHZvaWQpID0+IHtcbiAgICBkaXNwYXRjaChyZXF1ZXN0RXZlbnRzKCkpO1xuICAgIHJldHVybiBmZXRjaChcbiAgICAgIGAvZXZlbnRzLmpzb24/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH0mdmFsdWVzRnJvbUtRTD0ke3ZhbHVlc0Zyb21LUUx9JmV2ZW50SWQ9JHtldmVudElkfWAsXG4gICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAudGhlbigoanNvbikgPT4gZGlzcGF0Y2gocmVjZWl2ZUV2ZW50cyhqc29uKSkpO1xuICB9O1xufVxuIl19
|