@kando-env/kando-ui 1.2.466-alpha.4 → 1.2.466-alpha.5

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.
@@ -19,6 +19,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
19
19
  docs: https://react-responsive-modal.leopradel.com/
20
20
  */
21
21
  var KandoModal = function KandoModal(_ref) {
22
+ var _document$documentEle;
22
23
  var _ref$isOpen = _ref.isOpen,
23
24
  isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
24
25
  buttonLabel = _ref.buttonLabel,
@@ -27,18 +28,26 @@ var KandoModal = function KandoModal(_ref) {
27
28
  children = _ref.children,
28
29
  type = _ref.type,
29
30
  openerClass = _ref.openerClass,
30
- handleButtonClick = _ref.handleButtonClick;
31
+ handleButtonClick = _ref.handleButtonClick,
32
+ onClose = _ref.onClose,
33
+ _ref$hideOpener = _ref.hideOpener,
34
+ hideOpener = _ref$hideOpener === void 0 ? false : _ref$hideOpener,
35
+ dir = _ref.dir;
31
36
  var containerRef = _react.default.useRef(null);
32
37
  var _useState = (0, _react.useState)(isOpen),
33
38
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
39
  open = _useState2[0],
35
40
  setOpen = _useState2[1];
41
+ (0, _react.useEffect)(function () {
42
+ setOpen(isOpen);
43
+ }, [isOpen]);
36
44
  var onOpenModal = function onOpenModal() {
37
45
  return setOpen(true);
38
46
  };
39
47
  var onCloseModal = function onCloseModal() {
40
48
  setOpen(false);
41
49
  clearHistory();
50
+ if (onClose) onClose();
42
51
  };
43
52
  var queryURL = (0, _useQueryURL.default)();
44
53
  var handleClick = function handleClick() {
@@ -77,7 +86,15 @@ var KandoModal = function KandoModal(_ref) {
77
86
  updateHistory();
78
87
  }
79
88
  }, [open]);
80
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
89
+ var resolvedDir = dir || (typeof document !== 'undefined' && ((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.dir) === 'rtl' ? 'rtl' : 'ltr');
90
+ var isRtl = resolvedDir === 'rtl';
91
+ var modalStyles = isRtl ? {
92
+ closeButton: {
93
+ left: '14px',
94
+ right: 'auto'
95
+ }
96
+ } : undefined;
97
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !hideOpener && /*#__PURE__*/_react.default.createElement("div", {
81
98
  className: "kmodal__opener kmodal__opener--".concat(openerClass),
82
99
  onClick: function onClick() {
83
100
  return handleClick();
@@ -87,12 +104,15 @@ var KandoModal = function KandoModal(_ref) {
87
104
  center: true,
88
105
  open: open,
89
106
  onClose: onCloseModal,
107
+ styles: modalStyles,
90
108
  classNames: {
91
109
  overlay: 'kmodal__overlay',
92
110
  modal: "kmodal kmodal--type-".concat(type)
93
111
  }
94
- }, children));
112
+ }, /*#__PURE__*/_react.default.createElement("div", {
113
+ dir: resolvedDir
114
+ }, children)));
95
115
  };
96
116
  var _default = KandoModal;
97
117
  exports.default = _default;
