Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-menu-list

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-menu-list - npm Package Compare versions

Comparing version 6.0.5 to 6.1.0

5

CHANGELOG.md

@@ -0,1 +1,6 @@

## 6.1.0 (2019-10-15)
* Added `menuParentElement` prop. ([#14](https://github.com/StreakYC/react-menu-list/pull/14))
* Added `buttonProps` prop. ([#13](https://github.com/StreakYC/react-menu-list/pull/13))
## 6.0.5 (2019-08-09)

@@ -2,0 +7,0 @@

3

index.d.ts

@@ -111,3 +111,5 @@ import * as React from 'react';

menuZIndex?: string|number;
menuParentElement?: HTMLElement;
ButtonComponent?: React.ComponentType<{domRef: Ref<HTMLElement>}>;
buttonProps?: object;

@@ -133,2 +135,3 @@ children?: ReactNode;

menuZIndex?: string|number;
menuParentElement?: HTMLElement;

@@ -135,0 +138,0 @@ onWillOpen?: () => void;

12

js/MenuButton.js

@@ -10,6 +10,6 @@ "use strict";

var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));

@@ -194,2 +194,3 @@

return _react["default"].createElement(_reactFloatAnchor["default"], {
parentElement: this.props.menuParentElement,
ref: this._floatAnchorRef,

@@ -199,3 +200,3 @@ options: positionOptions,

anchor: function anchor(anchorRef) {
return _react["default"].createElement(ButtonComponent, {
return _react["default"].createElement(ButtonComponent, (0, _extends2["default"])({
domRef: function domRef(el) {

@@ -222,3 +223,3 @@ _this3._anchorEl = el;

title: title
}, children);
}, _this3.props.buttonProps), children);
},

@@ -247,2 +248,3 @@ "float": !opened ? null : _react["default"].createElement(_MenuListInspector["default"], {

ButtonComponent: _propTypes["default"].func,
buttonProps: _propTypes["default"].object,
children: _propTypes["default"].node,

@@ -267,2 +269,2 @@ menu: _propTypes["default"].element,

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51QnV0dG9uLmpzIl0sIm5hbWVzIjpbIk1lbnVCdXR0b24iLCJvcGVuZWQiLCJSZWFjdCIsImNyZWF0ZVJlZiIsInN0YXRlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcm9wcyIsIm9uV2lsbE9wZW4iLCJLZWZpciIsIm1lcmdlIiwid2luZG93IiwiZmlsdGVyIiwiZSIsImVsIiwiX2FuY2hvckVsIiwiRmxvYXRBbmNob3IiLCJwYXJlbnROb2RlcyIsInRhcmdldCIsIm5vZGUiLCJmcm9tRXZlbnRzIiwia2V5Iiwid2hpY2giLCJtYXAiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsInRha2VVbnRpbEJ5IiwiX29uQ2xvc2UiLCJvblZhbHVlIiwiY2xvc2UiLCJzZXRTdGF0ZSIsIm9uRGlkT3BlbiIsIm9uV2lsbENsb3NlIiwiZW1pdCIsIm9wZW4iLCJmbG9hdEFuY2hvciIsIl9mbG9hdEFuY2hvclJlZiIsImN1cnJlbnQiLCJFcnJvciIsInJlcG9zaXRpb24iLCJjaGlsZHJlbiIsIm1lbnUiLCJwb3NpdGlvbk9wdGlvbnMiLCJtZW51WkluZGV4IiwiZGlzYWJsZWQiLCJ0aXRsZSIsIkJ1dHRvbkNvbXBvbmVudCIsInN0eWxlIiwiY2xhc3NOYW1lIiwib3BlbmVkU3R5bGUiLCJvcGVuZWRDbGFzc05hbWUiLCJhbmNob3JSZWYiLCJidXR0b24iLCJ0b2dnbGUiLCJfaXRlbUNob3NlbiIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImJvb2wiLCJvbmVPZlR5cGUiLCJudW1iZXIiLCJmdW5jIiwiZWxlbWVudCIsInBvc2l0aW9uIiwiaEFsaWduIiwiZG9tUmVmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7O0lBd0JxQkEsVTs7Ozs7Ozs7Ozs7Ozs7Ozs7OEZBeUJKO0FBQ2JD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UWpCaEIsRUFBQUEsZUFBZSxFQUFFYyxzQkFBVUUsTUFSVjtBQVNqQmYsRUFBQUEsVUFBVSxFQUFFYSxzQkFBVUksU0FBVixDQUFvQixDQUFDSixzQkFBVUMsTUFBWCxFQUFtQkQsc0JBQVVLLE1BQTdCLENBQXBCLENBVEs7QUFVakJmLEVBQUFBLGVBQWUsRUFBRVUsc0JBQVVNLElBVlY7QUFZakJ0QixFQUFBQSxRQUFRLEVBQUVnQixzQkFBVXJDLElBWkg7QUFhakJzQixFQUFBQSxJQUFJLEVBQUVlLHNCQUFVTyxPQWJDO0FBY2pCdkQsRUFBQUEsVUFBVSxFQUFFZ0Qsc0JBQVVNLElBZEw7QUFlakIvQixFQUFBQSxTQUFTLEVBQUV5QixzQkFBVU0sSUFmSjtBQWdCakI5QixFQUFBQSxXQUFXLEVBQUV3QixzQkFBVU07QUFoQk4sQztpQ0FEQTlELFUsa0JBb0JHO0FBQ3BCMEMsRUFBQUEsZUFBZSxFQUFFO0FBQUNzQixJQUFBQSxRQUFRLEVBQUMsUUFBVjtBQUFvQkMsSUFBQUEsTUFBTSxFQUFDO0FBQTNCLEdBREc7QUFFcEJuQixFQUFBQSxlQUFlLEVBQUU7QUFBQSxRQUFFb0IsTUFBRixRQUFFQSxNQUFGO0FBQUEsUUFBYTNELEtBQWI7QUFBQSxXQUFnQztBQUFRLE1BQUEsR0FBRyxFQUFFMkQ7QUFBYixPQUF5QjNELEtBQXpCLEVBQWhDO0FBQUE7QUFGRyxDIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHtSZWYgYXMgUmVhY3RSZWYsIE5vZGUgYXMgUmVhY3ROb2RlLCBDb21wb25lbnRUeXBlIGFzIFJlYWN0Q29tcG9uZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBGbG9hdEFuY2hvciBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuaW1wb3J0IHR5cGUge09wdGlvbnMgYXMgRmxvYXRBbmNob3JPcHRpb25zfSBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuaW1wb3J0IEtlZmlyIGZyb20gJ2tlZmlyJztcbmltcG9ydCBrZWZpckJ1cyBmcm9tICdrZWZpci1idXMnO1xuaW1wb3J0IHR5cGUge0J1c30gZnJvbSAna2VmaXItYnVzJztcbmltcG9ydCBmcm9tRXZlbnRzQ2FwdHVyZSBmcm9tICcuL2xpYi9mcm9tRXZlbnRzQ2FwdHVyZSc7XG5pbXBvcnQgc2V0UmVmIGZyb20gJy4vbGliL3NldFJlZic7XG5pbXBvcnQgTWVudUxpc3RJbnNwZWN0b3IgZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5cbnR5cGUgU3RhdGUgPSB7XG4gIG9wZW5lZDogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBzdHlsZT86IE9iamVjdDtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0aXRsZT86IHN0cmluZztcbiAgb3BlbmVkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICBvcGVuZWRTdHlsZT86IE9iamVjdDtcblxuICBwb3NpdGlvbk9wdGlvbnM6IEZsb2F0QW5jaG9yT3B0aW9ucztcbiAgbWVudVpJbmRleD86IHN0cmluZ3xudW1iZXI7XG4gIEJ1dHRvbkNvbXBvbmVudDogUmVhY3RDb21wb25lbnRUeXBlPHtkb21SZWY6IFJlYWN0UmVmPGFueT59PjtcblxuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgbWVudTogUmVhY3ROb2RlO1xuICBvbldpbGxPcGVuPzogKCkgPT4gdm9pZDtcbiAgb25EaWRPcGVuPzogKCkgPT4gdm9pZDtcbiAgb25XaWxsQ2xvc2U/OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWVudUJ1dHRvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxQcm9wcywgU3RhdGU+IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9wZW5lZENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvcGVuZWRTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIHBvc2l0aW9uT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtZW51WkluZGV4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gICAgQnV0dG9uQ29tcG9uZW50OiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBtZW51OiBQcm9wVHlwZXMuZWxlbWVudCxcbiAgICBvbldpbGxPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRpZE9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uV2lsbENsb3NlOiBQcm9wVHlwZXMuZnVuY1xuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcG9zaXRpb25PcHRpb25zOiB7cG9zaXRpb246J2JvdHRvbScsIGhBbGlnbjonbGVmdCd9LFxuICAgIEJ1dHRvbkNvbXBvbmVudDogKHtkb21SZWYsIC4uLnByb3BzfTogT2JqZWN0KSA9PiA8YnV0dG9uIHJlZj17ZG9tUmVmfSB7Li4ucHJvcHN9IC8+XG4gIH07XG5cbiAgc3RhdGU6IFN0YXRlID0ge1xuICAgIG9wZW5lZDogZmFsc2VcbiAgfTtcblxuICBfZmxvYXRBbmNob3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8RmxvYXRBbmNob3I+KCk7XG4gIF9hbmNob3JFbDogP0hUTUxFbGVtZW50ID0gbnVsbDtcbiAgX29uQ2xvc2U6IEJ1czx2b2lkPiA9IGtlZmlyQnVzKCk7XG5cbiAgb3BlbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxPcGVuKSB0aGlzLnByb3BzLm9uV2lsbE9wZW4oKTtcblxuICAgIC8vIENsaWNraW5nIG91dHNpZGUgb2YgdGhlIGRyb3Bkb3duIG9yIHByZXNzaW5nIGVzY2FwZSBzaG91bGQgY2xvc2UgdGhlXG4gICAgLy8gZHJvcGRvd24uXG4gICAgS2VmaXIubWVyZ2UoW1xuICAgICAgS2VmaXIubWVyZ2UoW1xuICAgICAgICBmcm9tRXZlbnRzQ2FwdHVyZSh3aW5kb3csICdtb3VzZWRvd24nKSxcbiAgICAgICAgZnJvbUV2ZW50c0NhcHR1cmUod2luZG93LCAnZm9jdXMnKVxuICAgICAgXSlcbiAgICAgICAgLmZpbHRlcihlID0+IHtcbiAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuX2FuY2hvckVsO1xuICAgICAgICAgIGZvciAobGV0IG5vZGUgb2YgRmxvYXRBbmNob3IucGFyZW50Tm9kZXMoZS50YXJnZXQpKSB7XG4gICAgICAgICAgICBpZiAobm9kZSA9PT0gZWwpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pLFxuICAgICAgS2VmaXIuZnJvbUV2ZW50cyh3aW5kb3csICdrZXlkb3duJylcbiAgICAgICAgLmZpbHRlcihlID0+IGUua2V5ID8gZS5rZXkgPT09ICdFc2NhcGUnIDogZS53aGljaCA9PT0gMjcpXG4gICAgICAgIC5tYXAoZSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH0pXG4gICAgXSlcbiAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9vbkNsb3NlKVxuICAgICAgLm9uVmFsdWUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogdHJ1ZX0sICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25EaWRPcGVuKSB0aGlzLnByb3BzLm9uRGlkT3BlbigpO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxDbG9zZSkgdGhpcy5wcm9wcy5vbldpbGxDbG9zZSgpO1xuICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogZmFsc2V9KTtcbiAgICB0aGlzLl9vbkNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgcmVwb3NpdGlvbigpIHtcbiAgICBjb25zdCBmbG9hdEFuY2hvciA9IHRoaXMuX2Zsb2F0QW5jaG9yUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFmbG9hdEFuY2hvcikgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgZmxvYXRBbmNob3IucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgX2l0ZW1DaG9zZW4oKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fb25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2hpbGRyZW4sIG1lbnUsXG4gICAgICBwb3NpdGlvbk9wdGlvbnMsIG1lbnVaSW5kZXgsXG4gICAgICBkaXNhYmxlZCwgdGl0bGUsIEJ1dHRvbkNvbXBvbmVudFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtvcGVuZWR9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBzdHlsZSA9IHRoaXMucHJvcHMuc3R5bGU7XG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgIGlmIChvcGVuZWQpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZFN0eWxlKSB7XG4gICAgICAgIHN0eWxlID0gey4uLnN0eWxlLCAuLi50aGlzLnByb3BzLm9wZW5lZFN0eWxlfTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZSkge1xuICAgICAgICBjbGFzc05hbWUgPSBgJHtjbGFzc05hbWV8fCcnfSAke3RoaXMucHJvcHMub3BlbmVkQ2xhc3NOYW1lfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGbG9hdEFuY2hvclxuICAgICAgICByZWY9e3RoaXMuX2Zsb2F0QW5jaG9yUmVmfVxuICAgICAgICBvcHRpb25zPXtwb3NpdGlvbk9wdGlvbnN9XG4gICAgICAgIHpJbmRleD17bWVudVpJbmRleH1cbiAgICAgICAgYW5jaG9yPXthbmNob3JSZWYgPT5cbiAgICAgICAgICA8QnV0dG9uQ29tcG9uZW50XG4gICAgICAgICAgICBkb21SZWY9e2VsID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fYW5jaG9yRWwgPSBlbDtcbiAgICAgICAgICAgICAgc2V0UmVmKGFuY2hvclJlZiwgZWwpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlLmJ1dHRvbiAhPT0gMCkgcmV0dXJuO1xuICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uS2V5UHJlc3M9e2U9PntcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInIHx8IGUua2V5ID09PSAnICcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD17dHJ1ZX1cbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e29wZW5lZH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9CdXR0b25Db21wb25lbnQ+XG4gICAgICAgIH1cbiAgICAgICAgZmxvYXQ9e1xuICAgICAgICAgICFvcGVuZWQgPyBudWxsIDpcbiAgICAgICAgICAgIDxNZW51TGlzdEluc3BlY3RvciBvbkl0ZW1DaG9zZW49eygpID0+IHRoaXMuX2l0ZW1DaG9zZW4oKX0+XG4gICAgICAgICAgICAgIHttZW51fVxuICAgICAgICAgICAgPC9NZW51TGlzdEluc3BlY3Rvcj5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51QnV0dG9uLmpzIl0sIm5hbWVzIjpbIk1lbnVCdXR0b24iLCJvcGVuZWQiLCJSZWFjdCIsImNyZWF0ZVJlZiIsInN0YXRlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcm9wcyIsIm9uV2lsbE9wZW4iLCJLZWZpciIsIm1lcmdlIiwid2luZG93IiwiZmlsdGVyIiwiZSIsImVsIiwiX2FuY2hvckVsIiwiRmxvYXRBbmNob3IiLCJwYXJlbnROb2RlcyIsInRhcmdldCIsIm5vZGUiLCJmcm9tRXZlbnRzIiwia2V5Iiwid2hpY2giLCJtYXAiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsInRha2VVbnRpbEJ5IiwiX29uQ2xvc2UiLCJvblZhbHVlIiwiY2xvc2UiLCJzZXRTdGF0ZSIsIm9uRGlkT3BlbiIsIm9uV2lsbENsb3NlIiwiZW1pdCIsIm9wZW4iLCJmbG9hdEFuY2hvciIsIl9mbG9hdEFuY2hvclJlZiIsImN1cnJlbnQiLCJFcnJvciIsInJlcG9zaXRpb24iLCJjaGlsZHJlbiIsIm1lbnUiLCJwb3NpdGlvbk9wdGlvbnMiLCJtZW51WkluZGV4IiwiZGlzYWJsZWQiLCJ0aXRsZSIsIkJ1dHRvbkNvbXBvbmVudCIsInN0eWxlIiwiY2xhc3NOYW1lIiwib3BlbmVkU3R5bGUiLCJvcGVuZWRDbGFzc05hbWUiLCJtZW51UGFyZW50RWxlbWVudCIsImFuY2hvclJlZiIsImJ1dHRvbiIsInRvZ2dsZSIsImJ1dHRvblByb3BzIiwiX2l0ZW1DaG9zZW4iLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJvYmplY3QiLCJib29sIiwib25lT2ZUeXBlIiwibnVtYmVyIiwiZnVuYyIsImVsZW1lbnQiLCJwb3NpdGlvbiIsImhBbGlnbiIsImRvbVJlZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7OztJQTBC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VUcsSUFISDtBQUlqQmhCLEVBQUFBLEtBQUssRUFBRWEsc0JBQVVDLE1BSkE7QUFLakJULEVBQUFBLGVBQWUsRUFBRVEsc0JBQVVDLE1BTFY7QUFNakJWLEVBQUFBLFdBQVcsRUFBRVMsc0JBQVVFLE1BTk47QUFRakJsQixFQUFBQSxlQUFlLEVBQUVnQixzQkFBVUUsTUFSVjtBQVNqQmpCLEVBQUFBLFVBQVUsRUFBRWUsc0JBQVVJLFNBQVYsQ0FBb0IsQ0FBQ0osc0JBQVVDLE1BQVgsRUFBbUJELHNCQUFVSyxNQUE3QixDQUFwQixDQVRLO0FBVWpCakIsRUFBQUEsZUFBZSxFQUFFWSxzQkFBVU0sSUFWVjtBQVdqQlQsRUFBQUEsV0FBVyxFQUFFRyxzQkFBVUUsTUFYTjtBQWFqQnBCLEVBQUFBLFFBQVEsRUFBRWtCLHNCQUFVdkMsSUFiSDtBQWNqQnNCLEVBQUFBLElBQUksRUFBRWlCLHNCQUFVTyxPQWRDO0FBZWpCekQsRUFBQUEsVUFBVSxFQUFFa0Qsc0JBQVVNLElBZkw7QUFnQmpCakMsRUFBQUEsU0FBUyxFQUFFMkIsc0JBQVVNLElBaEJKO0FBaUJqQmhDLEVBQUFBLFdBQVcsRUFBRTBCLHNCQUFVTTtBQWpCTixDO2lDQURBaEUsVSxrQkFxQkc7QUFDcEIwQyxFQUFBQSxlQUFlLEVBQUU7QUFBQ3dCLElBQUFBLFFBQVEsRUFBQyxRQUFWO0FBQW9CQyxJQUFBQSxNQUFNLEVBQUM7QUFBM0IsR0FERztBQUVwQnJCLEVBQUFBLGVBQWUsRUFBRTtBQUFBLFFBQUVzQixNQUFGLFFBQUVBLE1BQUY7QUFBQSxRQUFhN0QsS0FBYjtBQUFBLFdBQWdDO0FBQVEsTUFBQSxHQUFHLEVBQUU2RDtBQUFiLE9BQXlCN0QsS0FBekIsRUFBaEM7QUFBQTtBQUZHLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1JlZiBhcyBSZWFjdFJlZiwgTm9kZSBhcyBSZWFjdE5vZGUsIENvbXBvbmVudFR5cGUgYXMgUmVhY3RDb21wb25lbnRUeXBlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEZsb2F0QW5jaG9yIGZyb20gJ3JlYWN0LWZsb2F0LWFuY2hvcic7XG5pbXBvcnQgdHlwZSB7T3B0aW9ucyBhcyBGbG9hdEFuY2hvck9wdGlvbnN9IGZyb20gJ3JlYWN0LWZsb2F0LWFuY2hvcic7XG5pbXBvcnQgS2VmaXIgZnJvbSAna2VmaXInO1xuaW1wb3J0IGtlZmlyQnVzIGZyb20gJ2tlZmlyLWJ1cyc7XG5pbXBvcnQgdHlwZSB7QnVzfSBmcm9tICdrZWZpci1idXMnO1xuaW1wb3J0IGZyb21FdmVudHNDYXB0dXJlIGZyb20gJy4vbGliL2Zyb21FdmVudHNDYXB0dXJlJztcbmltcG9ydCBzZXRSZWYgZnJvbSAnLi9saWIvc2V0UmVmJztcbmltcG9ydCBNZW51TGlzdEluc3BlY3RvciBmcm9tICcuL01lbnVMaXN0SW5zcGVjdG9yJztcblxudHlwZSBTdGF0ZSA9IHtcbiAgb3BlbmVkOiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHN0eWxlPzogT2JqZWN0O1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHRpdGxlPzogc3RyaW5nO1xuICBvcGVuZWRDbGFzc05hbWU/OiBzdHJpbmc7XG4gIG9wZW5lZFN0eWxlPzogT2JqZWN0O1xuXG4gIHBvc2l0aW9uT3B0aW9uczogRmxvYXRBbmNob3JPcHRpb25zO1xuICBtZW51WkluZGV4Pzogc3RyaW5nfG51bWJlcjtcbiAgbWVudVBhcmVudEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgQnV0dG9uQ29tcG9uZW50OiBSZWFjdENvbXBvbmVudFR5cGU8e2RvbVJlZjogUmVhY3RSZWY8YW55Pn0+O1xuICBidXR0b25Qcm9wcz86IE9iamVjdDtcblxuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgbWVudTogUmVhY3ROb2RlO1xuICBvbldpbGxPcGVuPzogKCkgPT4gdm9pZDtcbiAgb25EaWRPcGVuPzogKCkgPT4gdm9pZDtcbiAgb25XaWxsQ2xvc2U/OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWVudUJ1dHRvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxQcm9wcywgU3RhdGU+IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9wZW5lZENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvcGVuZWRTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIHBvc2l0aW9uT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtZW51WkluZGV4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gICAgQnV0dG9uQ29tcG9uZW50OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBidXR0b25Qcm9wczogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBtZW51OiBQcm9wVHlwZXMuZWxlbWVudCxcbiAgICBvbldpbGxPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRpZE9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uV2lsbENsb3NlOiBQcm9wVHlwZXMuZnVuY1xuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcG9zaXRpb25PcHRpb25zOiB7cG9zaXRpb246J2JvdHRvbScsIGhBbGlnbjonbGVmdCd9LFxuICAgIEJ1dHRvbkNvbXBvbmVudDogKHtkb21SZWYsIC4uLnByb3BzfTogT2JqZWN0KSA9PiA8YnV0dG9uIHJlZj17ZG9tUmVmfSB7Li4ucHJvcHN9IC8+XG4gIH07XG5cbiAgc3RhdGU6IFN0YXRlID0ge1xuICAgIG9wZW5lZDogZmFsc2VcbiAgfTtcblxuICBfZmxvYXRBbmNob3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8RmxvYXRBbmNob3I+KCk7XG4gIF9hbmNob3JFbDogP0hUTUxFbGVtZW50ID0gbnVsbDtcbiAgX29uQ2xvc2U6IEJ1czx2b2lkPiA9IGtlZmlyQnVzKCk7XG5cbiAgb3BlbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxPcGVuKSB0aGlzLnByb3BzLm9uV2lsbE9wZW4oKTtcblxuICAgIC8vIENsaWNraW5nIG91dHNpZGUgb2YgdGhlIGRyb3Bkb3duIG9yIHByZXNzaW5nIGVzY2FwZSBzaG91bGQgY2xvc2UgdGhlXG4gICAgLy8gZHJvcGRvd24uXG4gICAgS2VmaXIubWVyZ2UoW1xuICAgICAgS2VmaXIubWVyZ2UoW1xuICAgICAgICBmcm9tRXZlbnRzQ2FwdHVyZSh3aW5kb3csICdtb3VzZWRvd24nKSxcbiAgICAgICAgZnJvbUV2ZW50c0NhcHR1cmUod2luZG93LCAnZm9jdXMnKVxuICAgICAgXSlcbiAgICAgICAgLmZpbHRlcihlID0+IHtcbiAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuX2FuY2hvckVsO1xuICAgICAgICAgIGZvciAobGV0IG5vZGUgb2YgRmxvYXRBbmNob3IucGFyZW50Tm9kZXMoZS50YXJnZXQpKSB7XG4gICAgICAgICAgICBpZiAobm9kZSA9PT0gZWwpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pLFxuICAgICAgS2VmaXIuZnJvbUV2ZW50cyh3aW5kb3csICdrZXlkb3duJylcbiAgICAgICAgLmZpbHRlcihlID0+IGUua2V5ID8gZS5rZXkgPT09ICdFc2NhcGUnIDogZS53aGljaCA9PT0gMjcpXG4gICAgICAgIC5tYXAoZSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH0pXG4gICAgXSlcbiAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9vbkNsb3NlKVxuICAgICAgLm9uVmFsdWUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogdHJ1ZX0sICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25EaWRPcGVuKSB0aGlzLnByb3BzLm9uRGlkT3BlbigpO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxDbG9zZSkgdGhpcy5wcm9wcy5vbldpbGxDbG9zZSgpO1xuICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogZmFsc2V9KTtcbiAgICB0aGlzLl9vbkNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgcmVwb3NpdGlvbigpIHtcbiAgICBjb25zdCBmbG9hdEFuY2hvciA9IHRoaXMuX2Zsb2F0QW5jaG9yUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFmbG9hdEFuY2hvcikgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgZmxvYXRBbmNob3IucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgX2l0ZW1DaG9zZW4oKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fb25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2hpbGRyZW4sIG1lbnUsXG4gICAgICBwb3NpdGlvbk9wdGlvbnMsIG1lbnVaSW5kZXgsXG4gICAgICBkaXNhYmxlZCwgdGl0bGUsIEJ1dHRvbkNvbXBvbmVudFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtvcGVuZWR9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBzdHlsZSA9IHRoaXMucHJvcHMuc3R5bGU7XG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgIGlmIChvcGVuZWQpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZFN0eWxlKSB7XG4gICAgICAgIHN0eWxlID0gey4uLnN0eWxlLCAuLi50aGlzLnByb3BzLm9wZW5lZFN0eWxlfTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZSkge1xuICAgICAgICBjbGFzc05hbWUgPSBgJHtjbGFzc05hbWV8fCcnfSAke3RoaXMucHJvcHMub3BlbmVkQ2xhc3NOYW1lfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGbG9hdEFuY2hvclxuICAgICAgICBwYXJlbnRFbGVtZW50PXt0aGlzLnByb3BzLm1lbnVQYXJlbnRFbGVtZW50fVxuICAgICAgICByZWY9e3RoaXMuX2Zsb2F0QW5jaG9yUmVmfVxuICAgICAgICBvcHRpb25zPXtwb3NpdGlvbk9wdGlvbnN9XG4gICAgICAgIHpJbmRleD17bWVudVpJbmRleH1cbiAgICAgICAgYW5jaG9yPXthbmNob3JSZWYgPT5cbiAgICAgICAgICA8QnV0dG9uQ29tcG9uZW50XG4gICAgICAgICAgICBkb21SZWY9e2VsID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fYW5jaG9yRWwgPSBlbDtcbiAgICAgICAgICAgICAgc2V0UmVmKGFuY2hvclJlZiwgZWwpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlLmJ1dHRvbiAhPT0gMCkgcmV0dXJuO1xuICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uS2V5UHJlc3M9e2U9PntcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInIHx8IGUua2V5ID09PSAnICcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD17dHJ1ZX1cbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e29wZW5lZH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgICAgIHsuLi50aGlzLnByb3BzLmJ1dHRvblByb3BzfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L0J1dHRvbkNvbXBvbmVudD5cbiAgICAgICAgfVxuICAgICAgICBmbG9hdD17XG4gICAgICAgICAgIW9wZW5lZCA/IG51bGwgOlxuICAgICAgICAgICAgPE1lbnVMaXN0SW5zcGVjdG9yIG9uSXRlbUNob3Nlbj17KCkgPT4gdGhpcy5faXRlbUNob3NlbigpfT5cbiAgICAgICAgICAgICAge21lbnV9XG4gICAgICAgICAgICA8L01lbnVMaXN0SW5zcGVjdG9yPlxuICAgICAgICB9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cbiJdfQ==

@@ -276,2 +276,3 @@ "use strict";

return _react["default"].createElement(_reactFloatAnchor["default"], {
parentElement: this.props.menuParentElement,
ref: this._floatAnchorRef,

@@ -369,2 +370,2 @@ options: positionOptions,

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdWJNZW51SXRlbS5qcyJdLCJuYW1lcyI6WyJTdWJNZW51SXRlbSIsIm9wZW5lZCIsIlJlYWN0IiwiY3JlYXRlUmVmIiwiX3N0b3BwZXIiLCJkZXN0cm95IiwibWVudUl0ZW0iLCJfbWVudUl0ZW1SZWYiLCJjdXJyZW50IiwiRXJyb3IiLCJsb2NrSGlnaGxpZ2h0Iiwic3RhdGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInByb3BzIiwib25XaWxsT3BlbiIsInRha2VLZXlib2FyZCIsInNldFN0YXRlIiwib25EaWRPcGVuIiwib25XaWxsQ2xvc2UiLCJyZWxlYXNlS2V5Ym9hcmQiLCJ1bmxvY2tIaWdobGlnaHQiLCJjbG9zZSIsIm9wZW4iLCJmbG9hdEFuY2hvciIsIl9mbG9hdEFuY2hvclJlZiIsInJlcG9zaXRpb24iLCJoYXNIaWdobGlnaHQiLCJieUtleWJvYXJkIiwiaGlnaGxpZ2h0IiwidW5oaWdobGlnaHQiLCJkaXJlY3Rpb24iLCJwcmV2Q3Vyc29yTG9jYXRpb24iLCJtb3ZlQ3Vyc29yIiwiaGlnaGxpZ2h0ZWQiLCJldmVudCIsIl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyIiwiZW1pdCIsIk9QRU5fREVMQVkiLCJLZWZpciIsImxhdGVyIiwidGFrZVVudGlsQnkiLCJvblZhbHVlIiwibWVudUNvbnRhaW5lciIsIl9tZW51Q29udGFpbmVyUmVmIiwibWVudVJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJzdGFydFRpbWUiLCJEYXRlIiwibm93Iiwic3RhcnRYIiwicGFnZVgiLCJzdGFydFkiLCJwYWdlWSIsImdldERpc3RhbmNlIiwieCIsInkiLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJ3aWR0aCIsImJvdHRvbSIsInN0YXJ0RGlzdGFuY2UiLCJsYXN0Q29vcmRzIiwiTUlOX1NQRUVEIiwiTUFYX1RJTUUiLCJMRUFEX1RJTUUiLCJmcm9tRXZlbnRzIiwid2luZG93IiwiYnVmZmVyQnkiLCJpbnRlcnZhbCIsIm1hcCIsImV2ZW50cyIsImxlbmd0aCIsImxhc3QiLCJmaWx0ZXIiLCJkaXN0YW5jZSIsIm1heERpc3RhbmNlIiwibWVyZ2UiLCJ0YWtlIiwiaW5kZXgiLCJoaWdobGlnaHRlZFN0eWxlIiwiaGlnaGxpZ2h0ZWRDbGFzc05hbWUiLCJwb3NpdGlvbk9wdGlvbnMiLCJtZW51WkluZGV4IiwiY2hpbGRyZW4iLCJtZW51Iiwic3R5bGUiLCJjbGFzc05hbWUiLCJvcGVuZWRTdHlsZSIsIm9wZW5lZENsYXNzTmFtZSIsImFuY2hvclJlZiIsImgiLCJlIiwiX29uSGlnaGxpZ2h0Q2hhbmdlIiwiX29uTW91c2VMZWF2ZUl0ZW0iLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsIm1lbnVJbnNwZWN0b3IiLCJfbWVudUluc3BlY3RvclJlZiIsIl9tb3VzZUVudGVyTWVudSIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm5vZGUiLCJvYmplY3QiLCJvbmVPZlR5cGUiLCJzdHJpbmciLCJudW1iZXIiLCJmdW5jIiwib25JdGVtQ2hvc2VuIiwib25IaWdobGlnaHRDaGFuZ2UiLCJwb3NpdGlvbiIsInZBbGlnbiIsImhBbGlnbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFHQTs7Ozs7O0lBa0NxQkEsVzs7Ozs7Ozs7Ozs7Ozs7Ozs7OEZBNkJKO0FBQ2JDLE1BQUFBLE1BQU0sRUFBRTtBQURLLEs7cUdBSUFDLGtCQUFNQyxTQUFOLEU7d0dBQ0dELGtCQUFNQyxTQUFOLEU7MEdBQ0VELGtCQUFNQyxTQUFOLEU7MEdBQ0FELGtCQUFNQyxTQUFOLEU7Z0hBQ2lCLDJCO2lHQUMxQiwrQjs7Ozs7OzJDQUVZO0FBQ3JCLFdBQUtDLFFBQUwsQ0FBY0MsT0FBZDtBQUNEOzs7MkJBRXFCO0FBQUE7O0FBQ3BCLFVBQU1DLFFBQVEsR0FBRyxLQUFLQyxZQUFMLENBQWtCQyxPQUFuQztBQUNBLFVBQUksQ0FBQ0YsUUFBTCxFQUFlLE1B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QUFtQkMsSUFBQUEsTUFBTSxFQUFDLEtBQTFCO0FBQWlDQyxJQUFBQSxNQUFNLEVBQUU7QUFBekM7QUFERyxDIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IEtlZmlyIGZyb20gJ2tlZmlyJztcbmltcG9ydCBrZWZpckJ1cyBmcm9tICdrZWZpci1idXMnO1xuaW1wb3J0IHR5cGUge0J1c30gZnJvbSAna2VmaXItYnVzJztcbmltcG9ydCBrZWZpclN0b3BwZXIgZnJvbSAna2VmaXItc3RvcHBlcic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge05vZGUgYXMgUmVhY3ROb2RlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHBvaW50UmVjdERpc3RhbmNlIGZyb20gJy4vbGliL3BvaW50UmVjdERpc3RhbmNlJztcblxuaW1wb3J0IE1lbnVMaXN0SW5zcGVjdG9yIGZyb20gJy4vTWVudUxpc3RJbnNwZWN0b3InO1xuaW1wb3J0IEZsb2F0QW5jaG9yIGZyb20gJ3JlYWN0LWZsb2F0LWFuY2hvcic7XG5pbXBvcnQgdHlwZSB7T3B0aW9ucyBhcyBGbG9hdEFuY2hvck9wdGlvbnN9IGZyb20gJ3JlYWN0LWZsb2F0LWFuY2hvcic7XG5leHBvcnQgdHlwZSB7T3B0aW9ucyBhcyBGbG9hdEFuY2hvck9wdGlvbnN9IGZyb20gJ3JlYWN0LWZsb2F0LWFuY2hvcic7XG5pbXBvcnQgTWVudUl0ZW0gZnJvbSAnLi9NZW51SXRlbSc7XG5cbmltcG9ydCB0eXBlIHtEaXJlY3Rpb24sIFJlY3R9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHR5cGUgTWVudUV2ZW50IGZyb20gJy4vZXZlbnRzL01lbnVFdmVudCc7XG5pbXBvcnQgdHlwZSBDaG9zZW5FdmVudCBmcm9tICcuL2V2ZW50cy9DaG9zZW5FdmVudCc7XG5cbnR5cGUgU3RhdGUgPSB7XG4gIG9wZW5lZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFByb3BzID0ge1xuICBtZW51OiBSZWFjdE5vZGU7XG4gIHBvc2l0aW9uT3B0aW9uczogRmxvYXRBbmNob3JPcHRpb25zO1xuICBtZW51WkluZGV4Pzogc3RyaW5nfG51bWJlcjtcblxuICBvbldpbGxPcGVuPzogKCkgPT4gdm9pZDtcbiAgb25EaWRPcGVuPzogKCkgPT4gdm9pZDtcbiAgb25XaWxsQ2xvc2U/OiAoKSA9PiB2b2lkO1xuXG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3R5bGU/OiBPYmplY3Q7XG4gIGhpZ2hsaWdodGVkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICBoaWdobGlnaHRlZFN0eWxlPzogT2JqZWN0O1xuICBpbmRleD86IG51bWJlcjtcblxuICBvcGVuZWRDbGFzc05hbWU/OiBzdHJpbmc7XG4gIG9wZW5lZFN0eWxlPzogT2JqZWN0O1xuXG4gIG9uSXRlbUNob3Nlbj86IChldmVudDogQ2hvc2VuRXZlbnQpID0+IHZvaWQ7XG4gIG9uSGlnaGxpZ2h0Q2hhbmdlPzogKGhpZ2hsaWdodGVkOiBib29sZWFuLCBkZXRhaWxzOiB7YnlLZXlib2FyZD86IGJvb2xlYW4sIHByZXZDdXJzb3JMb2NhdGlvbj86IFJlY3QsIGRpcmVjdGlvbj86IERpcmVjdGlvbn0pID0+IHZvaWQ7XG5cbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJNZW51SXRlbSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxQcm9wcywgU3RhdGU+IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtZW51OiBQcm9wVHlwZXMubm9kZSxcbiAgICBwb3NpdGlvbk9wdGlvbnM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbWVudVpJbmRleDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuXG4gICAgb25XaWxsT3BlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25EaWRPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbldpbGxDbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGlnaGxpZ2h0ZWRTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpbmRleDogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIG9wZW5lZENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvcGVuZWRTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIG9uSXRlbUNob3NlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25IaWdobGlnaHRDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwb3NpdGlvbk9wdGlvbnM6IHtwb3NpdGlvbjoncmlnaHQnLCB2QWxpZ246J3RvcCcsIGhBbGlnbjogJ2xlZnQnfVxuICB9O1xuXG4gIHN0YXRlOiBTdGF0ZSA9IHtcbiAgICBvcGVuZWQ6IGZhbHNlXG4gIH07XG5cbiAgX21lbnVJdGVtUmVmID0gUmVhY3QuY3JlYXRlUmVmPE1lbnVJdGVtPigpO1xuICBfZmxvYXRBbmNob3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8RmxvYXRBbmNob3I+KCk7XG4gIF9tZW51SW5zcGVjdG9yUmVmID0gUmVhY3QuY3JlYXRlUmVmPE1lbnVMaXN0SW5zcGVjdG9yPigpO1xuICBfbWVudUNvbnRhaW5lclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXI6IEJ1czxudWxsPiA9IGtlZmlyQnVzKCk7XG4gIF9zdG9wcGVyID0ga2VmaXJTdG9wcGVyKCk7XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fc3RvcHBlci5kZXN0cm95KCk7XG4gIH1cblxuICBvcGVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fbWVudUl0ZW1SZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIG1lbnVJdGVtLmxvY2tIaWdobGlnaHQoKTtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxPcGVuKSB0aGlzLnByb3BzLm9uV2lsbE9wZW4oKTtcbiAgICBtZW51SXRlbS50YWtlS2V5Ym9hcmQoKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtvcGVuZWQ6IHRydWV9LCAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uRGlkT3BlbikgdGhpcy5wcm9wcy5vbkRpZE9wZW4oKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICBjb25zdCBtZW51SXRlbSA9IHRoaXMuX21lbnVJdGVtUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFtZW51SXRlbSkgdGhyb3cgbmV3IEVycm9yKCk7XG5cbiAgICBpZiAoIXRoaXMuc3RhdGUub3BlbmVkKSByZXR1cm47XG4gICAgaWYgKHRoaXMucHJvcHMub25XaWxsQ2xvc2UpIHRoaXMucHJvcHMub25XaWxsQ2xvc2UoKTtcbiAgICB0aGlzLnNldFN0YXRlKHtvcGVuZWQ6IGZhbHNlfSk7XG4gICAgbWVudUl0ZW0ucmVsZWFzZUtleWJvYXJkKCk7XG4gICAgbWVudUl0ZW0udW5sb2NrSGlnaGxpZ2h0KCk7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUub3BlbmVkKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIHJlcG9zaXRpb24oKSB7XG4gICAgY29uc3QgZmxvYXRBbmNob3IgPSB0aGlzLl9mbG9hdEFuY2hvclJlZi5jdXJyZW50O1xuICAgIGlmICghZmxvYXRBbmNob3IpIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgZmxvYXRBbmNob3IucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgaGFzSGlnaGxpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fbWVudUl0ZW1SZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIHJldHVybiBtZW51SXRlbS5oYXNIaWdobGlnaHQoKTtcbiAgfVxuXG4gIGhpZ2hsaWdodChieUtleWJvYXJkOiBib29sZWFuPXRydWUpIHtcbiAgICBjb25zdCBtZW51SXRlbSA9IHRoaXMuX21lbnVJdGVtUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFtZW51SXRlbSkgdGhyb3cgbmV3IEVycm9yKCk7XG5cbiAgICBtZW51SXRlbS5oaWdobGlnaHQoYnlLZXlib2FyZCk7XG4gIH1cblxuICB1bmhpZ2hsaWdodCgpIHtcbiAgICBjb25zdCBtZW51SXRlbSA9IHRoaXMuX21lbnVJdGVtUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFtZW51SXRlbSkgdGhyb3cgbmV3IEVycm9yKCk7XG5cbiAgICBtZW51SXRlbS51bmhpZ2hsaWdodCgpO1xuICB9XG5cbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCkge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fbWVudUl0ZW1SZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIG1lbnVJdGVtLm1vdmVDdXJzb3IoZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICB9XG5cbiAgX29uSGlnaGxpZ2h0Q2hhbmdlKGhpZ2hsaWdodGVkOiBib29sZWFuLCBldmVudDogT2JqZWN0KSB7XG4gICAgdGhpcy5fcmVzZXRNb3VzZUxlYXZlV2F0Y2hlci5lbWl0KG51bGwpO1xuXG4gICAgaWYgKGhpZ2hsaWdodGVkICYmICFldmVudC5ieUtleWJvYXJkKSB7XG4gICAgICBjb25zdCBPUEVOX0RFTEFZID0gMjAwO1xuXG4gICAgICBLZWZpci5sYXRlcihPUEVOX0RFTEFZKVxuICAgICAgICAudGFrZVVudGlsQnkodGhpcy5fcmVzZXRNb3VzZUxlYXZlV2F0Y2hlcilcbiAgICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3N0b3BwZXIpXG4gICAgICAgIC5vblZhbHVlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICghaGlnaGxpZ2h0ZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBfb25Nb3VzZUxlYXZlSXRlbShldmVudDogT2JqZWN0KSB7XG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLl9tZW51SXRlbVJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUl0ZW0pIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgaWYgKCF0aGlzLnN0YXRlLm9wZW5lZCkge1xuICAgICAgbWVudUl0ZW0udW5oaWdobGlnaHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtZW51Q29udGFpbmVyID0gdGhpcy5fbWVudUNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUNvbnRhaW5lcikgdGhyb3cgbmV3IEVycm9yKCk7XG5cbiAgICAvLyBJZiB0aGUgbW91c2UgaXNuJ3QgZ29pbmcgdG93YXJkIHRoZSBtZW51LCB0aGVuIHVuaGlnaGxpZ2h0IG91cnNlbGYuXG5cbiAgICBjb25zdCBtZW51UmVjdCA9IG1lbnVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IHN0YXJ0WCA9IGV2ZW50LnBhZ2VYLCBzdGFydFkgPSBldmVudC5wYWdlWTtcblxuICAgIGZ1bmN0aW9uIGdldERpc3RhbmNlKHgsIHkpIHtcbiAgICAgIHJldHVybiBwb2ludFJlY3REaXN0YW5jZSh4LCB5LCBtZW51UmVjdC5sZWZ0LCBtZW51UmVjdC50b3AsIG1lbnVSZWN0LnJpZ2h0LW1lbnVSZWN0LndpZHRoLCBtZW51UmVjdC5ib3R0b20tbWVudVJlY3QudG9wKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydERpc3RhbmNlID0gZ2V0RGlzdGFuY2Uoc3RhcnRYLCBzdGFydFkpO1xuICAgIGxldCBsYXN0Q29vcmRzID0ge3BhZ2VYOiBzdGFydFgsIHBhZ2VZOiBzdGFydFl9O1xuXG4gICAgLy8gcGl4ZWxzIHBlciBzZWNvbmQgdGhlIHVzZXIgbXVzdCBiZSBtb3ZpbmcgdGhlIG1vdXNlIHRvd2FyZCB0aGUgbWVudSBmb3JcbiAgICAvLyB0aGUgbWVudSB0byBzdGF5IG9wZW4uXG4gICAgY29uc3QgTUlOX1NQRUVEID0gNjA7XG5cbiAgICAvLyBtcyBiZWZvcmUgdGhlIG1lbnUgd2lsbCBjbG9zZSBpZiB0aGUgdXNlciBoYXNuJ3QgcmVhY2hlZCBpdCB5ZXQsIG5vXG4gICAgLy8gbWF0dGVyIGhvdyB0aGV5J3JlIG1vdmluZyB0aGUgY3Vyc29yIHRvd2FyZCBpdC5cbiAgICBjb25zdCBNQVhfVElNRSA9IDc1MDtcblxuICAgIC8vIG1zIHRvIG9mZnNldCBzdGFydCB0aW1lLCB0byBzZXQgbWF4RGlzdGFuY2UgYmFjayBhIGxpdHRsZSBzbyBpdCdzIG5vdCBzb1xuICAgIC8vIHVuZm9yZ2l2aW5nIGF0IHRoZSB2ZXJ5IHN0YXJ0LlxuICAgIGNvbnN0IExFQURfVElNRSA9IDUwO1xuXG4gICAgLy8gTGlzdGVuIHRvIG1vdXNlIG1vdmVzLCBmaW5kIHRoZSBmaXJzdCBldmVudCBub3QgZ29pbmcgdG93YXJkcyB0aGUgbWVudSxcbiAgICAvLyBhbmQgZW5kIGl0IHRoZXJlLiBPciBlbmQgYWZ0ZXIgYSB0aW1lci5cbiAgICBLZWZpci5mcm9tRXZlbnRzKHdpbmRvdywgJ21vdXNlbW92ZScpXG4gICAgICAuYnVmZmVyQnkoS2VmaXIuaW50ZXJ2YWwoNjAsIG51bGwpKVxuICAgICAgLm1hcChldmVudHMgPT4ge1xuICAgICAgICBpZiAoZXZlbnRzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGxhc3QgPSBldmVudHNbZXZlbnRzLmxlbmd0aC0xXTtcbiAgICAgICAgICBsYXN0Q29vcmRzID0ge3BhZ2VYOiBsYXN0LnBhZ2VYLCBwYWdlWTogbGFzdC5wYWdlWX07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxhc3RDb29yZHM7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigoe3BhZ2VYLCBwYWdlWX0pID0+IHtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBnZXREaXN0YW5jZShwYWdlWCwgcGFnZVkpO1xuICAgICAgICBjb25zdCBtYXhEaXN0YW5jZSA9IHN0YXJ0RGlzdGFuY2UgLSAoRGF0ZS5ub3coKS1zdGFydFRpbWUtTEVBRF9USU1FKS8xMDAwICogTUlOX1NQRUVEO1xuICAgICAgICByZXR1cm4gZGlzdGFuY2UgPiBtYXhEaXN0YW5jZTtcbiAgICAgIH0pXG4gICAgICAubWVyZ2UoS2VmaXIubGF0ZXIoTUFYX1RJTUUqMTAwMCkpXG4gICAgICAudGFrZSgxKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIpXG4gICAgICAudGFrZVVudGlsQnkodGhpcy5fc3RvcHBlcilcbiAgICAgIC5vblZhbHVlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBtZW51SXRlbS51bmhpZ2hsaWdodCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBfbW91c2VFbnRlck1lbnUoKSB7XG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLl9tZW51SXRlbVJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUl0ZW0pIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgdGhpcy5fcmVzZXRNb3VzZUxlYXZlV2F0Y2hlci5lbWl0KG51bGwpO1xuICAgIG1lbnVJdGVtLnVubG9ja0hpZ2hsaWdodCgpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGluZGV4LCBoaWdobGlnaHRlZFN0eWxlLCBoaWdobGlnaHRlZENsYXNzTmFtZSxcbiAgICAgIHBvc2l0aW9uT3B0aW9ucywgbWVudVpJbmRleCwgY2hpbGRyZW4sIG1lbnVcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7b3BlbmVkfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBsZXQgc3R5bGUgPSB0aGlzLnByb3BzLnN0eWxlO1xuICAgIGxldCBjbGFzc05hbWUgPSB0aGlzLnByb3BzLmNsYXNzTmFtZTtcbiAgICBpZiAob3BlbmVkKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5vcGVuZWRTdHlsZSkge1xuICAgICAgICBzdHlsZSA9IHsuLi5zdHlsZSwgLi4udGhpcy5wcm9wcy5vcGVuZWRTdHlsZX07XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcm9wcy5vcGVuZWRDbGFzc05hbWUpIHtcbiAgICAgICAgY2xhc3NOYW1lID0gYCR7Y2xhc3NOYW1lfHwnJ30gJHt0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZX1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8RmxvYXRBbmNob3JcbiAgICAgICAgcmVmPXt0aGlzLl9mbG9hdEFuY2hvclJlZn1cbiAgICAgICAgb3B0aW9ucz17cG9zaXRpb25PcHRpb25zfVxuICAgICAgICB6SW5kZXg9e21lbnVaSW5kZXh9XG4gICAgICAgIGFuY2hvcj17YW5jaG9yUmVmID0+XG4gICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICByZWY9e3RoaXMuX21lbnVJdGVtUmVmfVxuICAgICAgICAgICAgZG9tUmVmPXthbmNob3JSZWZ9XG4gICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgIGhpZ2hsaWdodGVkU3R5bGU9e2hpZ2hsaWdodGVkU3R5bGV9XG4gICAgICAgICAgICBoaWdobGlnaHRlZENsYXNzTmFtZT17aGlnaGxpZ2h0ZWRDbGFzc05hbWV9XG4gICAgICAgICAgICBvbkhpZ2hsaWdodENoYW5nZT17KGgsZSkgPT4gdGhpcy5fb25IaWdobGlnaHRDaGFuZ2UoaCxlKX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17ZSA9PiB0aGlzLl9vbk1vdXNlTGVhdmVJdGVtKGUpfVxuICAgICAgICAgICAgb25SaWdodFB1c2hlZD17KGU6IE1lbnVFdmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXRoaXMuc3RhdGUub3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVudUluc3BlY3RvciA9IHRoaXMuX21lbnVJbnNwZWN0b3JSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICBpZiAoIW1lbnVJbnNwZWN0b3IpIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgICAgICAgICAgIG1lbnVJbnNwZWN0b3IubW92ZUN1cnNvcignZG93bicpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25JdGVtQ2hvc2VuPXsoZTogQ2hvc2VuRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICAgICAgaWYgKGUuYnlLZXlib2FyZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lbnVJbnNwZWN0b3IgPSB0aGlzLl9tZW51SW5zcGVjdG9yUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKCFtZW51SW5zcGVjdG9yKSB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgICAgICAgICAgICBtZW51SW5zcGVjdG9yLm1vdmVDdXJzb3IoJ2Rvd24nKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9e3RydWV9XG4gICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtvcGVuZWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIH1cbiAgICAgICAgZmxvYXQ9e1xuICAgICAgICAgICFvcGVuZWQgPyBudWxsIDpcbiAgICAgICAgICAgIDxNZW51TGlzdEluc3BlY3RvclxuICAgICAgICAgICAgICByZWY9e3RoaXMuX21lbnVJbnNwZWN0b3JSZWZ9XG4gICAgICAgICAgICAgIG9uTGVmdFB1c2hlZD17ZSA9PiB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgcmVmPXt0aGlzLl9tZW51Q29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KCk9PnRoaXMuX21vdXNlRW50ZXJNZW51KCl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7bWVudX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L01lbnVMaXN0SW5zcGVjdG9yPlxuICAgICAgICB9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdWJNZW51SXRlbS5qcyJdLCJuYW1lcyI6WyJTdWJNZW51SXRlbSIsIm9wZW5lZCIsIlJlYWN0IiwiY3JlYXRlUmVmIiwiX3N0b3BwZXIiLCJkZXN0cm95IiwibWVudUl0ZW0iLCJfbWVudUl0ZW1SZWYiLCJjdXJyZW50IiwiRXJyb3IiLCJsb2NrSGlnaGxpZ2h0Iiwic3RhdGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInByb3BzIiwib25XaWxsT3BlbiIsInRha2VLZXlib2FyZCIsInNldFN0YXRlIiwib25EaWRPcGVuIiwib25XaWxsQ2xvc2UiLCJyZWxlYXNlS2V5Ym9hcmQiLCJ1bmxvY2tIaWdobGlnaHQiLCJjbG9zZSIsIm9wZW4iLCJmbG9hdEFuY2hvciIsIl9mbG9hdEFuY2hvclJlZiIsInJlcG9zaXRpb24iLCJoYXNIaWdobGlnaHQiLCJieUtleWJvYXJkIiwiaGlnaGxpZ2h0IiwidW5oaWdobGlnaHQiLCJkaXJlY3Rpb24iLCJwcmV2Q3Vyc29yTG9jYXRpb24iLCJtb3ZlQ3Vyc29yIiwiaGlnaGxpZ2h0ZWQiLCJldmVudCIsIl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyIiwiZW1pdCIsIk9QRU5fREVMQVkiLCJLZWZpciIsImxhdGVyIiwidGFrZVVudGlsQnkiLCJvblZhbHVlIiwibWVudUNvbnRhaW5lciIsIl9tZW51Q29udGFpbmVyUmVmIiwibWVudVJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJzdGFydFRpbWUiLCJEYXRlIiwibm93Iiwic3RhcnRYIiwicGFnZVgiLCJzdGFydFkiLCJwYWdlWSIsImdldERpc3RhbmNlIiwieCIsInkiLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJ3aWR0aCIsImJvdHRvbSIsInN0YXJ0RGlzdGFuY2UiLCJsYXN0Q29vcmRzIiwiTUlOX1NQRUVEIiwiTUFYX1RJTUUiLCJMRUFEX1RJTUUiLCJmcm9tRXZlbnRzIiwid2luZG93IiwiYnVmZmVyQnkiLCJpbnRlcnZhbCIsIm1hcCIsImV2ZW50cyIsImxlbmd0aCIsImxhc3QiLCJmaWx0ZXIiLCJkaXN0YW5jZSIsIm1heERpc3RhbmNlIiwibWVyZ2UiLCJ0YWtlIiwiaW5kZXgiLCJoaWdobGlnaHRlZFN0eWxlIiwiaGlnaGxpZ2h0ZWRDbGFzc05hbWUiLCJwb3NpdGlvbk9wdGlvbnMiLCJtZW51WkluZGV4IiwiY2hpbGRyZW4iLCJtZW51Iiwic3R5bGUiLCJjbGFzc05hbWUiLCJvcGVuZWRTdHlsZSIsIm9wZW5lZENsYXNzTmFtZSIsIm1lbnVQYXJlbnRFbGVtZW50IiwiYW5jaG9yUmVmIiwiaCIsImUiLCJfb25IaWdobGlnaHRDaGFuZ2UiLCJfb25Nb3VzZUxlYXZlSXRlbSIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwibWVudUluc3BlY3RvciIsIl9tZW51SW5zcGVjdG9yUmVmIiwiX21vdXNlRW50ZXJNZW51IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwibm9kZSIsIm9iamVjdCIsIm9uZU9mVHlwZSIsInN0cmluZyIsIm51bWJlciIsImZ1bmMiLCJvbkl0ZW1DaG9zZW4iLCJvbkhpZ2hsaWdodENoYW5nZSIsInBvc2l0aW9uIiwidkFsaWduIiwiaEFsaWduIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUdBOzs7Ozs7SUFtQ3FCQSxXOzs7Ozs7Ozs7Ozs7Ozs7Ozs4RkE2Qko7QUFDYkMsTUFBQUEsTUFBTSxFQUFFO0FBREssSztxR0FJQUMsa0JBQU1DLFNBQU4sRTt3R0FDR0Qsa0JBQU1DLFNBQU4sRTswR0FDRUQsa0JBQU1DLFNBQU4sRTswR0FDQUQsa0JBQU1DLFNBQU4sRTtnSEFDaUIsMkI7aUdBQzFCLCtCOzs7Ozs7MkNBRVk7QUFDckIsV0FBS0MsUUFBTCxDQUFjQyxPQUFkO0FBQ0Q7OzsyQkFFcUI7QUFBQTs7QUFDcEIsVUFBTUMsUUFBUSxHQUFHLEtBQUtDLFlBQUwsQ0FBa0JDLE9BQW5DO0FBQ0EsVUFB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REF4RyxXLGtCQXlCRztBQUNwQm1GLEVBQUFBLGVBQWUsRUFBRTtBQUFDNkIsSUFBQUEsUUFBUSxFQUFDLE9BQVY7QUFBbUJDLElBQUFBLE1BQU0sRUFBQyxLQUExQjtBQUFpQ0MsSUFBQUEsTUFBTSxFQUFFO0FBQXpDO0FBREcsQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBLZWZpciBmcm9tICdrZWZpcic7XG5pbXBvcnQga2VmaXJCdXMgZnJvbSAna2VmaXItYnVzJztcbmltcG9ydCB0eXBlIHtCdXN9IGZyb20gJ2tlZmlyLWJ1cyc7XG5pbXBvcnQga2VmaXJTdG9wcGVyIGZyb20gJ2tlZmlyLXN0b3BwZXInO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHtOb2RlIGFzIFJlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBwb2ludFJlY3REaXN0YW5jZSBmcm9tICcuL2xpYi9wb2ludFJlY3REaXN0YW5jZSc7XG5cbmltcG9ydCBNZW51TGlzdEluc3BlY3RvciBmcm9tICcuL01lbnVMaXN0SW5zcGVjdG9yJztcbmltcG9ydCBGbG9hdEFuY2hvciBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuaW1wb3J0IHR5cGUge09wdGlvbnMgYXMgRmxvYXRBbmNob3JPcHRpb25zfSBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuZXhwb3J0IHR5cGUge09wdGlvbnMgYXMgRmxvYXRBbmNob3JPcHRpb25zfSBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuaW1wb3J0IE1lbnVJdGVtIGZyb20gJy4vTWVudUl0ZW0nO1xuXG5pbXBvcnQgdHlwZSB7RGlyZWN0aW9uLCBSZWN0fSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB0eXBlIE1lbnVFdmVudCBmcm9tICcuL2V2ZW50cy9NZW51RXZlbnQnO1xuaW1wb3J0IHR5cGUgQ2hvc2VuRXZlbnQgZnJvbSAnLi9ldmVudHMvQ2hvc2VuRXZlbnQnO1xuXG50eXBlIFN0YXRlID0ge1xuICBvcGVuZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcbiAgbWVudTogUmVhY3ROb2RlO1xuICBwb3NpdGlvbk9wdGlvbnM6IEZsb2F0QW5jaG9yT3B0aW9ucztcbiAgbWVudVpJbmRleD86IHN0cmluZ3xudW1iZXI7XG4gIG1lbnVQYXJlbnRFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG5cbiAgb25XaWxsT3Blbj86ICgpID0+IHZvaWQ7XG4gIG9uRGlkT3Blbj86ICgpID0+IHZvaWQ7XG4gIG9uV2lsbENsb3NlPzogKCkgPT4gdm9pZDtcblxuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHN0eWxlPzogT2JqZWN0O1xuICBoaWdobGlnaHRlZENsYXNzTmFtZT86IHN0cmluZztcbiAgaGlnaGxpZ2h0ZWRTdHlsZT86IE9iamVjdDtcbiAgaW5kZXg/OiBudW1iZXI7XG5cbiAgb3BlbmVkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICBvcGVuZWRTdHlsZT86IE9iamVjdDtcblxuICBvbkl0ZW1DaG9zZW4/OiAoZXZlbnQ6IENob3NlbkV2ZW50KSA9PiB2b2lkO1xuICBvbkhpZ2hsaWdodENoYW5nZT86IChoaWdobGlnaHRlZDogYm9vbGVhbiwgZGV0YWlsczoge2J5S2V5Ym9hcmQ/OiBib29sZWFuLCBwcmV2Q3Vyc29yTG9jYXRpb24/OiBSZWN0LCBkaXJlY3Rpb24/OiBEaXJlY3Rpb259KSA9PiB2b2lkO1xuXG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3ViTWVudUl0ZW0gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8UHJvcHMsIFN0YXRlPiB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgbWVudTogUHJvcFR5cGVzLm5vZGUsXG4gICAgcG9zaXRpb25PcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1lbnVaSW5kZXg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5udW1iZXJdKSxcblxuICAgIG9uV2lsbE9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uRGlkT3BlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25XaWxsQ2xvc2U6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGhpZ2hsaWdodGVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhpZ2hsaWdodGVkU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICBvcGVuZWRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb3BlbmVkU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICBvbkl0ZW1DaG9zZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uSGlnaGxpZ2h0Q2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZVxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcG9zaXRpb25PcHRpb25zOiB7cG9zaXRpb246J3JpZ2h0JywgdkFsaWduOid0b3AnLCBoQWxpZ246ICdsZWZ0J31cbiAgfTtcblxuICBzdGF0ZTogU3RhdGUgPSB7XG4gICAgb3BlbmVkOiBmYWxzZVxuICB9O1xuXG4gIF9tZW51SXRlbVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxNZW51SXRlbT4oKTtcbiAgX2Zsb2F0QW5jaG9yUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZsb2F0QW5jaG9yPigpO1xuICBfbWVudUluc3BlY3RvclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxNZW51TGlzdEluc3BlY3Rvcj4oKTtcbiAgX21lbnVDb250YWluZXJSZWYgPSBSZWFjdC5jcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG4gIF9yZXNldE1vdXNlTGVhdmVXYXRjaGVyOiBCdXM8bnVsbD4gPSBrZWZpckJ1cygpO1xuICBfc3RvcHBlciA9IGtlZmlyU3RvcHBlcigpO1xuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX3N0b3BwZXIuZGVzdHJveSgpO1xuICB9XG5cbiAgb3BlbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtZW51SXRlbSA9IHRoaXMuX21lbnVJdGVtUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFtZW51SXRlbSkgdGhyb3cgbmV3IEVycm9yKCk7XG5cbiAgICBtZW51SXRlbS5sb2NrSGlnaGxpZ2h0KCk7XG4gICAgaWYgKHRoaXMuc3RhdGUub3BlbmVkKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgaWYgKHRoaXMucHJvcHMub25XaWxsT3BlbikgdGhpcy5wcm9wcy5vbldpbGxPcGVuKCk7XG4gICAgbWVudUl0ZW0udGFrZUtleWJvYXJkKCk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7b3BlbmVkOiB0cnVlfSwgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRpZE9wZW4pIHRoaXMucHJvcHMub25EaWRPcGVuKCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLl9tZW51SXRlbVJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUl0ZW0pIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgaWYgKCF0aGlzLnN0YXRlLm9wZW5lZCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLnByb3BzLm9uV2lsbENsb3NlKSB0aGlzLnByb3BzLm9uV2lsbENsb3NlKCk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7b3BlbmVkOiBmYWxzZX0pO1xuICAgIG1lbnVJdGVtLnJlbGVhc2VLZXlib2FyZCgpO1xuICAgIG1lbnVJdGVtLnVubG9ja0hpZ2hsaWdodCgpO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLm9wZW5lZCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICByZXBvc2l0aW9uKCkge1xuICAgIGNvbnN0IGZsb2F0QW5jaG9yID0gdGhpcy5fZmxvYXRBbmNob3JSZWYuY3VycmVudDtcbiAgICBpZiAoIWZsb2F0QW5jaG9yKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIGZsb2F0QW5jaG9yLnJlcG9zaXRpb24oKTtcbiAgfVxuXG4gIGhhc0hpZ2hsaWdodCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtZW51SXRlbSA9IHRoaXMuX21lbnVJdGVtUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFtZW51SXRlbSkgdGhyb3cgbmV3IEVycm9yKCk7XG5cbiAgICByZXR1cm4gbWVudUl0ZW0uaGFzSGlnaGxpZ2h0KCk7XG4gIH1cblxuICBoaWdobGlnaHQoYnlLZXlib2FyZDogYm9vbGVhbj10cnVlKSB7XG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLl9tZW51SXRlbVJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUl0ZW0pIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgbWVudUl0ZW0uaGlnaGxpZ2h0KGJ5S2V5Ym9hcmQpO1xuICB9XG5cbiAgdW5oaWdobGlnaHQoKSB7XG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLl9tZW51SXRlbVJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUl0ZW0pIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgbWVudUl0ZW0udW5oaWdobGlnaHQoKTtcbiAgfVxuXG4gIG1vdmVDdXJzb3IoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpIHtcbiAgICBjb25zdCBtZW51SXRlbSA9IHRoaXMuX21lbnVJdGVtUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFtZW51SXRlbSkgdGhyb3cgbmV3IEVycm9yKCk7XG5cbiAgICBtZW51SXRlbS5tb3ZlQ3Vyc29yKGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgfVxuXG4gIF9vbkhpZ2hsaWdodENoYW5nZShoaWdobGlnaHRlZDogYm9vbGVhbiwgZXZlbnQ6IE9iamVjdCkge1xuICAgIHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIuZW1pdChudWxsKTtcblxuICAgIGlmIChoaWdobGlnaHRlZCAmJiAhZXZlbnQuYnlLZXlib2FyZCkge1xuICAgICAgY29uc3QgT1BFTl9ERUxBWSA9IDIwMDtcblxuICAgICAgS2VmaXIubGF0ZXIoT1BFTl9ERUxBWSlcbiAgICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIpXG4gICAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9zdG9wcGVyKVxuICAgICAgICAub25WYWx1ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoIWhpZ2hsaWdodGVkKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgX29uTW91c2VMZWF2ZUl0ZW0oZXZlbnQ6IE9iamVjdCkge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fbWVudUl0ZW1SZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIGlmICghdGhpcy5zdGF0ZS5vcGVuZWQpIHtcbiAgICAgIG1lbnVJdGVtLnVuaGlnaGxpZ2h0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWVudUNvbnRhaW5lciA9IHRoaXMuX21lbnVDb250YWluZXJSZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVDb250YWluZXIpIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgLy8gSWYgdGhlIG1vdXNlIGlzbid0IGdvaW5nIHRvd2FyZCB0aGUgbWVudSwgdGhlbiB1bmhpZ2hsaWdodCBvdXJzZWxmLlxuXG4gICAgY29uc3QgbWVudVJlY3QgPSBtZW51Q29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCBzdGFydFggPSBldmVudC5wYWdlWCwgc3RhcnRZID0gZXZlbnQucGFnZVk7XG5cbiAgICBmdW5jdGlvbiBnZXREaXN0YW5jZSh4LCB5KSB7XG4gICAgICByZXR1cm4gcG9pbnRSZWN0RGlzdGFuY2UoeCwgeSwgbWVudVJlY3QubGVmdCwgbWVudVJlY3QudG9wLCBtZW51UmVjdC5yaWdodC1tZW51UmVjdC53aWR0aCwgbWVudVJlY3QuYm90dG9tLW1lbnVSZWN0LnRvcCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnREaXN0YW5jZSA9IGdldERpc3RhbmNlKHN0YXJ0WCwgc3RhcnRZKTtcbiAgICBsZXQgbGFzdENvb3JkcyA9IHtwYWdlWDogc3RhcnRYLCBwYWdlWTogc3RhcnRZfTtcblxuICAgIC8vIHBpeGVscyBwZXIgc2Vjb25kIHRoZSB1c2VyIG11c3QgYmUgbW92aW5nIHRoZSBtb3VzZSB0b3dhcmQgdGhlIG1lbnUgZm9yXG4gICAgLy8gdGhlIG1lbnUgdG8gc3RheSBvcGVuLlxuICAgIGNvbnN0IE1JTl9TUEVFRCA9IDYwO1xuXG4gICAgLy8gbXMgYmVmb3JlIHRoZSBtZW51IHdpbGwgY2xvc2UgaWYgdGhlIHVzZXIgaGFzbid0IHJlYWNoZWQgaXQgeWV0LCBub1xuICAgIC8vIG1hdHRlciBob3cgdGhleSdyZSBtb3ZpbmcgdGhlIGN1cnNvciB0b3dhcmQgaXQuXG4gICAgY29uc3QgTUFYX1RJTUUgPSA3NTA7XG5cbiAgICAvLyBtcyB0byBvZmZzZXQgc3RhcnQgdGltZSwgdG8gc2V0IG1heERpc3RhbmNlIGJhY2sgYSBsaXR0bGUgc28gaXQncyBub3Qgc29cbiAgICAvLyB1bmZvcmdpdmluZyBhdCB0aGUgdmVyeSBzdGFydC5cbiAgICBjb25zdCBMRUFEX1RJTUUgPSA1MDtcblxuICAgIC8vIExpc3RlbiB0byBtb3VzZSBtb3ZlcywgZmluZCB0aGUgZmlyc3QgZXZlbnQgbm90IGdvaW5nIHRvd2FyZHMgdGhlIG1lbnUsXG4gICAgLy8gYW5kIGVuZCBpdCB0aGVyZS4gT3IgZW5kIGFmdGVyIGEgdGltZXIuXG4gICAgS2VmaXIuZnJvbUV2ZW50cyh3aW5kb3csICdtb3VzZW1vdmUnKVxuICAgICAgLmJ1ZmZlckJ5KEtlZmlyLmludGVydmFsKDYwLCBudWxsKSlcbiAgICAgIC5tYXAoZXZlbnRzID0+IHtcbiAgICAgICAgaWYgKGV2ZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBsYXN0ID0gZXZlbnRzW2V2ZW50cy5sZW5ndGgtMV07XG4gICAgICAgICAgbGFzdENvb3JkcyA9IHtwYWdlWDogbGFzdC5wYWdlWCwgcGFnZVk6IGxhc3QucGFnZVl9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsYXN0Q29vcmRzO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKHtwYWdlWCwgcGFnZVl9KSA9PiB7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZ2V0RGlzdGFuY2UocGFnZVgsIHBhZ2VZKTtcbiAgICAgICAgY29uc3QgbWF4RGlzdGFuY2UgPSBzdGFydERpc3RhbmNlIC0gKERhdGUubm93KCktc3RhcnRUaW1lLUxFQURfVElNRSkvMTAwMCAqIE1JTl9TUEVFRDtcbiAgICAgICAgcmV0dXJuIGRpc3RhbmNlID4gbWF4RGlzdGFuY2U7XG4gICAgICB9KVxuICAgICAgLm1lcmdlKEtlZmlyLmxhdGVyKE1BWF9USU1FKjEwMDApKVxuICAgICAgLnRha2UoMSlcbiAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3N0b3BwZXIpXG4gICAgICAub25WYWx1ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgbWVudUl0ZW0udW5oaWdobGlnaHQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgX21vdXNlRW50ZXJNZW51KCkge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fbWVudUl0ZW1SZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIuZW1pdChudWxsKTtcbiAgICBtZW51SXRlbS51bmxvY2tIaWdobGlnaHQoKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBpbmRleCwgaGlnaGxpZ2h0ZWRTdHlsZSwgaGlnaGxpZ2h0ZWRDbGFzc05hbWUsXG4gICAgICBwb3NpdGlvbk9wdGlvbnMsIG1lbnVaSW5kZXgsIGNoaWxkcmVuLCBtZW51XG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qge29wZW5lZH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgbGV0IHN0eWxlID0gdGhpcy5wcm9wcy5zdHlsZTtcbiAgICBsZXQgY2xhc3NOYW1lID0gdGhpcy5wcm9wcy5jbGFzc05hbWU7XG4gICAgaWYgKG9wZW5lZCkge1xuICAgICAgaWYgKHRoaXMucHJvcHMub3BlbmVkU3R5bGUpIHtcbiAgICAgICAgc3R5bGUgPSB7Li4uc3R5bGUsIC4uLnRoaXMucHJvcHMub3BlbmVkU3R5bGV9O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMub3BlbmVkQ2xhc3NOYW1lKSB7XG4gICAgICAgIGNsYXNzTmFtZSA9IGAke2NsYXNzTmFtZXx8Jyd9ICR7dGhpcy5wcm9wcy5vcGVuZWRDbGFzc05hbWV9YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZsb2F0QW5jaG9yXG4gICAgICAgIHBhcmVudEVsZW1lbnQ9e3RoaXMucHJvcHMubWVudVBhcmVudEVsZW1lbnR9XG4gICAgICAgIHJlZj17dGhpcy5fZmxvYXRBbmNob3JSZWZ9XG4gICAgICAgIG9wdGlvbnM9e3Bvc2l0aW9uT3B0aW9uc31cbiAgICAgICAgekluZGV4PXttZW51WkluZGV4fVxuICAgICAgICBhbmNob3I9e2FuY2hvclJlZiA9PlxuICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgcmVmPXt0aGlzLl9tZW51SXRlbVJlZn1cbiAgICAgICAgICAgIGRvbVJlZj17YW5jaG9yUmVmfVxuICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBoaWdobGlnaHRlZFN0eWxlPXtoaWdobGlnaHRlZFN0eWxlfVxuICAgICAgICAgICAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU9e2hpZ2hsaWdodGVkQ2xhc3NOYW1lfVxuICAgICAgICAgICAgb25IaWdobGlnaHRDaGFuZ2U9eyhoLGUpID0+IHRoaXMuX29uSGlnaGxpZ2h0Q2hhbmdlKGgsZSl9XG4gICAgICAgICAgICBvbk1vdXNlTGVhdmU9e2UgPT4gdGhpcy5fb25Nb3VzZUxlYXZlSXRlbShlKX1cbiAgICAgICAgICAgIG9uUmlnaHRQdXNoZWQ9eyhlOiBNZW51RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlLm9wZW5lZCkge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lbnVJbnNwZWN0b3IgPSB0aGlzLl9tZW51SW5zcGVjdG9yUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKCFtZW51SW5zcGVjdG9yKSB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgICAgICAgICAgICBtZW51SW5zcGVjdG9yLm1vdmVDdXJzb3IoJ2Rvd24nKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uSXRlbUNob3Nlbj17KGU6IENob3NlbkV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICAgIGlmIChlLmJ5S2V5Ym9hcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZW51SW5zcGVjdG9yID0gdGhpcy5fbWVudUluc3BlY3RvclJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgIGlmICghbWVudUluc3BlY3RvcikgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICAgICAgICAgICAgbWVudUluc3BlY3Rvci5tb3ZlQ3Vyc29yKCdkb3duJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBhcmlhLWhhc3BvcHVwPXt0cnVlfVxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17b3BlbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICB9XG4gICAgICAgIGZsb2F0PXtcbiAgICAgICAgICAhb3BlbmVkID8gbnVsbCA6XG4gICAgICAgICAgICA8TWVudUxpc3RJbnNwZWN0b3JcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLl9tZW51SW5zcGVjdG9yUmVmfVxuICAgICAgICAgICAgICBvbkxlZnRQdXNoZWQ9e2UgPT4ge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy5fbWVudUNvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpPT50aGlzLl9tb3VzZUVudGVyTWVudSgpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge21lbnV9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9NZW51TGlzdEluc3BlY3Rvcj5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXX0=
{
"name": "react-menu-list",
"version": "6.0.5",
"version": "6.1.0",
"description": "React component for menu lists and submenus",

@@ -52,7 +52,7 @@ "main": "js/index.js",

"browserify": "^16.2.2",
"cross-env": "^5.0.1",
"cross-env": "^6.0.3",
"eslint": "^6.1.0",
"eslint-plugin-flowtype": "^4.2.0",
"eslint-plugin-react": "^7.4.0",
"flow-bin": "^0.104.0",
"flow-bin": "^0.109.0",
"flow-copy-source": "^2.0.2",

@@ -63,3 +63,3 @@ "jest": "^24.0.0",

"react-test-renderer": "^16.6.0",
"rimraf": "^2.6.1",
"rimraf": "^3.0.0",
"typescript": "^3.5.1",

@@ -75,3 +75,3 @@ "watchify": "^3.7.0"

"prop-types": "^15.6.0",
"react-float-anchor": "^3.0.0"
"react-float-anchor": "^3.2.0"
},

@@ -78,0 +78,0 @@ "peerDependencies": {

@@ -96,3 +96,3 @@ # react-menu-list

when the item is highlighted.
* `index`: This an optional number which overrides the menu item's index in the
* `index`: This is an optional number which overrides the menu item's index in the
MenuList for keyboard control purposes. The order of menu items is normally

@@ -140,3 +140,3 @@ determined by their position in the DOM when mounted. This property should be

open.
* `positionOptions`: This an optional object of options to control how the
* `positionOptions`: This is an optional object of options to control how the
dropdown is aligned to the menu item. The options are the same as those

@@ -146,4 +146,6 @@ supported by

This defaults to `{position:'right', vAlign:'top', hAlign: 'left'}`.
* `menuZIndex`: This an optional number controlling the z-index CSS property of
* `menuZIndex`: This is an optional number controlling the z-index CSS property of
the menu's container.
* `menuParentElement`: This is an optional HTMLElement to attach the menu's container
to instead of the document's body element.
* `onWillOpen`: This is an optional function called before the submenu opens.

@@ -205,3 +207,3 @@ * `onDidOpen`: This is an optional function called after the submenu opened.

* `menu`, `positionOptions`, `menuZIndex`, `onWillOpen`, `onDidOpen`,
* `menu`, `positionOptions`, `menuZIndex`, `menuParentElement`, `onWillOpen`, `onDidOpen`,
`onWillClose`, `className`, `style`, `openedClassName`, `openedStyle`:

@@ -213,2 +215,4 @@ These work the same as the props on SubMenuItem.

`domRef` prop which is passed as a ref to the button's DOM element.
* `buttonProps`: Optional object that will be merged with the props passed to
the button component.

@@ -215,0 +219,0 @@ A MenuButton has the following public methods:

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc