@commercetools-uikit/localized-rich-text-input 14.0.3 → 15.0.1

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.
@@ -1,24 +1,25 @@
1
1
  import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
2
2
  import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
3
3
  import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor';
4
- import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
5
4
  import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';
6
5
  import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
7
6
  import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
8
7
  import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
9
8
  import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
10
- import _pt from 'prop-types';
11
9
  import _reduceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/reduce';
12
10
  import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
11
+ import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
12
+ import _Map from '@babel/runtime-corejs3/core-js-stable/map';
13
+ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
13
14
  import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
14
- import { cloneElement, useRef, useState, useCallback, useEffect, PureComponent, useReducer } from 'react';
15
- import { css, useTheme } from '@emotion/react';
15
+ import { forwardRef, useRef, useMemo, useState, useCallback, useEffect, useImperativeHandle, PureComponent, useReducer } from 'react';
16
+ import { css, useTheme, createElement } from '@emotion/react';
16
17
  import Stack from '@commercetools-uikit/spacings-stack';
17
18
  import Constraints from '@commercetools-uikit/constraints';
18
- import { usePrevious, useToggleState } from '@commercetools-uikit/hooks';
19
+ import { useToggleState } from '@commercetools-uikit/hooks';
19
20
  import { sortLanguages, getHasErrorOnRemainingLanguages, getHasWarningOnRemainingLanguages, createLocalizedDataAttributes, getId, getName, isTouched } from '@commercetools-uikit/localized-utils';
20
21
  import { messagesMultilineInput, messagesLocalizedInput, LocalizedInputToggle } from '@commercetools-uikit/input-utils';
21
- import { HiddenInput, RichTextBody, html, richTextPlugins, localized } from '@commercetools-uikit/rich-text-utils';
22
+ import { resetEditor, RichTextBody, focusEditor, toggleMark, HiddenInput, Element, Leaf, validSlateStateAdapter, html, localized } from '@commercetools-uikit/rich-text-utils';
22
23
  import { warning, filterDataAttributes } from '@commercetools-uikit/utils';
23
24
  import _Reflect$construct from '@babel/runtime-corejs3/core-js-stable/reflect/construct';
24
25
  import _classCallCheck from '@babel/runtime-corejs3/helpers/esm/classCallCheck';
@@ -26,10 +27,7 @@ import _createClass from '@babel/runtime-corejs3/helpers/esm/createClass';
26
27
  import _inherits from '@babel/runtime-corejs3/helpers/esm/inherits';
27
28
  import _possibleConstructorReturn from '@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn';
28
29
  import _getPrototypeOf from '@babel/runtime-corejs3/helpers/esm/getPrototypeOf';
29
- import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
30
- import _setTimeout from '@babel/runtime-corejs3/core-js-stable/set-timeout';
31
- import pick from 'lodash/pick';
32
- import { Editor as Editor$2 } from 'slate-react';
30
+ import _pt from 'prop-types';
33
31
  import _styled from '@emotion/styled/base';
34
32
  import { useIntl, FormattedMessage } from 'react-intl';
35
33
  import { customProperties, designTokens } from '@commercetools-uikit/design-system';
@@ -37,7 +35,12 @@ import CollapsibleMotion from '@commercetools-uikit/collapsible-motion';
37
35
  import { AngleUpIcon, AngleDownIcon } from '@commercetools-uikit/icons';
38
36
  import Text from '@commercetools-uikit/text';
39
37
  import FlatButton from '@commercetools-uikit/flat-button';
40
- import { jsxs, jsx } from '@emotion/react/jsx-runtime';
38
+ import { withReact, Slate, Editable, ReactEditor } from 'slate-react';
39
+ import { createEditor } from 'slate';
40
+ import { withHistory } from 'slate-history';
41
+ import isHotkey from 'is-hotkey';
42
+ import pipe from 'lodash/fp/pipe';
43
+ import { jsx, jsxs } from '@emotion/react/jsx-runtime';
41
44
  import { ErrorMessage } from '@commercetools-uikit/messages';
42
45
 
43
46
  function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -86,6 +89,12 @@ function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys(object); if