98
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX3JlYWN0UmVzcG9uc2l2ZU1vZGFsIiwiX3VzZVF1ZXJ5VVJMIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiS2FuZG9Nb2RhbCIsIl9yZWYiLCJfcmVmJGlzT3BlbiIsImlzT3BlbiIsImJ1dHRvbkxhYmVsIiwiX3JlZiRjaGFuZ2VIaXN0b3J5IiwiY2hhbmdlSGlzdG9yeSIsImNoaWxkcmVuIiwidHlwZSIsIm9wZW5lckNsYXNzIiwiaGFuZGxlQnV0dG9uQ2xpY2siLCJjb250YWluZXJSZWYiLCJSZWFjdCIsInVzZVJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm9wZW4iLCJzZXRPcGVuIiwib25PcGVuTW9kYWwiLCJvbkNsb3NlTW9kYWwiLCJjbGVhckhpc3RvcnkiLCJxdWVyeVVSTCIsInVzZVF1ZXJ5VVJMIiwiaGFuZGxlQ2xpY2siLCJ1bmRlZmluZWQiLCJ1cGRhdGVIaXN0b3J5IiwiaXNFbXB0eSIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiZW50cmllcyIsImxlbmd0aCIsIl9PYmplY3QkZW50cmllcyRfaSIsInBhcmFtIiwidmFsdWUiLCJ3aW5kb3ciLCJoaXN0b3J5IiwicmVwbGFjZVN0YXRlIiwiY29uY2F0IiwibG9jYXRpb24iLCJwYXRobmFtZSIsIl9pMiIsIl9PYmplY3QkZW50cmllczIiLCJfT2JqZWN0JGVudHJpZXMyJF9pIiwiZGVsZXRlIiwidXNlRWZmZWN0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY2xhc3NOYW1lIiwib25DbGljayIsIk1vZGFsIiwiY29udGFpbmVyIiwiY3VycmVudCIsImNlbnRlciIsIm9uQ2xvc2UiLCJjbGFzc05hbWVzIiwib3ZlcmxheSIsIm1vZGFsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvS2FuZG9Nb2RhbC9LYW5kb01vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUmVhY3RFbGVtZW50LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ3JlYWN0LXJlc3BvbnNpdmUtbW9kYWwnO1xuaW1wb3J0ICdyZWFjdC1yZXNwb25zaXZlLW1vZGFsL3N0eWxlcy5jc3MnO1xuXG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnc3JjL2hvb2tzL3VzZVF1ZXJ5VVJMJztcblxuaW1wb3J0ICcuL3N0eWxlcy5zY3NzJztcblxudHlwZSBJS2FuZG9Nb2RhbCA9IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPHtcbiAgaXNPcGVuPzogYm9vbGVhbjtcbiAgb3BlbmVyQ2xhc3M/OiBzdHJpbmc7XG4gIGJ1dHRvbkxhYmVsPzogc3RyaW5nIHwgUmVhY3RFbGVtZW50O1xuICBjaGFuZ2VIaXN0b3J5PzogT2JqZWN0O1xuICB0eXBlPzogc3RyaW5nO1xuICBoYW5kbGVCdXR0b25DbGljaz86IEZ1bmN0aW9uO1xufT47XG5cbi8qIFdyYXBwZXIgYXJvdW5kIE1vZGFsLFxuICAgZG9jczogaHR0cHM6Ly9yZWFjdC1yZXNwb25zaXZlLW1vZGFsLmxlb3ByYWRlbC5jb20vXG4qL1xuY29uc3QgS2FuZG9Nb2RhbDogUmVhY3QuRkM8SUthbmRvTW9kYWw+ID0gKHtcbiAgaXNPcGVuID0gZmFsc2UsXG4gIGJ1dHRvbkxhYmVsLFxuICBjaGFuZ2VIaXN0b3J5ID0ge30sXG4gIGNoaWxkcmVuLFxuICB0eXBlLFxuICBvcGVuZXJDbGFzcyxcbiAgaGFuZGxlQnV0dG9uQ2xpY2ssXG59KSA9PiB7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoaXNPcGVuKTtcbiAgY29uc3Qgb25PcGVuTW9kYWwgPSAoKSA9PiBzZXRPcGVuKHRydWUpO1xuICBjb25zdCBvbkNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0T3BlbihmYWxzZSk7XG4gICAgY2xlYXJIaXN0b3J5KCk7XG4gIH07XG4gIGNvbnN0IHF1ZXJ5VVJMID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKGhhbmRsZUJ1dHRvbkNsaWNrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGhhbmRsZUJ1dHRvbkNsaWNrISgpO1xuICAgIH1cbiAgICBvbk9wZW5Nb2RhbCgpO1xuICB9O1xuXG4gIC8vIGFkZCBjaGFuZ2VIaXN0b3J5J3MgcGFyYW09dmFsdWUgdG8gdGhlIFVSTFxuICBmdW5jdGlvbiB1cGRhdGVIaXN0b3J5KCkge1xuICAgIGlmICghaXNFbXB0eShjaGFuZ2VIaXN0b3J5KSkge1xuICAgICAgZm9yIChjb25zdCBbcGFyYW0sIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhjaGFuZ2VIaXN0b3J5KSkge1xuICAgICAgICBxdWVyeVVSTC5zZXQocGFyYW0sIHZhbHVlKTtcbiAgICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKFxuICAgICAgICAgIHt9LFxuICAgICAgICAgICcnLFxuICAgICAgICAgIGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0/JHtxdWVyeVVSTH1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZVxuICBmdW5jdGlvbiBjbGVhckhpc3RvcnkoKSB7XG4gICAgaWYgKCFpc0VtcHR5KGNoYW5nZUhpc3RvcnkpKSB7XG4gICAgICBmb3IgKGNvbnN0IFtwYXJhbV0gb2YgT2JqZWN0LmVudHJpZXMoY2hhbmdlSGlzdG9yeSkpIHtcbiAgICAgICAgcXVlcnlVUkwuZGVsZXRlKHBhcmFtKTtcbiAgICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKFxuICAgICAgICAgIHt9LFxuICAgICAgICAgICcnLFxuICAgICAgICAgIGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0/JHtxdWVyeVVSTH1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4pIHtcbiAgICAgIHVwZGF0ZUhpc3RvcnkoKTtcbiAgICB9XG4gIH0sIFtvcGVuXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2BrbW9kYWxfX29wZW5lciBrbW9kYWxfX29wZW5lci0tJHtvcGVuZXJDbGFzc31gfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDbGljaygpfVxuICAgICAgPlxuICAgICAgICB7YnV0dG9uTGFiZWx9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxNb2RhbFxuICAgICAgICBjb250YWluZXI9e2NvbnRhaW5lclJlZi5jdXJyZW50fVxuICAgICAgICBjZW50ZXJcbiAgICAgICAgb3Blbj17b3Blbn1cbiAgICAgICAgb25DbG9zZT17b25DbG9zZU1vZGFsfVxuICAgICAgICBjbGFzc05hbWVzPXt7XG4gICAgICAgICAgb3ZlcmxheTogJ2ttb2RhbF9fb3ZlcmxheScsXG4gICAgICAgICAgbW9kYWw6IGBrbW9kYWwga21vZGFsLS10eXBlLSR7dHlwZX1gLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L01vZGFsPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgS2FuZG9Nb2RhbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUscUJBQUEsR0FBQUYsT0FBQTtBQUNBQSxPQUFBO0FBRUEsSUFBQUcsWUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUFBLE9BQUE7QUFBdUIsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFQLHdCQUFBVyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixx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
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX3JlYWN0UmVzcG9uc2l2ZU1vZGFsIiwiX3VzZVF1ZXJ5VVJMIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiS2FuZG9Nb2RhbCIsIl9yZWYiLCJfZG9jdW1lbnQkZG9jdW1lbnRFbGUiLCJfcmVmJGlzT3BlbiIsImlzT3BlbiIsImJ1dHRvbkxhYmVsIiwiX3JlZiRjaGFuZ2VIaXN0b3J5IiwiY2hhbmdlSGlzdG9yeSIsImNoaWxkcmVuIiwidHlwZSIsIm9wZW5lckNsYXNzIiwiaGFuZGxlQnV0dG9uQ2xpY2siLCJvbkNsb3NlIiwiX3JlZiRoaWRlT3BlbmVyIiwiaGlkZU9wZW5lciIsImRpciIsImNvbnRhaW5lclJlZiIsIlJlYWN0IiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwib3BlbiIsInNldE9wZW4iLCJ1c2VFZmZlY3QiLCJvbk9wZW5Nb2RhbCIsIm9uQ2xvc2VNb2RhbCIsImNsZWFySGlzdG9yeSIsInF1ZXJ5VVJMIiwidXNlUXVlcnlVUkwiLCJoYW5kbGVDbGljayIsInVuZGVmaW5lZCIsInVwZGF0ZUhpc3RvcnkiLCJpc0VtcHR5IiwiX2kiLCJfT2JqZWN0JGVudHJpZXMiLCJlbnRyaWVzIiwibGVuZ3RoIiwiX09iamVjdCRlbnRyaWVzJF9pIiwicGFyYW0iLCJ2YWx1ZSIsIndpbmRvdyIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiLCJjb25jYXQiLCJsb2NhdGlvbiIsInBhdGhuYW1lIiwiX2kyIiwiX09iamVjdCRlbnRyaWVzMiIsIl9PYmplY3QkZW50cmllczIkX2kiLCJkZWxldGUiLCJyZXNvbHZlZERpciIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiaXNSdGwiLCJtb2RhbFN0eWxlcyIsImNsb3NlQnV0dG9uIiwibGVmdCIsInJpZ2h0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY2xhc3NOYW1lIiwib25DbGljayIsIk1vZGFsIiwiY29udGFpbmVyIiwiY3VycmVudCIsImNlbnRlciIsInN0eWxlcyIsImNsYXNzTmFtZXMiLCJvdmVybGF5IiwibW9kYWwiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9LYW5kb01vZGFsL0thbmRvTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBSZWFjdEVsZW1lbnQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAncmVhY3QtcmVzcG9uc2l2ZS1tb2RhbCc7XG5pbXBvcnQgJ3JlYWN0LXJlc3BvbnNpdmUtbW9kYWwvc3R5bGVzLmNzcyc7XG5cbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuXG5pbXBvcnQgJy4vc3R5bGVzLnNjc3MnO1xuXG50eXBlIElLYW5kb01vZGFsID0gUmVhY3QuUHJvcHNXaXRoQ2hpbGRyZW48e1xuICBpc09wZW4/OiBib29sZWFuO1xuICBvcGVuZXJDbGFzcz86IHN0cmluZztcbiAgYnV0dG9uTGFiZWw/OiBzdHJpbmcgfCBSZWFjdEVsZW1lbnQ7XG4gIGNoYW5nZUhpc3Rvcnk/OiBPYmplY3Q7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGhhbmRsZUJ1dHRvbkNsaWNrPzogRnVuY3Rpb247XG4gIC8qKiBDYWxsZWQgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkIChlLmcuLCBYIGNsaWNrLCBvdmVybGF5IGNsaWNrLCBFU0MpLiAqL1xuICBvbkNsb3NlPzogKCkgPT4gdm9pZDtcbiAgLyoqIFdoZW4gdHJ1ZSwgZG8gbm90IHJlbmRlciB0aGUgb3BlbmVyIGJ1dHRvbi9kaXYuIFVzZWZ1bCBmb3IgY29udHJvbGxlZCB1c2FnZS4gKi9cbiAgaGlkZU9wZW5lcj86IGJvb2xlYW47XG4gIC8qKiBGb3JjZSBjb250ZW50IGRpcmVjdGlvbiBmb3IgdGhlIG1vZGFsIChhbHNvIHVzZWQgdG8gcG9zaXRpb24gdGhlIGNsb3NlIGJ1dHRvbikuICovXG4gIGRpcj86ICdydGwnIHwgJ2x0cic7XG59PjtcblxuLyogV3JhcHBlciBhcm91bmQgTW9kYWwsXG4gICBkb2NzOiBodHRwczovL3JlYWN0LXJlc3BvbnNpdmUtbW9kYWwubGVvcHJhZGVsLmNvbS9cbiovXG5jb25zdCBLYW5kb01vZGFsOiBSZWFjdC5GQzxJS2FuZG9Nb2RhbD4gPSAoe1xuICBpc09wZW4gPSBmYWxzZSxcbiAgYnV0dG9uTGFiZWwsXG4gIGNoYW5nZUhpc3RvcnkgPSB7fSxcbiAgY2hpbGRyZW4sXG4gIHR5cGUsXG4gIG9wZW5lckNsYXNzLFxuICBoYW5kbGVCdXR0b25DbGljayxcbiAgb25DbG9zZSxcbiAgaGlkZU9wZW5lciA9IGZhbHNlLFxuICBkaXIsXG59KSA9PiB7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoaXNPcGVuKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRPcGVuKGlzT3Blbik7XG4gIH0sIFtpc09wZW5dKTtcbiAgY29uc3Qgb25PcGVuTW9kYWwgPSAoKSA9PiBzZXRPcGVuKHRydWUpO1xuICBjb25zdCBvbkNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0T3BlbihmYWxzZSk7XG4gICAgY2xlYXJIaXN0b3J5KCk7XG4gICAgaWYgKG9uQ2xvc2UpIG9uQ2xvc2UoKTtcbiAgfTtcbiAgY29uc3QgcXVlcnlVUkwgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBoYW5kbGVDbGljayA9ICgpID0+IHtcbiAgICBpZiAoaGFuZGxlQnV0dG9uQ2xpY2sgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaGFuZGxlQnV0dG9uQ2xpY2shKCk7XG4gICAgfVxuICAgIG9uT3Blbk1vZGFsKCk7XG4gIH07XG5cbiAgLy8gYWRkIGNoYW5nZUhpc3RvcnkncyBwYXJhbT12YWx1ZSB0byB0aGUgVVJMXG4gIGZ1bmN0aW9uIHVwZGF0ZUhpc3RvcnkoKSB7XG4gICAgaWYgKCFpc0VtcHR5KGNoYW5nZUhpc3RvcnkpKSB7XG4gICAgICBmb3IgKGNvbnN0IFtwYXJhbSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNoYW5nZUhpc3RvcnkpKSB7XG4gICAgICAgIHF1ZXJ5VVJMLnNldChwYXJhbSwgdmFsdWUpO1xuICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoXG4gICAgICAgICAge30sXG4gICAgICAgICAgJycsXG4gICAgICAgICAgYCR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfT8ke3F1ZXJ5VVJMfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlXG4gIGZ1bmN0aW9uIGNsZWFySGlzdG9yeSgpIHtcbiAgICBpZiAoIWlzRW1wdHkoY2hhbmdlSGlzdG9yeSkpIHtcbiAgICAgIGZvciAoY29uc3QgW3BhcmFtXSBvZiBPYmplY3QuZW50cmllcyhjaGFuZ2VIaXN0b3J5KSkge1xuICAgICAgICBxdWVyeVVSTC5kZWxldGUocGFyYW0pO1xuICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoXG4gICAgICAgICAge30sXG4gICAgICAgICAgJycsXG4gICAgICAgICAgYCR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfT8ke3F1ZXJ5VVJMfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob3Blbikge1xuICAgICAgdXBkYXRlSGlzdG9yeSgpO1xuICAgIH1cbiAgfSwgW29wZW5dKTtcblxuICBjb25zdCByZXNvbHZlZERpcjogJ3J0bCcgfCAnbHRyJyA9XG4gICAgZGlyIHx8XG4gICAgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Py5kaXIgPT09ICdydGwnXG4gICAgICA/ICdydGwnXG4gICAgICA6ICdsdHInKTtcblxuICBjb25zdCBpc1J0bCA9IHJlc29sdmVkRGlyID09PSAncnRsJztcblxuICBjb25zdCBtb2RhbFN0eWxlcyA9IGlzUnRsXG4gICAgPyB7XG4gICAgICAgIGNsb3NlQnV0dG9uOiB7XG4gICAgICAgICAgbGVmdDogJzE0cHgnLFxuICAgICAgICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgOiB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgeyFoaWRlT3BlbmVyICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17YGttb2RhbF9fb3BlbmVyIGttb2RhbF9fb3BlbmVyLS0ke29wZW5lckNsYXNzfWB9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xpY2soKX1cbiAgICAgICAgPlxuICAgICAgICAgIHtidXR0b25MYWJlbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgPE1vZGFsXG4gICAgICAgIGNvbnRhaW5lcj17Y29udGFpbmVyUmVmLmN1cnJlbnR9XG4gICAgICAgIGNlbnRlclxuICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICBvbkNsb3NlPXtvbkNsb3NlTW9kYWx9XG4gICAgICAgIHN0eWxlcz17bW9kYWxTdHlsZXN9XG4gICAgICAgIGNsYXNzTmFtZXM9e3tcbiAgICAgICAgICBvdmVybGF5OiAna21vZGFsX19vdmVybGF5JyxcbiAgICAgICAgICBtb2RhbDogYGttb2RhbCBrbW9kYWwtLXR5cGUtJHt0eXBlfWAsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgZGlyPXtyZXNvbHZlZERpcn0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgPC9Nb2RhbD5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEthbmRvTW9kYWw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLHFCQUFBLEdBQUFGLE9BQUE7QUFDQUEsT0FBQTtBQUVBLElBQUFHLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUVBQSxPQUFBO0FBQXVCLFNBQUFLLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBUCx3QkFBQVcsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFB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
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
12
+ var _i18next = _interopRequireDefault(require("i18next"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ var SeasonalInsights = function SeasonalInsights(_ref) {
17
+ var _data$insight_info2, _data$insight_info3;
18
+ var apiEndpoint = _ref.apiEndpoint,
19
+ dataProp = _ref.data,
20
+ className = _ref.className,
21
+ onLoaded = _ref.onLoaded;
22
+ var _useState = (0, _react.useState)(dataProp !== null && dataProp !== void 0 ? dataProp : null),
23
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
24
+ data = _useState2[0],
25
+ setData = _useState2[1];
26
+
27
+ // If parent provides data, render it and skip fetching.
28
+ (0, _react.useEffect)(function () {
29
+ if (typeof dataProp === 'undefined') return;
30
+ setData(dataProp !== null && dataProp !== void 0 ? dataProp : null);
31
+ }, [dataProp]);
32
+ var risk = (0, _react.useMemo)(function () {
33
+ var _data$insight_info;
34
+ var risks = data === null || data === void 0 ? void 0 : (_data$insight_info = data.insight_info) === null || _data$insight_info === void 0 ? void 0 : _data$insight_info.risks;
35
+ if (!risks) return null;
36
+ var lang = (data === null || data === void 0 ? void 0 : data.locale) || 'en';
37
+ return risks[lang] || null;
38
+ }, [data]);
39
+ var summary = (risk === null || risk === void 0 ? void 0 : risk.risk_summary) || '';
40
+ var detailed = (risk === null || risk === void 0 ? void 0 : risk.detailed_risks) || [];
41
+ var start = (data === null || data === void 0 ? void 0 : (_data$insight_info2 = data.insight_info) === null || _data$insight_info2 === void 0 ? void 0 : _data$insight_info2.start_time) || (data === null || data === void 0 ? void 0 : data.start_time);
42
+ var end = (data === null || data === void 0 ? void 0 : (_data$insight_info3 = data.insight_info) === null || _data$insight_info3 === void 0 ? void 0 : _data$insight_info3.end_time) || (data === null || data === void 0 ? void 0 : data.end_time);
43
+ var isHebrew = (0, _react.useMemo)(function () {
44
+ var lang = ((data === null || data === void 0 ? void 0 : data.locale) || _i18next.default.language || 'en').toLowerCase();
45
+ return lang.startsWith('he');
46
+ }, [data === null || data === void 0 ? void 0 : data.locale]);
47
+ (0, _react.useEffect)(function () {
48
+ // If parent provides data, do not fetch.
49
+ if (typeof dataProp !== 'undefined') return;
50
+ if (!apiEndpoint) return;
51
+ var controller = new AbortController();
52
+ fetch(apiEndpoint, {
53
+ signal: controller.signal
54
+ }).then( /*#__PURE__*/function () {
55
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(res) {
56
+ return _regenerator.default.wrap(function _callee$(_context) {
57
+ while (1) {
58
+ switch (_context.prev = _context.next) {
59
+ case 0:
60
+ if (res.ok) {
61
+ _context.next = 2;
62
+ break;
63
+ }
64
+ throw new Error("Request failed (".concat(res.status, ")"));
65
+ case 2:
66
+ _context.next = 4;
67
+ return res.json();
68
+ case 4:
69
+ return _context.abrupt("return", _context.sent);
70
+ case 5:
71
+ case "end":
72
+ return _context.stop();
73
+ }
74
+ }
75
+ }, _callee);
76
+ }));
77
+ return function (_x) {
78
+ return _ref2.apply(this, arguments);
79
+ };
80
+ }()).then(function (payload) {
81
+ setData(payload);
82
+ if (onLoaded) onLoaded(payload);
83
+ }).catch(function (err) {
84
+ if ((err === null || err === void 0 ? void 0 : err.name) === 'AbortError') return;
85
+ setData(null);
86
+ });
87
+ return function () {
88
+ return controller.abort();
89
+ };
90
+ }, [apiEndpoint, dataProp, onLoaded]);
91
+ return /*#__PURE__*/_react.default.createElement("div", {
92
+ className: className,
93
+ dir: isHebrew ? 'rtl' : 'ltr',
94
+ style: {
95
+ padding: 12,
96
+ display: 'flex',
97
+ flexDirection: 'column',
98
+ gap: 12,
99
+ textAlign: isHebrew ? 'right' : 'left'
100
+ }
101
+ }, /*#__PURE__*/_react.default.createElement("div", {
102
+ style: {
103
+ display: 'flex',
104
+ flexDirection: 'column',
105
+ gap: 4
106
+ }
107
+ }, /*#__PURE__*/_react.default.createElement("div", {
108
+ style: {
109
+ fontWeight: 600
110
+ }
111
+ }, summary), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", null, start), " - ", /*#__PURE__*/_react.default.createElement("span", null, end))), /*#__PURE__*/_react.default.createElement("div", {
112
+ style: {
113
+ display: 'flex',
114
+ flexDirection: 'column',
115
+ gap: 10
116
+ }
117
+ }, detailed.map(function (r, idx) {
118
+ var _r$expected_pollution;
119
+ return /*#__PURE__*/_react.default.createElement("div", {
120
+ key: idx,
121
+ style: {
122
+ padding: 12,
123
+ border: '1px solid rgba(0,0,0,0.1)',
124
+ borderRadius: 8,
125
+ background: 'rgba(0,0,0,0.02)'
126
+ }
127
+ }, /*#__PURE__*/_react.default.createElement("div", {
128
+ style: {
129
+ fontWeight: 700
130
+ }
131
+ }, r.siu_name), r.sector_code ? /*#__PURE__*/_react.default.createElement("div", {
132
+ style: {
133
+ marginTop: 2,
134
+ opacity: 0.8,
135
+ fontSize: 12
136
+ }
137
+ }, r.sector) : null, ((_r$expected_pollution = r.expected_pollution_types) === null || _r$expected_pollution === void 0 ? void 0 : _r$expected_pollution.length) ? /*#__PURE__*/_react.default.createElement("div", {
138
+ style: {
139
+ marginTop: 8
140
+ }
141
+ }, r.expected_pollution_types.join(', ')) : null, r.seasonal_or_location_factors ? /*#__PURE__*/_react.default.createElement("div", {
142
+ style: {
143
+ marginTop: 8
144
+ }
145
+ }, r.seasonal_or_location_factors) : null);
146
+ })));
147
+ };
148
+ var _default = SeasonalInsights;
149
+ exports.default = _default;
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4bmV4dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlNlYXNvbmFsSW5zaWdodHMiLCJfcmVmIiwiX2RhdGEkaW5zaWdodF9pbmZvMiIsIl9kYXRhJGluc2lnaHRfaW5mbzMiLCJhcGlFbmRwb2ludCIsImRhdGFQcm9wIiwiZGF0YSIsImNsYXNzTmFtZSIsIm9uTG9hZGVkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0RGF0YSIsInVzZUVmZmVjdCIsInJpc2siLCJ1c2VNZW1vIiwiX2RhdGEkaW5zaWdodF9pbmZvIiwicmlza3MiLCJpbnNpZ2h0X2luZm8iLCJsYW5nIiwibG9jYWxlIiwic3VtbWFyeSIsInJpc2tfc3VtbWFyeSIsImRldGFpbGVkIiwiZGV0YWlsZWRfcmlza3MiLCJzdGFydCIsInN0YXJ0X3RpbWUiLCJlbmQiLCJlbmRfdGltZSIsImlzSGVicmV3IiwiaTE4bmV4dCIsImxhbmd1YWdlIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImZldGNoIiwic2lnbmFsIiwidGhlbiIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJyZXMiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwib2siLCJFcnJvciIsImNvbmNhdCIsInN0YXR1cyIsImpzb24iLCJhYnJ1cHQiLCJzZW50Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJwYXlsb2FkIiwiY2F0Y2giLCJlcnIiLCJuYW1lIiwiYWJvcnQiLCJjcmVhdGVFbGVtZW50IiwiZGlyIiwic3R5bGUiLCJwYWRkaW5nIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ0ZXh0QWxpZ24iLCJmb250V2VpZ2h0IiwibWFwIiwiciIsImlkeCIsIl9yJGV4cGVjdGVkX3BvbGx1dGlvbiIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsImJhY2tncm91bmQiLCJzaXVfbmFtZSIsInNlY3Rvcl9jb2RlIiwibWFyZ2luVG9wIiwib3BhY2l0eSIsImZvbnRTaXplIiwic2VjdG9yIiwiZXhwZWN0ZWRfcG9sbHV0aW9uX3R5cGVzIiwibGVuZ3RoIiwiam9pbiIsInNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnMiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TZWFzb25hbEluc2lnaHRzL1NlYXNvbmFsSW5zaWdodHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbnR5cGUgRGV0YWlsZWRSaXNrID0ge1xuICBzZWN0b3I/OiBzdHJpbmc7XG4gIHNpdV9uYW1lPzogc3RyaW5nO1xuICBzZWN0b3JfY29kZT86IHN0cmluZztcbiAgZXhwZWN0ZWRfcG9sbHV0aW9uX3R5cGVzPzogc3RyaW5nW107XG4gIHNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnM/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTZWFzb25hbEluc2lnaHRSZXNwb25zZSA9IHtcbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGlkPzogbnVtYmVyO1xuICBzdGFydF90aW1lPzogc3RyaW5nO1xuICBlbmRfdGltZT86IHN0cmluZztcbiAgaW5zaWdodF9pbmZvPzoge1xuICAgIHJpc2tzPzoge1xuICAgICAgW2xhbmc6IHN0cmluZ106IHtcbiAgICAgICAgcmlza19zdW1tYXJ5Pzogc3RyaW5nO1xuICAgICAgICBkZXRhaWxlZF9yaXNrcz86IERldGFpbGVkUmlza1tdO1xuICAgICAgfTtcbiAgICB9O1xuICAgIHN0YXJ0X3RpbWU/OiBzdHJpbmc7XG4gICAgZW5kX3RpbWU/OiBzdHJpbmc7XG4gICAgb3ZlcmFsbF9jb25maWRlbmNlPzogc3RyaW5nO1xuICAgIHdhdGVyX2F1dGhvcml0eV9pZD86IHN0cmluZyB8IG51bWJlcjtcbiAgfTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vhc29uYWxJbnNpZ2h0c1Byb3BzIHtcbiAgLyoqIElmIHByb3ZpZGVkLCB0aGUgY29tcG9uZW50IHdpbGwgZmV0Y2ggdGhlIGluc2lnaHQgcGF5bG9hZCBmcm9tIHRoaXMgZW5kcG9pbnQuICovXG4gIGFwaUVuZHBvaW50Pzogc3RyaW5nO1xuICAvKiogSWYgcHJvdmlkZWQsIHRoZSBjb21wb25lbnQgd2lsbCByZW5kZXIgdXNpbmcgdGhpcyBkYXRhIGFuZCB3aWxsIE5PVCBmZXRjaC4gKi9cbiAgZGF0YT86IFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlIHwgbnVsbDtcbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlOiAnaGUnLCAnZW4nLCBldGMuIERlZmF1bHRzIHRvIGF1dG8tZGV0ZWN0IGJhc2VkIG9uIGRvY3VtZW50IGRpcmVjdGlvbiAvIGJyb3dzZXIgbGFuZ3VhZ2UuICovXG4gIGxhbmd1YWdlPzogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgY2xhc3NOYW1lIGZvciBvdXRlciB3cmFwcGVyICovXG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIGNhbGxiYWNrIHRvIHJlY2VpdmUgcmF3IHBheWxvYWQgKG9ubHkgd2hlbiBmZXRjaGluZykuICovXG4gIG9uTG9hZGVkPzogKGRhdGE6IFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlKSA9PiB2b2lkO1xufVxuXG5jb25zdCBTZWFzb25hbEluc2lnaHRzOiBSZWFjdC5GQzxTZWFzb25hbEluc2lnaHRzUHJvcHM+ID0gKHtcbiAgYXBpRW5kcG9pbnQsXG4gIGRhdGE6IGRhdGFQcm9wLFxuICBjbGFzc05hbWUsXG4gIG9uTG9hZGVkLFxufSkgPT4ge1xuICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSB1c2VTdGF0ZTxTZWFzb25hbEluc2lnaHRSZXNwb25zZSB8IG51bGw+KFxuICAgIGRhdGFQcm9wID8/IG51bGwsXG4gICk7XG5cbiAgLy8gSWYgcGFyZW50IHByb3ZpZGVzIGRhdGEsIHJlbmRlciBpdCBhbmQgc2tpcCBmZXRjaGluZy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIGRhdGFQcm9wID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIHNldERhdGEoZGF0YVByb3AgPz8gbnVsbCk7XG4gIH0sIFtkYXRhUHJvcF0pO1xuXG4gIGNvbnN0IHJpc2sgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCByaXNrcyA9IGRhdGE/Lmluc2lnaHRfaW5mbz8ucmlza3M7XG4gICAgaWYgKCFyaXNrcykgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgbGFuZyA9IGRhdGE/LmxvY2FsZSB8fCAnZW4nO1xuICAgIHJldHVybiByaXNrc1tsYW5nXSB8fCBudWxsO1xuICB9LCBbZGF0YV0pO1xuXG4gIGNvbnN0IHN1bW1hcnkgPSByaXNrPy5yaXNrX3N1bW1hcnkgfHwgJyc7XG4gIGNvbnN0IGRldGFpbGVkID0gcmlzaz8uZGV0YWlsZWRfcmlza3MgfHwgW107XG5cbiAgY29uc3Qgc3RhcnQgPSBkYXRhPy5pbnNpZ2h0X2luZm8/LnN0YXJ0X3RpbWUgfHwgZGF0YT8uc3RhcnRfdGltZTtcbiAgY29uc3QgZW5kID0gZGF0YT8uaW5zaWdodF9pbmZvPy5lbmRfdGltZSB8fCBkYXRhPy5lbmRfdGltZTtcblxuICBjb25zdCBpc0hlYnJldyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGxhbmcgPSAoZGF0YT8ubG9jYWxlIHx8IGkxOG5leHQubGFuZ3VhZ2UgfHwgJ2VuJykudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gbGFuZy5zdGFydHNXaXRoKCdoZScpO1xuICB9LCBbZGF0YT8ubG9jYWxlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBJZiBwYXJlbnQgcHJvdmlkZXMgZGF0YSwgZG8gbm90IGZldGNoLlxuICAgIGlmICh0eXBlb2YgZGF0YVByb3AgIT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgaWYgKCFhcGlFbmRwb2ludCkgcmV0dXJuO1xuXG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIGZldGNoKGFwaUVuZHBvaW50LCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSlcbiAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkICgke3Jlcy5zdGF0dXN9KWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2U7XG4gICAgICB9KVxuICAgICAgLnRoZW4oKHBheWxvYWQpID0+IHtcbiAgICAgICAgc2V0RGF0YShwYXlsb2FkKTtcbiAgICAgICAgaWYgKG9uTG9hZGVkKSBvbkxvYWRlZChwYXlsb2FkKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBpZiAoZXJyPy5uYW1lID09PSAnQWJvcnRFcnJvcicpIHJldHVybjtcbiAgICAgICAgc2V0RGF0YShudWxsKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuICgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfSwgW2FwaUVuZHBvaW50LCBkYXRhUHJvcCwgb25Mb2FkZWRdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgZGlyPXtpc0hlYnJldyA/ICdydGwnIDogJ2x0cid9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBwYWRkaW5nOiAxMixcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgZ2FwOiAxMixcbiAgICAgICAgdGV4dEFsaWduOiBpc0hlYnJldyA/ICdyaWdodCcgOiAnbGVmdCcsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiA0IH19PlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRXZWlnaHQ6IDYwMCB9fT57c3VtbWFyeX08L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3Bhbj57c3RhcnR9PC9zcGFuPiAtIDxzcGFuPntlbmR9PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogMTAgfX0+XG4gICAgICAgIHtkZXRhaWxlZC5tYXAoKHIsIGlkeCkgPT4gKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGtleT17aWR4fVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcGFkZGluZzogMTIsXG4gICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSknLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDgsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICdyZ2JhKDAsMCwwLDAuMDIpJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250V2VpZ2h0OiA3MDAgfX0+e3Iuc2l1X25hbWV9PC9kaXY+XG5cbiAgICAgICAgICAgIHtyLnNlY3Rvcl9jb2RlID8gKFxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpblRvcDogMiwgb3BhY2l0eTogMC44LCBmb250U2l6ZTogMTIgfX0+XG4gICAgICAgICAgICAgICAge3Iuc2VjdG9yfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgICB7ci5leHBlY3RlZF9wb2xsdXRpb25fdHlwZXM/Lmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Ub3A6IDggfX0+XG4gICAgICAgICAgICAgICAge3IuZXhwZWN0ZWRfcG9sbHV0aW9uX3R5cGVzLmpvaW4oJywgJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICAgIHtyLnNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnMgPyAoXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luVG9wOiA4IH19PlxuICAgICAgICAgICAgICAgIHtyLnNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnN9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkpfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZWFzb25hbEluc2lnaHRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUE0RCxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUYsd0JBQUFNLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUEwQzVELElBQU1XLGdCQUFpRCxHQUFHLFNBQXBEQSxnQkFBaURBLENBQUFDLElBQUEsRUFLakQ7RUFBQSxJQUFBQyxtQkFBQSxFQUFBQyxtQkFBQTtFQUFBLElBSkpDLFdBQVcsR0FBQUgsSUFBQSxDQUFYRyxXQUFXO0lBQ0xDLFFBQVEsR0FBQUosSUFBQSxDQUFkSyxJQUFJO0lBQ0pDLFNBQVMsR0FBQU4sSUFBQSxDQUFUTSxTQUFTO0lBQ1RDLFFBQVEsR0FBQVAsSUFBQSxDQUFSTyxRQUFRO0VBRVIsSUFBQUMsU0FBQSxHQUF3QixJQUFBQyxlQUFRLEVBQzlCTCxRQUFRLGFBQVJBLFFBQVEsY0FBUkEsUUFBUSxHQUFJLElBQ2QsQ0FBQztJQUFBTSxVQUFBLE9BQUFDLGVBQUEsQ0FBQTNCLE9BQUEsRUFBQXdCLFNBQUE7SUFGTUgsSUFBSSxHQUFBSyxVQUFBO0lBQUVFLE9BQU8sR0FBQUYsVUFBQTs7RUFJcEI7RUFDQSxJQUFBRyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJLE9BQU9ULFFBQVEsS0FBSyxXQUFXLEVBQUU7SUFDckNRLE9BQU8sQ0FBQ1IsUUFBUSxhQUFSQSxRQUFRLGNBQVJBLFFBQVEsR0FBSSxJQUFJLENBQUM7RUFDM0IsQ0FBQyxFQUFFLENBQUNBLFFBQVEsQ0FBQyxDQUFDO0VBRWQsSUFBTVUsSUFBSSxHQUFHLElBQUFDLGNBQU8sRUFBQyxZQUFNO0lBQUEsSUFBQUMsa0JBQUE7SUFDekIsSUFBTUMsS0FBSyxHQUFHWixJQUFJLGFBQUpBLElBQUksd0JBQUFXLGtCQUFBLEdBQUpYLElBQUksQ0FBRWEsWUFBWSxjQUFBRixrQkFBQSx1QkFBbEJBLGtCQUFBLENBQW9CQyxLQUFLO0lBQ3ZDLElBQUksQ0FBQ0EsS0FBSyxFQUFFLE9BQU8sSUFBSTtJQUN2QixJQUFNRSxJQUFJLEdBQUcsQ0FBQWQsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVlLE1BQU0sS0FBSSxJQUFJO0lBQ2pDLE9BQU9ILEtBQUssQ0FBQ0UsSUFBSSxDQUFDLElBQUksSUFBSTtFQUM1QixDQUFDLEVBQUUsQ0FBQ2QsSUFBSSxDQUFDLENBQUM7RUFFVixJQUFNZ0IsT0FBTyxHQUFHLENBQUFQLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFUSxZQUFZLEtBQUksRUFBRTtFQUN4QyxJQUFNQyxRQUFRLEdBQUcsQ0FBQVQsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVVLGNBQWMsS0FBSSxFQUFFO0VBRTNDLElBQU1DLEtBQUssR0FBRyxDQUFBcEIsSUFBSSxhQUFKQSxJQUFJLHdCQUFBSixtQkFBQSxHQUFKSSxJQUFJLENBQUVhLFlBQVksY0FBQWpCLG1CQUFBLHVCQUFsQkEsbUJBQUEsQ0FBb0J5QixVQUFVLE1BQUlyQixJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRXFCLFVBQVU7RUFDaEUsSUFBTUMsR0FBRyxHQUFHLENBQUF0QixJQUFJLGFBQUpBLElBQUksd0JBQUFILG1CQUFBLEdBQUpHLElBQUksQ0FBRWEsWUFBWSxjQUFBaEIsbUJBQUEsdUJBQWxCQSxtQkFBQSxDQUFvQjBCLFFBQVEsTUFBSXZCLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFdUIsUUFBUTtFQUUxRCxJQUFNQyxRQUFRLEdBQUcsSUFBQWQsY0FBTyxFQUFDLFlBQU07SUFDN0IsSUFBTUksSUFBSSxHQUFHLENBQUMsQ0FBQWQsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVlLE1BQU0sS0FBSVUsZ0JBQU8sQ0FBQ0MsUUFBUSxJQUFJLElBQUksRUFBRUMsV0FBVyxDQUFDLENBQUM7SUFDckUsT0FBT2IsSUFBSSxDQUFDYyxVQUFVLENBQUMsSUFBSSxDQUFDO0VBQzlCLENBQUMsRUFBRSxDQUFDNUIsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVlLE1BQU0sQ0FBQyxDQUFDO0VBRWxCLElBQUFQLGdCQUFTLEVBQUMsWUFBTTtJQUNkO0lBQ0EsSUFBSSxPQUFPVCxRQUFRLEtBQUssV0FBVyxFQUFFO0lBQ3JDLElBQUksQ0FBQ0QsV0FBVyxFQUFFO0lBRWxCLElBQU0rQixVQUFVLEdBQUcsSUFBSUMsZUFBZSxDQUFDLENBQUM7SUFFeENDLEtBQUssQ0FBQ2pDLFdBQVcsRUFBRTtNQUFFa0MsTUFBTSxFQUFFSCxVQUFVLENBQUNHO0lBQU8sQ0FBQyxDQUFDLENBQzlDQyxJQUFJO01BQUEsSUFBQUMsS0FBQSxPQUFBQyxrQkFBQSxDQUFBeEQsT0FBQSxnQkFBQXlELFlBQUEsQ0FBQXpELE9BQUEsQ0FBQTBELElBQUEsQ0FBQyxTQUFBQyxRQUFPQyxHQUFHO1FBQUEsT0FBQUgsWUFBQSxDQUFBekQsT0FBQSxDQUFBNkQsSUFBQSxVQUFBQyxTQUFBQyxRQUFBO1VBQUE7WUFBQSxRQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO2NBQUE7Z0JBQUEsSUFDVEwsR0FBRyxDQUFDTSxFQUFFO2tCQUFBSCxRQUFBLENBQUFFLElBQUE7a0JBQUE7Z0JBQUE7Z0JBQUEsTUFDSCxJQUFJRSxLQUFLLG9CQUFBQyxNQUFBLENBQW9CUixHQUFHLENBQUNTLE1BQU0sTUFBRyxDQUFDO2NBQUE7Z0JBQUFOLFFBQUEsQ0FBQUUsSUFBQTtnQkFBQSxPQUVyQ0wsR0FBRyxDQUFDVSxJQUFJLENBQUMsQ0FBQztjQUFBO2dCQUFBLE9BQUFQLFFBQUEsQ0FBQVEsTUFBQSxXQUFBUixRQUFBLENBQUFTLElBQUE7Y0FBQTtjQUFBO2dCQUFBLE9BQUFULFFBQUEsQ0FBQVUsSUFBQTtZQUFBO1VBQUE7UUFBQSxHQUFBZCxPQUFBO01BQUEsQ0FDekI7TUFBQSxpQkFBQWUsRUFBQTtRQUFBLE9BQUFuQixLQUFBLENBQUFvQixLQUFBLE9BQUFDLFNBQUE7TUFBQTtJQUFBLElBQUMsQ0FDRHRCLElBQUksQ0FBQyxVQUFDdUIsT0FBTyxFQUFLO01BQ2pCakQsT0FBTyxDQUFDaUQsT0FBTyxDQUFDO01BQ2hCLElBQUl0RCxRQUFRLEVBQUVBLFFBQVEsQ0FBQ3NELE9BQU8sQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FDREMsS0FBSyxDQUFDLFVBQUNDLEdBQUcsRUFBSztNQUNkLElBQUksQ0FBQUEsR0FBRyxhQUFIQSxHQUFHLHVCQUFIQSxHQUFHLENBQUVDLElBQUksTUFBSyxZQUFZLEVBQUU7TUFDaENwRCxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBRUosT0FBTztNQUFBLE9BQU1zQixVQUFVLENBQUMrQixLQUFLLENBQUMsQ0FBQztJQUFBO0VBQ2pDLENBQUMsRUFBRSxDQUFDOUQsV0FBVyxFQUFFQyxRQUFRLEVBQUVHLFFBQVEsQ0FBQyxDQUFDO0VBRXJDLG9CQUNFakMsTUFBQSxDQUFBVSxPQUFBLENBQUFrRixhQUFBO0lBQ0U1RCxTQUFTLEVBQUVBLFNBQVU7SUFDckI2RCxHQUFHLEVBQUV0QyxRQUFRLEdBQUcsS0FBSyxHQUFHLEtBQU07SUFDOUJ1QyxLQUFLLEVBQUU7TUFDTEMsT0FBTyxFQUFFLEVBQUU7TUFDWEMsT0FBTyxFQUFFLE1BQU07TUFDZkMsYUFBYSxFQUFFLFFBQVE7TUFDdkJDLEdBQUcsRUFBRSxFQUFFO01BQ1BDLFNBQVMsRUFBRTVDLFFBQVEsR0FBRyxPQUFPLEdBQUc7SUFDbEM7RUFBRSxnQkFFRnZELE1BQUEsQ0FBQVUsT0FBQSxDQUFBa0YsYUFBQTtJQUFLRSxLQUFLLEVBQUU7TUFBRUUsT0FBTyxFQUFFLE1BQU07TUFBRUMsYUFBYSxFQUFFLFFBQVE7TUFBRUMsR0FBRyxFQUFFO0lBQUU7RUFBRSxnQkFDL0RsRyxNQUFBLENBQUFVLE9BQUEsQ0FBQWtGLGFBQUE7SUFBS0UsS0FBSyxFQUFFO01BQUVNLFVBQVUsRUFBRTtJQUFJO0VBQUUsR0FBRXJELE9BQWEsQ0FBQyxlQUNoRC9DLE1BQUEsQ0FBQVUsT0FBQSxDQUFBa0YsYUFBQSwyQkFDRTVGLE1BQUEsQ0FBQVUsT0FBQSxDQUFBa0YsYUFBQSxlQUFPekMsS0FBWSxDQUFDLE9BQUcsZUFBQW5ELE1BQUEsQ0FBQVUsT0FBQSxDQUFBa0YsYUFBQSxlQUFPdkMsR0FBVSxDQUNyQyxDQUNGLENBQUMsZUFFTnJELE1BQUEsQ0FBQVUsT0FBQSxDQUFBa0YsYUFBQTtJQUFLRSxLQUFLLEVBQUU7TUFBRUUsT0FBTyxFQUFFLE1BQU07TUFBRUMsYUFBYSxFQUFFLFFBQVE7TUFBRUMsR0FBRyxFQUFFO0lBQUc7RUFBRSxHQUMvRGpELFFBQVEsQ0FBQ29ELEdBQUcsQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLEdBQUc7SUFBQSxJQUFBQyxxQkFBQTtJQUFBLG9CQUNuQnhHLE1BQUEsQ0FBQVUsT0FBQSxDQUFBa0YsYUFBQTtNQUNFekUsR0FBRyxFQUFFb0YsR0FBSTtNQUNUVCxLQUFLLEVBQUU7UUFDTEMsT0FBTyxFQUFFLEVBQUU7UUFDWFUsTUFBTSxFQUFFLDJCQUEyQjtRQUNuQ0MsWUFBWSxFQUFFLENBQUM7UUFDZkMsVUFBVSxFQUFFO01BQ2Q7SUFBRSxnQkFFRjNHLE1BQUEsQ0FBQVUsT0FBQSxDQUFBa0YsYUFBQTtNQUFLRSxLQUFLLEVBQUU7UUFBRU0sVUFBVSxFQUFFO01BQUk7SUFBRSxHQUFFRSxDQUFDLENBQUNNLFFBQWMsQ0FBQyxFQUVsRE4sQ0FBQyxDQUFDTyxXQUFXLGdCQUNaN0csTUFBQSxDQUFBVSxPQUFBLENBQUFrRixhQUFBO01BQUtFLEtBQUssRUFBRTtRQUFFZ0IsU0FBUyxFQUFFLENBQUM7UUFBRUMsT0FBTyxFQUFFLEdBQUc7UUFBRUMsUUFBUSxFQUFFO01BQUc7SUFBRSxHQUN0RFYsQ0FBQyxDQUFDVyxNQUNBLENBQUMsR0FDSixJQUFJLEVBRVAsRUFBQVQscUJBQUEsR0FBQUYsQ0FBQyxDQUFDWSx3QkFBd0IsY0FBQVYscUJBQUEsdUJBQTFCQSxxQkFBQSxDQUE0QlcsTUFBTSxpQkFDakNuSCxNQUFBLENBQUFVLE9BQUEsQ0FBQWtGLGFBQUE7TUFBS0UsS0FBSyxFQUFFO1FBQUVnQixTQUFTLEVBQUU7TUFBRTtJQUFFLEdBQzFCUixDQUFDLENBQUNZLHdCQUF3QixDQUFDRSxJQUFJLENBQUMsSUFBSSxDQUNsQyxDQUFDLEdBQ0osSUFBSSxFQUVQZCxDQUFDLENBQUNlLDRCQUE0QixnQkFDN0JySCxNQUFBLENBQUFVLE9BQUEsQ0FBQWtGLGFBQUE7TUFBS0UsS0FBSyxFQUFFO1FBQUVnQixTQUFTLEVBQUU7TUFBRTtJQUFFLEdBQzFCUixDQUFDLENBQUNlLDRCQUNBLENBQUMsR0FDSixJQUNELENBQUM7RUFBQSxDQUNQLENBQ0UsQ0FDRixDQUFDO0FBRVYsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FFYTdGLGdCQUFnQjtBQUFBOEYsT0FBQSxDQUFBN0csT0FBQSxHQUFBNEcsUUFBQSJ9
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _KandoModal = _interopRequireDefault(require("../KandoModal"));
15
+ var _SeasonalInsights = _interopRequireDefault(require("../SeasonalInsights/SeasonalInsights"));
16
+ var _i18next = _interopRequireDefault(require("i18next"));
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+ var LOCAL_STORAGE_KEY_BASE = 'TopBannerDismissed';
20
+ var buildDismissKey = function buildDismissKey(data) {
21
+ var _data$insight_info, _data$insight_info2;
22
+ var id = data === null || data === void 0 ? void 0 : data.id;
23
+ var start = data === null || data === void 0 ? void 0 : (_data$insight_info = data.insight_info) === null || _data$insight_info === void 0 ? void 0 : _data$insight_info.start_time;
24
+ var end = data === null || data === void 0 ? void 0 : (_data$insight_info2 = data.insight_info) === null || _data$insight_info2 === void 0 ? void 0 : _data$insight_info2.end_time;
25
+ if (id && start && end) return "".concat(LOCAL_STORAGE_KEY_BASE, ":").concat(id, ":").concat(start, ":").concat(end);
26
+ return LOCAL_STORAGE_KEY_BASE;
27
+ };
28
+ var TopBanner = function TopBanner(_ref) {
29
+ var _ref$backgroundColor = _ref.backgroundColor,
30
+ backgroundColor = _ref$backgroundColor === void 0 ? '#f5b7c5' : _ref$backgroundColor,
31
+ _ref$text = _ref.text,
32
+ text = _ref$text === void 0 ? '' : _ref$text,
33
+ onVisibilityChange = _ref.onVisibilityChange,
34
+ apiEndpoint = _ref.apiEndpoint;
35
+ var _useState = (0, _react.useState)(true),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ visible = _useState2[0],
38
+ setVisible = _useState2[1];
39
+ var _useState3 = (0, _react.useState)(null),
40
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
41
+ headerText = _useState4[0],
42
+ setHeaderText = _useState4[1];
43
+ var _useState5 = (0, _react.useState)(false),
44
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
45
+ showModal = _useState6[0],
46
+ setShowModal = _useState6[1];
47
+ var _useState7 = (0, _react.useState)(null),
48
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
49
+ insightData = _useState8[0],
50
+ setInsightData = _useState8[1];
51
+ var dismissKey = buildDismissKey(insightData);
52
+ var bannerHeight = 30; // px
53
+ var dir = _i18next.default.dir();
54
+
55
+ // const hasInsightDetails = useMemo(() => {
56
+ // const risks = insightData?.insight_info?.risks;
57
+ // if (!risks) return false;
58
+ // return Object.values(risks).some(r => (r?.risk_summary && r.risk_summary.length > 0) || (r?.detailed_risks && r.detailed_risks.length > 0));
59
+ // }, [insightData]);
60
+
61
+ // On mount or when dismissKey changes, check localStorage for dismissal
62
+ (0, _react.useEffect)(function () {
63
+ try {
64
+ var dismissed = localStorage.getItem(dismissKey) === 'true';
65
+ setVisible(!dismissed);
66
+ if (onVisibilityChange) onVisibilityChange(!dismissed);
67
+ } catch (_unused) {
68
+ setVisible(true);
69
+ if (onVisibilityChange) onVisibilityChange(true);
70
+ }
71
+ }, [dismissKey]);
72
+
73
+ // Fetch data from API if endpoint is provided, robustly
74
+ (0, _react.useEffect)(function () {
75
+ if (!apiEndpoint) return;
76
+ var controller = new AbortController();
77
+ fetch(apiEndpoint, {
78
+ signal: controller.signal
79
+ }).then( /*#__PURE__*/function () {
80
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(res) {
81
+ return _regenerator.default.wrap(function _callee$(_context) {
82
+ while (1) {
83
+ switch (_context.prev = _context.next) {
84
+ case 0:
85
+ if (!(res.status === 404)) {
86
+ _context.next = 2;
87
+ break;
88
+ }
89
+ return _context.abrupt("return", {
90
+ error: 'not_found'
91
+ });
92
+ case 2:
93
+ if (res.ok) {
94
+ _context.next = 4;
95
+ break;
96
+ }
97
+ throw new Error("Request failed (".concat(res.status, ")"));
98
+ case 4:
99
+ _context.next = 6;
100
+ return res.json();
101
+ case 6:
102
+ return _context.abrupt("return", _context.sent);
103
+ case 7:
104
+ case "end":
105
+ return _context.stop();
106
+ }
107
+ }
108
+ }, _callee);
109
+ }));
110
+ return function (_x) {
111
+ return _ref2.apply(this, arguments);
112
+ };
113
+ }()).then(function (data) {
114
+ // When the API says not_found, do not show the banner.
115
+ if ((data === null || data === void 0 ? void 0 : data.error) === 'not_found') {
116
+ setInsightData(null);
117
+ setHeaderText(null);
118
+ setVisible(false);
119
+ return;
120
+ }
121
+ setInsightData(data);
122
+ setHeaderText(_i18next.default.t('seasonal_insights.title'));
123
+ setVisible(!!data);
124
+ }).catch(function (err) {});
125
+ return function () {
126
+ return controller.abort();
127
+ };
128
+ }, [apiEndpoint, text]);
129
+
130
+ // Notify parent on visibility change
131
+ (0, _react.useEffect)(function () {
132
+ if (onVisibilityChange) onVisibilityChange(visible);
133
+ }, [visible]);
134
+
135
+ // When dismissed, persist in localStorage
136
+ var handleDismiss = function handleDismiss() {
137
+ setVisible(false);
138
+ try {
139
+ localStorage.setItem(dismissKey, 'true');
140
+ } catch (_unused2) {}
141
+ };
142
+ var openModal = function openModal() {
143
+ setShowModal(true);
144
+ };
145
+ var closeModal = function closeModal() {
146
+ setShowModal(false);
147
+ };
148
+ var modal = (0, _react.useMemo)(function () {
149
+ if (!showModal) return null;
150
+ var dir = _i18next.default.dir();
151
+ return /*#__PURE__*/_react.default.createElement(_KandoModal.default, {
152
+ isOpen: showModal,
153
+ onClose: closeModal,
154
+ dir: dir
155
+ }, /*#__PURE__*/_react.default.createElement(_SeasonalInsights.default, {
156
+ data: insightData
157
+ }));
158
+ }, [showModal]);
159
+ var bannerContent = headerText || text;
160
+ if (!visible || !bannerContent) {
161
+ return null;
162
+ }
163
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
164
+ style: {
165
+ width: '100%',
166
+ background: backgroundColor,
167
+ padding: '8px',
168
+ textAlign: 'center',
169
+ position: 'relative',
170
+ // position: 'fixed',
171
+ // top: 0,
172
+ // left: 0,
173
+ boxSizing: 'border-box',
174
+ minHeight: "".concat(bannerHeight, "px"),
175
+ height: "".concat(bannerHeight, "px"),
176
+ display: 'flex',
177
+ alignItems: 'center',
178
+ justifyContent: 'center',
179
+ // zIndex: 9999,
180
+ fontSize: '14px'
181
+ }
182
+ }, /*#__PURE__*/_react.default.createElement("span", {
183
+ style: {
184
+ cursor: apiEndpoint ? 'pointer' : 'default'
185
+ },
186
+ onClick: apiEndpoint ? openModal : undefined
187
+ }, bannerContent), /*#__PURE__*/_react.default.createElement("button", {
188
+ onClick: handleDismiss,
189
+ style: (0, _objectSpread2.default)((0, _objectSpread2.default)({
190
+ position: 'absolute'
191
+ }, dir === 'rtl' ? {
192
+ left: 8,
193
+ right: 'auto'
194
+ } : {
195
+ right: 8
196
+ }), {}, {
197
+ // top: 8,
198
+ background: 'transparent',
199
+ border: 'none',
200
+ fontSize: '18px',
201
+ cursor: 'pointer'
202
+ }),
203
+ "aria-label": "Dismiss banner"
204
+ }, "\xD7")), modal);
205
+ };
206
+ var _default = TopBanner;
207
+ exports.default = _default;
208
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfS2FuZG9Nb2RhbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfU2Vhc29uYWxJbnNpZ2h0cyIsIl9pMThuZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJMT0NBTF9TVE9SQUdFX0tFWV9CQVNFIiwiYnVpbGREaXNtaXNzS2V5IiwiZGF0YSIsIl9kYXRhJGluc2lnaHRfaW5mbyIsIl9kYXRhJGluc2lnaHRfaW5mbzIiLCJpZCIsInN0YXJ0IiwiaW5zaWdodF9pbmZvIiwic3RhcnRfdGltZSIsImVuZCIsImVuZF90aW1lIiwiY29uY2F0IiwiVG9wQmFubmVyIiwiX3JlZiIsIl9yZWYkYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwiX3JlZiR0ZXh0IiwidGV4dCIsIm9uVmlzaWJpbGl0eUNoYW5nZSIsImFwaUVuZHBvaW50IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImhlYWRlclRleHQiLCJzZXRIZWFkZXJUZXh0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93TW9kYWwiLCJzZXRTaG93TW9kYWwiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImluc2lnaHREYXRhIiwic2V0SW5zaWdodERhdGEiLCJkaXNtaXNzS2V5IiwiYmFubmVySGVpZ2h0IiwiZGlyIiwiaTE4bmV4dCIsInVzZUVmZmVjdCIsImRpc21pc3NlZCIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJfdW51c2VkIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImZldGNoIiwic2lnbmFsIiwidGhlbiIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJyZXMiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwic3RhdHVzIiwiYWJydXB0IiwiZXJyb3IiLCJvayIsIkVycm9yIiwianNvbiIsInNlbnQiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsInQiLCJjYXRjaCIsImVyciIsImFib3J0IiwiaGFuZGxlRGlzbWlzcyIsInNldEl0ZW0iLCJfdW51c2VkMiIsIm9wZW5Nb2RhbCIsImNsb3NlTW9kYWwiLCJtb2RhbCIsInVzZU1lbW8iLCJjcmVhdGVFbGVtZW50IiwiaXNPcGVuIiwib25DbG9zZSIsImJhbm5lckNvbnRlbnQiLCJGcmFnbWVudCIsInN0eWxlIiwid2lkdGgiLCJiYWNrZ3JvdW5kIiwicGFkZGluZyIsInRleHRBbGlnbiIsInBvc2l0aW9uIiwiYm94U2l6aW5nIiwibWluSGVpZ2h0IiwiaGVpZ2h0IiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImZvbnRTaXplIiwiY3Vyc29yIiwib25DbGljayIsInVuZGVmaW5lZCIsIl9vYmplY3RTcHJlYWQyIiwibGVmdCIsInJpZ2h0IiwiYm9yZGVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVG9wQmFubmVyL1RvcEJhbm5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgS2FuZG9Nb2RhbCBmcm9tICcuLi9LYW5kb01vZGFsJztcbmltcG9ydCBTZWFzb25hbEluc2lnaHRzLCB7XG4gIFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlLFxufSBmcm9tICcuLi9TZWFzb25hbEluc2lnaHRzL1NlYXNvbmFsSW5zaWdodHMnO1xuaW1wb3J0IGkxOG5leHQgZnJvbSAnaTE4bmV4dCc7XG5cbmludGVyZmFjZSBUb3BCYW5uZXJQcm9wcyB7XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgdGV4dD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgb25WaXNpYmlsaXR5Q2hhbmdlPzogKHZpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGFwaUVuZHBvaW50Pzogc3RyaW5nOyAvLyBBZGQgdGhpcyBwcm9wIGZvciBBUEkgZW5kcG9pbnRcbn1cblxuY29uc3QgTE9DQUxfU1RPUkFHRV9LRVlfQkFTRSA9ICdUb3BCYW5uZXJEaXNtaXNzZWQnO1xuXG5jb25zdCBidWlsZERpc21pc3NLZXkgPSAoZGF0YT86IFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlIHwgbnVsbCkgPT4ge1xuICBjb25zdCBpZCA9IGRhdGE/LmlkO1xuICBjb25zdCBzdGFydCA9IGRhdGE/Lmluc2lnaHRfaW5mbz8uc3RhcnRfdGltZTtcbiAgY29uc3QgZW5kID0gZGF0YT8uaW5zaWdodF9pbmZvPy5lbmRfdGltZTtcbiAgaWYgKGlkICYmIHN0YXJ0ICYmIGVuZClcbiAgICByZXR1cm4gYCR7TE9DQUxfU1RPUkFHRV9LRVlfQkFTRX06JHtpZH06JHtzdGFydH06JHtlbmR9YDtcbiAgcmV0dXJuIExPQ0FMX1NUT1JBR0VfS0VZX0JBU0U7XG59O1xuXG5jb25zdCBUb3BCYW5uZXI6IFJlYWN0LkZDPFRvcEJhbm5lclByb3BzPiA9ICh7XG4gIGJhY2tncm91bmRDb2xvciA9ICcjZjViN2M1JyxcbiAgdGV4dCA9ICcnLFxuICBvblZpc2liaWxpdHlDaGFuZ2UsXG4gIGFwaUVuZHBvaW50LFxufSkgPT4ge1xuICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2hlYWRlclRleHQsIHNldEhlYWRlclRleHRdID0gdXNlU3RhdGU8UmVhY3QuUmVhY3ROb2RlPihudWxsKTtcbiAgY29uc3QgW3Nob3dNb2RhbCwgc2V0U2hvd01vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2luc2lnaHREYXRhLCBzZXRJbnNpZ2h0RGF0YV0gPVxuICAgIHVzZVN0YXRlPFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgZGlzbWlzc0tleSA9IGJ1aWxkRGlzbWlzc0tleShpbnNpZ2h0RGF0YSk7XG4gIGNvbnN0IGJhbm5lckhlaWdodCA9IDMwOyAvLyBweFxuICBjb25zdCBkaXIgPSBpMThuZXh0LmRpcigpO1xuXG4gIC8vIGNvbnN0IGhhc0luc2lnaHREZXRhaWxzID0gdXNlTWVtbygoKSA9PiB7XG4gIC8vICAgICBjb25zdCByaXNrcyA9IGluc2lnaHREYXRhPy5pbnNpZ2h0X2luZm8/LnJpc2tzO1xuICAvLyAgICAgaWYgKCFyaXNrcykgcmV0dXJuIGZhbHNlO1xuICAvLyAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMocmlza3MpLnNvbWUociA9PiAocj8ucmlza19zdW1tYXJ5ICYmIHIucmlza19zdW1tYXJ5Lmxlbmd0aCA+IDApIHx8IChyPy5kZXRhaWxlZF9yaXNrcyAmJiByLmRldGFpbGVkX3Jpc2tzLmxlbmd0aCA+IDApKTtcbiAgLy8gfSwgW2luc2lnaHREYXRhXSk7XG5cbiAgLy8gT24gbW91bnQgb3Igd2hlbiBkaXNtaXNzS2V5IGNoYW5nZXMsIGNoZWNrIGxvY2FsU3RvcmFnZSBmb3IgZGlzbWlzc2FsXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRpc21pc3NlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGRpc21pc3NLZXkpID09PSAndHJ1ZSc7XG4gICAgICBzZXRWaXNpYmxlKCFkaXNtaXNzZWQpO1xuICAgICAgaWYgKG9uVmlzaWJpbGl0eUNoYW5nZSkgb25WaXNpYmlsaXR5Q2hhbmdlKCFkaXNtaXNzZWQpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgc2V0VmlzaWJsZSh0cnVlKTtcbiAgICAgIGlmIChvblZpc2liaWxpdHlDaGFuZ2UpIG9uVmlzaWJpbGl0eUNoYW5nZSh0cnVlKTtcbiAgICB9XG4gIH0sIFtkaXNtaXNzS2V5XSk7XG5cbiAgLy8gRmV0Y2ggZGF0YSBmcm9tIEFQSSBpZiBlbmRwb2ludCBpcyBwcm92aWRlZCwgcm9idXN0bHlcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFwaUVuZHBvaW50KSByZXR1cm47XG5cbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgZmV0Y2goYXBpRW5kcG9pbnQsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KVxuICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgLy8gQVBJIGV4cGxpY2l0bHkgc2F5cyB0aGVyZSBpcyBubyBzZWFzb25hbCBpbnNpZ2h0LlxuICAgICAgICAgIHJldHVybiB7IGVycm9yOiAnbm90X2ZvdW5kJyB9IGFzIHVua25vd24gYXMgU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkICgke3Jlcy5zdGF0dXN9KWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2U7XG4gICAgICB9KVxuICAgICAgLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgLy8gV2hlbiB0aGUgQVBJIHNheXMgbm90X2ZvdW5kLCBkbyBub3Qgc2hvdyB0aGUgYmFubmVyLlxuICAgICAgICBpZiAoKGRhdGEgYXMgYW55KT8uZXJyb3IgPT09ICdub3RfZm91bmQnKSB7XG4gICAgICAgICAgc2V0SW5zaWdodERhdGEobnVsbCk7XG4gICAgICAgICAgc2V0SGVhZGVyVGV4dChudWxsKTtcbiAgICAgICAgICBzZXRWaXNpYmxlKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0SW5zaWdodERhdGEoZGF0YSk7XG5cbiAgICAgICAgc2V0SGVhZGVyVGV4dChpMThuZXh0LnQoJ3NlYXNvbmFsX2luc2lnaHRzLnRpdGxlJykpO1xuXG4gICAgICAgIHNldFZpc2libGUoISFkYXRhKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge30pO1xuXG4gICAgcmV0dXJuICgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfSwgW2FwaUVuZHBvaW50LCB0ZXh0XSk7XG5cbiAgLy8gTm90aWZ5IHBhcmVudCBvbiB2aXNpYmlsaXR5IGNoYW5nZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvblZpc2liaWxpdHlDaGFuZ2UpIG9uVmlzaWJpbGl0eUNoYW5nZSh2aXNpYmxlKTtcbiAgfSwgW3Zpc2libGVdKTtcblxuICAvLyBXaGVuIGRpc21pc3NlZCwgcGVyc2lzdCBpbiBsb2NhbFN0b3JhZ2VcbiAgY29uc3QgaGFuZGxlRGlzbWlzcyA9ICgpID0+IHtcbiAgICBzZXRWaXNpYmxlKGZhbHNlKTtcbiAgICB0cnkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oZGlzbWlzc0tleSwgJ3RydWUnKTtcbiAgICB9IGNhdGNoIHt9XG4gIH07XG5cbiAgY29uc3Qgb3Blbk1vZGFsID0gKCkgPT4ge1xuICAgIHNldFNob3dNb2RhbCh0cnVlKTtcbiAgfTtcblxuICBjb25zdCBjbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldFNob3dNb2RhbChmYWxzZSk7XG4gIH07XG5cbiAgY29uc3QgbW9kYWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIXNob3dNb2RhbCkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgZGlyID0gaTE4bmV4dC5kaXIoKTtcbiAgICByZXR1cm4gKFxuICAgICAgPEthbmRvTW9kYWwgaXNPcGVuPXtzaG93TW9kYWx9IG9uQ2xvc2U9e2Nsb3NlTW9kYWx9IGRpcj17ZGlyfT5cbiAgICAgICAgPFNlYXNvbmFsSW5zaWdodHMgZGF0YT17aW5zaWdodERhdGF9IC8+XG4gICAgICA8L0thbmRvTW9kYWw+XG4gICAgKTtcbiAgfSwgW3Nob3dNb2RhbF0pO1xuXG4gIGNvbnN0IGJhbm5lckNvbnRlbnQgPSBoZWFkZXJUZXh0IHx8IHRleHQ7XG4gIGlmICghdmlzaWJsZSB8fCAhYmFubmVyQ29udGVudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgYmFja2dyb3VuZDogYmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgIHBhZGRpbmc6ICc4cHgnLFxuICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgLy8gcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgLy8gdG9wOiAwLFxuICAgICAgICAgIC8vIGxlZnQ6IDAsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgbWluSGVpZ2h0OiBgJHtiYW5uZXJIZWlnaHR9cHhgLFxuICAgICAgICAgIGhlaWdodDogYCR7YmFubmVySGVpZ2h0fXB4YCxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgIC8vIHpJbmRleDogOTk5OSxcbiAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogYXBpRW5kcG9pbnQgPyAncG9pbnRlcicgOiAnZGVmYXVsdCcgfX1cbiAgICAgICAgICBvbkNsaWNrPXthcGlFbmRwb2ludCA/IG9wZW5Nb2RhbCA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtiYW5uZXJDb250ZW50fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVEaXNtaXNzfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIC4uLihkaXIgPT09ICdydGwnXG4gICAgICAgICAgICAgID8geyBsZWZ0OiA4LCByaWdodDogJ2F1dG8nIGFzIGNvbnN0IH1cbiAgICAgICAgICAgICAgOiB7IHJpZ2h0OiA4IH0pLFxuICAgICAgICAgICAgLy8gdG9wOiA4LFxuICAgICAgICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgZm9udFNpemU6ICcxOHB4JyxcbiAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkRpc21pc3MgYmFubmVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIMOXXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7bW9kYWx9XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUb3BCYW5uZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtB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
@@ -31,7 +31,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
31
31
  //