86
89
  function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys$3(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$3(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
87
90
 
88
91
  function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
92
+ var HOTKEYS = {
93
+ 'mod+b': 'bold',
94
+ 'mod+i': 'italic',
95
+ 'mod+u': 'underline',
96
+ 'mod+`': 'code'
97
+ };
89
98
  var COLLAPSED_HEIGHT = 32;
90
99
 
91
100
  var LeftColumn = _styled("div", process.env.NODE_ENV === "production" ? {
@@ -99,7 +108,7 @@ var LeftColumn = _styled("div", process.env.NODE_ENV === "production" ? {
99
108
  } : {
100
109
  name: "147rp59",
101
110
  styles: "flex:1;display:flex;align-items:flex-start",
102
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0M2QiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */",
111
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkQ2QiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT4ge1xuICAgICAgY29uc3QgbmV3U3RyaW5nVmFsdWUgPVxuICAgICAgICB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBuZXdWYWx1ZVxuICAgICAgICAgIDogbmV3VmFsdWU/Lltwcm9wcy5sYW5ndWFnZV0gPz8gJyc7XG5cbiAgICAgIHJlc2V0RWRpdG9yKGVkaXRvciwgbmV3U3RyaW5nVmFsdWUpO1xuICAgIH0sXG4gICAgW2VkaXRvciwgcHJvcHMubGFuZ3VhZ2VdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */",
103
112
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
104
113
  });
105
114
 
@@ -114,7 +123,7 @@ var RightColumn = _styled("div", process.env.NODE_ENV === "production" ? {
114
123
  } : {
115
124
  name: "1m04uhl",
116
125
  styles: "position:relative;flex:0;display:flex;align-items:flex-start",
117
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEM4QiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */",
126
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUU4QiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT4ge1xuICAgICAgY29uc3QgbmV3U3RyaW5nVmFsdWUgPVxuICAgICAgICB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBuZXdWYWx1ZVxuICAgICAgICAgIDogbmV3VmFsdWU/Lltwcm9wcy5sYW5ndWFnZV0gPz8gJyc7XG5cbiAgICAgIHJlc2V0RWRpdG9yKGVkaXRvciwgbmV3U3RyaW5nVmFsdWUpO1xuICAgIH0sXG4gICAgW2VkaXRvciwgcHJvcHMubGFuZ3VhZ2VdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */",
118
127
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
119
128
  });
120
129
 
@@ -129,26 +138,36 @@ var Row = _styled("div", process.env.NODE_ENV === "production" ? {
129
138
  } : {
130
139
  name: "skgbeu",
131
140
  styles: "display:flex;justify-content:flex-end",
132
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbURzQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */",
141
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEVzQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT4ge1xuICAgICAgY29uc3QgbmV3U3RyaW5nVmFsdWUgPVxuICAgICAgICB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBuZXdWYWx1ZVxuICAgICAgICAgIDogbmV3VmFsdWU/Lltwcm9wcy5sYW5ndWFnZV0gPz8gJyc7XG5cbiAgICAgIHJlc2V0RWRpdG9yKGVkaXRvciwgbmV3U3RyaW5nVmFsdWUpO1xuICAgIH0sXG4gICAgW2VkaXRvciwgcHJvcHMubGFuZ3VhZ2VdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */",
133
142
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
134
143
  });
135
144
 
145
+ var renderElement = function renderElement(props) {
146
+ return jsx(Element, _objectSpread$3({}, props));
147
+ };
148
+
149
+ var renderLeaf = function renderLeaf(props) {
150
+ return jsx(Leaf, _objectSpread$3({}, props));
151
+ };
152
+
136
153
  var _ref$1 = process.env.NODE_ENV === "production" ? {
137
154
  name: "bcltzc",
138
155
  styles: "flex:auto;width:0;border-top-left-radius:0;border-bottom-left-radius:0"
139
156
  } : {
140
157
  name: "16ohn6x-container",
141
158
  styles: "flex:auto;width:0;border-top-left-radius:0;border-bottom-left-radius:0;label:container;",
142
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNktnQyIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */",
159
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc09rQyIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT4ge1xuICAgICAgY29uc3QgbmV3U3RyaW5nVmFsdWUgPVxuICAgICAgICB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBuZXdWYWx1ZVxuICAgICAgICAgIDogbmV3VmFsdWU/Lltwcm9wcy5sYW5ndWFnZV0gPz8gJyc7XG5cbiAgICAgIHJlc2V0RWRpdG9yKGVkaXRvciwgbmV3U3RyaW5nVmFsdWUpO1xuICAgIH0sXG4gICAgW2VkaXRvciwgcHJvcHMubGFuZ3VhZ2VdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */",
143
160
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
144
161
  };
145
162
 
146
- var Editor$1 = function Editor(props) {
147
- var _props$editor, _props$editor2, _props$editor3, _props$editor4;
148
-
163
+ var Editor = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
149
164
  var intl = useIntl();
150
165
  var ref = useRef();
151
- var prevIsFocused = usePrevious((_props$editor = props.editor) === null || _props$editor === void 0 ? void 0 : _props$editor.value.selection.isFocused);
166
+ var createEditorWithPlugins = pipe(withReact, withHistory); // eslint-disable-next-line react-hooks/exhaustive-deps
167
+
168
+ var editor = useMemo(function () {
169
+ return createEditorWithPlugins(createEditor());
170
+ }, []);
152
171
 
153
172
  if (props.showExpandIcon) {
154
173
  process.env.NODE_ENV !== "production" ? warning(typeof props.onClickExpand === 'function', 'Editor: "onClickExpand" is required when showExpandIcon is true') : void 0;
@@ -178,20 +197,34 @@ var Editor$1 = function Editor(props) {
178
197
  }, [setRenderToggleButton, renderToggleButton]);
179
198
  useEffect(function () {
180
199
  updateRenderToggleButton();
181
- }, [(_props$editor2 = props.editor) === null || _props$editor2 === void 0 ? void 0 : _props$editor2.value.document, updateRenderToggleButton]); // opens the input if it regains focus and it's closed
182
-
183
- if (prevIsFocused !== ((_props$editor3 = props.editor) === null || _props$editor3 === void 0 ? void 0 : _props$editor3.value.selection.isFocused) && (_props$editor4 = props.editor) !== null && _props$editor4 !== void 0 && _props$editor4.value.selection.isFocused && !props.isOpen) {
184
- onToggle();
185
- }
200
+ }, [editor, updateRenderToggleButton]); // resetting
201
+
202
+ var resetValue = useCallback(function (newValue) {
203
+ var _newValue$props$langu;
204
+
205
+ var newStringValue = typeof newValue === 'string' ? newValue : (_newValue$props$langu = newValue === null || newValue === void 0 ? void 0 : newValue[props.language]) !== null && _newValue$props$langu !== void 0 ? _newValue$props$langu : '';
206
+ resetEditor(editor, newStringValue);
207
+ }, [editor, props.language]);
208
+ /*
209
+ Resetting the editor requires access to `editor` object returned from `useSlate` hook.
210
+ Therefore, `reset` function is attached to the passed `ref` object via `useImperativeHandle`
211
+ to be called from the parent component.
212
+ e.g. <button onMouseDown={() => ref.current?.resetValue("<p><strong>Value after reset</strong></p>")}>Reset</button>
213
+ */
186
214
 
215
+ useImperativeHandle(forwardedRef, function () {
216
+ return {
217
+ resetValue: resetValue
218
+ };
219
+ });
187
220
  var shouldToggleButtonTakeSpace =
188
- /*
221
+ /*
189
222
  - if hasLanguagesControl and there are no errors/warnings to display
190
223
  - then the toggleButton is absolutely positioned
191
224
  This is because the toggle button is placed next to the LocalizedInputToggle without being siblings in the DOM.
192
225
  If there is a error or warning showing,
193
226
  then it can be placed statically because it will then be a sibling to the error/warning message
194
- and LocalizedInputToggle is placed below the errors/warnings.
227
+ and LocalizedInputToggle is placed below the errors/warnings.
195
228
  */
196
229
  renderToggleButton && !props.hasLanguagesControl || props.error || props.warning;
197
230
  var theme = useTheme();
@@ -211,31 +244,73 @@ var Editor$1 = function Editor(props) {
211
244
  };
212
245
  return jsxs(Stack, {
213
246
  scale: "xs",
214
- children: [jsxs(EditorWrapper, {
247
+ children: [jsx(EditorWrapper, {
215
248
  isDisabled: props.isDisabled,
216
249
  isReadOnly: props.isReadOnly,
217
- children: [jsx(EditorLanguageLabel, {
218
- htmlFor: props.id,
219
- theme: theme,
220
- children: jsx(Text.Detail, {
221
- tone: "secondary",
222
- children: props.language.toUpperCase()
223
- })
224
- }), jsx(RichTextBody, {
225
- ref: refObj,
226
- styles: {
227
- container: _ref$1
228
- },
229
- hasError: props.hasError,
230
- isDisabled: props.isDisabled,
231
- hasWarning: props.hasWarning,
232
- isReadOnly: Boolean(props.isReadOnly),
233
- editor: props.editor,
234
- containerStyles: containerStyles,
235
- showExpandIcon: props.showExpandIcon,
236
- onClickExpand: props.onClickExpand,
237
- children: props.children
238
- })]
250
+ children: jsxs(Slate, {
251
+ editor: editor,
252
+ value: props.value,
253
+ onChange: props.onChange,
254
+ children: [jsx(EditorLanguageLabel, {
255
+ htmlFor: props.id,
256
+ theme: theme,
257
+ children: jsx(Text.Detail, {
258
+ tone: "secondary",
259
+ children: props.language.toUpperCase()
260
+ })
261
+ }), jsxs(RichTextBody // @ts-ignore
262
+ , {
263
+ ref: refObj,
264
+ styles: {
265
+ container: _ref$1
266
+ },
267
+ hasError: props.hasError,
268
+ isDisabled: props.isDisabled,
269
+ hasWarning: props.hasWarning,
270
+ isReadOnly: Boolean(props.isReadOnly),
271
+ showExpandIcon: Boolean(props.showExpandIcon),
272
+ onClickExpand: props.onClickExpand,
273
+ containerStyles: containerStyles,
274
+ children: [jsx(Editable, _objectSpread$3(_objectSpread$3({}, filterDataAttributes(props)), {}, {
275
+ name: props.name,
276
+ renderElement: renderElement,
277
+ renderLeaf: renderLeaf,
278
+ placeholder: props.placeholder,
279
+ autoFocus: props.isAutofocused,
280
+ onBlur: props.onBlur,
281
+ onFocus: function onFocus(event) {
282
+ var _props$onFocus;
283
+
284
+ (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, event); // opens the input if it regains focus and it's closed
285
+
286
+ if (!isOpen) {
287
+ toggle();
288
+ focusEditor(editor);
289
+ }
290
+ },
291
+ readOnly: props.isReadOnly,
292
+ disabled: props.isDisabled,
293
+ onKeyDown: function onKeyDown(event) {
294
+ for (var hotkey in HOTKEYS) {
295
+ if (isHotkey(hotkey, event)) {
296
+ event.preventDefault();
297
+ var mark = HOTKEYS[hotkey];
298
+ toggleMark(editor, mark);
299
+ break;
300
+ }
301
+ }
302
+ }
303
+ })), props.children, jsx(HiddenInput, {
304
+ isFocused: ReactEditor.isFocused(editor),
305
+ handleFocus: function handleFocus() {
306
+ focusEditor(editor);
307
+ },
308
+ id: props.id,
309
+ disabled: props.isDisabled,
310
+ readOnly: props.isReadOnly
311
+ })]
312
+ })]
313
+ })
239
314
  }, props.language), jsxs(Row // NOTE: applying this style withing the `styled` component results in the production
240
315
  // bundle to apply the style in the wrong order.
241
316
  // For instance, we need to override the marging of the spacing component, which also
@@ -244,7 +319,7 @@ var Editor$1 = function Editor(props) {
244
319
  // does the trick.
245
320
  // TODO: revisit the logic and the implementation to maybe avoid having to apply this style.
246
321
  , {
247
- css: /*#__PURE__*/css("margin-top:", shouldToggleButtonTakeSpace ? 'inherit' : '0px !important', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Editor;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd01zQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */"),
322
+ css: /*#__PURE__*/css("margin-top:", shouldToggleButtonTakeSpace ? 'inherit' : '0px !important', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Editor;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdVNzQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT4ge1xuICAgICAgY29uc3QgbmV3U3RyaW5nVmFsdWUgPVxuICAgICAgICB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBuZXdWYWx1ZVxuICAgICAgICAgIDogbmV3VmFsdWU/Lltwcm9wcy5sYW5ndWFnZV0gPz8gJyc7XG5cbiAgICAgIHJlc2V0RWRpdG9yKGVkaXRvciwgbmV3U3RyaW5nVmFsdWUpO1xuICAgIH0sXG4gICAgW2VkaXRvciwgcHJvcHMubGFuZ3VhZ2VdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */"),
248
323
  children: [function () {
249
324
  if (props.error) return jsx(LeftColumn, {
250
325
  children: jsx("div", {
@@ -259,7 +334,7 @@ var Editor$1 = function Editor(props) {
259
334
  return null;
260
335
  }(), renderToggleButton && jsx(RightColumn, {
261
336
  children: jsx(ToggleButtonWrapper, {
262
- css: [!shouldToggleButtonTakeSpace && /*#__PURE__*/css("position:absolute;top:0;right:0;margin-top:", customProperties.spacingXs, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Editor;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa08yQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */"), process.env.NODE_ENV === "production" ? "" : ";label:Editor;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ09vQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */"],
337
+ css: [!shouldToggleButtonTakeSpace && /*#__PURE__*/css("position:absolute;top:0;right:0;margin-top:", customProperties.spacingXs, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Editor;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaVUyQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT4ge1xuICAgICAgY29uc3QgbmV3U3RyaW5nVmFsdWUgPVxuICAgICAgICB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBuZXdWYWx1ZVxuICAgICAgICAgIDogbmV3VmFsdWU/Lltwcm9wcy5sYW5ndWFnZV0gPz8gJyc7XG5cbiAgICAgIHJlc2V0RWRpdG9yKGVkaXRvciwgbmV3U3RyaW5nVmFsdWUpO1xuICAgIH0sXG4gICAgW2VkaXRvciwgcHJvcHMubGFuZ3VhZ2VdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */"), process.env.NODE_ENV === "production" ? "" : ";label:Editor;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK1RvQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT4ge1xuICAgICAgY29uc3QgbmV3U3RyaW5nVmFsdWUgPVxuICAgICAgICB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBuZXdWYWx1ZVxuICAgICAgICAgIDogbmV3VmFsdWU/Lltwcm9wcy5sYW5ndWFnZV0gPz8gJyc7XG5cbiAgICAgIHJlc2V0RWRpdG9yKGVkaXRvciwgbmV3U3RyaW5nVmFsdWUpO1xuICAgIH0sXG4gICAgW2VkaXRvciwgcHJvcHMubGFuZ3VhZ2VdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */"],
263
338
  children: jsx(FlatButton, {
264
339
  onClick: toggle,
265
340
  label: intl.formatMessage(isOpen ? messagesMultilineInput.collapse : messagesMultilineInput.expand),
@@ -275,88 +350,17 @@ var Editor$1 = function Editor(props) {
275
350
  });
276
351
  }
277
352
  });
278
- };
279
-
280
- Editor$1.propTypes = process.env.NODE_ENV !== "production" ? {
281
- children: _pt.node.isRequired,
282
- id: _pt.string,
283
- isOpen: _pt.bool.isRequired,
284
- isDisabled: _pt.bool,
285
- isReadOnly: _pt.bool,
286
- hasWarning: _pt.bool,
287
- hasError: _pt.bool,
288
- editor: _pt.any,
289
- error: _pt.node,
290
- warning: _pt.node,
291
- defaultExpandMultilineText: _pt.bool.isRequired,
292
- toggleLanguage: _pt.func.isRequired,
293
- language: _pt.string.isRequired,
294
- showExpandIcon: _pt.bool.isRequired,
295
- onClickExpand: _pt.func,
296
- hasLanguagesControl: _pt.bool
297
- } : {};
298
-
299
- var renderEditor = function renderEditor(props, editor, next) {
300
- var _props$editor5;
301
-
302
- if (props.options.showExpandIcon) {
303
- process.env.NODE_ENV !== "production" ? warning(typeof props.options.onClickExpand === 'function', 'renderEditor: "onClickExpand" is required when showExpandIcon is true') : void 0;
304
- }
305
-
306
- var internalId = "".concat(props.id, "__internal__id");
307
- var children = /*#__PURE__*/cloneElement(next(), {
308
- id: internalId
309
- });
310
-
311
- var passedProps = _objectSpread$3(_objectSpread$3({
312
- id: props.id,
313
- isDisabled: props.disabled,
314
- isReadOnly: props.readOnly
315
- }, pick(props.options, ['defaultExpandMultilineText', 'language', 'warning', 'error', 'hasWarning', 'hasError', 'toggleLanguage', 'isOpen', 'showExpandIcon', 'onClickExpand', 'hasLanguagesControl'])), filterDataAttributes(props));
316
-
317
- var isFocused = (_props$editor5 = props.editor) === null || _props$editor5 === void 0 ? void 0 : _props$editor5.value.selection.isFocused;
318
- return jsxs(Editor$1, _objectSpread$3(_objectSpread$3({
319
- editor: editor
320
- }, passedProps), {}, {
321
- children: [children, jsx(HiddenInput, {
322
- isFocused: Boolean(isFocused),
323
- handleFocus: editor.focus,
324
- disabled: props.disabled,
325
- readOnly: props.readOnly,
326
- id: props.id
327
- })]
328
- }));
329
- };
330
-
331
- Editor$1.displayName = 'Editor';
332
- var renderEditor$1 = renderEditor;
333
-
334
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
335
-
336
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
353
+ });
354
+ Editor.displayName = 'Editor';
355
+ var Editor$1 = Editor;
337
356
 
338
357
  function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
339
358
 
340
359
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys$2(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys$2(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
341
360
 
342
- // This is a temporary wrapper component helping to mitigate typing issues of `slate-react@0.22.10` package.
343
- // TODO: remove after upgrade of `slate-react` to the latest version
344
- var Editor = function Editor(props) {
345
- return jsx(Editor$2, _objectSpread$2({}, props));
346
- };
361
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
347
362
 
348
- Editor.propTypes = process.env.NODE_ENV !== "production" ? {
349
- id: _pt.string,
350
- name: _pt.string,
351
- onFocus: _pt.func,
352
- onBlur: _pt.func,
353
- disabled: _pt.bool,
354
- readOnly: _pt.bool,
355
- value: _pt.any.isRequired,
356
- onChange: _pt.func,
357
- plugins: _pt.any.isRequired,
358
- renderEditor: _pt.any.isRequired
359
- } : {};
363
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
360
364
 
361
365
  var RichTextInput = /*#__PURE__*/function (_PureComponent) {
362
366
  _inherits(RichTextInput, _PureComponent);
@@ -376,33 +380,25 @@ var RichTextInput = /*#__PURE__*/function (_PureComponent) {
376
380
 
377
381
  _this = _super.call.apply(_super, _concatInstanceProperty(_context = [this]).call(_context, args));
378
382
  _this.serializedValue = _this.props.value || '';
379
- _this.internalSlateValue = html.deserialize(_this.props.value || '');
383
+ _this.internalSlateValue = validSlateStateAdapter(html.deserialize(_this.props.value || ''));
380
384
 
381
- _this.onValueChange = function (event) {
382
- var serializedValue = html.serialize(event.value); // because we are not using setState, we need to make sure that
385
+ _this.onValueChange = function (state) {
386
+ var serializedValue = html.serialize(state); // because we are not using setState, we need to make sure that
383
387
  // we perform an update when the slate value changes
384
388
  // as this can contain things like cursor location
385
389
  // in this case, the internalSlateValue would change
386
390
  // but the serializedValue would NOT change.
387
391
 
388
- var hasInternalSlateValueChanged = _this.internalSlateValue !== event.value;
392
+ var hasInternalSlateValueChanged = _this.internalSlateValue !== state;
389
393
  var hasSerializedValueChanged = serializedValue !== _this.serializedValue;
390
- _this.internalSlateValue = event.value;
394
+ _this.internalSlateValue = validSlateStateAdapter(state);
391
395
  _this.serializedValue = serializedValue; // the consumer only cares about the serializedValue, so it doesn't make sense to call
392
396
  // onChange unless this value changes.
393
397
 
394
398
  if (hasSerializedValueChanged) {
395
399
  var _this$props$onChange, _this$props;
396
400
 
397
- var fakeEvent = {
398
- target: {
399
- id: _this.props.id,
400
- name: _this.props.name,
401
- language: _this.props.language,
402
- value: serializedValue
403
- }
404
- };
405
- (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, fakeEvent);
401
+ (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, html.serialize(state));
406
402
  }
407
403
 
408
404
  if (hasInternalSlateValueChanged && !hasSerializedValueChanged) {
@@ -411,44 +407,6 @@ var RichTextInput = /*#__PURE__*/function (_PureComponent) {
411
407
  }
412
408
  };
413
409
 
414
- _this.onBlur = function (_event, _editor, next) {
415
- next();
416
-
417
- if (_this.props.onBlur) {
418
- var fakeEvent = {
419
- target: {
420
- id: _this.props.id,
421
- name: _this.props.name
422
- }
423
- };
424
-
425
- _setTimeout(function () {
426
- var _this$props$onBlur, _this$props2;
427
-
428
- return (_this$props$onBlur = (_this$props2 = _this.props).onBlur) === null || _this$props$onBlur === void 0 ? void 0 : _this$props$onBlur.call(_this$props2, fakeEvent);
429
- }, 0);
430
- }
431
- };
432
-
433
- _this.onFocus = function (_event, _editor, next) {
434
- next();
435
-
436
- if (_this.props.onFocus) {
437
- var fakeEvent = {
438
- target: {
439
- id: _this.props.id,
440
- name: _this.props.name
441
- }
442
- };
443
-
444
- _setTimeout(function () {
445
- var _this$props$onFocus, _this$props3;
446
-
447
- return (_this$props$onFocus = (_this$props3 = _this.props).onFocus) === null || _this$props$onFocus === void 0 ? void 0 : _this$props$onFocus.call(_this$props3, fakeEvent);
448
- }, 0);
449
- }
450
- };
451
-
452
410
  return _this;
453
411
  }
454
412
 
@@ -456,7 +414,7 @@ var RichTextInput = /*#__PURE__*/function (_PureComponent) {
456
414
  key: "componentDidUpdate",
457
415
  value: function componentDidUpdate() {
458
416
  if (this.props.value !== this.serializedValue) {
459
- this.internalSlateValue = html.deserialize(this.props.value);
417
+ this.internalSlateValue = validSlateStateAdapter(html.deserialize(this.props.value));
460
418
  this.serializedValue = this.props.value;
461
419
  this.forceUpdate();
462
420
  }
@@ -472,21 +430,28 @@ var RichTextInput = /*#__PURE__*/function (_PureComponent) {
472
430
  process.env.NODE_ENV !== "production" ? warning(typeof this.props.onClickExpand === 'function', 'RichTextInput: "onClickExpand" is required when showExpandIcon is true') : void 0;
473
431
  }
474
432
 
475
- return jsx(Editor, _objectSpread$2(_objectSpread$2({}, filterDataAttributes(this.props)), {}, {
476
- id: this.props.id,
433
+ return jsx(Editor$1, _objectSpread$2(_objectSpread$2({}, filterDataAttributes(this.props)), {}, {
477
434
  name: this.props.name,
478
- disabled: this.props.isDisabled,
479
- readOnly: this.props.isReadOnly || this.props.isDisabled,
480
- value: this.internalSlateValue,
481
- onFocus: this.onFocus,
482
- onBlur: this.onBlur // we can only pass this.props to the Editor that Slate understands without getting
483
- // warning in the console,
484
- // so instead we pass our extra this.props through this `options` prop.
485
- ,
486
- options: pick(this.props, ['language', 'onToggle', 'toggleLanguage', 'isOpen', 'warning', 'error', 'defaultExpandMultilineText', 'hasWarning', 'hasError', 'placeholder', 'onClickExpand', 'showExpandIcon', 'hasLanguagesControl']),
435
+ isReadOnly: this.props.isReadOnly || this.props.isDisabled,
487
436
  onChange: this.onValueChange,
488
- plugins: richTextPlugins,
489
- renderEditor: renderEditor$1
437
+ id: this.props.id,
438
+ value: this.internalSlateValue,
439
+ onFocus: this.props.onFocus,
440
+ onBlur: this.props.onBlur,
441
+ isDisabled: this.props.isDisabled,
442
+ defaultExpandMultilineText: this.props.defaultExpandMultilineText,
443
+ hasWarning: this.props.hasWarning,
444
+ hasError: this.props.hasError,
445
+ placeholder: this.props.placeholder,
446
+ showExpandIcon: this.props.showExpandIcon,
447
+ onClickExpand: this.props.onClickExpand,
448
+ language: this.props.language,
449
+ toggleLanguage: this.props.toggleLanguage,
450
+ isOpen: this.props.isOpen,
451
+ warning: this.props.warning,
452
+ error: this.props.error,
453
+ hasLanguagesControl: this.props.hasLanguagesControl,
454
+ ref: this.props.parentRef
490
455
  }));
491
456
  }
492
457
  }]);
@@ -500,28 +465,23 @@ RichTextInput.defaultProps = {
500
465
  };
501
466
  RichTextInput.displayName = 'RichTextInput';
502
467
  RichTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
503
- defaultExpandMultilineText: _pt.bool,
504
- hasError: _pt.bool,
505
- hasWarning: _pt.bool,
506
- id: _pt.string,
507
468
  name: _pt.string,
508
- placeholder: _pt.string,
509
- isDisabled: _pt.bool,
510
- isReadOnly: _pt.bool,
511
469
  onChange: _pt.func,
512
- onBlur: _pt.func,
513
- onFocus: _pt.func,
514
470
  value: _pt.string.isRequired,
515
- showExpandIcon: _pt.bool.isRequired,
516
- onClickExpand: _pt.func,
517
- hasLanguagesControl: _pt.bool,
471
+ parentRef: _pt.any,
518
472
  language: _pt.string.isRequired,
519
473
  isOpen: _pt.bool.isRequired,
520
474
  toggleLanguage: _pt.func.isRequired,
521
475
  warning: _pt.node,
522
476
  error: _pt.string
523
477
  } : {};
524
- var RichTextInput$1 = RichTextInput;
478
+ var RichTextInputWithRef = /*#__PURE__*/forwardRef(function (props, ref) {
479
+ return jsx(RichTextInput, _objectSpread$2({
480
+ parentRef: ref
481
+ }, props));
482
+ });
483
+ RichTextInputWithRef.displayName = 'RichTextInputWithRef';
484
+ var RichTextInput$1 = RichTextInputWithRef;
525
485
 
526
486
  function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
527
487
 
@@ -538,7 +498,7 @@ var RequiredValueErrorMessage$1 = RequiredValueErrorMessage;
538
498
 
539
499
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
540
500
 
541
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
501
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context6, _context7; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context6 = ownKeys(Object(source), !0)).call(_context6, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context7 = ownKeys(Object(source))).call(_context7, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
542
502
 
543
503
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
544
504
  var defaultProps = {
@@ -579,11 +539,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
579
539
  } : {
580
540
  name: "9a4cy7-LocalizedRichTextInput",
581
541
  styles: "align-self:flex-start;label:LocalizedRichTextInput;",
582
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC1yaWNoLXRleHQtaW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFUb0IiLCJmaWxlIjoibG9jYWxpemVkLXJpY2gtdGV4dC1pbnB1dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB1c2VSZWR1Y2VyLFxuICB1c2VDYWxsYmFjayxcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IENvbnN0cmFpbnRzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbnN0cmFpbnRzJztcbmltcG9ydCB7IHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHtcbiAgc29ydExhbmd1YWdlcyxcbiAgY3JlYXRlTG9jYWxpemVkRGF0YUF0dHJpYnV0ZXMsXG4gIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMsXG4gIGdldEhhc1dhcm5pbmdPblJlbWFpbmluZ0xhbmd1YWdlcyxcbiAgaXNUb3VjaGVkLFxuICBnZXRJZCxcbiAgZ2V0TmFtZSxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvbG9jYWxpemVkLXV0aWxzJztcbmltcG9ydCB7IExvY2FsaXplZElucHV0VG9nZ2xlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHsgbG9jYWxpemVkIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvcmljaC10ZXh0LXV0aWxzJztcbmltcG9ydCB7IHdhcm5pbmcgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgUmljaFRleHRJbnB1dCBmcm9tICcuL3JpY2gtdGV4dC1pbnB1dCc7XG5pbXBvcnQgUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZSBmcm9tICcuL3JlcXVpcmVkLXZhbHVlLWVycm9yLW1lc3NhZ2UnO1xuXG50eXBlIFRFcnJvcnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xudHlwZSBUV2FybmluZ3MgPSBSZWNvcmQ8c3RyaW5nLCBSZWFjdE5vZGU+O1xuXG50eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBsYW5ndWFnZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgfTtcbn07XG5cbnR5cGUgVExvY2FsaXplZFJpY2hUZXh0SW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgcHJlZml4IG9mIEhUTUwgYGlkYCBwcm9wZXJ0eS4gRWFjaCBpbnB1dCBmaWVsZCBpZCB3aWxsIGhhdmUgdGhlIGxhbmd1YWdlIGFzIGEgc3VmZml4IChgJHtpZFByZWZpeH0uJHtsYW5nfWApLCBlLmcuIGBmb28uZW5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGBuYW1lYCBwcm9wZXJ0eSBmb3IgZWFjaCBpbnB1dCBmaWVsZC4gRWFjaCBpbnB1dCBmaWVsZCBuYW1lIHdpbGwgaGF2ZSB0aGUgbGFuZ3VhZ2UgYXMgYSBzdWZmaXggKGAke25hbWVQcmVmaXh9LiR7bGFuZ31gKSwgZS5nLiBgZm9vLmVuYFxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLy8gdGhlbiBpbnB1dCBkb2Vzbid0IGFjY2VwdCBhIFwibGFuZ3VhZ2VzXCIgcHJvcCwgaW5zdGVhZCBhbGwgcG9zc2libGVcbiAgLy8gbGFuZ3VhZ2VzIGhhdmUgdG8gZXhpc3QgKHdpdGggZW1wdHkgb3IgZmlsbGVkIHNsYXRlIHZhbHVlcykgb24gdGhlIHZhbHVlOlxuICAvLyAgIHsgZW46IHNsYXRlVmFsdWUsIGRlOiBzbGF0ZVZhbHVlLCBlczogc2xhdGVWYWx1ZSB9XG4gIC8qKlxuICAgKiBWYWx1ZXMgdG8gdXNlLiBLZXllZCBieSBsYW5ndWFnZSwgdGhlIHZhbHVlcyBhcmUgdGhlIGFjdHVhbCB2YWx1ZXMsIGUuZy4gYHsgZW46ICc8cD5Ib3JzZTwvcD4nLCBkZTogJzxwPlBmZXJkPC9wPicgfVxuICAgKi9cbiAgdmFsdWU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBHZXRzIGNhbGxlZCB3aGVuIGFueSBpbnB1dCBpcyBjaGFuZ2VkLiBJcyBjYWxsZWQgd2l0aCB0aGUgY2hhbmdlIGV2ZW50IG9mIHRoZSBjaGFuZ2VkIGlucHV0LlxuICAgKi9cbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGljaCBsYW5ndWFnZSB3aWxsIGJlIHNob3duIGluIGNhc2UgdGhlIGBMb2NhbGl6ZWRSaWNoVGV4dElucHV0YCBpcyBjb2xsYXBzZWQuXG4gICAqL1xuICBzZWxlY3RlZExhbmd1YWdlOiBzdHJpbmc7XG4gIC8qKlxuICAgKkNhbGxlZCB3aGVuIGFueSBmaWVsZCBpcyBibHVycmVkLiBJcyBjYWxsZWQgd2l0aCB0aGUgYGV2ZW50YCBvZiB0aGF0IGZpZWxkLlxuICAgKi9cbiAgb25CbHVyPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbnkgZmllbGQgaXMgZm9jdXNzZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBgZXZlbnRgIG9mIHRoYXQgZmllbGQuXG4gICAqL1xuICBvbkZvY3VzPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBFeHBhbmRzIGlucHV0IGNvbXBvbmVudHMgaG9sZGluZyBtdWx0aWxpbmUgdmFsdWVzIGluc3RlYWQgb2YgY29sbGFwc2luZyB0aGVtIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaWxsIGhpZGUgdGhlIGxhbmd1YWdlIGV4cGFuc2lvbiBjb250cm9scyB3aGVuIHNldCB0byBgdHJ1ZWAuIEFsbCBsYW5ndWFnZXMgd2lsbCBiZSBzaG93biB3aGVuIHNldCB0byBgdHJ1ZWBcbiAgICovXG4gIGhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgb25lIG9yIGFsbCBsYW5ndWFnZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC4gUGFzcyBgdHJ1ZWAgdG8gc2hvdyBhbGwgbGFuZ3VhZ2VzIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBkZWZhdWx0RXhwYW5kTGFuZ3VhZ2VzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGVzIGFsbCBpbnB1dFxuICAgKi9cbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhbGwgaW5wdXQgZmllbGRzIGFuZCBzaG93cyB0aGVtIGluIHJlYWQtb25seSBtb2RlLlxuICAgKi9cbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlcnMgZm9yIGVhY2ggbGFuZ3VhZ2UuIE9iamVjdCBvZiB0aGUgc2FtZSBzaGFwZSBhc1xuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IG9mIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBob3Jpem9udGFsQ29uc3RyYWludD86XG4gICAgfCA3XG4gICAgfCA4XG4gICAgfCA5XG4gICAgfCAxMFxuICAgIHwgMTFcbiAgICB8IDEyXG4gICAgfCAxM1xuICAgIHwgMTRcbiAgICB8IDE1XG4gICAgfCAxNlxuICAgIHwgJ3NjYWxlJ1xuICAgIHwgJ2F1dG8nO1xuICAvKipcbiAgICogV2lsbCBhcHBseSB0aGUgZXJyb3Igc3RhdGUgdG8gZWFjaCBpbnB1dCB3aXRob3V0IHNob3dpbmcgYW55IGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaWxsIGFwcGx5IHRoZSB3YXJuaW5nIHN0YXRlIHRvIGVhY2ggaW5wdXQgd2l0aG91dCBzaG93aW5nIGFueSB3YXJuaW5nIG1lc3NhZ2UuXG4gICAqL1xuICBoYXNXYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzZWQgdG8gc2hvdyBlcnJvcnMgdW5kZXJuZWF0aCB0aGUgaW5wdXRzIG9mIHNwZWNpZmljIGxhbmd1YWdlcy4gUGFzcyBhbiBvYmplY3Qgd2hvc2Uga2V5IGlzIGEgbGFuZ3VhZ2UgYW5kIHdob3NlIHZhbHVlIGlzIHRoZSBlcnJvciB0byBzaG93IGZvciB0aGF0IGtleS5cbiAgICovXG4gIGVycm9ycz86IFRFcnJvcnM7XG4gIC8qKlxuICAgKiBVc2VkIHRvIHNob3cgd2FybmluZ3MgdW5kZXJuZWF0aCB0aGUgaW5wdXRzIG9mIHNwZWNpZmljIGxhbmd1YWdlcy4gUGFzcyBhbiBvYmplY3Qgd2hvc2Uga2V5IGlzIGEgbGFuZ3VhZ2UgYW5kIHdob3NlIHZhbHVlIGlzIHRoZSB3YXJuaW5nIHRvIHNob3cgZm9yIHRoYXQga2V5LlxuICAgKi9cbiAgd2FybmluZ3M/OiBUV2FybmluZ3M7XG4gIC8qKlxuICAgKiBTaG93cyBhbiBgZXhwYW5kYCBpY29uIGluIHRoZSB0b29sYmFyXG4gICAqL1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBgZXhwYW5kYCBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG59O1xuXG50eXBlIFRSZWR1Y2VyU3RhdGUgPSB7XG4gIFtpZDogc3RyaW5nXTogYm9vbGVhbjtcbn07XG5cbnR5cGUgVFJlZHVjZXJBY3Rpb24gPVxuICB8IHsgdHlwZTogJ3RvZ2dsZSc7IHBheWxvYWQ6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiAndG9nZ2xlQWxsJzsgcGF5bG9hZDogc3RyaW5nIH07XG5cbmNvbnN0IGRlZmF1bHRQcm9wczogUGljazxcbiAgVExvY2FsaXplZFJpY2hUZXh0SW5wdXRQcm9wcyxcbiAgJ2hvcml6b250YWxDb25zdHJhaW50JyB8ICdzaG93RXhwYW5kSWNvbidcbj4gPSB7XG4gIGhvcml6b250YWxDb25zdHJhaW50OiAnc2NhbGUnLFxuICBzaG93RXhwYW5kSWNvbjogZmFsc2UsXG59O1xuXG5jb25zdCBleHBhbmRlZFRyYW5zbGF0aW9uc1JlZHVjZXIgPSAoXG4gIHN0YXRlOiBUUmVkdWNlclN0YXRlLFxuICBhY3Rpb246IFRSZWR1Y2VyQWN0aW9uXG4pID0+IHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgJ3RvZ2dsZSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgW2FjdGlvbi5wYXlsb2FkXTogIXN0YXRlW2FjdGlvbi5wYXlsb2FkXSxcbiAgICAgIH07XG5cbiAgICBjYXNlICd0b2dnbGVBbGwnOiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IE9iamVjdC5rZXlzKHN0YXRlKS5yZWR1Y2UoKHRyYW5zbGF0aW9ucywgbG9jYWxlKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgW2xvY2FsZV06IHRydWUsXG4gICAgICAgICAgLi4udHJhbnNsYXRpb25zLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICAgICAgcmV0dXJuIG5ld1N0YXRlO1xuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59O1xuXG4vLyBUaGlzIGNvbXBvbmVudCBzdXBwb3J0cyBleHBhbmRpbmcvY29sbGFwc2luZyByaWNoIHRleHQgaW5wdXRzLCBidXQgaXQgYWxzb1xuLy8gc3VwcG9ydHMgc2hvd2luZy9oaWRpbmcgdGhlIHJlbWFpbmluZyBsYW5ndWFnZXMuXG4vLyBUaGVzZSB0d28gZmVhdHVyZXMgYXJlIGJvdGggYWJvdXQgb3BlbmluZy9jbG9zaW5nIHNvbWV0aGluZywgYW5kIHNvIHRoZSBjb2RlXG4vLyBjYW4gZ2V0IHF1aXRlIGNvbmZ1c2luZy4gV2UgdHJ5IHRvIHN0aWNrIHRvIGV4cGFuZC9jb2xsYXBzZSBmb3IgdGhlXG4vLyBtdWx0aWxpbmUgaW5wdXRzLCB3aGlsZSB3ZSB1c2Ugc2hvdy9oaWRlL29wZW4vY2xvc2UgZm9yIHRoZSByZW1haW5pbmdcbi8vIGxhbmd1YWdlcy5cbmNvbnN0IExvY2FsaXplZFJpY2hUZXh0SW5wdXQgPSAocHJvcHM6IFRMb2NhbGl6ZWRSaWNoVGV4dElucHV0UHJvcHMpID0+IHtcbiAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdMb2NhbGl6ZWRSaWNoVGV4dElucHV0OiBgb25DaGFuZ2VgIGlzIHJlcXVpcmVkIHdoZW4gaW5wdXQgaXMgbm90IHJlYWQgb25seS4nXG4gICAgKTtcbiAgfVxuXG4gIGlmIChwcm9wcy5zaG93RXhwYW5kSWNvbikge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMub25DbGlja0V4cGFuZCA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdMb2NhbGl6ZWRSaWNoVGV4dElucHV0OiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGlmIChwcm9wcy5oaWRlTGFuZ3VhZ2VFeHBhbnNpb25Db250cm9scykge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMuZGVmYXVsdEV4cGFuZExhbmd1YWdlcyAhPT0gJ2Jvb2xlYW4nLFxuICAgICAgJ0xvY2FsaXplZFJpY2hUZXh0SW5wdXQ6IFwiZGVmYXVsdEV4cGFuZExhbmd1YWdlc1wiIGRvZXMgbm90IGhhdmUgYW55IGVmZmVjdCB3aGVuIFwiaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHNcIiBpcyBzZXQuJ1xuICAgICk7XG4gIH1cblxuICBjb25zdCBpbml0aWFsRXhwYW5kZWRUcmFuc2xhdGlvbnNTdGF0ZSA9IE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKS5yZWR1Y2UoXG4gICAgKHRyYW5zbGF0aW9ucywgbG9jYWxlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbbG9jYWxlXTogQm9vbGVhbihwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCksXG4gICAgICAgIC4uLnRyYW5zbGF0aW9ucyxcbiAgICAgIH07XG4gICAgfSxcbiAgICB7fVxuICApO1xuXG4gIGNvbnN0IFtleHBhbmRlZFRyYW5zbGF0aW9uc1N0YXRlLCBleHBhbmRlZFRyYW5zbGF0aW9uc0Rpc3BhdGNoXSA9IHVzZVJlZHVjZXIoXG4gICAgZXhwYW5kZWRUcmFuc2xhdGlvbnNSZWR1Y2VyLFxuICAgIGluaXRpYWxFeHBhbmRlZFRyYW5zbGF0aW9uc1N0YXRlXG4gICk7XG5cbiAgY29uc3QgZGVmYXVsdEV4cGFuc2lvblN0YXRlID1cbiAgICBwcm9wcy5oaWRlTGFuZ3VhZ2VFeHBhbnNpb25Db250cm9scyB8fFxuICAgIHByb3BzLmRlZmF1bHRFeHBhbmRMYW5ndWFnZXMgfHxcbiAgICAvLyB1c2VUb2dnbGVTdGF0ZSdzIGRlZmF1bHQgaXMgYHRydWVgLCBidXQgd2Ugd2FudCBgZmFsc2VgXG4gICAgZmFsc2U7XG5cbiAgY29uc3QgW2FyZUxhbmd1YWdlc09wZW5lZCwgdG9nZ2xlTGFuZ3VhZ2VzXSA9IHVzZVRvZ2dsZVN0YXRlKFxuICAgIGRlZmF1bHRFeHBhbnNpb25TdGF0ZVxuICApO1xuXG4gIGNvbnN0IHRvZ2dsZUxhbmd1YWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGxhbmd1YWdlKSA9PiB7XG4gICAgICBleHBhbmRlZFRyYW5zbGF0aW9uc0Rpc3BhdGNoKHsgdHlwZTogJ3RvZ2dsZScsIHBheWxvYWQ6IGxhbmd1YWdlIH0pO1xuICAgIH0sXG4gICAgW2V4cGFuZGVkVHJhbnNsYXRpb25zRGlzcGF0Y2hdXG4gICk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VzID0gc29ydExhbmd1YWdlcyhcbiAgICBwcm9wcy5zZWxlY3RlZExhbmd1YWdlLFxuICAgIE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKVxuICApO1xuXG4gIGNvbnN0IGhhc0Vycm9ySW5SZW1haW5pbmdMYW5ndWFnZXMgPVxuICAgIHByb3BzLmhhc0Vycm9yIHx8XG4gICAgZ2V0SGFzRXJyb3JPblJlbWFpbmluZ0xhbmd1YWdlcyhwcm9wcy5lcnJvcnMsIHByb3BzLnNlbGVjdGVkTGFuZ3VhZ2UpO1xuXG4gIGNvbnN0IGhhc1dhcm5pbmdJblJlbWFpbmluZ0xhbmd1YWdlcyA9XG4gICAgcHJvcHMuaGFzV2FybmluZyB8fFxuICAgIGdldEhhc1dhcm5pbmdPblJlbWFpbmluZ0xhbmd1YWdlcyhwcm9wcy53YXJuaW5ncywgcHJvcHMuc2VsZWN0ZWRMYW5ndWFnZSk7XG5cbiAgaWYgKGhhc0Vycm9ySW5SZW1haW5pbmdMYW5ndWFnZXMgfHwgaGFzV2FybmluZ0luUmVtYWluaW5nTGFuZ3VhZ2VzKSB7XG4gICAgaWYgKCFhcmVMYW5ndWFnZXNPcGVuZWQpIHtcbiAgICAgIC8vIHRoaXMgdXBkYXRlIHdpdGhpbiByZW5kZXIgcmVwbGFjZXMgdGhlIG9sZCBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBmdW5jdGlvbmFsaXR5XG4gICAgICAvLyBodHRwczovL3JlYWN0anMub3JnL2RvY3MvaG9va3MtZmFxLmh0bWwjaG93LWRvLWktaW1wbGVtZW50LWdldGRlcml2ZWRzdGF0ZWZyb21wcm9wc1xuICAgICAgdG9nZ2xlTGFuZ3VhZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2hvdWxkUmVuZGVyTGFuZ3VhZ2VzQ29udHJvbCA9XG4gICAgbGFuZ3VhZ2VzLmxlbmd0aCA+IDEgJiYgIXByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICA8U3RhY2s+XG4gICAgICAgICAge2xhbmd1YWdlcy5tYXAoKGxhbmd1YWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNGaXJzdExhbmd1YWdlID0gaW5kZXggPT09IDA7XG4gICAgICAgICAgICBpZiAoIWlzRmlyc3RMYW5ndWFnZSAmJiAhYXJlTGFuZ3VhZ2VzT3BlbmVkKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IGlzTGFzdExhbmd1YWdlID0gaW5kZXggPT09IGxhbmd1YWdlcy5sZW5ndGggLSAxO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNMYW5ndWFnZXNDb250cm9sID1cbiAgICAgICAgICAgICAgKGlzRmlyc3RMYW5ndWFnZSAmJiAhYXJlTGFuZ3VhZ2VzT3BlbmVkKSB8fCBpc0xhc3RMYW5ndWFnZTtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFJpY2hUZXh0SW5wdXRcbiAgICAgICAgICAgICAgICBrZXk9e2xhbmd1YWdlfVxuICAgICAgICAgICAgICAgIGlkPXtMb2NhbGl6ZWRSaWNoVGV4dElucHV0LmdldElkKHByb3BzLmlkLCBsYW5ndWFnZSl9XG4gICAgICAgICAgICAgICAgbmFtZT17TG9jYWxpemVkUmljaFRleHRJbnB1dC5nZXROYW1lKHByb3BzLm5hbWUsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17cHJvcHMudmFsdWVbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgaXNPcGVuPXtleHBhbmRlZFRyYW5zbGF0aW9uc1N0YXRlW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICB0b2dnbGVMYW5ndWFnZT17dG9nZ2xlTGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgICAgICAgcHJvcHMucGxhY2Vob2xkZXIgPyBwcm9wcy5wbGFjZWhvbGRlcltsYW5ndWFnZV0gOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25CbHVyPXtwcm9wcy5vbkJsdXJ9XG4gICAgICAgICAgICAgICAgb25Gb2N1cz17cHJvcHMub25Gb2N1c31cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e0Jvb2xlYW4oXG4gICAgICAgICAgICAgICAgICBwcm9wcy5oYXNFcnJvciB8fCAocHJvcHMuZXJyb3JzICYmIHByb3BzLmVycm9yc1tsYW5ndWFnZV0pXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtCb29sZWFuKFxuICAgICAgICAgICAgICAgICAgcHJvcHMuaGFzV2FybmluZyB8fFxuICAgICAgICAgICAgICAgICAgICAocHJvcHMud2FybmluZ3MgJiYgcHJvcHMud2FybmluZ3NbbGFuZ3VhZ2VdKVxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgd2FybmluZz17cHJvcHMud2FybmluZ3MgJiYgcHJvcHMud2FybmluZ3NbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgIGVycm9yPXtwcm9wcy5lcnJvcnMgJiYgcHJvcHMuZXJyb3JzW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICBzaG93RXhwYW5kSWNvbj17cHJvcHMuc2hvd0V4cGFuZEljb259XG4gICAgICAgICAgICAgICAgb25DbGlja0V4cGFuZD17cHJvcHMub25DbGlja0V4cGFuZH1cbiAgICAgICAgICAgICAgICBoYXNMYW5ndWFnZXNDb250cm9sPXtoYXNMYW5ndWFnZXNDb250cm9sfVxuICAgICAgICAgICAgICAgIHsuLi5jcmVhdGVMb2NhbGl6ZWREYXRhQXR0cmlidXRlcyhwcm9wcywgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge3Nob3VsZFJlbmRlckxhbmd1YWdlc0NvbnRyb2wgJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TG9jYWxpemVkSW5wdXRUb2dnbGVcbiAgICAgICAgICAgICAgaXNPcGVuPXthcmVMYW5ndWFnZXNPcGVuZWR9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e1xuICAgICAgICAgICAgICAgIHRvZ2dsZUxhbmd1YWdlcyBhcyAoXG4gICAgICAgICAgICAgICAgICBldmVudDpcbiAgICAgICAgICAgICAgICAgICAgfCBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIHwgYm9vbGVhblxuICAgICAgICAgICAgICAgICkgPT4gdm9pZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e1xuICAgICAgICAgICAgICAgIGFyZUxhbmd1YWdlc09wZW5lZCAmJlxuICAgICAgICAgICAgICAgIEJvb2xlYW4oXG4gICAgICAgICAgICAgICAgICBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzIHx8IGhhc1dhcm5pbmdJblJlbWFpbmluZ0xhbmd1YWdlc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZW1haW5pbmdMb2NhbGl6YXRpb25zPXtsYW5ndWFnZXMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L1N0YWNrPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuZGlzcGxheU5hbWUgPSAnTG9jYWxpemVkUmljaFRleHRJbnB1dCc7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZSA9IFJlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2U7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuZ2V0SWQgPSBnZXRJZDtcblxuTG9jYWxpemVkUmljaFRleHRJbnB1dC5nZXROYW1lID0gZ2V0TmFtZTtcblxuTG9jYWxpemVkUmljaFRleHRJbnB1dC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuY3JlYXRlTG9jYWxpemVkU3RyaW5nID0gbG9jYWxpemVkLmNyZWF0ZUxvY2FsaXplZFN0cmluZztcblxuTG9jYWxpemVkUmljaFRleHRJbnB1dC5pc0VtcHR5ID0gbG9jYWxpemVkLmlzRW1wdHk7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQub21pdEVtcHR5VHJhbnNsYXRpb25zID0gbG9jYWxpemVkLm9taXRFbXB0eVRyYW5zbGF0aW9ucztcblxuTG9jYWxpemVkUmljaFRleHRJbnB1dC5pc1RvdWNoZWQgPSBpc1RvdWNoZWQ7XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsaXplZFJpY2hUZXh0SW5wdXQ7XG4iXX0= */",
542
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC1yaWNoLXRleHQtaW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1Yc0IiLCJmaWxlIjoibG9jYWxpemVkLXJpY2gtdGV4dC1pbnB1dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB1c2VSZWR1Y2VyLFxuICB1c2VDYWxsYmFjayxcbiAgZm9yd2FyZFJlZixcbiAgdXNlUmVmLFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIHR5cGUgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudCxcbiAgdHlwZSBSZWZBdHRyaWJ1dGVzLFxuICB0eXBlIEZvY3VzRXZlbnRIYW5kbGVyLFxuICB0eXBlIE11dGFibGVSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTdGFjayBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncy1zdGFjayc7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQge1xuICBzb3J0TGFuZ3VhZ2VzLFxuICBjcmVhdGVMb2NhbGl6ZWREYXRhQXR0cmlidXRlcyxcbiAgZ2V0SGFzRXJyb3JPblJlbWFpbmluZ0xhbmd1YWdlcyxcbiAgZ2V0SGFzV2FybmluZ09uUmVtYWluaW5nTGFuZ3VhZ2VzLFxuICBpc1RvdWNoZWQsXG4gIGdldElkLFxuICBnZXROYW1lLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9sb2NhbGl6ZWQtdXRpbHMnO1xuaW1wb3J0IHsgTG9jYWxpemVkSW5wdXRUb2dnbGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQgeyBsb2NhbGl6ZWQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHsgd2FybmluZywgZmlsdGVyRGF0YUF0dHJpYnV0ZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgUmljaFRleHRJbnB1dCBmcm9tICcuL3JpY2gtdGV4dC1pbnB1dCc7XG5pbXBvcnQgUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZSBmcm9tICcuL3JlcXVpcmVkLXZhbHVlLWVycm9yLW1lc3NhZ2UnO1xuXG50eXBlIFRFcnJvcnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xudHlwZSBUV2FybmluZ3MgPSBSZWNvcmQ8c3RyaW5nLCBSZWFjdE5vZGU+O1xudHlwZSBUQ3VzdG9tRXZlbnQgPSB7XG4gIHRhcmdldDoge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBUTG9jYWxpemVkUmljaFRleHRJbnB1dFByb3BzID0ge1xuICAvKipcbiAgICogVXNlZCBhcyBwcmVmaXggb2YgSFRNTCBgaWRgIHByb3BlcnR5LiBFYWNoIGlucHV0IGZpZWxkIGlkIHdpbGwgaGF2ZSB0aGUgbGFuZ3VhZ2UgYXMgYSBzdWZmaXggKGAke2lkUHJlZml4fS4ke2xhbmd9YCksIGUuZy4gYGZvby5lblxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYG5hbWVgIHByb3BlcnR5IGZvciBlYWNoIGlucHV0IGZpZWxkLiBFYWNoIGlucHV0IGZpZWxkIG5hbWUgd2lsbCBoYXZlIHRoZSBsYW5ndWFnZSBhcyBhIHN1ZmZpeCAoYCR7bmFtZVByZWZpeH0uJHtsYW5nfWApLCBlLmcuIGBmb28uZW5gXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvLyB0aGVuIGlucHV0IGRvZXNuJ3QgYWNjZXB0IGEgXCJsYW5ndWFnZXNcIiBwcm9wLCBpbnN0ZWFkIGFsbCBwb3NzaWJsZVxuICAvLyBsYW5ndWFnZXMgaGF2ZSB0byBleGlzdCAod2l0aCBlbXB0eSBvciBmaWxsZWQgc2xhdGUgdmFsdWVzKSBvbiB0aGUgdmFsdWU6XG4gIC8vICAgeyBlbjogc2xhdGVWYWx1ZSwgZGU6IHNsYXRlVmFsdWUsIGVzOiBzbGF0ZVZhbHVlIH1cbiAgLyoqXG4gICAqIFZhbHVlcyB0byB1c2UuIEtleWVkIGJ5IGxhbmd1YWdlLCB0aGUgdmFsdWVzIGFyZSB0aGUgYWN0dWFsIHZhbHVlcywgZS5nLiBgeyBlbjogJzxwPkhvcnNlPC9wPicsIGRlOiAnPHA+UGZlcmQ8L3A+JyB9XG4gICAqL1xuICB2YWx1ZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIEdldHMgY2FsbGVkIHdoZW4gYW55IGlucHV0IGlzIGNoYW5nZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBjaGFuZ2UgZXZlbnQgb2YgdGhlIGNoYW5nZWQgaW5wdXQuXG4gICAqL1xuICBvbkNoYW5nZT86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHdoaWNoIGxhbmd1YWdlIHdpbGwgYmUgc2hvd24gaW4gY2FzZSB0aGUgYExvY2FsaXplZFJpY2hUZXh0SW5wdXRgIGlzIGNvbGxhcHNlZC5cbiAgICovXG4gIHNlbGVjdGVkTGFuZ3VhZ2U6IHN0cmluZztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFueSBmaWVsZCBpcyBibHVycmVkLiBJcyBjYWxsZWQgd2l0aCB0aGUgYGV2ZW50YCBvZiB0aGF0IGZpZWxkLlxuICAgKi9cbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYW55IGZpZWxkIGlzIGZvY3Vzc2VkLiBJcyBjYWxsZWQgd2l0aCB0aGUgYGV2ZW50YCBvZiB0aGF0IGZpZWxkLlxuICAgKi9cbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgLyoqXG4gICAqIEV4cGFuZHMgaW5wdXQgY29tcG9uZW50cyBob2xkaW5nIG11bHRpbGluZSB2YWx1ZXMgaW5zdGVhZCBvZiBjb2xsYXBzaW5nIHRoZW0gYnkgZGVmYXVsdC5cbiAgICovXG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdpbGwgaGlkZSB0aGUgbGFuZ3VhZ2UgZXhwYW5zaW9uIGNvbnRyb2xzIHdoZW4gc2V0IHRvIGB0cnVlYC4gQWxsIGxhbmd1YWdlcyB3aWxsIGJlIHNob3duIHdoZW4gc2V0IHRvIGB0cnVlYFxuICAgKi9cbiAgaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29udHJvbHMgd2hldGhlciBvbmUgb3IgYWxsIGxhbmd1YWdlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LiBQYXNzIGB0cnVlYCB0byBzaG93IGFsbCBsYW5ndWFnZXMgYnkgZGVmYXVsdC5cbiAgICovXG4gIGRlZmF1bHRFeHBhbmRMYW5ndWFnZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogRGlzYWJsZXMgYWxsIGlucHV0XG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGVzIGFsbCBpbnB1dCBmaWVsZHMgYW5kIHNob3dzIHRoZW0gaW4gcmVhZC1vbmx5IG1vZGUuXG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVycyBmb3IgZWFjaCBsYW5ndWFnZS4gT2JqZWN0IG9mIHRoZSBzYW1lIHNoYXBlIGFzXG4gICAqL1xuICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgb2YgdGhlIGlucHV0IGZpZWxkcy5cbiAgICovXG4gIGhvcml6b250YWxDb25zdHJhaW50PzpcbiAgICB8IDdcbiAgICB8IDhcbiAgICB8IDlcbiAgICB8IDEwXG4gICAgfCAxMVxuICAgIHwgMTJcbiAgICB8IDEzXG4gICAgfCAxNFxuICAgIHwgMTVcbiAgICB8IDE2XG4gICAgfCAnc2NhbGUnXG4gICAgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBXaWxsIGFwcGx5IHRoZSBlcnJvciBzdGF0ZSB0byBlYWNoIGlucHV0IHdpdGhvdXQgc2hvd2luZyBhbnkgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdpbGwgYXBwbHkgdGhlIHdhcm5pbmcgc3RhdGUgdG8gZWFjaCBpbnB1dCB3aXRob3V0IHNob3dpbmcgYW55IHdhcm5pbmcgbWVzc2FnZS5cbiAgICovXG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogVXNlZCB0byBzaG93IGVycm9ycyB1bmRlcm5lYXRoIHRoZSBpbnB1dHMgb2Ygc3BlY2lmaWMgbGFuZ3VhZ2VzLiBQYXNzIGFuIG9iamVjdCB3aG9zZSBrZXkgaXMgYSBsYW5ndWFnZSBhbmQgd2hvc2UgdmFsdWUgaXMgdGhlIGVycm9yIHRvIHNob3cgZm9yIHRoYXQga2V5LlxuICAgKi9cbiAgZXJyb3JzPzogVEVycm9ycztcbiAgLyoqXG4gICAqIFVzZWQgdG8gc2hvdyB3YXJuaW5ncyB1bmRlcm5lYXRoIHRoZSBpbnB1dHMgb2Ygc3BlY2lmaWMgbGFuZ3VhZ2VzLiBQYXNzIGFuIG9iamVjdCB3aG9zZSBrZXkgaXMgYSBsYW5ndWFnZSBhbmQgd2hvc2UgdmFsdWUgaXMgdGhlIHdhcm5pbmcgdG8gc2hvdyBmb3IgdGhhdCBrZXkuXG4gICAqL1xuICB3YXJuaW5ncz86IFRXYXJuaW5ncztcbiAgLyoqXG4gICAqIFNob3dzIGFuIGBleHBhbmRgIGljb24gaW4gdGhlIHRvb2xiYXJcbiAgICovXG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGBleHBhbmRgIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbn07XG5cbi8vIFdoZW4gY29tcG9uZW50IGlzIHVzaW5nIGBmb3J3YXJkUmVmYCBvbmx5IGBkZWZhdWx0UHJvcHNgIGFuZCBgZGlzcGxheU5hbWVgIGFyZSByZWNvZ25pemVkIGJ5IGRlZmF1bHQgYXMgc3RhdGljIHByb3BzXG50eXBlIFN0YXRpY1Byb3BzID0ge1xuICBSZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlOiB0eXBlb2YgUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZTtcbiAgZ2V0SWQ6IHR5cGVvZiBnZXRJZDtcbiAgZ2V0TmFtZTogdHlwZW9mIGdldE5hbWU7XG4gIGNyZWF0ZUxvY2FsaXplZFN0cmluZzogdHlwZW9mIGxvY2FsaXplZC5jcmVhdGVMb2NhbGl6ZWRTdHJpbmc7XG4gIGlzRW1wdHk6IHR5cGVvZiBsb2NhbGl6ZWQuaXNFbXB0eTtcbiAgb21pdEVtcHR5VHJhbnNsYXRpb25zOiB0eXBlb2YgbG9jYWxpemVkLm9taXRFbXB0eVRyYW5zbGF0aW9ucztcbiAgaXNUb3VjaGVkOiB0eXBlb2YgaXNUb3VjaGVkO1xufTtcblxudHlwZSBUUmVkdWNlclN0YXRlID0ge1xuICBbaWQ6IHN0cmluZ106IGJvb2xlYW47XG59O1xuXG50eXBlIFRSZWR1Y2VyQWN0aW9uID1cbiAgfCB7IHR5cGU6ICd0b2dnbGUnOyBwYXlsb2FkOiBzdHJpbmcgfVxuICB8IHsgdHlwZTogJ3RvZ2dsZUFsbCc7IHBheWxvYWQ6IHN0cmluZyB9O1xuXG50eXBlIFJlZldpdGhJbXBlcmF0aXZlUmVzZXRIYW5kbGVyID0gTXV0YWJsZVJlZk9iamVjdDx1bmtub3duPiAmIHtcbiAgcmVzZXRWYWx1ZTogKG5ld1ZhbHVlOiBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA9PiB2b2lkO1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUTG9jYWxpemVkUmljaFRleHRJbnB1dFByb3BzLFxuICAnaG9yaXpvbnRhbENvbnN0cmFpbnQnIHwgJ3Nob3dFeHBhbmRJY29uJ1xuPiA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG4gIHNob3dFeHBhbmRJY29uOiBmYWxzZSxcbn07XG5cbmNvbnN0IGV4cGFuZGVkVHJhbnNsYXRpb25zUmVkdWNlciA9IChcbiAgc3RhdGU6IFRSZWR1Y2VyU3RhdGUsXG4gIGFjdGlvbjogVFJlZHVjZXJBY3Rpb25cbikgPT4ge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSAndG9nZ2xlJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBbYWN0aW9uLnBheWxvYWRdOiAhc3RhdGVbYWN0aW9uLnBheWxvYWRdLFxuICAgICAgfTtcblxuICAgIGNhc2UgJ3RvZ2dsZUFsbCc6IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gT2JqZWN0LmtleXMoc3RhdGUpLnJlZHVjZSgodHJhbnNsYXRpb25zLCBsb2NhbGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBbbG9jYWxlXTogdHJ1ZSxcbiAgICAgICAgICAuLi50cmFuc2xhdGlvbnMsXG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG4gICAgICByZXR1cm4gbmV3U3RhdGU7XG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn07XG5cbi8vIFRoaXMgY29tcG9uZW50IHN1cHBvcnRzIGV4cGFuZGluZy9jb2xsYXBzaW5nIHJpY2ggdGV4dCBpbnB1dHMsIGJ1dCBpdCBhbHNvXG4vLyBzdXBwb3J0cyBzaG93aW5nL2hpZGluZyB0aGUgcmVtYWluaW5nIGxhbmd1YWdlcy5cbi8vIFRoZXNlIHR3byBmZWF0dXJlcyBhcmUgYm90aCBhYm91dCBvcGVuaW5nL2Nsb3Npbmcgc29tZXRoaW5nLCBhbmQgc28gdGhlIGNvZGVcbi8vIGNhbiBnZXQgcXVpdGUgY29uZnVzaW5nLiBXZSB0cnkgdG8gc3RpY2sgdG8gZXhwYW5kL2NvbGxhcHNlIGZvciB0aGVcbi8vIG11bHRpbGluZSBpbnB1dHMsIHdoaWxlIHdlIHVzZSBzaG93L2hpZGUvb3Blbi9jbG9zZSBmb3IgdGhlIHJlbWFpbmluZ1xuLy8gbGFuZ3VhZ2VzLlxuY29uc3QgTG9jYWxpemVkUmljaFRleHRJbnB1dDogRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxcbiAgVExvY2FsaXplZFJpY2hUZXh0SW5wdXRQcm9wcyAmIFJlZkF0dHJpYnV0ZXM8dW5rbm93bj5cbj4gJlxuICBQYXJ0aWFsPFN0YXRpY1Byb3BzPiA9IGZvcndhcmRSZWYoXG4gIChwcm9wczogVExvY2FsaXplZFJpY2hUZXh0SW5wdXRQcm9wcywgcmVmKSA9PiB7XG4gICAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgICB3YXJuaW5nKFxuICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicsXG4gICAgICAgICdMb2NhbGl6ZWRSaWNoVGV4dElucHV0OiBgb25DaGFuZ2VgIGlzIHJlcXVpcmVkIHdoZW4gaW5wdXQgaXMgbm90IHJlYWQgb25seS4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zaG93RXhwYW5kSWNvbikge1xuICAgICAgd2FybmluZyhcbiAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAgICdMb2NhbGl6ZWRSaWNoVGV4dElucHV0OiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5oaWRlTGFuZ3VhZ2VFeHBhbnNpb25Db250cm9scykge1xuICAgICAgd2FybmluZyhcbiAgICAgICAgdHlwZW9mIHByb3BzLmRlZmF1bHRFeHBhbmRMYW5ndWFnZXMgIT09ICdib29sZWFuJyxcbiAgICAgICAgJ0xvY2FsaXplZFJpY2hUZXh0SW5wdXQ6IFwiZGVmYXVsdEV4cGFuZExhbmd1YWdlc1wiIGRvZXMgbm90IGhhdmUgYW55IGVmZmVjdCB3aGVuIFwiaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHNcIiBpcyBzZXQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbml0aWFsRXhwYW5kZWRUcmFuc2xhdGlvbnNTdGF0ZSA9IE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKS5yZWR1Y2UoXG4gICAgICAodHJhbnNsYXRpb25zLCBsb2NhbGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBbbG9jYWxlXTogQm9vbGVhbihwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCksXG4gICAgICAgICAgLi4udHJhbnNsYXRpb25zLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IFtleHBhbmRlZFRyYW5zbGF0aW9uc1N0YXRlLCBleHBhbmRlZFRyYW5zbGF0aW9uc0Rpc3BhdGNoXSA9XG4gICAgICB1c2VSZWR1Y2VyKGV4cGFuZGVkVHJhbnNsYXRpb25zUmVkdWNlciwgaW5pdGlhbEV4cGFuZGVkVHJhbnNsYXRpb25zU3RhdGUpO1xuXG4gICAgY29uc3QgZGVmYXVsdEV4cGFuc2lvblN0YXRlID0gQm9vbGVhbihcbiAgICAgIHByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzIHx8IHByb3BzLmRlZmF1bHRFeHBhbmRMYW5ndWFnZXNcbiAgICApO1xuXG4gICAgY29uc3QgW2FyZUxhbmd1YWdlc09wZW5lZCwgdG9nZ2xlTGFuZ3VhZ2VzXSA9IHVzZVRvZ2dsZVN0YXRlKFxuICAgICAgZGVmYXVsdEV4cGFuc2lvblN0YXRlXG4gICAgKTtcblxuICAgIGNvbnN0IHRvZ2dsZUxhbmd1YWdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAobGFuZ3VhZ2UpID0+IHtcbiAgICAgICAgZXhwYW5kZWRUcmFuc2xhdGlvbnNEaXNwYXRjaCh7IHR5cGU6ICd0b2dnbGUnLCBwYXlsb2FkOiBsYW5ndWFnZSB9KTtcbiAgICAgIH0sXG4gICAgICBbZXhwYW5kZWRUcmFuc2xhdGlvbnNEaXNwYXRjaF1cbiAgICApO1xuXG4gICAgY29uc3QgY3JlYXRlQ2hhbmdlSGFuZGxlciA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGxhbmd1YWdlOiBzdHJpbmcpID0+IChzdGF0ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHByb3BzLm9uQ2hhbmdlPy4oe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IHByb3BzPy5pZCA/IGAke3Byb3BzLmlkfS4ke2xhbmd1YWdlfWAgOiAnJyxcbiAgICAgICAgICAgIG5hbWU6IHByb3BzPy5uYW1lID8gYCR7cHJvcHMubmFtZX0uJHtsYW5ndWFnZX1gIDogJycsXG4gICAgICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgICAgIHZhbHVlOiBzdGF0ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICBbcHJvcHMuaWQsIHByb3BzLm5hbWUsIHByb3BzLm9uQ2hhbmdlXVxuICAgICk7XG5cbiAgICBjb25zdCBsYW5ndWFnZXMgPSBzb3J0TGFuZ3VhZ2VzKFxuICAgICAgcHJvcHMuc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgIE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKVxuICAgICk7XG5cbiAgICBjb25zdCBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzID1cbiAgICAgIHByb3BzLmhhc0Vycm9yIHx8XG4gICAgICBnZXRIYXNFcnJvck9uUmVtYWluaW5nTGFuZ3VhZ2VzKHByb3BzLmVycm9ycywgcHJvcHMuc2VsZWN0ZWRMYW5ndWFnZSk7XG5cbiAgICBjb25zdCBoYXNXYXJuaW5nSW5SZW1haW5pbmdMYW5ndWFnZXMgPVxuICAgICAgcHJvcHMuaGFzV2FybmluZyB8fFxuICAgICAgZ2V0SGFzV2FybmluZ09uUmVtYWluaW5nTGFuZ3VhZ2VzKHByb3BzLndhcm5pbmdzLCBwcm9wcy5zZWxlY3RlZExhbmd1YWdlKTtcblxuICAgIGlmIChoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzIHx8IGhhc1dhcm5pbmdJblJlbWFpbmluZ0xhbmd1YWdlcykge1xuICAgICAgaWYgKCFhcmVMYW5ndWFnZXNPcGVuZWQpIHtcbiAgICAgICAgLy8gdGhpcyB1cGRhdGUgd2l0aGluIHJlbmRlciByZXBsYWNlcyB0aGUgb2xkIGBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNgIGZ1bmN0aW9uYWxpdHlcbiAgICAgICAgLy8gaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2hvb2tzLWZhcS5odG1sI2hvdy1kby1pLWltcGxlbWVudC1nZXRkZXJpdmVkc3RhdGVmcm9tcHJvcHNcbiAgICAgICAgdG9nZ2xlTGFuZ3VhZ2VzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbGFuZ1JlZnMgPSB1c2VSZWY8TWFwPHN0cmluZywgUmVmV2l0aEltcGVyYXRpdmVSZXNldEhhbmRsZXI+PihcbiAgICAgIG5ldyBNYXAoKVxuICAgICk7XG5cbiAgICBjb25zdCByZXNldFZhbHVlID0gdXNlQ2FsbGJhY2soXG4gICAgICAobmV3VmFsdWU6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+IHtcbiAgICAgICAgbGFuZ1JlZnMuY3VycmVudC5mb3JFYWNoKChsYW5nUmVmKSA9PiB7XG4gICAgICAgICAgbGFuZ1JlZi5yZXNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW11cbiAgICApO1xuXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJlc2V0VmFsdWUsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyTGFuZ3VhZ2VzQ29udHJvbCA9XG4gICAgICBsYW5ndWFnZXMubGVuZ3RoID4gMSAmJiAhcHJvcHMuaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICAgIDxTdGFjayBzY2FsZT1cInhzXCI+XG4gICAgICAgICAgPFN0YWNrPlxuICAgICAgICAgICAge2xhbmd1YWdlcy5tYXAoKGxhbmd1YWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpc0ZpcnN0TGFuZ3VhZ2UgPSBpbmRleCA9PT0gMDtcbiAgICAgICAgICAgICAgaWYgKCFpc0ZpcnN0TGFuZ3VhZ2UgJiYgIWFyZUxhbmd1YWdlc09wZW5lZCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIGNvbnN0IGlzTGFzdExhbmd1YWdlID0gaW5kZXggPT09IGxhbmd1YWdlcy5sZW5ndGggLSAxO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGhhc0xhbmd1YWdlc0NvbnRyb2wgPVxuICAgICAgICAgICAgICAgIChpc0ZpcnN0TGFuZ3VhZ2UgJiYgIWFyZUxhbmd1YWdlc09wZW5lZCkgfHwgaXNMYXN0TGFuZ3VhZ2U7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8UmljaFRleHRJbnB1dFxuICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgIGtleT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgICBpZD17Z2V0SWQocHJvcHMuaWQsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2dldE5hbWUocHJvcHMubmFtZSwgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtjcmVhdGVDaGFuZ2VIYW5kbGVyKGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICAgICAgICAgIGlzT3Blbj17ZXhwYW5kZWRUcmFuc2xhdGlvbnNTdGF0ZVtsYW5ndWFnZV19XG4gICAgICAgICAgICAgICAgICB0b2dnbGVMYW5ndWFnZT17dG9nZ2xlTGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLnBsYWNlaG9sZGVyID8gcHJvcHMucGxhY2Vob2xkZXJbbGFuZ3VhZ2VdIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBvbkJsdXI9e3Byb3BzLm9uQmx1cn1cbiAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e3Byb3BzLm9uRm9jdXN9XG4gICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtCb29sZWFuKFxuICAgICAgICAgICAgICAgICAgICBwcm9wcy5oYXNFcnJvciB8fCAocHJvcHMuZXJyb3JzICYmIHByb3BzLmVycm9yc1tsYW5ndWFnZV0pXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgaGFzV2FybmluZz17Qm9vbGVhbihcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuaGFzV2FybmluZyB8fFxuICAgICAgICAgICAgICAgICAgICAgIChwcm9wcy53YXJuaW5ncyAmJiBwcm9wcy53YXJuaW5nc1tsYW5ndWFnZV0pXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgd2FybmluZz17cHJvcHMud2FybmluZ3MgJiYgcHJvcHMud2FybmluZ3NbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgICAgZXJyb3I9e3Byb3BzLmVycm9ycyAmJiBwcm9wcy5lcnJvcnNbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgICAgc2hvd0V4cGFuZEljb249e3Byb3BzLnNob3dFeHBhbmRJY29ufVxuICAgICAgICAgICAgICAgICAgb25DbGlja0V4cGFuZD17cHJvcHMub25DbGlja0V4cGFuZH1cbiAgICAgICAgICAgICAgICAgIGhhc0xhbmd1YWdlc0NvbnRyb2w9e2hhc0xhbmd1YWdlc0NvbnRyb2x9XG4gICAgICAgICAgICAgICAgICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dD17Qm9vbGVhbihcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHRcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICByZWY9eyhlbDogUmVmV2l0aEltcGVyYXRpdmVSZXNldEhhbmRsZXIpID0+XG4gICAgICAgICAgICAgICAgICAgIGxhbmdSZWZzLmN1cnJlbnQuc2V0KGxhbmd1YWdlLCBlbClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHsuLi5jcmVhdGVMb2NhbGl6ZWREYXRhQXR0cmlidXRlcyhwcm9wcywgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIHtzaG91bGRSZW5kZXJMYW5ndWFnZXNDb250cm9sICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPExvY2FsaXplZElucHV0VG9nZ2xlXG4gICAgICAgICAgICAgICAgaXNPcGVuPXthcmVMYW5ndWFnZXNPcGVuZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17XG4gICAgICAgICAgICAgICAgICB0b2dnbGVMYW5ndWFnZXMgYXMgKFxuICAgICAgICAgICAgICAgICAgICBldmVudDpcbiAgICAgICAgICAgICAgICAgICAgICB8IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICAgIHwgYm9vbGVhblxuICAgICAgICAgICAgICAgICAgKSA9PiB2b2lkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgYXJlTGFuZ3VhZ2VzT3BlbmVkICYmXG4gICAgICAgICAgICAgICAgICBCb29sZWFuKFxuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzIHx8XG4gICAgICAgICAgICAgICAgICAgICAgaGFzV2FybmluZ0luUmVtYWluaW5nTGFuZ3VhZ2VzXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlbWFpbmluZ0xvY2FsaXphdGlvbnM9e2xhbmd1YWdlcy5sZW5ndGggLSAxfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICApO1xuICB9XG4pO1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0LmRpc3BsYXlOYW1lID0gJ0xvY2FsaXplZFJpY2hUZXh0SW5wdXQnO1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0LlJlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2UgPSBSZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlO1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0LmdldElkID0gZ2V0SWQ7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuZ2V0TmFtZSA9IGdldE5hbWU7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0LmNyZWF0ZUxvY2FsaXplZFN0cmluZyA9IGxvY2FsaXplZC5jcmVhdGVMb2NhbGl6ZWRTdHJpbmc7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuaXNFbXB0eSA9IGxvY2FsaXplZC5pc0VtcHR5O1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0Lm9taXRFbXB0eVRyYW5zbGF0aW9ucyA9IGxvY2FsaXplZC5vbWl0RW1wdHlUcmFuc2xhdGlvbnM7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuaXNUb3VjaGVkID0gaXNUb3VjaGVkO1xuXG5leHBvcnQgZGVmYXVsdCBMb2NhbGl6ZWRSaWNoVGV4dElucHV0O1xuIl19 */",
583
543
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
584
544
  };
585
545
 
586
- var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
546
+ var LocalizedRichTextInput = /*#__PURE__*/forwardRef(function (props, ref) {
587
547
  var _context2;
588
548
 
589
549
  if (!props.isReadOnly) {
@@ -607,8 +567,7 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
607
567
  expandedTranslationsState = _useReducer2[0],
608
568
  expandedTranslationsDispatch = _useReducer2[1];
609
569
 
610
- var defaultExpansionState = props.hideLanguageExpansionControls || props.defaultExpandLanguages || // useToggleState's default is `true`, but we want `false`
611
- false;
570
+ var defaultExpansionState = Boolean(props.hideLanguageExpansionControls || props.defaultExpandLanguages);
612
571
 
613
572
  var _useToggleState = useToggleState(defaultExpansionState),
614
573
  _useToggleState2 = _slicedToArray(_useToggleState, 2),
@@ -621,6 +580,21 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
621
580
  payload: language
622
581
  });
623
582
  }, [expandedTranslationsDispatch]);
583
+ var createChangeHandler = useCallback(function (language) {
584
+ return function (state) {
585
+ var _props$onChange, _context3, _context4;
586
+
587
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, {
588
+ target: {
589
+ id: props !== null && props !== void 0 && props.id ? _concatInstanceProperty(_context3 = "".concat(props.id, ".")).call(_context3, language) : '',
590
+ name: props !== null && props !== void 0 && props.name ? _concatInstanceProperty(_context4 = "".concat(props.name, ".")).call(_context4, language) : '',
591
+ language: language,
592
+ value: state
593
+ }
594
+ });
595
+ };
596
+ }, // eslint-disable-next-line react-hooks/exhaustive-deps
597
+ [props.id, props.name, props.onChange]);
624
598
  var languages = sortLanguages(props.selectedLanguage, _Object$keys(props.value));
625
599
  var hasErrorInRemainingLanguages = props.hasError || getHasErrorOnRemainingLanguages(props.errors, props.selectedLanguage);
626
600
  var hasWarningInRemainingLanguages = props.hasWarning || getHasWarningOnRemainingLanguages(props.warnings, props.selectedLanguage);
@@ -633,6 +607,19 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
633
607
  }
634
608
  }
635
609
 
610
+ var langRefs = useRef(new _Map());
611
+ var resetValue = useCallback(function (newValue) {
612
+ var _context5;
613
+
614
+ _forEachInstanceProperty(_context5 = langRefs.current).call(_context5, function (langRef) {
615
+ langRef.resetValue(newValue);
616
+ });
617
+ }, []);
618
+ useImperativeHandle(ref, function () {
619
+ return {
620
+ resetValue: resetValue
621
+ };
622
+ });
636
623
  var shouldRenderLanguagesControl = languages.length > 1 && !props.hideLanguageExpansionControls;
637
624
  return jsx(Constraints.Horizontal, {
638
625
  max: props.horizontalConstraint,
@@ -644,11 +631,12 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
644
631
  if (!isFirstLanguage && !areLanguagesOpened) return null;
645
632
  var isLastLanguage = index === languages.length - 1;
646
633
  var hasLanguagesControl = isFirstLanguage && !areLanguagesOpened || isLastLanguage;
647
- return jsx(RichTextInput$1, _objectSpread({
648
- id: LocalizedRichTextInput.getId(props.id, language),
649
- name: LocalizedRichTextInput.getName(props.name, language),
634
+ return createElement(RichTextInput$1, _objectSpread(_objectSpread({}, filterDataAttributes(props)), {}, {
635
+ key: language,
636
+ id: getId(props.id, language),
637
+ name: getName(props.name, language),
650
638
  value: props.value[language],
651
- onChange: props.onChange,
639
+ onChange: createChangeHandler(language),
652
640
  language: language,
653
641
  isOpen: expandedTranslationsState[language],
654
642
  toggleLanguage: toggleLanguage,
@@ -663,8 +651,12 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
663
651
  error: props.errors && props.errors[language],
664
652
  showExpandIcon: props.showExpandIcon,
665
653
  onClickExpand: props.onClickExpand,
666
- hasLanguagesControl: hasLanguagesControl
667
- }, createLocalizedDataAttributes(props, language)), language);
654
+ hasLanguagesControl: hasLanguagesControl,
655
+ defaultExpandMultilineText: Boolean(props.defaultExpandMultilineText),
656
+ ref: function ref(el) {
657
+ return langRefs.current.set(language, el);
658
+ }
659
+ }, createLocalizedDataAttributes(props, language)));
668
660
  })
669
661
  }), shouldRenderLanguagesControl && jsx("div", {
670
662
  css: _ref,
@@ -677,30 +669,7 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
677
669
  })]
678
670
  })
679
671
  });
680
- };
681
-
682
- LocalizedRichTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
683
- id: _pt.string,
684
- name: _pt.string,
685
- value: _pt.objectOf(_pt.string).isRequired,
686
- onChange: _pt.func,
687
- selectedLanguage: _pt.string.isRequired,
688
- onBlur: _pt.func,
689
- onFocus: _pt.func,
690
- defaultExpandMultilineText: _pt.bool,
691
- hideLanguageExpansionControls: _pt.bool,
692
- defaultExpandLanguages: _pt.bool,
693
- isDisabled: _pt.bool,
694
- isReadOnly: _pt.bool,
695
- placeholder: _pt.objectOf(_pt.string),
696
- horizontalConstraint: _pt.oneOf([7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
697
- hasError: _pt.bool,
698
- hasWarning: _pt.bool,
699
- errors: _pt.objectOf(_pt.string),
700
- warnings: _pt.objectOf(_pt.node),
701
- showExpandIcon: _pt.bool.isRequired,
702
- onClickExpand: _pt.func
703
- } : {};
672
+ });
704
673
  LocalizedRichTextInput.displayName = 'LocalizedRichTextInput';
705
674
  LocalizedRichTextInput.RequiredValueErrorMessage = RequiredValueErrorMessage$1;
706
675
  LocalizedRichTextInput.getId = getId;
@@ -713,6 +682,6 @@ LocalizedRichTextInput.isTouched = isTouched;
713
682
  var LocalizedRichTextInput$1 = LocalizedRichTextInput;
714
683
 
715
684
  // NOTE: This string will be replaced on build time with the package version.
716
- var version = "14.0.3";
685
+ var version = "15.0.1";
717
686
 
718
687
  export { LocalizedRichTextInput$1 as default, version };