32
32
  // return { values: values, x_axis: x_axis };
33
33
  // };
34
-
35
34
  var TrendGraphNVL = function TrendGraphNVL(_ref) {
36
35
  var areaID = _ref.areaID,
37
36
  pathogen = _ref.pathogen,
@@ -158,4 +157,4 @@ var TrendGraphNVL = function TrendGraphNVL(_ref) {
158
157
  };
159
158
  var _default = TrendGraphNVL;
160
159
  exports.default = _default;
161
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaGlnaGNoYXJ0c1JlYWN0T2ZmaWNpYWwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2hpZ2hzdG9jayIsIl90cmVuZGxpbmUiLCJfaW5kaWNhdG9ycyIsIl91c2VLYW5kb0ZldGNoMiIsIl9Db250ZW50TG9hZGVyIiwiX2kxOG4iLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiaW5kaWNhdG9ycyIsIkhpZ2hjaGFydHMiLCJ0cmVuZGxpbmUiLCJUcmVuZEdyYXBoTlZMIiwiX3JlZiIsImFyZWFJRCIsInBhdGhvZ2VuIiwiX3JlZiRmb3JXYmVEYXNoYm9hcmQiLCJmb3JXYmVEYXNoYm9hcmQiLCJfcmVmJGlzVmlydHVhbEFyZWEiLCJpc1ZpcnR1YWxBcmVhIiwiVHJlbmRTdHlsZXMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJtYXRjaFVybCIsImNvbmNhdCIsIl91c2VLYW5kb0ZldGNoIiwidXNlS2FuZG9GZXRjaCIsImRhdGEiLCJpc0ZldGNoaW5nIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwib3B0aW9ucyIsInNldE9wdGlvbnMiLCJjcmVhdGVPcHRpb25zIiwicGFyc2VkRGF0YSIsImNoYXJ0IiwiaGVpZ2h0IiwiY3JlZGl0cyIsImVuYWJsZWQiLCJ0aXRsZSIsInRleHQiLCJyYW5nZVNlbGVjdG9yIiwic2VsZWN0ZWQiLCJsZWdlbmQiLCJwbG90T3B0aW9ucyIsInNlcmllcyIsIm1hcmtlciIsInJhZGl1cyIsInhBeGlzIiwibGFiZWxzIiwicm90YXRpb24iLCJjYXRlZ29yaWVzIiwieF9heGlzIiwiY3Jvc3NoYWlyIiwieUF4aXMiLCJzb2Z0TWF4IiwiZm9ybWF0dGVyIiwidmFsdWUiLCJzdHlsZSIsImNvbG9yIiwiZ2V0T3B0aW9ucyIsImNvbG9ycyIsInR5cGUiLCJpZCIsIm5hbWUiLCJpMThuIiwidCIsInZhbHVlcyIsImxpbmVXaWR0aCIsInRpbWUiLCJ0aW1lem9uZU9mZnNldCIsInRvb2x0aXAiLCJ5IiwidXNlSFRNTCIsInVzZUVmZmVjdCIsImxlbmd0aCIsIm9wdHMiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiUm93TG9hZGVyIiwibWFyZ2luIiwiYmdDb2xvciIsImZnQ29sb3IiLCJhcmVhX25hbWUiLCJoaWdoY2hhcnRzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVHJlbmRHcmFwaE5WTC9UcmVuZEdyYXBoTlZMLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBIaWdoY2hhcnRzUmVhY3QgZnJvbSAnaGlnaGNoYXJ0cy1yZWFjdC1vZmZpY2lhbCc7XG5pbXBvcnQgSGlnaGNoYXJ0cyBmcm9tICdoaWdoY2hhcnRzL2hpZ2hzdG9jayc7XG5pbXBvcnQgdHJlbmRsaW5lIGZyb20gJ2hpZ2hjaGFydHMvaW5kaWNhdG9ycy90cmVuZGxpbmUnO1xuaW1wb3J0IGluZGljYXRvcnMgZnJvbSAnaGlnaGNoYXJ0cy9pbmRpY2F0b3JzL2luZGljYXRvcnMnO1xuXG5pbXBvcnQgdXNlS2FuZG9GZXRjaCBmcm9tICdzcmMvaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgeyBSb3dMb2FkZXIgfSBmcm9tICdzcmMvY29tcG9uZW50cy9Db250ZW50TG9hZGVyJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5cbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcblxuaW5kaWNhdG9ycyhIaWdoY2hhcnRzKTtcbnRyZW5kbGluZShIaWdoY2hhcnRzKTtcblxudHlwZSBJUHJvcHMgPSB7XG4gIGFyZWFJRDogbnVtYmVyIHwgbnVsbDtcbiAgcGF0aG9nZW46IHN0cmluZztcbiAgZm9yV2JlRGFzaGJvYXJkOiBib29sZWFuO1xuICBpc1ZpcnR1YWxBcmVhOiBib29sZWFuO1xufTtcblxudHlwZSBJRmV0Y2hSZXNwb25zZSA9IHt9IHwgeyB4X2F4aXM6IGFueVtdOyB2YWx1ZXM6IG51bWJlcltdIH07XG5cbi8vIGNvbnN0IHBhcnNlRGF0YSA9IChqc29uRGF0YTogQXJyYXk8YW55PikgPT4ge1xuLy8gICBjb25zdCB2YWx1ZXMgPSBqc29uRGF0YS5tYXAoKGRhdGE6IGFueSkgPT4gZGF0YS5udmwpO1xuLy8gICBjb25zdCB4X2F4aXMgPSBqc29uRGF0YS5tYXAoKGRhdGE6IGFueSkgPT4gZGF0YS5kYXRlKTtcbi8vXG4vLyAgIGlmICghdmFsdWVzLmxlbmd0aCB8fCAheF9heGlzLmxlbmd0aCkge1xuLy8gICAgIHJldHVybiBbXTtcbi8vICAgfVxuLy9cbi8vICAgcmV0dXJuIHsgdmFsdWVzOiB2YWx1ZXMsIHhfYXhpczogeF9heGlzIH07XG4vLyB9O1xuXG5jb25zdCBUcmVuZEdyYXBoTlZMID0gKHtcbiAgYXJlYUlELFxuICBwYXRob2dlbixcbiAgZm9yV2JlRGFzaGJvYXJkID0gZmFsc2UsXG4gIGlzVmlydHVhbEFyZWEgPSBmYWxzZSxcbn06IElQcm9wcykgPT4ge1xuICBjb25zdCBUcmVuZFN0eWxlcyA9IHN0eWxlZC5kaXZgXG4gICAgLnRyZW5kLWdyYXBoLW52bCB7XG4gICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgJHtmb3JXYmVEYXNoYm9hcmQgPyAndGV4dC1hbGlnbjogdW5zZXQ7JyA6ICd0ZXh0LWFsaWduOiBjZW50ZXI7J31cbiAgICAgICAgJHtmb3JXYmVEYXNoYm9hcmQgPyAnZm9udC1zaXplOiAuOXJlbTsnIDogJ2ZvbnQtc2l6ZTogMS42cmVtOyd9XG4gICAgICAke2ZvcldiZURhc2hib2FyZCA/ICdtYXJnaW46IDAuOXJlbSAwLjNyZW07JyA6ICdtYXJnaW46IDAgMCAycmVtOyd9XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNnJlbTtcbiAgICAgIH1cbiAgICAgICZfX25vLWNoYXJ0LWRhdGEge1xuICAgICAgfVxuICAgIH1cbiAgYDtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuICBjb25zdCBtYXRjaFVybCA9ICgpID0+IHtcbiAgICBpZiAoaXNWaXJ0dWFsQXJlYSkge1xuICAgICAgcmV0dXJuIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvJHtwYXRob2dlbn0vdHJlbmRfZ3JhcGgvdmlydHVhbC8ke2FyZWFJRH0/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYC9hcGlfdWkvd2JlX2Rhc2hib2FyZC8ke3BhdGhvZ2VufS90cmVuZF9ncmFwaC9hcmVhLyR7YXJlYUlEfT93YXRlcl9hdXRob3JpdHlfaWQ9JHt3YXRlckF1dGhvcml0eUlkfWA7XG4gICAgfVxuICB9O1xuICBjb25zdCB7IGRhdGEsIGlzRmV0Y2hpbmcgfSA9IHVzZUthbmRvRmV0Y2gobWF0Y2hVcmwoKSk7XG4gIGNvbnN0IFtvcHRpb25zLCBzZXRPcHRpb25zXSA9IHVzZVN0YXRlPElGZXRjaFJlc3BvbnNlPih7fSk7XG5cbiAgY29uc3QgY3JlYXRlT3B0aW9ucyA9IChwYXJzZWREYXRhOiBJRmV0Y2hSZXNwb25zZSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBjaGFydDoge1xuICAgICAgICBoZWlnaHQ6IDI1NCxcbiAgICAgIH0sXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjcmVkaXRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIHRleHQ6IG51bGwsXG4gICAgICB9LFxuICAgICAgcmFuZ2VTZWxlY3Rvcjoge1xuICAgICAgICBzZWxlY3RlZDogNSxcbiAgICAgIH0sXG4gICAgICBsZWdlbmQ6IHtcbiAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgcGxvdE9wdGlvbnM6IHtcbiAgICAgICAgc2VyaWVzOiB7XG4gICAgICAgICAgbWFya2VyOiB7XG4gICAgICAgICAgICByYWRpdXM6IDYsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB4QXhpczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgICByb3RhdGlvbjogLTQ1LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGNhdGVnb3JpZXM6IHBhcnNlZERhdGEueF9heGlzLFxuICAgICAgICAgIGNyb3NzaGFpcjogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB5QXhpczoge1xuICAgICAgICAvLyBQcmltYXJ5IHlBeGlzXG4gICAgICAgIHNvZnRNYXg6IDAsXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgdGV4dDogJycsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsczoge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbG9yOiBIaWdoY2hhcnRzLmdldE9wdGlvbnMoKS5jb2xvcnNbMV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzZXJpZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdsaW5lJyxcbiAgICAgICAgICBpZDogJ1BJcycsXG4gICAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLm52bF90cmVuZC52YWx1ZScpLFxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBkYXRhOiBwYXJzZWREYXRhLnZhbHVlcyxcbiAgICAgICAgICBsaW5lV2lkdGg6IGZvcldiZURhc2hib2FyZCA/IDIgOiAzLFxuICAgICAgICAgIGNvbG9yOiBmb3JXYmVEYXNoYm9hcmQgPyAnIzNkODVmZicgOiAnI2ZlYzEwNycsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdGltZToge1xuICAgICAgICB0aW1lem9uZU9mZnNldDogZGF0YVsndGltZXpvbmVfb2Zmc2V0J10sXG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gYCR7dGhpcy5zZXJpZXMubmFtZX08YnIvPjxiPiR7dGhpcy55fTwvYj5gO1xuICAgICAgICB9LFxuICAgICAgICB1c2VIVE1MOiB0cnVlLFxuICAgICAgfSxcbiAgICB9O1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nICYmIGRhdGE/LnZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBvcHRzID0gY3JlYXRlT3B0aW9ucyhkYXRhKTtcbiAgICAgIHNldE9wdGlvbnMob3B0cyk7XG4gICAgfVxuICB9LCBbaXNGZXRjaGluZ10pO1xuXG4gIHJldHVybiAoXG4gICAgPFRyZW5kU3R5bGVzPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0cmVuZC1ncmFwaC1udmxcIj5cbiAgICAgICAge2lzRmV0Y2hpbmcgPyAoXG4gICAgICAgICAgPFJvd0xvYWRlciBtYXJnaW49XCIyNnB4IDAgMFwiIGJnQ29sb3I9XCIjZjJmMmYyXCIgZmdDb2xvcj1cIiNmZmZcIiAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHJlbmQtZ3JhcGgtbnZsX19jb250ZW50XCI+XG4gICAgICAgICAgICB7IWZvcldiZURhc2hib2FyZCAmJiAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHJlbmQtZ3JhcGgtbnZsX190aXRsZVwiPlxuICAgICAgICAgICAgICAgIHtkYXRhPy5hcmVhX25hbWV9XG4gICAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy5udmxfdHJlbmQub3Zlcl90aW1lJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtkYXRhLnZhbHVlcy5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICA8SGlnaGNoYXJ0c1JlYWN0IGhpZ2hjaGFydHM9e0hpZ2hjaGFydHN9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRyZW5kLWdyYXBoLW52bF9fbm8tY2hhcnQtZGF0YVwiPjwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvVHJlbmRTdHlsZXM+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUcmVuZEdyYXBoTlZMO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsd0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFNLGVBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLEtBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtBQUEwQyxTQUFBVSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVosd0JBQUFnQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFB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
160
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaGlnaGNoYXJ0c1JlYWN0T2ZmaWNpYWwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2hpZ2hzdG9jayIsIl90cmVuZGxpbmUiLCJfaW5kaWNhdG9ycyIsIl91c2VLYW5kb0ZldGNoMiIsIl9Db250ZW50TG9hZGVyIiwiX2kxOG4iLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiaW5kaWNhdG9ycyIsIkhpZ2hjaGFydHMiLCJ0cmVuZGxpbmUiLCJUcmVuZEdyYXBoTlZMIiwiX3JlZiIsImFyZWFJRCIsInBhdGhvZ2VuIiwiX3JlZiRmb3JXYmVEYXNoYm9hcmQiLCJmb3JXYmVEYXNoYm9hcmQiLCJfcmVmJGlzVmlydHVhbEFyZWEiLCJpc1ZpcnR1YWxBcmVhIiwiVHJlbmRTdHlsZXMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJtYXRjaFVybCIsImNvbmNhdCIsIl91c2VLYW5kb0ZldGNoIiwidXNlS2FuZG9GZXRjaCIsImRhdGEiLCJpc0ZldGNoaW5nIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwib3B0aW9ucyIsInNldE9wdGlvbnMiLCJjcmVhdGVPcHRpb25zIiwicGFyc2VkRGF0YSIsImNoYXJ0IiwiaGVpZ2h0IiwiY3JlZGl0cyIsImVuYWJsZWQiLCJ0aXRsZSIsInRleHQiLCJyYW5nZVNlbGVjdG9yIiwic2VsZWN0ZWQiLCJsZWdlbmQiLCJwbG90T3B0aW9ucyIsInNlcmllcyIsIm1hcmtlciIsInJhZGl1cyIsInhBeGlzIiwibGFiZWxzIiwicm90YXRpb24iLCJjYXRlZ29yaWVzIiwieF9heGlzIiwiY3Jvc3NoYWlyIiwieUF4aXMiLCJzb2Z0TWF4IiwiZm9ybWF0dGVyIiwidmFsdWUiLCJzdHlsZSIsImNvbG9yIiwiZ2V0T3B0aW9ucyIsImNvbG9ycyIsInR5cGUiLCJpZCIsIm5hbWUiLCJpMThuIiwidCIsInZhbHVlcyIsImxpbmVXaWR0aCIsInRpbWUiLCJ0aW1lem9uZU9mZnNldCIsInRvb2x0aXAiLCJ5IiwidXNlSFRNTCIsInVzZUVmZmVjdCIsImxlbmd0aCIsIm9wdHMiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiUm93TG9hZGVyIiwibWFyZ2luIiwiYmdDb2xvciIsImZnQ29sb3IiLCJhcmVhX25hbWUiLCJoaWdoY2hhcnRzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVHJlbmRHcmFwaE5WTC9UcmVuZEdyYXBoTlZMLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBIaWdoY2hhcnRzUmVhY3QgZnJvbSAnaGlnaGNoYXJ0cy1yZWFjdC1vZmZpY2lhbCc7XG5pbXBvcnQgSGlnaGNoYXJ0cyBmcm9tICdoaWdoY2hhcnRzL2hpZ2hzdG9jayc7XG5pbXBvcnQgdHJlbmRsaW5lIGZyb20gJ2hpZ2hjaGFydHMvaW5kaWNhdG9ycy90cmVuZGxpbmUnO1xuaW1wb3J0IGluZGljYXRvcnMgZnJvbSAnaGlnaGNoYXJ0cy9pbmRpY2F0b3JzL2luZGljYXRvcnMnO1xuXG5pbXBvcnQgdXNlS2FuZG9GZXRjaCBmcm9tICdzcmMvaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgeyBSb3dMb2FkZXIgfSBmcm9tICdzcmMvY29tcG9uZW50cy9Db250ZW50TG9hZGVyJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5cbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcblxuaW5kaWNhdG9ycyhIaWdoY2hhcnRzKTtcbnRyZW5kbGluZShIaWdoY2hhcnRzKTtcblxudHlwZSBJUHJvcHMgPSB7XG4gIGFyZWFJRDogbnVtYmVyIHwgbnVsbDtcbiAgcGF0aG9nZW46IHN0cmluZztcbiAgZm9yV2JlRGFzaGJvYXJkOiBib29sZWFuO1xuICBpc1ZpcnR1YWxBcmVhOiBib29sZWFuO1xufTtcblxudHlwZSBJRmV0Y2hSZXNwb25zZSA9IHt9IHwgeyB4X2F4aXM6IGFueVtdOyB2YWx1ZXM6IG51bWJlcltdIH07XG5cbi8vIGNvbnN0IHBhcnNlRGF0YSA9IChqc29uRGF0YTogQXJyYXk8YW55PikgPT4ge1xuLy8gICBjb25zdCB2YWx1ZXMgPSBqc29uRGF0YS5tYXAoKGRhdGE6IGFueSkgPT4gZGF0YS5udmwpO1xuLy8gICBjb25zdCB4X2F4aXMgPSBqc29uRGF0YS5tYXAoKGRhdGE6IGFueSkgPT4gZGF0YS5kYXRlKTtcbi8vXG4vLyAgIGlmICghdmFsdWVzLmxlbmd0aCB8fCAheF9heGlzLmxlbmd0aCkge1xuLy8gICAgIHJldHVybiBbXTtcbi8vICAgfVxuLy9cbi8vICAgcmV0dXJuIHsgdmFsdWVzOiB2YWx1ZXMsIHhfYXhpczogeF9heGlzIH07XG4vLyB9O1xuXG5jb25zdCBUcmVuZEdyYXBoTlZMID0gKHtcbiAgYXJlYUlELFxuICBwYXRob2dlbixcbiAgZm9yV2JlRGFzaGJvYXJkID0gZmFsc2UsXG4gIGlzVmlydHVhbEFyZWEgPSBmYWxzZSxcbn06IElQcm9wcykgPT4ge1xuICBjb25zdCBUcmVuZFN0eWxlcyA9IHN0eWxlZC5kaXZgXG4gICAgLnRyZW5kLWdyYXBoLW52bCB7XG4gICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgJHtmb3JXYmVEYXNoYm9hcmQgPyAndGV4dC1hbGlnbjogdW5zZXQ7JyA6ICd0ZXh0LWFsaWduOiBjZW50ZXI7J31cbiAgICAgICAgJHtmb3JXYmVEYXNoYm9hcmQgPyAnZm9udC1zaXplOiAuOXJlbTsnIDogJ2ZvbnQtc2l6ZTogMS42cmVtOyd9XG4gICAgICAke2ZvcldiZURhc2hib2FyZCA/ICdtYXJnaW46IDAuOXJlbSAwLjNyZW07JyA6ICdtYXJnaW46IDAgMCAycmVtOyd9XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNnJlbTtcbiAgICAgIH1cbiAgICAgICZfX25vLWNoYXJ0LWRhdGEge1xuICAgICAgfVxuICAgIH1cbiAgYDtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuICBjb25zdCBtYXRjaFVybCA9ICgpID0+IHtcbiAgICBpZiAoaXNWaXJ0dWFsQXJlYSkge1xuICAgICAgcmV0dXJuIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvJHtwYXRob2dlbn0vdHJlbmRfZ3JhcGgvdmlydHVhbC8ke2FyZWFJRH0/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYC9hcGlfdWkvd2JlX2Rhc2hib2FyZC8ke3BhdGhvZ2VufS90cmVuZF9ncmFwaC9hcmVhLyR7YXJlYUlEfT93YXRlcl9hdXRob3JpdHlfaWQ9JHt3YXRlckF1dGhvcml0eUlkfWA7XG4gICAgfVxuICB9O1xuICBjb25zdCB7IGRhdGEsIGlzRmV0Y2hpbmcgfSA9IHVzZUthbmRvRmV0Y2gobWF0Y2hVcmwoKSk7XG4gIGNvbnN0IFtvcHRpb25zLCBzZXRPcHRpb25zXSA9IHVzZVN0YXRlPElGZXRjaFJlc3BvbnNlPih7fSk7XG5cbiAgY29uc3QgY3JlYXRlT3B0aW9ucyA9IChwYXJzZWREYXRhOiBJRmV0Y2hSZXNwb25zZSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBjaGFydDoge1xuICAgICAgICBoZWlnaHQ6IDI1NCxcbiAgICAgIH0sXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjcmVkaXRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIHRleHQ6IG51bGwsXG4gICAgICB9LFxuICAgICAgcmFuZ2VTZWxlY3Rvcjoge1xuICAgICAgICBzZWxlY3RlZDogNSxcbiAgICAgIH0sXG4gICAgICBsZWdlbmQ6IHtcbiAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgcGxvdE9wdGlvbnM6IHtcbiAgICAgICAgc2VyaWVzOiB7XG4gICAgICAgICAgbWFya2VyOiB7XG4gICAgICAgICAgICByYWRpdXM6IDYsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB4QXhpczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgICByb3RhdGlvbjogLTQ1LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGNhdGVnb3JpZXM6IHBhcnNlZERhdGEueF9heGlzLFxuICAgICAgICAgIGNyb3NzaGFpcjogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB5QXhpczoge1xuICAgICAgICAvLyBQcmltYXJ5IHlBeGlzXG4gICAgICAgIHNvZnRNYXg6IDAsXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgdGV4dDogJycsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsczoge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbG9yOiBIaWdoY2hhcnRzLmdldE9wdGlvbnMoKS5jb2xvcnNbMV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzZXJpZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdsaW5lJyxcbiAgICAgICAgICBpZDogJ1BJcycsXG4gICAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLm52bF90cmVuZC52YWx1ZScpLFxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBkYXRhOiBwYXJzZWREYXRhLnZhbHVlcyxcbiAgICAgICAgICBsaW5lV2lkdGg6IGZvcldiZURhc2hib2FyZCA/IDIgOiAzLFxuICAgICAgICAgIGNvbG9yOiBmb3JXYmVEYXNoYm9hcmQgPyAnIzNkODVmZicgOiAnI2ZlYzEwNycsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdGltZToge1xuICAgICAgICB0aW1lem9uZU9mZnNldDogZGF0YVsndGltZXpvbmVfb2Zmc2V0J10sXG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gYCR7dGhpcy5zZXJpZXMubmFtZX08YnIvPjxiPiR7dGhpcy55fTwvYj5gO1xuICAgICAgICB9LFxuICAgICAgICB1c2VIVE1MOiB0cnVlLFxuICAgICAgfSxcbiAgICB9O1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nICYmIGRhdGE/LnZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBvcHRzID0gY3JlYXRlT3B0aW9ucyhkYXRhKTtcbiAgICAgIHNldE9wdGlvbnMob3B0cyk7XG4gICAgfVxuICB9LCBbaXNGZXRjaGluZ10pO1xuXG4gIHJldHVybiAoXG4gICAgPFRyZW5kU3R5bGVzPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0cmVuZC1ncmFwaC1udmxcIj5cbiAgICAgICAge2lzRmV0Y2hpbmcgPyAoXG4gICAgICAgICAgPFJvd0xvYWRlciBtYXJnaW49XCIyNnB4IDAgMFwiIGJnQ29sb3I9XCIjZjJmMmYyXCIgZmdDb2xvcj1cIiNmZmZcIiAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHJlbmQtZ3JhcGgtbnZsX19jb250ZW50XCI+XG4gICAgICAgICAgICB7IWZvcldiZURhc2hib2FyZCAmJiAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHJlbmQtZ3JhcGgtbnZsX190aXRsZVwiPlxuICAgICAgICAgICAgICAgIHtkYXRhPy5hcmVhX25hbWV9XG4gICAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy5udmxfdHJlbmQub3Zlcl90aW1lJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtkYXRhLnZhbHVlcy5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICA8SGlnaGNoYXJ0c1JlYWN0IGhpZ2hjaGFydHM9e0hpZ2hjaGFydHN9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRyZW5kLWdyYXBoLW52bF9fbm8tY2hhcnQtZGF0YVwiPjwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvVHJlbmRTdHlsZXM+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUcmVuZEdyYXBoTlZMO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsd0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFNLGVBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLEtBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtBQUEwQyxTQUFBVSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVosd0JBQUFnQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBSTFDLElBQUFXLG1CQUFVLEVBQUNDLGtCQUFVLENBQUM7QUFDdEIsSUFBQUMsa0JBQVMsRUFBQ0Qsa0JBQVUsQ0FBQztBQVdyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQU1FLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQUMsSUFBQSxFQUtMO0VBQUEsSUFKWkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07SUFDTkMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7SUFBQUMsb0JBQUEsR0FBQUgsSUFBQSxDQUNSSSxlQUFlO0lBQWZBLGVBQWUsR0FBQUQsb0JBQUEsY0FBRyxLQUFLLEdBQUFBLG9CQUFBO0lBQUFFLGtCQUFBLEdBQUFMLElBQUEsQ0FDdkJNLGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxrQkFBQSxjQUFHLEtBQUssR0FBQUEsa0JBQUE7RUFFckIsSUFBTUUsV0FBVyxHQUFHQyx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7SUFBQUMsV0FBQTtJQUFBQyxXQUFBO0VBQUEsb0tBS3RCUixlQUFlLEdBQUcsb0JBQW9CLEdBQUcscUJBQXFCLEVBQzlEQSxlQUFlLEdBQUcsbUJBQW1CLEdBQUcsb0JBQW9CLEVBQzlEQSxlQUFlLEdBQUcsd0JBQXdCLEdBQUcsbUJBQW1CLENBVXJFO0VBQ0QsSUFBTVMsZ0JBQWdCLEdBQUcsSUFBQUMsdUJBQVcsRUFDbEMsVUFBQ0MsS0FBb0M7SUFBQSxPQUNuQ0EsS0FBSyxDQUFDQyxXQUFXLENBQUNILGdCQUFnQjtFQUFBLENBQ3RDLENBQUM7RUFDRCxJQUFNSSxRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBQSxFQUFTO0lBQ3JCLElBQUlYLGFBQWEsRUFBRTtNQUNqQixnQ0FBQVksTUFBQSxDQUFnQ2hCLFFBQVEsMkJBQUFnQixNQUFBLENBQXdCakIsTUFBTSwwQkFBQWlCLE1BQUEsQ0FBdUJMLGdCQUFnQjtJQUMvRyxDQUFDLE1BQU07TUFDTCxnQ0FBQUssTUFBQSxDQUFnQ2hCLFFBQVEsd0JBQUFnQixNQUFBLENBQXFCakIsTUFBTSwwQkFBQWlCLE1BQUEsQ0FBdUJMLGdCQUFnQjtJQUM1RztFQUNGLENBQUM7RUFDRCxJQUFBTSxjQUFBLEdBQTZCLElBQUFDLHVCQUFhLEVBQUNILFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFBOUNJLElBQUksR0FBQUYsY0FBQSxDQUFKRSxJQUFJO0lBQUVDLFVBQVUsR0FBQUgsY0FBQSxDQUFWRyxVQUFVO0VBQ3hCLElBQUFDLFNBQUEsR0FBOEIsSUFBQUMsZUFBUSxFQUFpQixDQUFDLENBQUMsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsQ0FBQTdDLE9BQUEsRUFBQTBDLFNBQUE7SUFBbkRJLE9BQU8sR0FBQUYsVUFBQTtJQUFFRyxVQUFVLEdBQUFILFVBQUE7RUFFMUIsSUFBTUksYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJQyxVQUEwQixFQUFLO0lBQ3BELE9BQU87TUFDTEMsS0FBSyxFQUFFO1FBQ0xDLE1BQU0sRUFBRTtNQUNWLENBQUM7TUFDRDtNQUNBQyxPQUFPLEVBQUU7UUFDUEMsT0FBTyxFQUFFO01BQ1gsQ0FBQztNQUNEQyxLQUFLLEVBQUU7UUFDTEMsSUFBSSxFQUFFO01BQ1IsQ0FBQztNQUNEQyxhQUFhLEVBQUU7UUFDYkMsUUFBUSxFQUFFO01BQ1osQ0FBQztNQUNEQyxNQUFNLEVBQUU7UUFDTkwsT0FBTyxFQUFFO01BQ1gsQ0FBQztNQUNETSxXQUFXLEVBQUU7UUFDWEMsTUFBTSxFQUFFO1VBQ05DLE1BQU0sRUFBRTtZQUNOQyxNQUFNLEVBQUU7VUFDVjtRQUNGO01BQ0YsQ0FBQztNQUNEQyxLQUFLLEVBQUUsQ0FDTDtRQUNFQyxNQUFNLEVBQUU7VUFDTkMsUUFBUSxFQUFFLENBQUM7UUFDYixDQUFDO1FBQ0Q7UUFDQUMsVUFBVSxFQUFFakIsVUFBVSxDQUFDa0IsTUFBTTtRQUM3QkMsU0FBUyxFQUFFO01BQ2IsQ0FBQyxDQUNGO01BQ0RDLEtBQUssRUFBRTtRQUNMO1FBQ0FDLE9BQU8sRUFBRSxDQUFDO1FBQ1ZoQixLQUFLLEVBQUU7VUFDTEMsSUFBSSxFQUFFO1FBQ1IsQ0FBQztRQUNEUyxNQUFNLEVBQUU7VUFDTjtVQUNBTyxTQUFTLEVBQUUsU0FBQUEsVUFBQSxFQUFZO1lBQ3JCO1lBQ0EsT0FBTyxJQUFJLENBQUNDLEtBQUs7VUFDbkIsQ0FBQztVQUNEQyxLQUFLLEVBQUU7WUFDTDtZQUNBQyxLQUFLLEVBQUUxRCxrQkFBVSxDQUFDMkQsVUFBVSxDQUFDLENBQUMsQ0FBQ0MsTUFBTSxDQUFDLENBQUM7VUFDekM7UUFDRjtNQUNGLENBQUM7TUFDRGhCLE1BQU0sRUFBRSxDQUNOO1FBQ0VpQixJQUFJLEVBQUUsTUFBTTtRQUNaQyxFQUFFLEVBQUUsS0FBSztRQUNUQyxJQUFJLEVBQUVDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDRCQUE0QixDQUFDO1FBQzFDO1FBQ0F6QyxJQUFJLEVBQUVTLFVBQVUsQ0FBQ2lDLE1BQU07UUFDdkJDLFNBQVMsRUFBRTVELGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUNsQ21ELEtBQUssRUFBRW5ELGVBQWUsR0FBRyxTQUFTLEdBQUc7TUFDdkMsQ0FBQyxDQUNGO01BQ0Q2RCxJQUFJLEVBQUU7UUFDSkMsY0FBYyxFQUFFN0MsSUFBSSxDQUFDLGlCQUFpQjtNQUN4QyxDQUFDO01BQ0Q4QyxPQUFPLEVBQUU7UUFDUDtRQUNBZixTQUFTLEVBQUUsU0FBQUEsVUFBQSxFQUFZO1VBQ3JCO1VBQ0EsVUFBQWxDLE1BQUEsQ0FBVSxJQUFJLENBQUN1QixNQUFNLENBQUNtQixJQUFJLGNBQUExQyxNQUFBLENBQVcsSUFBSSxDQUFDa0QsQ0FBQztRQUM3QyxDQUFDO1FBQ0RDLE9BQU8sRUFBRTtNQUNYO0lBQ0YsQ0FBQztFQUNILENBQUM7RUFFRCxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJLENBQUNoRCxVQUFVLElBQUksQ0FBQUQsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUUwQyxNQUFNLENBQUNRLE1BQU0sSUFBRyxDQUFDLEVBQUU7TUFDMUMsSUFBTUMsSUFBSSxHQUFHM0MsYUFBYSxDQUFDUixJQUFJLENBQUM7TUFDaENPLFVBQVUsQ0FBQzRDLElBQUksQ0FBQztJQUNsQjtFQUNGLENBQUMsRUFBRSxDQUFDbEQsVUFBVSxDQUFDLENBQUM7RUFFaEIsb0JBQ0U3RCxNQUFBLENBQUFvQixPQUFBLENBQUE0RixhQUFBLENBQUNsRSxXQUFXLHFCQUNWOUMsTUFBQSxDQUFBb0IsT0FBQSxDQUFBNEYsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBaUIsR0FDN0JwRCxVQUFVLGdCQUNUN0QsTUFBQSxDQUFBb0IsT0FBQSxDQUFBNEYsYUFBQSxDQUFDdkcsY0FBQSxDQUFBeUcsU0FBUztJQUFDQyxNQUFNLEVBQUMsVUFBVTtJQUFDQyxPQUFPLEVBQUMsU0FBUztJQUFDQyxPQUFPLEVBQUM7RUFBTSxDQUFFLENBQUMsZ0JBRWhFckgsTUFBQSxDQUFBb0IsT0FBQSxDQUFBNEYsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBMEIsR0FDdEMsQ0FBQ3RFLGVBQWUsaUJBQ2YzQyxNQUFBLENBQUFvQixPQUFBLENBQUE0RixhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUF3QixHQUNwQ3JELElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFMEQsU0FBUyxFQUFDLE1BRWpCLEVBQUNsQixhQUFJLENBQUNDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FDckMsQ0FDTixFQUNBekMsSUFBSSxDQUFDMEMsTUFBTSxDQUFDUSxNQUFNLEdBQUcsQ0FBQyxnQkFDckI5RyxNQUFBLENBQUFvQixPQUFBLENBQUE0RixhQUFBLENBQUM3Ryx3QkFBQSxDQUFBaUIsT0FBZTtJQUFDbUcsVUFBVSxFQUFFbkYsa0JBQVc7SUFBQzhCLE9BQU8sRUFBRUE7RUFBUSxDQUFFLENBQUMsZ0JBRTdEbEUsTUFBQSxDQUFBb0IsT0FBQSxDQUFBNEYsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBZ0MsQ0FBTSxDQUVwRCxDQUVKLENBQ00sQ0FBQztBQUVsQixDQUFDO0FBQUMsSUFBQU8sUUFBQSxHQUVhbEYsYUFBYTtBQUFBbUYsT0FBQSxDQUFBckcsT0FBQSxHQUFBb0csUUFBQSJ9