@commercetools-uikit/selectable-search-input 16.12.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -47,6 +47,8 @@ const Example = () => (
47
47
  { value: 'one', label: 'One' },
48
48
  { value: 'two', label: 'Two' },
49
49
  ]}
50
+ selectDataProps={[{ 'prop-1': 'value-1' }, { 'prop-2': 'value-2' }]}
51
+ inputDataProps={[{ 'prop-3': 'value-1' }, { 'prop-4': 'value-2' }]}
50
52
  />
51
53
  );
52
54
 
@@ -87,6 +89,8 @@ export default Example;
87
89
  | `closeMenuOnSelect` | `ReactSelectProps['closeMenuOnSelect']` | | | Whether the menu should close after a value is selected. Defaults to `true`.&#xA;<br>&#xA;[Props from React select was used](https://react-select.com/props) |
88
90
  | `menuHorizontalConstraint` | `union`<br/>Possible values:<br/>`3 , 4 , 5` | | `3` | Horizontal size limit for the dropdown menu. |
89
91
  | `showSubmitButton` | `boolean` | | `true` | Show submit button in the input |
92
+ | `selectDataProps` | `Record<string, string>` | | | used to pass `data-*` props to the select component.&#xA;eg: selectDataProps={\[{ 'prop-1': 'value-1' }, { 'prop-2': 'value-2' }]} |
93
+ | `inputDataProps` | `Record<string, string>` | | | used to pass `data-*` props to the input element.&#xA;eg: inputDataProps={\[{ 'prop-1': 'value-1' }, { 'prop-2': 'value-2' }]} |
90
94
 
91
95
  ## Signatures
92
96
 
@@ -14,6 +14,9 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
14
14
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
15
15
  var _styled = require('@emotion/styled/base');
16
16
  var _pt = require('prop-types');
17
+ var _Object$fromEntries = require('@babel/runtime-corejs3/core-js-stable/object/from-entries');
18
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
19
+ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
17
20
  var _flatMapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/flat-map');
18
21
  var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
19
22
  var _trimInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/trim');
@@ -44,6 +47,9 @@ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$def
44
47
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
45
48
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
46
49
  var _pt__default = /*#__PURE__*/_interopDefault(_pt);
50
+ var _Object$fromEntries__default = /*#__PURE__*/_interopDefault(_Object$fromEntries);
51
+ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
52
+ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
47
53
  var _flatMapInstanceProperty__default = /*#__PURE__*/_interopDefault(_flatMapInstanceProperty);
48
54
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
49
55
  var _trimInstanceProperty__default = /*#__PURE__*/_interopDefault(_trimInstanceProperty);
@@ -181,22 +187,25 @@ const createSelectableSelectStyles = _ref => {
181
187
  });
182
188
  };
183
189
 
184
- const _excluded = ["id"];
190
+ const _excluded = ["id", "dataProps"];
185
191
  function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
186
192
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
187
193
  const SingleValue = _ref => {
188
194
  let id = _ref.id,
195
+ dataProps = _ref.dataProps,
189
196
  props = _objectWithoutProperties(_ref, _excluded);
190
197
  return jsxRuntime.jsx(Select.components.SingleValue, _objectSpread$1(_objectSpread$1({}, props), {}, {
191
- children: jsxRuntime.jsx("label", {
192
- htmlFor: id,
198
+ children: jsxRuntime.jsx("label", _objectSpread$1(_objectSpread$1({
199
+ htmlFor: id
200
+ }, dataProps), {}, {
193
201
  children: props.children
194
- })
202
+ }))
195
203
  }));
196
204
  };
197
205
  SingleValue.propTypes = process.env.NODE_ENV !== "production" ? {
198
- id: _pt__default["default"].string,
199
- children: _pt__default["default"].node
206
+ children: _pt__default["default"].node,
207
+ dataProps: _pt__default["default"].objectOf(_pt__default["default"].string),
208
+ id: _pt__default["default"].string
200
209
  } : {};
201
210
  const SelectableSelect = props => {
202
211
  const intl = reactIntl.useIntl();
@@ -234,9 +243,10 @@ const SelectableSelect = props => {
234
243
  maxMenuHeight: props.maxMenuHeight,
235
244
  closeMenuOnSelect: props.closeMenuOnSelect,
236
245
  components: {
237
- SingleValue: innerProps => jsxRuntime.jsx(SingleValue, _objectSpread$1(_objectSpread$1({}, innerProps), {}, {
238
- id: props.id
239
- })),
246
+ SingleValue: innerProps => jsxRuntime.jsx(SingleValue, _objectSpread$1({
247
+ id: props.id,
248
+ dataProps: props.dataProps
249
+ }, innerProps)),
240
250
  DropdownIndicator: selectUtils.DropdownIndicator
241
251
  },
242
252
  options: props.options,
@@ -262,12 +272,13 @@ SelectableSelect.propTypes = process.env.NODE_ENV !== "production" ? {
262
272
  handleDropdownFocus: _pt__default["default"].func.isRequired,
263
273
  handleDropdownBlur: _pt__default["default"].func.isRequired,
264
274
  textInputRef: _pt__default["default"].any.isRequired,
265
- selectedOption: _pt__default["default"].any
275
+ selectedOption: _pt__default["default"].any,
276
+ dataProps: _pt__default["default"].objectOf(_pt__default["default"].string)
266
277
  } : {};
267
278
  var SelectableSelect$1 = SelectableSelect;
268
279
 
269
280
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
270
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
281
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
271
282
  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)."; }
272
283
  const Container = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
273
284
  target: "encv1cf0"
@@ -280,7 +291,7 @@ const Container = /*#__PURE__*/_styled__default["default"]("div", process.env.NO
280
291
  } : {
281
292
  name: "zjik7",
282
293
  styles: "display:flex",
283
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQjRCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMsXG4gIHwgJ2hvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdpc0NsZWFyYWJsZSdcbiAgfCAnbWVudUhvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdzaG93U3VibWl0QnV0dG9uJ1xuICB8ICdtZW51UG9ydGFsWkluZGV4J1xuICB8ICdvcHRpb25zJ1xuPiA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlOiB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ6IDMsXG4gIHNob3dTdWJtaXRCdXR0b246IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXg6IDEsXG4gIG9wdGlvbnM6IFtdLFxufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAocHJvcHM6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBvcHRpb25zV2l0aG91dEdyb3VwcyA9IHByb3BzLm9wdGlvbnMuZmxhdE1hcCgob3B0aW9uKSA9PiB7XG4gICAgaWYgKGlzT3B0aW9uT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgIHJldHVybiBvcHRpb24ub3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfSk7XG5cbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zV2l0aG91dEdyb3Vwcy5maW5kKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gcHJvcHMudmFsdWUub3B0aW9uXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCA9IHVzZUZpZWxkSWQoXG4gICAgcHJvcHMuaWQsXG4gICAgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkXG4gICk7XG5cbiAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGBvbkNoYW5nZWAgaXMgcmVxdWlyZWQgd2hlbiBpcyBub3QgcmVhZCBvbmx5LidcbiAgICApO1xuICB9XG5cbiAgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyh7XG4gICAgbWVudVBvcnRhbFpJbmRleDogcHJvcHMubWVudVBvcnRhbFpJbmRleCxcbiAgICBtZW51UG9ydGFsVGFyZ2V0OiBwcm9wcy5tZW51UG9ydGFsVGFyZ2V0LFxuICAgIGNvbXBvbmVudE5hbWU6ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnLFxuICB9KTtcblxuICBjb25zdCB7IG9uRm9jdXMsIG9uQmx1ciwgbmFtZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25Gb2N1cywgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xlYXIgPSAoKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoJycpO1xuICAgIGlmIChwcm9wcy5vblJlc2V0KSB7XG4gICAgICBwcm9wcy5vblJlc2V0KCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGlmIChwcm9wcy5vbkNoYW5nZSkge1xuICAgICAgcHJvcHMub25DaGFuZ2Uoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSksXG4gICAgICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoXG4gICAgZXZlbnQ6XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAocHJvcHMub25TdWJtaXQpIHtcbiAgICAgIHByb3BzLm9uU3VibWl0KHtcbiAgICAgICAgdGV4dDogc2VhcmNoVmFsdWUsXG4gICAgICAgIG9wdGlvbjogc2VsZWN0ZWRPcHRpb24/LnZhbHVlID8/ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRyb3Bkb3duTmFtZSA9IGdldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKTtcbiAgY29uc3QgZHJvcGRvd25JZCA9IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKFxuICAgIHNlbGVjdGFibFNlYXJjaElucHV0SWRcbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXModHJ1ZSk7XG4gIH0sIFtvbkZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMoZmFsc2UpO1xuICB9LCBbdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgb25CbHVyLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVDb250YWluZXJCbHVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICAvLyBlbnN1cmVzIHRoYXQgYm90aCBmaWVsZHMgYXJlIG1hcmtlZCBhcyB0b3VjaGVkIHdoZW4gb25lIG9mIHRoZW1cbiAgICAgIC8vIGlzIGJsdXJyZWRcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIG9uQmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpXG4gICAgICApIHtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldERyb3Bkb3duTmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMuaG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgPENvbnRhaW5lclxuICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgb25CbHVyPXtoYW5kbGVDb250YWluZXJCbHVyfVxuICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICA+XG4gICAgICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMubWVudUhvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgICAgICA8U2VsZWN0YWJsZVNlbGVjdFxuICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpfVxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cz17ZHJvcGRvd25IYXNGb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duRm9jdXM9e2hhbmRsZURyb3Bkb3duRm9jdXN9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkJsdXI9e2hhbmRsZURyb3Bkb3duQmx1cn1cbiAgICAgICAgICAgIHRleHRJbnB1dFJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb249e3NlbGVjdGVkT3B0aW9ufVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKHByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICB7Li4uZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpfVxuICAgICAgICAgICAgLyogQVJJQSAqL1xuICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtwcm9wc1snYXJpYS1pbnZhbGlkJ119XG4gICAgICAgICAgICBhcmlhLWVycm9ybWVzc2FnZT17cHJvcHNbJ2FyaWEtZXJyb3JtZXNzYWdlJ119XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtaW5wdXRcIlxuICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5ICYmIGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIGhhbmRsZVN1Ym1pdChldmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7cHJvcHMuaXNDbGVhcmFibGUgJiZcbiAgICAgICAgICAgIHNlYXJjaFZhbHVlICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiYgKFxuICAgICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGljb249ezxDbG9zZUljb24gLz59XG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgICAgICAgICAgbGFiZWw9eydjbGVhci1idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsZWFyfVxuICAgICAgICAgICAgICAgIGNzcz17Z2V0Q2xlYXJJY29uQnV0dG9uU3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAge3Byb3BzLnNob3dTdWJtaXRCdXR0b24gJiYgKFxuICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgaWNvbj17PFNlYXJjaEljb24gLz59XG4gICAgICAgICAgICAgIGxhYmVsPXsnc2VhcmNoLWJ1dHRvbid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgICAgICAgY3NzPXtnZXRTZWFyY2hJY29uQnV0dG9uU3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICk7XG59O1xuXG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0YWJsZVNlYXJjaElucHV0JztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuaXNFbXB0eSA9IChcbiAgZm9ybVZhbHVlOiBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHNbJ3ZhbHVlJ11cbikgPT4gIWZvcm1WYWx1ZSB8fCBmb3JtVmFsdWUudGV4dC50cmltKCkgPT09ICcnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkID0gZ2V0VGV4dElucHV0TmFtZTtcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkID0gZ2V0RHJvcGRvd25OYW1lO1xuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQ7XG4iXX0= */",
294
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQjRCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIHNlbGVjdCBjb21wb25lbnQuXG4gICAqIGVnOiBzZWxlY3REYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgc2VsZWN0RGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqICB1c2VkIHRvIHBhc3MgZGF0YS0qIHByb3BzIHRvIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBlZzogaW5wdXREYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgaW5wdXREYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMsXG4gIHwgJ2hvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdpc0NsZWFyYWJsZSdcbiAgfCAnbWVudUhvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdzaG93U3VibWl0QnV0dG9uJ1xuICB8ICdtZW51UG9ydGFsWkluZGV4J1xuICB8ICdvcHRpb25zJ1xuPiA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlOiB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ6IDMsXG4gIHNob3dTdWJtaXRCdXR0b246IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXg6IDEsXG4gIG9wdGlvbnM6IFtdLFxufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCB0cmFuc2Zvcm1EYXRhUHJvcHMgPSAoZGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT5cbiAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGFQcm9wcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+IFtcbiAgICAgIGBkYXRhLSR7a2V5fWAsXG4gICAgICB2YWx1ZSxcbiAgICBdKVxuICApO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAocHJvcHM6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBsZWdhY3lEYXRhUHJvcHMgPSBmaWx0ZXJEYXRhQXR0cmlidXRlcyhwcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzID0gdHJhbnNmb3JtRGF0YVByb3BzKHByb3BzLnNlbGVjdERhdGFQcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkSW5wdXREYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuaW5wdXREYXRhUHJvcHMpO1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRob3V0R3JvdXBzID0gcHJvcHMub3B0aW9ucy5mbGF0TWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAoaXNPcHRpb25PYmplY3Qob3B0aW9uKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnNXaXRob3V0R3JvdXBzLmZpbmQoXG4gICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBwcm9wcy52YWx1ZS5vcHRpb25cbiAgKTtcblxuICBjb25zdCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkID0gdXNlRmllbGRJZChcbiAgICBwcm9wcy5pZCxcbiAgICBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWRcbiAgKTtcblxuICBpZiAoIXByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICk7XG4gIH1cblxuICB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nKHtcbiAgICBtZW51UG9ydGFsWkluZGV4OiBwcm9wcy5tZW51UG9ydGFsWkluZGV4LFxuICAgIG1lbnVQb3J0YWxUYXJnZXQ6IHByb3BzLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgY29tcG9uZW50TmFtZTogJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCcsXG4gIH0pO1xuXG4gIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBuYW1lIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Qmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJyk7XG4gICAgaWYgKHByb3BzLm9uUmVzZXQpIHtcbiAgICAgIHByb3BzLm9uUmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICBwcm9wcy5vbkNoYW5nZSh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKSxcbiAgICAgICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChcbiAgICBldmVudDpcbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwcm9wcy5vblN1Ym1pdCkge1xuICAgICAgcHJvcHMub25TdWJtaXQoe1xuICAgICAgICB0ZXh0OiBzZWFyY2hWYWx1ZSxcbiAgICAgICAgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbj8udmFsdWUgPz8gJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZHJvcGRvd25OYW1lID0gZ2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpO1xuICBjb25zdCBkcm9wZG93bklkID0gU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoXG4gICAgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyh0cnVlKTtcbiAgfSwgW29uRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyhmYWxzZSk7XG4gIH0sIFt0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBvbkJsdXIsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lckJsdXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGZpZWxkcyBhcmUgbWFya2VkIGFzIHRvdWNoZWQgd2hlbiBvbmUgb2YgdGhlbVxuICAgICAgLy8gaXMgYmx1cnJlZFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2Ygb25CbHVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICFjb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICkge1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8Q29udGFpbmVyXG4gICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZUNvbnRhaW5lckJsdXJ9XG4gICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5tZW51SG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgICAgIDxTZWxlY3RhYmxlU2VsZWN0XG4gICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzPXtkcm9wZG93bkhhc0ZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25Gb2N1cz17aGFuZGxlRHJvcGRvd25Gb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQmx1cj17aGFuZGxlRHJvcGRvd25CbHVyfVxuICAgICAgICAgICAgdGV4dElucHV0UmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17c2VsZWN0ZWRPcHRpb259XG4gICAgICAgICAgICBkYXRhUHJvcHM9e3RyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKHByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICB7Li4udHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wc31cbiAgICAgICAgICAgIHsuLi5sZWdhY3lEYXRhUHJvcHN9XG4gICAgICAgICAgICAvKiBBUklBICovXG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgIGFyaWEtZXJyb3JtZXNzYWdlPXtwcm9wc1snYXJpYS1lcnJvcm1lc3NhZ2UnXX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1pbnB1dFwiXG4gICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLmlzUmVhZE9ubHkgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU3VibWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy5pc0NsZWFyYWJsZSAmJlxuICAgICAgICAgICAgc2VhcmNoVmFsdWUgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJiAoXG4gICAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgaWNvbj17PENsb3NlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBzaXplPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7cHJvcHMuc2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5pc0VtcHR5ID0gKFxuICBmb3JtVmFsdWU6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wc1sndmFsdWUnXVxuKSA9PiAhZm9ybVZhbHVlIHx8IGZvcm1WYWx1ZS50ZXh0LnRyaW0oKSA9PT0gJyc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQgPSBnZXRUZXh0SW5wdXROYW1lO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQgPSBnZXREcm9wZG93bk5hbWU7XG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdGFibGVTZWFyY2hJbnB1dDtcbiJdfQ== */",
284
295
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
285
296
  });
286
297
  const getTextInputName = name => name ? "".concat(name, ".textInput") : undefined;
@@ -295,8 +306,17 @@ const defaultProps = {
295
306
  };
296
307
  const selectableSearchInputSequentialId = utils.createSequentialId('selectable-search-input-');
297
308
  const isOptionObject = option => option.options !== undefined;
298
- const SelectableSearchInput = props => {
309
+ const transformDataProps = dataProps => {
299
310
  var _context;
311
+ return _Object$fromEntries__default["default"](_mapInstanceProperty__default["default"](_context = _Object$entries__default["default"](dataProps || {})).call(_context, _ref => {
312
+ let _ref2 = _slicedToArray(_ref, 2),
313
+ key = _ref2[0],
314
+ value = _ref2[1];
315
+ return ["data-".concat(key), value];
316
+ }));
317
+ };
318
+ const SelectableSearchInput = props => {
319
+ var _context2;
300
320
  const _useToggleState = hooks.useToggleState(false),
301
321
  _useToggleState2 = _slicedToArray(_useToggleState, 2),
302
322
  dropdownHasFocus = _useToggleState2[0],
@@ -307,7 +327,10 @@ const SelectableSearchInput = props => {
307
327
  setSearchValue = _useState2[1];
308
328
  const containerRef = react$1.useRef(null);
309
329
  const textInputRef = react$1.useRef(null);
310
- const optionsWithoutGroups = _flatMapInstanceProperty__default["default"](_context = props.options).call(_context, option => {
330
+ const legacyDataProps = utils.filterDataAttributes(props);
331
+ const transformedSelectDataProps = transformDataProps(props.selectDataProps);
332
+ const transformedInputDataProps = transformDataProps(props.inputDataProps);
333
+ const optionsWithoutGroups = _flatMapInstanceProperty__default["default"](_context2 = props.options).call(_context2, option => {
311
334
  if (isOptionObject(option)) {
312
335
  return option.options;
313
336
  }
@@ -432,11 +455,12 @@ const SelectableSearchInput = props => {
432
455
  handleDropdownFocus: handleDropdownFocus,
433
456
  handleDropdownBlur: handleDropdownBlur,
434
457
  textInputRef: textInputRef,
435
- selectedOption: selectedOption
458
+ selectedOption: selectedOption,
459
+ dataProps: transformedSelectDataProps
436
460
  }))
437
461
  }), jsxRuntime.jsxs("div", {
438
- css: [getSelectableSearchInputContainerStyles(props), dropdownHasFocus && !props.isReadOnly && /*#__PURE__*/react.css("border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";&:hover{border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzWmlCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMsXG4gIHwgJ2hvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdpc0NsZWFyYWJsZSdcbiAgfCAnbWVudUhvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdzaG93U3VibWl0QnV0dG9uJ1xuICB8ICdtZW51UG9ydGFsWkluZGV4J1xuICB8ICdvcHRpb25zJ1xuPiA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlOiB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ6IDMsXG4gIHNob3dTdWJtaXRCdXR0b246IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXg6IDEsXG4gIG9wdGlvbnM6IFtdLFxufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAocHJvcHM6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBvcHRpb25zV2l0aG91dEdyb3VwcyA9IHByb3BzLm9wdGlvbnMuZmxhdE1hcCgob3B0aW9uKSA9PiB7XG4gICAgaWYgKGlzT3B0aW9uT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgIHJldHVybiBvcHRpb24ub3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfSk7XG5cbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zV2l0aG91dEdyb3Vwcy5maW5kKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gcHJvcHMudmFsdWUub3B0aW9uXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCA9IHVzZUZpZWxkSWQoXG4gICAgcHJvcHMuaWQsXG4gICAgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkXG4gICk7XG5cbiAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGBvbkNoYW5nZWAgaXMgcmVxdWlyZWQgd2hlbiBpcyBub3QgcmVhZCBvbmx5LidcbiAgICApO1xuICB9XG5cbiAgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyh7XG4gICAgbWVudVBvcnRhbFpJbmRleDogcHJvcHMubWVudVBvcnRhbFpJbmRleCxcbiAgICBtZW51UG9ydGFsVGFyZ2V0OiBwcm9wcy5tZW51UG9ydGFsVGFyZ2V0LFxuICAgIGNvbXBvbmVudE5hbWU6ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnLFxuICB9KTtcblxuICBjb25zdCB7IG9uRm9jdXMsIG9uQmx1ciwgbmFtZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25Gb2N1cywgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xlYXIgPSAoKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoJycpO1xuICAgIGlmIChwcm9wcy5vblJlc2V0KSB7XG4gICAgICBwcm9wcy5vblJlc2V0KCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGlmIChwcm9wcy5vbkNoYW5nZSkge1xuICAgICAgcHJvcHMub25DaGFuZ2Uoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSksXG4gICAgICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoXG4gICAgZXZlbnQ6XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAocHJvcHMub25TdWJtaXQpIHtcbiAgICAgIHByb3BzLm9uU3VibWl0KHtcbiAgICAgICAgdGV4dDogc2VhcmNoVmFsdWUsXG4gICAgICAgIG9wdGlvbjogc2VsZWN0ZWRPcHRpb24/LnZhbHVlID8/ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRyb3Bkb3duTmFtZSA9IGdldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKTtcbiAgY29uc3QgZHJvcGRvd25JZCA9IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKFxuICAgIHNlbGVjdGFibFNlYXJjaElucHV0SWRcbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXModHJ1ZSk7XG4gIH0sIFtvbkZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMoZmFsc2UpO1xuICB9LCBbdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgb25CbHVyLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVDb250YWluZXJCbHVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICAvLyBlbnN1cmVzIHRoYXQgYm90aCBmaWVsZHMgYXJlIG1hcmtlZCBhcyB0b3VjaGVkIHdoZW4gb25lIG9mIHRoZW1cbiAgICAgIC8vIGlzIGJsdXJyZWRcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIG9uQmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpXG4gICAgICApIHtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldERyb3Bkb3duTmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMuaG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgPENvbnRhaW5lclxuICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgb25CbHVyPXtoYW5kbGVDb250YWluZXJCbHVyfVxuICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICA+XG4gICAgICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMubWVudUhvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgICAgICA8U2VsZWN0YWJsZVNlbGVjdFxuICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpfVxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cz17ZHJvcGRvd25IYXNGb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duRm9jdXM9e2hhbmRsZURyb3Bkb3duRm9jdXN9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkJsdXI9e2hhbmRsZURyb3Bkb3duQmx1cn1cbiAgICAgICAgICAgIHRleHRJbnB1dFJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb249e3NlbGVjdGVkT3B0aW9ufVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKHByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICB7Li4uZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpfVxuICAgICAgICAgICAgLyogQVJJQSAqL1xuICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtwcm9wc1snYXJpYS1pbnZhbGlkJ119XG4gICAgICAgICAgICBhcmlhLWVycm9ybWVzc2FnZT17cHJvcHNbJ2FyaWEtZXJyb3JtZXNzYWdlJ119XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtaW5wdXRcIlxuICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5ICYmIGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIGhhbmRsZVN1Ym1pdChldmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7cHJvcHMuaXNDbGVhcmFibGUgJiZcbiAgICAgICAgICAgIHNlYXJjaFZhbHVlICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiYgKFxuICAgICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGljb249ezxDbG9zZUljb24gLz59XG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgICAgICAgICAgbGFiZWw9eydjbGVhci1idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsZWFyfVxuICAgICAgICAgICAgICAgIGNzcz17Z2V0Q2xlYXJJY29uQnV0dG9uU3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAge3Byb3BzLnNob3dTdWJtaXRCdXR0b24gJiYgKFxuICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgaWNvbj17PFNlYXJjaEljb24gLz59XG4gICAgICAgICAgICAgIGxhYmVsPXsnc2VhcmNoLWJ1dHRvbid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgICAgICAgY3NzPXtnZXRTZWFyY2hJY29uQnV0dG9uU3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICk7XG59O1xuXG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0YWJsZVNlYXJjaElucHV0JztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuaXNFbXB0eSA9IChcbiAgZm9ybVZhbHVlOiBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHNbJ3ZhbHVlJ11cbikgPT4gIWZvcm1WYWx1ZSB8fCBmb3JtVmFsdWUudGV4dC50cmltKCkgPT09ICcnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkID0gZ2V0VGV4dElucHV0TmFtZTtcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkID0gZ2V0RHJvcGRvd25OYW1lO1xuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQ7XG4iXX0= */"), process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrWlUiLCJmaWxlIjoic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIHR5cGUgQ2hhbmdlRXZlbnQsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNlY29uZGFyeUljb25CdXR0b24gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2Vjb25kYXJ5LWljb24tYnV0dG9uJztcbmltcG9ydCBDb25zdHJhaW50cyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb25zdHJhaW50cyc7XG5pbXBvcnQgeyBTZWFyY2hJY29uLCBDbG9zZUljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQge1xuICBjcmVhdGVTZXF1ZW50aWFsSWQsXG4gIGZpbHRlckRhdGFBdHRyaWJ1dGVzLFxuICB3YXJuaW5nLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgeyB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGdldENsZWFySWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzLFxuICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRTdHlsZXMsXG59IGZyb20gJy4vc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQuc3R5bGVzJztcbmltcG9ydCBTZWxlY3RhYmxlU2VsZWN0IGZyb20gJy4vc2VsZWN0YWJsZS1zZWxlY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHR5cGUgUHJvcHMgYXMgUmVhY3RTZWxlY3RQcm9wcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBnZXRUZXh0SW5wdXROYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS50ZXh0SW5wdXRgIDogdW5kZWZpbmVkO1xuXG5jb25zdCBnZXREcm9wZG93bk5hbWUgPSAobmFtZT86IHN0cmluZykgPT5cbiAgbmFtZSA/IGAke25hbWV9LmRyb3Bkb3duYCA6IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgVEN1c3RvbUV2ZW50ID0ge1xuICB0YXJnZXQ6IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsO1xuICB9O1xuICBwZXJzaXN0PzogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFRWYWx1ZSA9IHtcbiAgdGV4dDogc3RyaW5nO1xuICBvcHRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsPzogUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbk9iamVjdCA9IHtcbiAgb3B0aW9uczogVE9wdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbnMgPSBUT3B0aW9uW10gfCBUT3B0aW9uT2JqZWN0W107XG5cbmV4cG9ydCB0eXBlIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBpZCBwcm9wZXJ0eS4gQW4gaWQgaXMgYXV0by1nZW5lcmF0ZWQgd2hlbiBpdCBpcyBub3Qgc3BlY2lmaWVkLlxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYXV0b2NvbXBsZXRlIHByb3BlcnR5XG4gICAqL1xuICBhdXRvQ29tcGxldGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZSBpZiB0aGUgdmFsdWUgZW50ZXJlZCBpbiB0aGUgaW5wdXQgaXMgaW52YWxpZC5cbiAgICovXG4gICdhcmlhLWludmFsaWQnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhUTUwgSUQgb2YgYW4gZWxlbWVudCBjb250YWluaW5nIGFuIGVycm9yIG1lc3NhZ2UgcmVsYXRlZCB0byB0aGUgaW5wdXQuXG4gICAqL1xuICAnYXJpYS1lcnJvcm1lc3NhZ2UnPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIG5hbWUgb2YgdGhlIGlucHV0IGNvbXBvbmVudCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgaW5wdXQuIENvbnNpc3RzIG9mIHRleHQgaW5wdXQgYW5kIHNlbGVjdGVkIG9wdGlvbi5cbiAgICovXG4gIHZhbHVlOiBUVmFsdWU7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2l0aCB0aGUgZXZlbnQgb2YgdGhlIGlucHV0IG9yIGRyb3Bkb3duIHdoZW4gZWl0aGVyIHRoZSBzZWxlY3RhYmxlIGRyb3Bkb3duIG9yIHRoZSB0ZXh0IGlucHV0IGhhdmUgY2hhbmdlZC5cbiAgICogVGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSB0ZXh0IGlucHV0IGhhcyBhIHN1ZmZpeCBvZiBgLnRleHRJbnB1dGAgYW5kIHRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgZHJvcGRvd24gaGFzIGEgc3VmZml4IG9mIGAuZHJvcGRvd25gLlxuICAgKi9cbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGJsdXJyZWRcbiAgICovXG4gIG9uQmx1cj86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgKi9cbiAgb25Gb2N1cz86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBzZWFyY2ggYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvblN1Ym1pdDogKHZhbHVlOiBUVmFsdWUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25SZXNldD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgaW5wdXQgb24gaW5pdGlhbCByZW5kZXJcbiAgICovXG4gIGlzQXV0b2ZvY3Vzc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBjYW5ub3QgYmUgbW9kaWZpZWQgKGUuZyBub3QgYXV0aG9yaXplZCwgb3IgY2hhbmdlcyBjdXJyZW50bHkgc2F2aW5nKS5cbiAgICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGZpZWxkIGlzIGRpc3BsYXlpbmcgcmVhZC1vbmx5IGNvbnRlbnRcbiAgICovXG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBoYXMgaW52YWxpZCB2YWx1ZXNcbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIHdhcm5pbmcgdmFsdWVzXG4gICAqL1xuICBoYXNXYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IHNob3VsZCBiZSBjbGVhcmVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKlxuICAgKi9cbiAgaXNDbGVhcmFibGU/OiBib29sZWFuO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IG9mIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBob3Jpem9udGFsQ29uc3RyYWludD86IDEwIHwgMTEgfCAxMiB8IDEzIHwgMTQgfCAxNSB8IDE2IHwgJ3NjYWxlJyB8ICdhdXRvJztcbiAgLyoqXG4gICAqIEFycmF5IG9mIG9wdGlvbnMgdGhhdCBwb3B1bGF0ZSB0aGUgc2VsZWN0IG1lbnVcbiAgICovXG4gIG9wdGlvbnM6IFRPcHRpb25zO1xuICAvKipcbiAgICogei1pbmRleCB2YWx1ZSBmb3IgdGhlIG1lbnUgcG9ydGFsXG4gICAqIDxicj5cbiAgICogVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggYG1lbnVQb3J0YWxUYXJnZXRgXG4gICAqL1xuICBtZW51UG9ydGFsWkluZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogRG9tIGVsZW1lbnQgdG8gcG9ydGFsIHRoZSBzZWxlY3QgbWVudSB0b1xuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVBvcnRhbFRhcmdldD86IFJlYWN0U2VsZWN0UHJvcHNbJ21lbnVQb3J0YWxUYXJnZXQnXTtcbiAgLyoqXG4gICAqIHdoZXRoZXIgdGhlIG1lbnUgc2hvdWxkIGJsb2NrIHNjcm9sbCB3aGlsZSBvcGVuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtZW51U2hvdWxkQmxvY2tTY3JvbGw/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51U2hvdWxkQmxvY2tTY3JvbGwnXTtcbiAgLyoqXG4gICAqIEhhbmRsZSBjaGFuZ2UgZXZlbnRzIG9uIHRoZSBtZW51IGlucHV0XG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBvbk1lbnVJbnB1dENoYW5nZT86IFJlYWN0U2VsZWN0UHJvcHNbJ29uSW5wdXRDaGFuZ2UnXTtcbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIHJlbmRlciBhIGN1c3RvbSB2YWx1ZSB3aGVuIHRoZXJlIGFyZSBubyBvcHRpb25zIChlaXRoZXIgYmVjYXVzZSBvZiBubyBzZWFyY2ggcmVzdWx0cywgb3IgYWxsIG9wdGlvbnMgaGF2ZSBiZWVuIHVzZWQsIG9yIHRoZXJlIHdlcmUgbm9uZSBpbiB0aGUgZmlyc3QgcGxhY2UpLiBHZXRzIGNhbGxlZCB3aXRoIHsgaW5wdXRWYWx1ZTogU3RyaW5nIH0uXG4gICAqIDxiciAvPlxuICAgKiBgaW5wdXRWYWx1ZWAgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmcgd2hlbiBubyBzZWFyY2ggdGV4dCBpcyBwcmVzZW50LlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbm9NZW51T3B0aW9uc01lc3NhZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydub09wdGlvbnNNZXNzYWdlJ107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBzZWFyY2ggZnVuY3Rpb25hbGl0eS5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIGlzTWVudVNlYXJjaGFibGU/OiBSZWFjdFNlbGVjdFByb3BzWydpc1NlYXJjaGFibGUnXTtcbiAgLyoqXG4gICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBtZW51IGJlZm9yZSBzY3JvbGxpbmdcbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1heE1lbnVIZWlnaHQ/OiBSZWFjdFNlbGVjdFByb3BzWydtYXhNZW51SGVpZ2h0J107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtZW51IHNob3VsZCBjbG9zZSBhZnRlciBhIHZhbHVlIGlzIHNlbGVjdGVkLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBjbG9zZU1lbnVPblNlbGVjdD86IFJlYWN0U2VsZWN0UHJvcHNbJ2Nsb3NlTWVudU9uU2VsZWN0J107XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50PzogMyB8IDQgfCA1O1xuICAvKipcbiAgICogU2hvdyBzdWJtaXQgYnV0dG9uIGluIHRoZSBpbnB1dFxuICAgKi9cbiAgc2hvd1N1Ym1pdEJ1dHRvbj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyxcbiAgfCAnaG9yaXpvbnRhbENvbnN0cmFpbnQnXG4gIHwgJ2lzQ2xlYXJhYmxlJ1xuICB8ICdtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQnXG4gIHwgJ3Nob3dTdWJtaXRCdXR0b24nXG4gIHwgJ21lbnVQb3J0YWxaSW5kZXgnXG4gIHwgJ29wdGlvbnMnXG4+ID0ge1xuICBob3Jpem9udGFsQ29uc3RyYWludDogJ3NjYWxlJyxcbiAgaXNDbGVhcmFibGU6IHRydWUsXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludDogMyxcbiAgc2hvd1N1Ym1pdEJ1dHRvbjogdHJ1ZSxcbiAgbWVudVBvcnRhbFpJbmRleDogMSxcbiAgb3B0aW9uczogW10sXG59O1xuXG5jb25zdCBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoXG4gICdzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC0nXG4pO1xuXG5jb25zdCBpc09wdGlvbk9iamVjdCA9IChcbiAgb3B0aW9uOiBUT3B0aW9uIHwgVE9wdGlvbk9iamVjdFxuKTogb3B0aW9uIGlzIFRPcHRpb25PYmplY3QgPT4gKG9wdGlvbiBhcyBUT3B0aW9uT2JqZWN0KS5vcHRpb25zICE9PSB1bmRlZmluZWQ7XG5cbmNvbnN0IFNlbGVjdGFibGVTZWFyY2hJbnB1dCA9IChwcm9wczogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IFtkcm9wZG93bkhhc0ZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzXSA9IHVzZVRvZ2dsZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS50ZXh0IHx8ICcnKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgdGV4dElucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRob3V0R3JvdXBzID0gcHJvcHMub3B0aW9ucy5mbGF0TWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAoaXNPcHRpb25PYmplY3Qob3B0aW9uKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnNXaXRob3V0R3JvdXBzLmZpbmQoXG4gICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBwcm9wcy52YWx1ZS5vcHRpb25cbiAgKTtcblxuICBjb25zdCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkID0gdXNlRmllbGRJZChcbiAgICBwcm9wcy5pZCxcbiAgICBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWRcbiAgKTtcblxuICBpZiAoIXByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICk7XG4gIH1cblxuICB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nKHtcbiAgICBtZW51UG9ydGFsWkluZGV4OiBwcm9wcy5tZW51UG9ydGFsWkluZGV4LFxuICAgIG1lbnVQb3J0YWxUYXJnZXQ6IHByb3BzLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgY29tcG9uZW50TmFtZTogJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCcsXG4gIH0pO1xuXG4gIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBuYW1lIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Qmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJyk7XG4gICAgaWYgKHByb3BzLm9uUmVzZXQpIHtcbiAgICAgIHByb3BzLm9uUmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICBwcm9wcy5vbkNoYW5nZSh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKSxcbiAgICAgICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChcbiAgICBldmVudDpcbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwcm9wcy5vblN1Ym1pdCkge1xuICAgICAgcHJvcHMub25TdWJtaXQoe1xuICAgICAgICB0ZXh0OiBzZWFyY2hWYWx1ZSxcbiAgICAgICAgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbj8udmFsdWUgPz8gJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZHJvcGRvd25OYW1lID0gZ2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpO1xuICBjb25zdCBkcm9wZG93bklkID0gU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoXG4gICAgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyh0cnVlKTtcbiAgfSwgW29uRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyhmYWxzZSk7XG4gIH0sIFt0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBvbkJsdXIsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lckJsdXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGZpZWxkcyBhcmUgbWFya2VkIGFzIHRvdWNoZWQgd2hlbiBvbmUgb2YgdGhlbVxuICAgICAgLy8gaXMgYmx1cnJlZFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2Ygb25CbHVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICFjb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICkge1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8Q29udGFpbmVyXG4gICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZUNvbnRhaW5lckJsdXJ9XG4gICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5tZW51SG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgICAgIDxTZWxlY3RhYmxlU2VsZWN0XG4gICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzPXtkcm9wZG93bkhhc0ZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25Gb2N1cz17aGFuZGxlRHJvcGRvd25Gb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQmx1cj17aGFuZGxlRHJvcGRvd25CbHVyfVxuICAgICAgICAgICAgdGV4dElucHV0UmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17c2VsZWN0ZWRPcHRpb259XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRDb250YWluZXJTdHlsZXMocHJvcHMpLFxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cyAmJlxuICAgICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJlxuICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGAsXG4gICAgICAgICAgXX1cbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hWYWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZVRleHRJbnB1dEJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVUZXh0SW5wdXRGb2N1c31cbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICBhcmlhLXJlYWRvbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNzcz17Z2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgIHsuLi5maWx0ZXJEYXRhQXR0cmlidXRlcyhwcm9wcyl9XG4gICAgICAgICAgICAvKiBBUklBICovXG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgIGFyaWEtZXJyb3JtZXNzYWdlPXtwcm9wc1snYXJpYS1lcnJvcm1lc3NhZ2UnXX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1pbnB1dFwiXG4gICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLmlzUmVhZE9ubHkgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU3VibWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy5pc0NsZWFyYWJsZSAmJlxuICAgICAgICAgICAgc2VhcmNoVmFsdWUgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJiAoXG4gICAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgaWNvbj17PENsb3NlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBzaXplPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7cHJvcHMuc2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5pc0VtcHR5ID0gKFxuICBmb3JtVmFsdWU6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wc1sndmFsdWUnXVxuKSA9PiAhZm9ybVZhbHVlIHx8IGZvcm1WYWx1ZS50ZXh0LnRyaW0oKSA9PT0gJyc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQgPSBnZXRUZXh0SW5wdXROYW1lO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQgPSBnZXREcm9wZG93bk5hbWU7XG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdGFibGVTZWFyY2hJbnB1dDtcbiJdfQ== */"],
439
- children: [jsxRuntime.jsx("input", _objectSpread(_objectSpread({
462
+ css: [getSelectableSearchInputContainerStyles(props), dropdownHasFocus && !props.isReadOnly && /*#__PURE__*/react.css("border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";&:hover{border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2YWlCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIHNlbGVjdCBjb21wb25lbnQuXG4gICAqIGVnOiBzZWxlY3REYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgc2VsZWN0RGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqICB1c2VkIHRvIHBhc3MgZGF0YS0qIHByb3BzIHRvIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBlZzogaW5wdXREYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgaW5wdXREYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMsXG4gIHwgJ2hvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdpc0NsZWFyYWJsZSdcbiAgfCAnbWVudUhvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdzaG93U3VibWl0QnV0dG9uJ1xuICB8ICdtZW51UG9ydGFsWkluZGV4J1xuICB8ICdvcHRpb25zJ1xuPiA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlOiB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ6IDMsXG4gIHNob3dTdWJtaXRCdXR0b246IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXg6IDEsXG4gIG9wdGlvbnM6IFtdLFxufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCB0cmFuc2Zvcm1EYXRhUHJvcHMgPSAoZGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT5cbiAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGFQcm9wcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+IFtcbiAgICAgIGBkYXRhLSR7a2V5fWAsXG4gICAgICB2YWx1ZSxcbiAgICBdKVxuICApO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAocHJvcHM6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBsZWdhY3lEYXRhUHJvcHMgPSBmaWx0ZXJEYXRhQXR0cmlidXRlcyhwcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzID0gdHJhbnNmb3JtRGF0YVByb3BzKHByb3BzLnNlbGVjdERhdGFQcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkSW5wdXREYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuaW5wdXREYXRhUHJvcHMpO1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRob3V0R3JvdXBzID0gcHJvcHMub3B0aW9ucy5mbGF0TWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAoaXNPcHRpb25PYmplY3Qob3B0aW9uKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnNXaXRob3V0R3JvdXBzLmZpbmQoXG4gICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBwcm9wcy52YWx1ZS5vcHRpb25cbiAgKTtcblxuICBjb25zdCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkID0gdXNlRmllbGRJZChcbiAgICBwcm9wcy5pZCxcbiAgICBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWRcbiAgKTtcblxuICBpZiAoIXByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICk7XG4gIH1cblxuICB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nKHtcbiAgICBtZW51UG9ydGFsWkluZGV4OiBwcm9wcy5tZW51UG9ydGFsWkluZGV4LFxuICAgIG1lbnVQb3J0YWxUYXJnZXQ6IHByb3BzLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgY29tcG9uZW50TmFtZTogJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCcsXG4gIH0pO1xuXG4gIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBuYW1lIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Qmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJyk7XG4gICAgaWYgKHByb3BzLm9uUmVzZXQpIHtcbiAgICAgIHByb3BzLm9uUmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICBwcm9wcy5vbkNoYW5nZSh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKSxcbiAgICAgICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChcbiAgICBldmVudDpcbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwcm9wcy5vblN1Ym1pdCkge1xuICAgICAgcHJvcHMub25TdWJtaXQoe1xuICAgICAgICB0ZXh0OiBzZWFyY2hWYWx1ZSxcbiAgICAgICAgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbj8udmFsdWUgPz8gJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZHJvcGRvd25OYW1lID0gZ2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpO1xuICBjb25zdCBkcm9wZG93bklkID0gU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoXG4gICAgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyh0cnVlKTtcbiAgfSwgW29uRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyhmYWxzZSk7XG4gIH0sIFt0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBvbkJsdXIsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lckJsdXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGZpZWxkcyBhcmUgbWFya2VkIGFzIHRvdWNoZWQgd2hlbiBvbmUgb2YgdGhlbVxuICAgICAgLy8gaXMgYmx1cnJlZFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2Ygb25CbHVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICFjb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICkge1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8Q29udGFpbmVyXG4gICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZUNvbnRhaW5lckJsdXJ9XG4gICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5tZW51SG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgICAgIDxTZWxlY3RhYmxlU2VsZWN0XG4gICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzPXtkcm9wZG93bkhhc0ZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25Gb2N1cz17aGFuZGxlRHJvcGRvd25Gb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQmx1cj17aGFuZGxlRHJvcGRvd25CbHVyfVxuICAgICAgICAgICAgdGV4dElucHV0UmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17c2VsZWN0ZWRPcHRpb259XG4gICAgICAgICAgICBkYXRhUHJvcHM9e3RyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKHByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICB7Li4udHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wc31cbiAgICAgICAgICAgIHsuLi5sZWdhY3lEYXRhUHJvcHN9XG4gICAgICAgICAgICAvKiBBUklBICovXG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgIGFyaWEtZXJyb3JtZXNzYWdlPXtwcm9wc1snYXJpYS1lcnJvcm1lc3NhZ2UnXX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1pbnB1dFwiXG4gICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLmlzUmVhZE9ubHkgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU3VibWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy5pc0NsZWFyYWJsZSAmJlxuICAgICAgICAgICAgc2VhcmNoVmFsdWUgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJiAoXG4gICAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgaWNvbj17PENsb3NlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBzaXplPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7cHJvcHMuc2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5pc0VtcHR5ID0gKFxuICBmb3JtVmFsdWU6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wc1sndmFsdWUnXVxuKSA9PiAhZm9ybVZhbHVlIHx8IGZvcm1WYWx1ZS50ZXh0LnRyaW0oKSA9PT0gJyc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQgPSBnZXRUZXh0SW5wdXROYW1lO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQgPSBnZXREcm9wZG93bk5hbWU7XG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdGFibGVTZWFyY2hJbnB1dDtcbiJdfQ== */"), process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5YVUiLCJmaWxlIjoic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIHR5cGUgQ2hhbmdlRXZlbnQsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNlY29uZGFyeUljb25CdXR0b24gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2Vjb25kYXJ5LWljb24tYnV0dG9uJztcbmltcG9ydCBDb25zdHJhaW50cyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb25zdHJhaW50cyc7XG5pbXBvcnQgeyBTZWFyY2hJY29uLCBDbG9zZUljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQge1xuICBjcmVhdGVTZXF1ZW50aWFsSWQsXG4gIGZpbHRlckRhdGFBdHRyaWJ1dGVzLFxuICB3YXJuaW5nLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgeyB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGdldENsZWFySWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzLFxuICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRTdHlsZXMsXG59IGZyb20gJy4vc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQuc3R5bGVzJztcbmltcG9ydCBTZWxlY3RhYmxlU2VsZWN0IGZyb20gJy4vc2VsZWN0YWJsZS1zZWxlY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHR5cGUgUHJvcHMgYXMgUmVhY3RTZWxlY3RQcm9wcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBnZXRUZXh0SW5wdXROYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS50ZXh0SW5wdXRgIDogdW5kZWZpbmVkO1xuXG5jb25zdCBnZXREcm9wZG93bk5hbWUgPSAobmFtZT86IHN0cmluZykgPT5cbiAgbmFtZSA/IGAke25hbWV9LmRyb3Bkb3duYCA6IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgVEN1c3RvbUV2ZW50ID0ge1xuICB0YXJnZXQ6IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsO1xuICB9O1xuICBwZXJzaXN0PzogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFRWYWx1ZSA9IHtcbiAgdGV4dDogc3RyaW5nO1xuICBvcHRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsPzogUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbk9iamVjdCA9IHtcbiAgb3B0aW9uczogVE9wdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbnMgPSBUT3B0aW9uW10gfCBUT3B0aW9uT2JqZWN0W107XG5cbmV4cG9ydCB0eXBlIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBpZCBwcm9wZXJ0eS4gQW4gaWQgaXMgYXV0by1nZW5lcmF0ZWQgd2hlbiBpdCBpcyBub3Qgc3BlY2lmaWVkLlxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYXV0b2NvbXBsZXRlIHByb3BlcnR5XG4gICAqL1xuICBhdXRvQ29tcGxldGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZSBpZiB0aGUgdmFsdWUgZW50ZXJlZCBpbiB0aGUgaW5wdXQgaXMgaW52YWxpZC5cbiAgICovXG4gICdhcmlhLWludmFsaWQnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhUTUwgSUQgb2YgYW4gZWxlbWVudCBjb250YWluaW5nIGFuIGVycm9yIG1lc3NhZ2UgcmVsYXRlZCB0byB0aGUgaW5wdXQuXG4gICAqL1xuICAnYXJpYS1lcnJvcm1lc3NhZ2UnPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIG5hbWUgb2YgdGhlIGlucHV0IGNvbXBvbmVudCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgaW5wdXQuIENvbnNpc3RzIG9mIHRleHQgaW5wdXQgYW5kIHNlbGVjdGVkIG9wdGlvbi5cbiAgICovXG4gIHZhbHVlOiBUVmFsdWU7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2l0aCB0aGUgZXZlbnQgb2YgdGhlIGlucHV0IG9yIGRyb3Bkb3duIHdoZW4gZWl0aGVyIHRoZSBzZWxlY3RhYmxlIGRyb3Bkb3duIG9yIHRoZSB0ZXh0IGlucHV0IGhhdmUgY2hhbmdlZC5cbiAgICogVGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSB0ZXh0IGlucHV0IGhhcyBhIHN1ZmZpeCBvZiBgLnRleHRJbnB1dGAgYW5kIHRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgZHJvcGRvd24gaGFzIGEgc3VmZml4IG9mIGAuZHJvcGRvd25gLlxuICAgKi9cbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGJsdXJyZWRcbiAgICovXG4gIG9uQmx1cj86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgKi9cbiAgb25Gb2N1cz86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBzZWFyY2ggYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvblN1Ym1pdDogKHZhbHVlOiBUVmFsdWUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25SZXNldD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgaW5wdXQgb24gaW5pdGlhbCByZW5kZXJcbiAgICovXG4gIGlzQXV0b2ZvY3Vzc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBjYW5ub3QgYmUgbW9kaWZpZWQgKGUuZyBub3QgYXV0aG9yaXplZCwgb3IgY2hhbmdlcyBjdXJyZW50bHkgc2F2aW5nKS5cbiAgICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGZpZWxkIGlzIGRpc3BsYXlpbmcgcmVhZC1vbmx5IGNvbnRlbnRcbiAgICovXG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBoYXMgaW52YWxpZCB2YWx1ZXNcbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIHdhcm5pbmcgdmFsdWVzXG4gICAqL1xuICBoYXNXYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IHNob3VsZCBiZSBjbGVhcmVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKlxuICAgKi9cbiAgaXNDbGVhcmFibGU/OiBib29sZWFuO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IG9mIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBob3Jpem9udGFsQ29uc3RyYWludD86IDEwIHwgMTEgfCAxMiB8IDEzIHwgMTQgfCAxNSB8IDE2IHwgJ3NjYWxlJyB8ICdhdXRvJztcbiAgLyoqXG4gICAqIEFycmF5IG9mIG9wdGlvbnMgdGhhdCBwb3B1bGF0ZSB0aGUgc2VsZWN0IG1lbnVcbiAgICovXG4gIG9wdGlvbnM6IFRPcHRpb25zO1xuICAvKipcbiAgICogei1pbmRleCB2YWx1ZSBmb3IgdGhlIG1lbnUgcG9ydGFsXG4gICAqIDxicj5cbiAgICogVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggYG1lbnVQb3J0YWxUYXJnZXRgXG4gICAqL1xuICBtZW51UG9ydGFsWkluZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogRG9tIGVsZW1lbnQgdG8gcG9ydGFsIHRoZSBzZWxlY3QgbWVudSB0b1xuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVBvcnRhbFRhcmdldD86IFJlYWN0U2VsZWN0UHJvcHNbJ21lbnVQb3J0YWxUYXJnZXQnXTtcbiAgLyoqXG4gICAqIHdoZXRoZXIgdGhlIG1lbnUgc2hvdWxkIGJsb2NrIHNjcm9sbCB3aGlsZSBvcGVuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtZW51U2hvdWxkQmxvY2tTY3JvbGw/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51U2hvdWxkQmxvY2tTY3JvbGwnXTtcbiAgLyoqXG4gICAqIEhhbmRsZSBjaGFuZ2UgZXZlbnRzIG9uIHRoZSBtZW51IGlucHV0XG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBvbk1lbnVJbnB1dENoYW5nZT86IFJlYWN0U2VsZWN0UHJvcHNbJ29uSW5wdXRDaGFuZ2UnXTtcbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIHJlbmRlciBhIGN1c3RvbSB2YWx1ZSB3aGVuIHRoZXJlIGFyZSBubyBvcHRpb25zIChlaXRoZXIgYmVjYXVzZSBvZiBubyBzZWFyY2ggcmVzdWx0cywgb3IgYWxsIG9wdGlvbnMgaGF2ZSBiZWVuIHVzZWQsIG9yIHRoZXJlIHdlcmUgbm9uZSBpbiB0aGUgZmlyc3QgcGxhY2UpLiBHZXRzIGNhbGxlZCB3aXRoIHsgaW5wdXRWYWx1ZTogU3RyaW5nIH0uXG4gICAqIDxiciAvPlxuICAgKiBgaW5wdXRWYWx1ZWAgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmcgd2hlbiBubyBzZWFyY2ggdGV4dCBpcyBwcmVzZW50LlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbm9NZW51T3B0aW9uc01lc3NhZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydub09wdGlvbnNNZXNzYWdlJ107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBzZWFyY2ggZnVuY3Rpb25hbGl0eS5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIGlzTWVudVNlYXJjaGFibGU/OiBSZWFjdFNlbGVjdFByb3BzWydpc1NlYXJjaGFibGUnXTtcbiAgLyoqXG4gICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBtZW51IGJlZm9yZSBzY3JvbGxpbmdcbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1heE1lbnVIZWlnaHQ/OiBSZWFjdFNlbGVjdFByb3BzWydtYXhNZW51SGVpZ2h0J107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtZW51IHNob3VsZCBjbG9zZSBhZnRlciBhIHZhbHVlIGlzIHNlbGVjdGVkLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBjbG9zZU1lbnVPblNlbGVjdD86IFJlYWN0U2VsZWN0UHJvcHNbJ2Nsb3NlTWVudU9uU2VsZWN0J107XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50PzogMyB8IDQgfCA1O1xuICAvKipcbiAgICogU2hvdyBzdWJtaXQgYnV0dG9uIGluIHRoZSBpbnB1dFxuICAgKi9cbiAgc2hvd1N1Ym1pdEJ1dHRvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAgdXNlZCB0byBwYXNzIGRhdGEtKiBwcm9wcyB0byB0aGUgc2VsZWN0IGNvbXBvbmVudC5cbiAgICogZWc6IHNlbGVjdERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBzZWxlY3REYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIGVnOiBpbnB1dERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBpbnB1dERhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyxcbiAgfCAnaG9yaXpvbnRhbENvbnN0cmFpbnQnXG4gIHwgJ2lzQ2xlYXJhYmxlJ1xuICB8ICdtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQnXG4gIHwgJ3Nob3dTdWJtaXRCdXR0b24nXG4gIHwgJ21lbnVQb3J0YWxaSW5kZXgnXG4gIHwgJ29wdGlvbnMnXG4+ID0ge1xuICBob3Jpem9udGFsQ29uc3RyYWludDogJ3NjYWxlJyxcbiAgaXNDbGVhcmFibGU6IHRydWUsXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludDogMyxcbiAgc2hvd1N1Ym1pdEJ1dHRvbjogdHJ1ZSxcbiAgbWVudVBvcnRhbFpJbmRleDogMSxcbiAgb3B0aW9uczogW10sXG59O1xuXG5jb25zdCBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoXG4gICdzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC0nXG4pO1xuXG5jb25zdCBpc09wdGlvbk9iamVjdCA9IChcbiAgb3B0aW9uOiBUT3B0aW9uIHwgVE9wdGlvbk9iamVjdFxuKTogb3B0aW9uIGlzIFRPcHRpb25PYmplY3QgPT4gKG9wdGlvbiBhcyBUT3B0aW9uT2JqZWN0KS5vcHRpb25zICE9PSB1bmRlZmluZWQ7XG5cbmNvbnN0IHRyYW5zZm9ybURhdGFQcm9wcyA9IChkYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA9PlxuICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoZGF0YVByb3BzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW1xuICAgICAgYGRhdGEtJHtrZXl9YCxcbiAgICAgIHZhbHVlLFxuICAgIF0pXG4gICk7XG5cbmNvbnN0IFNlbGVjdGFibGVTZWFyY2hJbnB1dCA9IChwcm9wczogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IFtkcm9wZG93bkhhc0ZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzXSA9IHVzZVRvZ2dsZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS50ZXh0IHx8ICcnKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgdGV4dElucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IGxlZ2FjeURhdGFQcm9wcyA9IGZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuc2VsZWN0RGF0YVByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wcyA9IHRyYW5zZm9ybURhdGFQcm9wcyhwcm9wcy5pbnB1dERhdGFQcm9wcyk7XG5cbiAgY29uc3Qgb3B0aW9uc1dpdGhvdXRHcm91cHMgPSBwcm9wcy5vcHRpb25zLmZsYXRNYXAoKG9wdGlvbikgPT4ge1xuICAgIGlmIChpc09wdGlvbk9iamVjdChvcHRpb24pKSB7XG4gICAgICByZXR1cm4gb3B0aW9uLm9wdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb247XG4gIH0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9uc1dpdGhvdXRHcm91cHMuZmluZChcbiAgICAob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHByb3BzLnZhbHVlLm9wdGlvblxuICApO1xuXG4gIGNvbnN0IHNlbGVjdGFibFNlYXJjaElucHV0SWQgPSB1c2VGaWVsZElkKFxuICAgIHByb3BzLmlkLFxuICAgIHNlbGVjdGFibGVTZWFyY2hJbnB1dFNlcXVlbnRpYWxJZFxuICApO1xuXG4gIGlmICghcHJvcHMuaXNSZWFkT25seSkge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicsXG4gICAgICAnU2VsZWN0YWJsZVNlYXJjaElucHV0OiBgb25DaGFuZ2VgIGlzIHJlcXVpcmVkIHdoZW4gaXMgbm90IHJlYWQgb25seS4nXG4gICAgKTtcbiAgfVxuXG4gIHdhcm5JZk1lbnVQb3J0YWxQcm9wc0FyZU1pc3Npbmcoe1xuICAgIG1lbnVQb3J0YWxaSW5kZXg6IHByb3BzLm1lbnVQb3J0YWxaSW5kZXgsXG4gICAgbWVudVBvcnRhbFRhcmdldDogcHJvcHMubWVudVBvcnRhbFRhcmdldCxcbiAgICBjb21wb25lbnROYW1lOiAnU2VsZWN0YWJsZVNlYXJjaElucHV0JyxcbiAgfSk7XG5cbiAgY29uc3QgeyBvbkZvY3VzLCBvbkJsdXIsIG5hbWUgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRGb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25Gb2N1cykge1xuICAgICAgb25Gb2N1cyh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW29uRm9jdXMsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRCbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkJsdXIpIHtcbiAgICAgIG9uQmx1cih7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZUNsZWFyID0gKCkgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKCcnKTtcbiAgICBpZiAocHJvcHMub25SZXNldCkge1xuICAgICAgcHJvcHMub25SZXNldCgpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBpZiAocHJvcHMub25DaGFuZ2UpIHtcbiAgICAgIHByb3BzLm9uQ2hhbmdlKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKHByb3BzLm5hbWUpLFxuICAgICAgICAgIHZhbHVlOiBldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKFxuICAgIGV2ZW50OlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+XG4gICkgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHByb3BzLm9uU3VibWl0KSB7XG4gICAgICBwcm9wcy5vblN1Ym1pdCh7XG4gICAgICAgIHRleHQ6IHNlYXJjaFZhbHVlLFxuICAgICAgICBvcHRpb246IHNlbGVjdGVkT3B0aW9uPy52YWx1ZSA/PyAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkcm9wZG93bk5hbWUgPSBnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSk7XG4gIGNvbnN0IGRyb3Bkb3duSWQgPSBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChcbiAgICBzZWxlY3RhYmxTZWFyY2hJbnB1dElkXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25Gb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25Gb2N1cykge1xuICAgICAgb25Gb2N1cyh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKHRydWUpO1xuICB9LCBbb25Gb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25CbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkJsdXIpIHtcbiAgICAgIG9uQmx1cih7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKGZhbHNlKTtcbiAgfSwgW3RvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIG9uQmx1ciwgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlQ29udGFpbmVyQmx1ciA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgLy8gZW5zdXJlcyB0aGF0IGJvdGggZmllbGRzIGFyZSBtYXJrZWQgYXMgdG91Y2hlZCB3aGVuIG9uZSBvZiB0aGVtXG4gICAgICAvLyBpcyBibHVycmVkXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBvbkJsdXIgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgIWNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KVxuICAgICAgKSB7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXREcm9wZG93bk5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e3Byb3BzLmhvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgIDxDb250YWluZXJcbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgIG9uQmx1cj17aGFuZGxlQ29udGFpbmVyQmx1cn1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e3Byb3BzLm1lbnVIb3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICAgICAgPFNlbGVjdGFibGVTZWxlY3RcbiAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgIGlkPXtTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXM9e2Ryb3Bkb3duSGFzRm9jdXN9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkZvY3VzPXtoYW5kbGVEcm9wZG93bkZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25CbHVyPXtoYW5kbGVEcm9wZG93bkJsdXJ9XG4gICAgICAgICAgICB0ZXh0SW5wdXRSZWY9e3RleHRJbnB1dFJlZn1cbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgICAgIGRhdGFQcm9wcz17dHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRDb250YWluZXJTdHlsZXMocHJvcHMpLFxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cyAmJlxuICAgICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJlxuICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGAsXG4gICAgICAgICAgXX1cbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hWYWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZVRleHRJbnB1dEJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVUZXh0SW5wdXRGb2N1c31cbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICBhcmlhLXJlYWRvbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNzcz17Z2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgIHsuLi50cmFuc2Zvcm1lZElucHV0RGF0YVByb3BzfVxuICAgICAgICAgICAgey4uLmxlZ2FjeURhdGFQcm9wc31cbiAgICAgICAgICAgIC8qIEFSSUEgKi9cbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17cHJvcHNbJ2FyaWEtaW52YWxpZCddfVxuICAgICAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e3Byb3BzWydhcmlhLWVycm9ybWVzc2FnZSddfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLWlucHV0XCJcbiAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMuaXNSZWFkT25seSAmJiBldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVTdWJtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge3Byb3BzLmlzQ2xlYXJhYmxlICYmXG4gICAgICAgICAgICBzZWFyY2hWYWx1ZSAmJlxuICAgICAgICAgICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1JlYWRPbmx5ICYmIChcbiAgICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBpY29uPXs8Q2xvc2VJY29uIC8+fVxuICAgICAgICAgICAgICAgIHNpemU9XCJtZWRpdW1cIlxuICAgICAgICAgICAgICAgIGxhYmVsPXsnY2xlYXItYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGVhcn1cbiAgICAgICAgICAgICAgICBjc3M9e2dldENsZWFySWNvbkJ1dHRvblN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIHtwcm9wcy5zaG93U3VibWl0QnV0dG9uICYmIChcbiAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgIGljb249ezxTZWFyY2hJY29uIC8+fVxuICAgICAgICAgICAgICBsYWJlbD17J3NlYXJjaC1idXR0b24nfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9XG4gICAgICAgICAgICAgIGNzcz17Z2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICApO1xufTtcblxuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRpc3BsYXlOYW1lID0gJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmlzRW1wdHkgPSAoXG4gIGZvcm1WYWx1ZTogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzWyd2YWx1ZSddXG4pID0+ICFmb3JtVmFsdWUgfHwgZm9ybVZhbHVlLnRleHQudHJpbSgpID09PSAnJztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZCA9IGdldFRleHRJbnB1dE5hbWU7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZCA9IGdldERyb3Bkb3duTmFtZTtcblxuZXhwb3J0IGRlZmF1bHQgU2VsZWN0YWJsZVNlYXJjaElucHV0O1xuIl19 */"],
463
+ children: [jsxRuntime.jsx("input", _objectSpread(_objectSpread(_objectSpread({
440
464
  ref: textInputRef,
441
465
  id: SelectableSearchInput.getTextInputId(selectablSearchInputId),
442
466
  name: getTextInputName(props.name),
@@ -453,7 +477,7 @@ const SelectableSearchInput = props => {
453
477
  "aria-readonly": props.isReadOnly,
454
478
  contentEditable: !props.isReadOnly,
455
479
  css: getSelectableSearchInputStyles(props)
456
- }, utils.filterDataAttributes(props)), {}, {
480
+ }, transformedInputDataProps), legacyDataProps), {}, {
457
481
  /* ARIA */
458
482
  "aria-invalid": props['aria-invalid'],
459
483
  "aria-errormessage": props['aria-errormessage'],
@@ -514,20 +538,22 @@ SelectableSearchInput.propTypes = process.env.NODE_ENV !== "production" ? {
514
538
  }))]).isRequired,
515
539
  menuPortalZIndex: _pt__default["default"].number,
516
540
  menuHorizontalConstraint: _pt__default["default"].oneOf([3, 4, 5]),
517
- showSubmitButton: _pt__default["default"].bool
541
+ showSubmitButton: _pt__default["default"].bool,
542
+ selectDataProps: _pt__default["default"].objectOf(_pt__default["default"].string),
543
+ inputDataProps: _pt__default["default"].objectOf(_pt__default["default"].string)
518
544
  } : {};
519
545
  SelectableSearchInput.displayName = 'SelectableSearchInput';
520
546
  SelectableSearchInput.defaultProps = defaultProps;
521
547
  SelectableSearchInput.isEmpty = formValue => {
522
- var _context2;
523
- return !formValue || _trimInstanceProperty__default["default"](_context2 = formValue.text).call(_context2) === '';
548
+ var _context3;
549
+ return !formValue || _trimInstanceProperty__default["default"](_context3 = formValue.text).call(_context3) === '';
524
550
  };
525
551
  SelectableSearchInput.getTextInputId = getTextInputName;
526
552
  SelectableSearchInput.getDropdownId = getDropdownName;
527
553
  var SelectableSearchInput$1 = SelectableSearchInput;
528
554
 
529
555
  // NOTE: This string will be replaced on build time with the package version.
530
- var version = "16.12.0";
556
+ var version = "17.0.0";
531
557
 
532
558
  exports["default"] = SelectableSearchInput$1;
533
559
  exports.version = version;
@@ -14,6 +14,9 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
14
14
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
15
15
  var _styled = require('@emotion/styled/base');
16
16
  require('prop-types');
17
+ var _Object$fromEntries = require('@babel/runtime-corejs3/core-js-stable/object/from-entries');
18
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
19
+ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
17
20
  var _flatMapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/flat-map');
18
21
  var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
19
22
  var _trimInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/trim');
@@ -43,6 +46,9 @@ var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_O
43
46
  var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
44
47
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
45
48
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
49
+ var _Object$fromEntries__default = /*#__PURE__*/_interopDefault(_Object$fromEntries);
50
+ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
51
+ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
46
52
  var _flatMapInstanceProperty__default = /*#__PURE__*/_interopDefault(_flatMapInstanceProperty);
47
53
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
48
54
  var _trimInstanceProperty__default = /*#__PURE__*/_interopDefault(_trimInstanceProperty);
@@ -180,17 +186,19 @@ const createSelectableSelectStyles = _ref => {
180
186
  });
181
187
  };
182
188
 
183
- const _excluded = ["id"];
189
+ const _excluded = ["id", "dataProps"];
184
190
  function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
185
191
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
186
192
  const SingleValue = _ref => {
187
193
  let id = _ref.id,
194
+ dataProps = _ref.dataProps,
188
195
  props = _objectWithoutProperties(_ref, _excluded);
189
196
  return jsxRuntime.jsx(Select.components.SingleValue, _objectSpread$1(_objectSpread$1({}, props), {}, {
190
- children: jsxRuntime.jsx("label", {
191
- htmlFor: id,
197
+ children: jsxRuntime.jsx("label", _objectSpread$1(_objectSpread$1({
198
+ htmlFor: id
199
+ }, dataProps), {}, {
192
200
  children: props.children
193
- })
201
+ }))
194
202
  }));
195
203
  };
196
204
  SingleValue.propTypes = {};
@@ -230,9 +238,10 @@ const SelectableSelect = props => {
230
238
  maxMenuHeight: props.maxMenuHeight,
231
239
  closeMenuOnSelect: props.closeMenuOnSelect,
232
240
  components: {
233
- SingleValue: innerProps => jsxRuntime.jsx(SingleValue, _objectSpread$1(_objectSpread$1({}, innerProps), {}, {
234
- id: props.id
235
- })),
241
+ SingleValue: innerProps => jsxRuntime.jsx(SingleValue, _objectSpread$1({
242
+ id: props.id,
243
+ dataProps: props.dataProps
244
+ }, innerProps)),
236
245
  DropdownIndicator: selectUtils.DropdownIndicator
237
246
  },
238
247
  options: props.options,
@@ -257,7 +266,7 @@ SelectableSelect.propTypes = {};
257
266
  var SelectableSelect$1 = SelectableSelect;
258
267
 
259
268
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
260
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
269
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
261
270
  const Container = /*#__PURE__*/_styled__default["default"]("div", {
262
271
  target: "encv1cf0"
263
272
  } )({
@@ -276,8 +285,17 @@ const defaultProps = {
276
285
  };
277
286
  const selectableSearchInputSequentialId = utils.createSequentialId('selectable-search-input-');
278
287
  const isOptionObject = option => option.options !== undefined;
279
- const SelectableSearchInput = props => {
288
+ const transformDataProps = dataProps => {
280
289
  var _context;
290
+ return _Object$fromEntries__default["default"](_mapInstanceProperty__default["default"](_context = _Object$entries__default["default"](dataProps || {})).call(_context, _ref => {
291
+ let _ref2 = _slicedToArray(_ref, 2),
292
+ key = _ref2[0],
293
+ value = _ref2[1];
294
+ return ["data-".concat(key), value];
295
+ }));
296
+ };
297
+ const SelectableSearchInput = props => {
298
+ var _context2;
281
299
  const _useToggleState = hooks.useToggleState(false),
282
300
  _useToggleState2 = _slicedToArray(_useToggleState, 2),
283
301
  dropdownHasFocus = _useToggleState2[0],
@@ -288,7 +306,10 @@ const SelectableSearchInput = props => {
288
306
  setSearchValue = _useState2[1];
289
307
  const containerRef = react$1.useRef(null);
290
308
  const textInputRef = react$1.useRef(null);
291
- const optionsWithoutGroups = _flatMapInstanceProperty__default["default"](_context = props.options).call(_context, option => {
309
+ const legacyDataProps = utils.filterDataAttributes(props);
310
+ const transformedSelectDataProps = transformDataProps(props.selectDataProps);
311
+ const transformedInputDataProps = transformDataProps(props.inputDataProps);
312
+ const optionsWithoutGroups = _flatMapInstanceProperty__default["default"](_context2 = props.options).call(_context2, option => {
292
313
  if (isOptionObject(option)) {
293
314
  return option.options;
294
315
  }
@@ -411,11 +432,12 @@ const SelectableSearchInput = props => {
411
432
  handleDropdownFocus: handleDropdownFocus,
412
433
  handleDropdownBlur: handleDropdownBlur,
413
434
  textInputRef: textInputRef,
414
- selectedOption: selectedOption
435
+ selectedOption: selectedOption,
436
+ dataProps: transformedSelectDataProps
415
437
  }))
416
438
  }), jsxRuntime.jsxs("div", {
417
439
  css: [getSelectableSearchInputContainerStyles(props), dropdownHasFocus && !props.isReadOnly && /*#__PURE__*/react.css("border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";&:hover{border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + ("" ), "" ), "" , "" ],
418
- children: [jsxRuntime.jsx("input", _objectSpread(_objectSpread({
440
+ children: [jsxRuntime.jsx("input", _objectSpread(_objectSpread(_objectSpread({
419
441
  ref: textInputRef,
420
442
  id: SelectableSearchInput.getTextInputId(selectablSearchInputId),
421
443
  name: getTextInputName(props.name),
@@ -432,7 +454,7 @@ const SelectableSearchInput = props => {
432
454
  "aria-readonly": props.isReadOnly,
433
455
  contentEditable: !props.isReadOnly,
434
456
  css: getSelectableSearchInputStyles(props)
435
- }, utils.filterDataAttributes(props)), {}, {
457
+ }, transformedInputDataProps), legacyDataProps), {}, {
436
458
  /* ARIA */
437
459
  "aria-invalid": props['aria-invalid'],
438
460
  "aria-errormessage": props['aria-errormessage'],
@@ -463,15 +485,15 @@ SelectableSearchInput.propTypes = {};
463
485
  SelectableSearchInput.displayName = 'SelectableSearchInput';
464
486
  SelectableSearchInput.defaultProps = defaultProps;
465
487
  SelectableSearchInput.isEmpty = formValue => {
466
- var _context2;
467
- return !formValue || _trimInstanceProperty__default["default"](_context2 = formValue.text).call(_context2) === '';
488
+ var _context3;
489
+ return !formValue || _trimInstanceProperty__default["default"](_context3 = formValue.text).call(_context3) === '';
468
490
  };
469
491
  SelectableSearchInput.getTextInputId = getTextInputName;
470
492
  SelectableSearchInput.getDropdownId = getDropdownName;
471
493
  var SelectableSearchInput$1 = SelectableSearchInput;
472
494
 
473
495
  // NOTE: This string will be replaced on build time with the package version.
474
- var version = "16.12.0";
496
+ var version = "17.0.0";
475
497
 
476
498
  exports["default"] = SelectableSearchInput$1;
477
499
  exports.version = version;
@@ -10,6 +10,9 @@ import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
10
10
  import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
11
11
  import _styled from '@emotion/styled/base';
12
12
  import _pt from 'prop-types';
13
+ import _Object$fromEntries from '@babel/runtime-corejs3/core-js-stable/object/from-entries';
14
+ import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
15
+ import _Object$entries from '@babel/runtime-corejs3/core-js-stable/object/entries';
13
16
  import _flatMapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/flat-map';
14
17
  import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
15
18
  import _trimInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/trim';
@@ -17,7 +20,7 @@ import { useCallback, useState, useRef } from 'react';
17
20
  import SecondaryIconButton from '@commercetools-uikit/secondary-icon-button';
18
21
  import Constraints from '@commercetools-uikit/constraints';
19
22
  import { CloseIcon, SearchIcon } from '@commercetools-uikit/icons';
20
- import { createSequentialId, warning, filterDataAttributes } from '@commercetools-uikit/utils';
23
+ import { createSequentialId, filterDataAttributes, warning } from '@commercetools-uikit/utils';
21
24
  import { createSelectStyles, DropdownIndicator, messages, warnIfMenuPortalPropsAreMissing } from '@commercetools-uikit/select-utils';
22
25
  import { css } from '@emotion/react';
23
26
  import { getInputStyles } from '@commercetools-uikit/input-utils';
@@ -158,22 +161,25 @@ const createSelectableSelectStyles = _ref => {
158
161
  });
159
162
  };
160
163
 
161
- const _excluded = ["id"];
164
+ const _excluded = ["id", "dataProps"];
162
165
  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; }
163
166
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys$1(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
164
167
  const SingleValue = _ref => {
165
168
  let id = _ref.id,
169
+ dataProps = _ref.dataProps,
166
170
  props = _objectWithoutProperties(_ref, _excluded);
167
171
  return jsx(components.SingleValue, _objectSpread$1(_objectSpread$1({}, props), {}, {
168
- children: jsx("label", {
169
- htmlFor: id,
172
+ children: jsx("label", _objectSpread$1(_objectSpread$1({
173
+ htmlFor: id
174
+ }, dataProps), {}, {
170
175
  children: props.children
171
- })
176
+ }))
172
177
  }));
173
178
  };
174
179
  SingleValue.propTypes = process.env.NODE_ENV !== "production" ? {
175
- id: _pt.string,
176
- children: _pt.node
180
+ children: _pt.node,
181
+ dataProps: _pt.objectOf(_pt.string),
182
+ id: _pt.string
177
183
  } : {};
178
184
  const SelectableSelect = props => {
179
185
  const intl = useIntl();
@@ -211,9 +217,10 @@ const SelectableSelect = props => {
211
217
  maxMenuHeight: props.maxMenuHeight,
212
218
  closeMenuOnSelect: props.closeMenuOnSelect,
213
219
  components: {
214
- SingleValue: innerProps => jsx(SingleValue, _objectSpread$1(_objectSpread$1({}, innerProps), {}, {
215
- id: props.id
216
- })),
220
+ SingleValue: innerProps => jsx(SingleValue, _objectSpread$1({
221
+ id: props.id,
222
+ dataProps: props.dataProps
223
+ }, innerProps)),
217
224
  DropdownIndicator
218
225
  },
219
226
  options: props.options,
@@ -239,12 +246,13 @@ SelectableSelect.propTypes = process.env.NODE_ENV !== "production" ? {
239
246
  handleDropdownFocus: _pt.func.isRequired,
240
247
  handleDropdownBlur: _pt.func.isRequired,
241
248
  textInputRef: _pt.any.isRequired,
242
- selectedOption: _pt.any
249
+ selectedOption: _pt.any,
250
+ dataProps: _pt.objectOf(_pt.string)
243
251
  } : {};
244
252
  var SelectableSelect$1 = SelectableSelect;
245
253
 
246
254
  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; }
247
- 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; }
255
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context4 = ownKeys(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
248
256
  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)."; }
249
257
  const Container = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
250
258
  target: "encv1cf0"
@@ -257,7 +265,7 @@ const Container = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "producti
257
265
  } : {
258
266
  name: "zjik7",
259
267
  styles: "display:flex",
260
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQjRCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMsXG4gIHwgJ2hvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdpc0NsZWFyYWJsZSdcbiAgfCAnbWVudUhvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdzaG93U3VibWl0QnV0dG9uJ1xuICB8ICdtZW51UG9ydGFsWkluZGV4J1xuICB8ICdvcHRpb25zJ1xuPiA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlOiB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ6IDMsXG4gIHNob3dTdWJtaXRCdXR0b246IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXg6IDEsXG4gIG9wdGlvbnM6IFtdLFxufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAocHJvcHM6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBvcHRpb25zV2l0aG91dEdyb3VwcyA9IHByb3BzLm9wdGlvbnMuZmxhdE1hcCgob3B0aW9uKSA9PiB7XG4gICAgaWYgKGlzT3B0aW9uT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgIHJldHVybiBvcHRpb24ub3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfSk7XG5cbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zV2l0aG91dEdyb3Vwcy5maW5kKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gcHJvcHMudmFsdWUub3B0aW9uXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCA9IHVzZUZpZWxkSWQoXG4gICAgcHJvcHMuaWQsXG4gICAgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkXG4gICk7XG5cbiAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGBvbkNoYW5nZWAgaXMgcmVxdWlyZWQgd2hlbiBpcyBub3QgcmVhZCBvbmx5LidcbiAgICApO1xuICB9XG5cbiAgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyh7XG4gICAgbWVudVBvcnRhbFpJbmRleDogcHJvcHMubWVudVBvcnRhbFpJbmRleCxcbiAgICBtZW51UG9ydGFsVGFyZ2V0OiBwcm9wcy5tZW51UG9ydGFsVGFyZ2V0LFxuICAgIGNvbXBvbmVudE5hbWU6ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnLFxuICB9KTtcblxuICBjb25zdCB7IG9uRm9jdXMsIG9uQmx1ciwgbmFtZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25Gb2N1cywgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xlYXIgPSAoKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoJycpO1xuICAgIGlmIChwcm9wcy5vblJlc2V0KSB7XG4gICAgICBwcm9wcy5vblJlc2V0KCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGlmIChwcm9wcy5vbkNoYW5nZSkge1xuICAgICAgcHJvcHMub25DaGFuZ2Uoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSksXG4gICAgICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoXG4gICAgZXZlbnQ6XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAocHJvcHMub25TdWJtaXQpIHtcbiAgICAgIHByb3BzLm9uU3VibWl0KHtcbiAgICAgICAgdGV4dDogc2VhcmNoVmFsdWUsXG4gICAgICAgIG9wdGlvbjogc2VsZWN0ZWRPcHRpb24/LnZhbHVlID8/ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRyb3Bkb3duTmFtZSA9IGdldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKTtcbiAgY29uc3QgZHJvcGRvd25JZCA9IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKFxuICAgIHNlbGVjdGFibFNlYXJjaElucHV0SWRcbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXModHJ1ZSk7XG4gIH0sIFtvbkZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMoZmFsc2UpO1xuICB9LCBbdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgb25CbHVyLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVDb250YWluZXJCbHVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICAvLyBlbnN1cmVzIHRoYXQgYm90aCBmaWVsZHMgYXJlIG1hcmtlZCBhcyB0b3VjaGVkIHdoZW4gb25lIG9mIHRoZW1cbiAgICAgIC8vIGlzIGJsdXJyZWRcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIG9uQmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpXG4gICAgICApIHtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldERyb3Bkb3duTmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMuaG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgPENvbnRhaW5lclxuICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgb25CbHVyPXtoYW5kbGVDb250YWluZXJCbHVyfVxuICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICA+XG4gICAgICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMubWVudUhvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgICAgICA8U2VsZWN0YWJsZVNlbGVjdFxuICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpfVxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cz17ZHJvcGRvd25IYXNGb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duRm9jdXM9e2hhbmRsZURyb3Bkb3duRm9jdXN9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkJsdXI9e2hhbmRsZURyb3Bkb3duQmx1cn1cbiAgICAgICAgICAgIHRleHRJbnB1dFJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb249e3NlbGVjdGVkT3B0aW9ufVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKHByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICB7Li4uZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpfVxuICAgICAgICAgICAgLyogQVJJQSAqL1xuICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtwcm9wc1snYXJpYS1pbnZhbGlkJ119XG4gICAgICAgICAgICBhcmlhLWVycm9ybWVzc2FnZT17cHJvcHNbJ2FyaWEtZXJyb3JtZXNzYWdlJ119XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtaW5wdXRcIlxuICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5ICYmIGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIGhhbmRsZVN1Ym1pdChldmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7cHJvcHMuaXNDbGVhcmFibGUgJiZcbiAgICAgICAgICAgIHNlYXJjaFZhbHVlICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiYgKFxuICAgICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGljb249ezxDbG9zZUljb24gLz59XG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgICAgICAgICAgbGFiZWw9eydjbGVhci1idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsZWFyfVxuICAgICAgICAgICAgICAgIGNzcz17Z2V0Q2xlYXJJY29uQnV0dG9uU3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAge3Byb3BzLnNob3dTdWJtaXRCdXR0b24gJiYgKFxuICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgaWNvbj17PFNlYXJjaEljb24gLz59XG4gICAgICAgICAgICAgIGxhYmVsPXsnc2VhcmNoLWJ1dHRvbid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgICAgICAgY3NzPXtnZXRTZWFyY2hJY29uQnV0dG9uU3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICk7XG59O1xuXG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0YWJsZVNlYXJjaElucHV0JztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuaXNFbXB0eSA9IChcbiAgZm9ybVZhbHVlOiBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHNbJ3ZhbHVlJ11cbikgPT4gIWZvcm1WYWx1ZSB8fCBmb3JtVmFsdWUudGV4dC50cmltKCkgPT09ICcnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkID0gZ2V0VGV4dElucHV0TmFtZTtcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkID0gZ2V0RHJvcGRvd25OYW1lO1xuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQ7XG4iXX0= */",
268
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQjRCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIHNlbGVjdCBjb21wb25lbnQuXG4gICAqIGVnOiBzZWxlY3REYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgc2VsZWN0RGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqICB1c2VkIHRvIHBhc3MgZGF0YS0qIHByb3BzIHRvIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBlZzogaW5wdXREYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgaW5wdXREYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMsXG4gIHwgJ2hvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdpc0NsZWFyYWJsZSdcbiAgfCAnbWVudUhvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdzaG93U3VibWl0QnV0dG9uJ1xuICB8ICdtZW51UG9ydGFsWkluZGV4J1xuICB8ICdvcHRpb25zJ1xuPiA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlOiB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ6IDMsXG4gIHNob3dTdWJtaXRCdXR0b246IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXg6IDEsXG4gIG9wdGlvbnM6IFtdLFxufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCB0cmFuc2Zvcm1EYXRhUHJvcHMgPSAoZGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT5cbiAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGFQcm9wcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+IFtcbiAgICAgIGBkYXRhLSR7a2V5fWAsXG4gICAgICB2YWx1ZSxcbiAgICBdKVxuICApO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAocHJvcHM6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBsZWdhY3lEYXRhUHJvcHMgPSBmaWx0ZXJEYXRhQXR0cmlidXRlcyhwcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzID0gdHJhbnNmb3JtRGF0YVByb3BzKHByb3BzLnNlbGVjdERhdGFQcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkSW5wdXREYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuaW5wdXREYXRhUHJvcHMpO1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRob3V0R3JvdXBzID0gcHJvcHMub3B0aW9ucy5mbGF0TWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAoaXNPcHRpb25PYmplY3Qob3B0aW9uKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnNXaXRob3V0R3JvdXBzLmZpbmQoXG4gICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBwcm9wcy52YWx1ZS5vcHRpb25cbiAgKTtcblxuICBjb25zdCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkID0gdXNlRmllbGRJZChcbiAgICBwcm9wcy5pZCxcbiAgICBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWRcbiAgKTtcblxuICBpZiAoIXByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICk7XG4gIH1cblxuICB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nKHtcbiAgICBtZW51UG9ydGFsWkluZGV4OiBwcm9wcy5tZW51UG9ydGFsWkluZGV4LFxuICAgIG1lbnVQb3J0YWxUYXJnZXQ6IHByb3BzLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgY29tcG9uZW50TmFtZTogJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCcsXG4gIH0pO1xuXG4gIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBuYW1lIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Qmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJyk7XG4gICAgaWYgKHByb3BzLm9uUmVzZXQpIHtcbiAgICAgIHByb3BzLm9uUmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICBwcm9wcy5vbkNoYW5nZSh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKSxcbiAgICAgICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChcbiAgICBldmVudDpcbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwcm9wcy5vblN1Ym1pdCkge1xuICAgICAgcHJvcHMub25TdWJtaXQoe1xuICAgICAgICB0ZXh0OiBzZWFyY2hWYWx1ZSxcbiAgICAgICAgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbj8udmFsdWUgPz8gJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZHJvcGRvd25OYW1lID0gZ2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpO1xuICBjb25zdCBkcm9wZG93bklkID0gU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoXG4gICAgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyh0cnVlKTtcbiAgfSwgW29uRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyhmYWxzZSk7XG4gIH0sIFt0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBvbkJsdXIsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lckJsdXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGZpZWxkcyBhcmUgbWFya2VkIGFzIHRvdWNoZWQgd2hlbiBvbmUgb2YgdGhlbVxuICAgICAgLy8gaXMgYmx1cnJlZFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2Ygb25CbHVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICFjb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICkge1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8Q29udGFpbmVyXG4gICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZUNvbnRhaW5lckJsdXJ9XG4gICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5tZW51SG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgICAgIDxTZWxlY3RhYmxlU2VsZWN0XG4gICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzPXtkcm9wZG93bkhhc0ZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25Gb2N1cz17aGFuZGxlRHJvcGRvd25Gb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQmx1cj17aGFuZGxlRHJvcGRvd25CbHVyfVxuICAgICAgICAgICAgdGV4dElucHV0UmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17c2VsZWN0ZWRPcHRpb259XG4gICAgICAgICAgICBkYXRhUHJvcHM9e3RyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKHByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICB7Li4udHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wc31cbiAgICAgICAgICAgIHsuLi5sZWdhY3lEYXRhUHJvcHN9XG4gICAgICAgICAgICAvKiBBUklBICovXG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgIGFyaWEtZXJyb3JtZXNzYWdlPXtwcm9wc1snYXJpYS1lcnJvcm1lc3NhZ2UnXX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1pbnB1dFwiXG4gICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLmlzUmVhZE9ubHkgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU3VibWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy5pc0NsZWFyYWJsZSAmJlxuICAgICAgICAgICAgc2VhcmNoVmFsdWUgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJiAoXG4gICAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgaWNvbj17PENsb3NlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBzaXplPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7cHJvcHMuc2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5pc0VtcHR5ID0gKFxuICBmb3JtVmFsdWU6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wc1sndmFsdWUnXVxuKSA9PiAhZm9ybVZhbHVlIHx8IGZvcm1WYWx1ZS50ZXh0LnRyaW0oKSA9PT0gJyc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQgPSBnZXRUZXh0SW5wdXROYW1lO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQgPSBnZXREcm9wZG93bk5hbWU7XG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdGFibGVTZWFyY2hJbnB1dDtcbiJdfQ== */",
261
269
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
262
270
  });
263
271
  const getTextInputName = name => name ? "".concat(name, ".textInput") : undefined;
@@ -272,8 +280,17 @@ const defaultProps = {
272
280
  };
273
281
  const selectableSearchInputSequentialId = createSequentialId('selectable-search-input-');
274
282
  const isOptionObject = option => option.options !== undefined;
275
- const SelectableSearchInput = props => {
283
+ const transformDataProps = dataProps => {
276
284
  var _context;
285
+ return _Object$fromEntries(_mapInstanceProperty(_context = _Object$entries(dataProps || {})).call(_context, _ref => {
286
+ let _ref2 = _slicedToArray(_ref, 2),
287
+ key = _ref2[0],
288
+ value = _ref2[1];
289
+ return ["data-".concat(key), value];
290
+ }));
291
+ };
292
+ const SelectableSearchInput = props => {
293
+ var _context2;
277
294
  const _useToggleState = useToggleState(false),
278
295
  _useToggleState2 = _slicedToArray(_useToggleState, 2),
279
296
  dropdownHasFocus = _useToggleState2[0],
@@ -284,7 +301,10 @@ const SelectableSearchInput = props => {
284
301
  setSearchValue = _useState2[1];
285
302
  const containerRef = useRef(null);
286
303
  const textInputRef = useRef(null);
287
- const optionsWithoutGroups = _flatMapInstanceProperty(_context = props.options).call(_context, option => {
304
+ const legacyDataProps = filterDataAttributes(props);
305
+ const transformedSelectDataProps = transformDataProps(props.selectDataProps);
306
+ const transformedInputDataProps = transformDataProps(props.inputDataProps);
307
+ const optionsWithoutGroups = _flatMapInstanceProperty(_context2 = props.options).call(_context2, option => {
288
308
  if (isOptionObject(option)) {
289
309
  return option.options;
290
310
  }
@@ -409,11 +429,12 @@ const SelectableSearchInput = props => {
409
429
  handleDropdownFocus: handleDropdownFocus,
410
430
  handleDropdownBlur: handleDropdownBlur,
411
431
  textInputRef: textInputRef,
412
- selectedOption: selectedOption
432
+ selectedOption: selectedOption,
433
+ dataProps: transformedSelectDataProps
413
434
  }))
414
435
  }), jsxs("div", {
415
- css: [getSelectableSearchInputContainerStyles(props), dropdownHasFocus && !props.isReadOnly && /*#__PURE__*/css("border-left-color:", designTokens.borderColorForInputWhenFocused, ";&:hover{border-left-color:", designTokens.borderColorForInputWhenFocused, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzWmlCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMsXG4gIHwgJ2hvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdpc0NsZWFyYWJsZSdcbiAgfCAnbWVudUhvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdzaG93U3VibWl0QnV0dG9uJ1xuICB8ICdtZW51UG9ydGFsWkluZGV4J1xuICB8ICdvcHRpb25zJ1xuPiA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlOiB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ6IDMsXG4gIHNob3dTdWJtaXRCdXR0b246IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXg6IDEsXG4gIG9wdGlvbnM6IFtdLFxufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAocHJvcHM6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBvcHRpb25zV2l0aG91dEdyb3VwcyA9IHByb3BzLm9wdGlvbnMuZmxhdE1hcCgob3B0aW9uKSA9PiB7XG4gICAgaWYgKGlzT3B0aW9uT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgIHJldHVybiBvcHRpb24ub3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfSk7XG5cbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zV2l0aG91dEdyb3Vwcy5maW5kKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gcHJvcHMudmFsdWUub3B0aW9uXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCA9IHVzZUZpZWxkSWQoXG4gICAgcHJvcHMuaWQsXG4gICAgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkXG4gICk7XG5cbiAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGBvbkNoYW5nZWAgaXMgcmVxdWlyZWQgd2hlbiBpcyBub3QgcmVhZCBvbmx5LidcbiAgICApO1xuICB9XG5cbiAgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyh7XG4gICAgbWVudVBvcnRhbFpJbmRleDogcHJvcHMubWVudVBvcnRhbFpJbmRleCxcbiAgICBtZW51UG9ydGFsVGFyZ2V0OiBwcm9wcy5tZW51UG9ydGFsVGFyZ2V0LFxuICAgIGNvbXBvbmVudE5hbWU6ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnLFxuICB9KTtcblxuICBjb25zdCB7IG9uRm9jdXMsIG9uQmx1ciwgbmFtZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25Gb2N1cywgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xlYXIgPSAoKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoJycpO1xuICAgIGlmIChwcm9wcy5vblJlc2V0KSB7XG4gICAgICBwcm9wcy5vblJlc2V0KCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGlmIChwcm9wcy5vbkNoYW5nZSkge1xuICAgICAgcHJvcHMub25DaGFuZ2Uoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSksXG4gICAgICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoXG4gICAgZXZlbnQ6XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAocHJvcHMub25TdWJtaXQpIHtcbiAgICAgIHByb3BzLm9uU3VibWl0KHtcbiAgICAgICAgdGV4dDogc2VhcmNoVmFsdWUsXG4gICAgICAgIG9wdGlvbjogc2VsZWN0ZWRPcHRpb24/LnZhbHVlID8/ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRyb3Bkb3duTmFtZSA9IGdldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKTtcbiAgY29uc3QgZHJvcGRvd25JZCA9IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKFxuICAgIHNlbGVjdGFibFNlYXJjaElucHV0SWRcbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXModHJ1ZSk7XG4gIH0sIFtvbkZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMoZmFsc2UpO1xuICB9LCBbdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgb25CbHVyLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVDb250YWluZXJCbHVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICAvLyBlbnN1cmVzIHRoYXQgYm90aCBmaWVsZHMgYXJlIG1hcmtlZCBhcyB0b3VjaGVkIHdoZW4gb25lIG9mIHRoZW1cbiAgICAgIC8vIGlzIGJsdXJyZWRcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIG9uQmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpXG4gICAgICApIHtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldERyb3Bkb3duTmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMuaG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgPENvbnRhaW5lclxuICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgb25CbHVyPXtoYW5kbGVDb250YWluZXJCbHVyfVxuICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICA+XG4gICAgICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMubWVudUhvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgICAgICA8U2VsZWN0YWJsZVNlbGVjdFxuICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpfVxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cz17ZHJvcGRvd25IYXNGb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duRm9jdXM9e2hhbmRsZURyb3Bkb3duRm9jdXN9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkJsdXI9e2hhbmRsZURyb3Bkb3duQmx1cn1cbiAgICAgICAgICAgIHRleHRJbnB1dFJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb249e3NlbGVjdGVkT3B0aW9ufVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKHByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICB7Li4uZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpfVxuICAgICAgICAgICAgLyogQVJJQSAqL1xuICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtwcm9wc1snYXJpYS1pbnZhbGlkJ119XG4gICAgICAgICAgICBhcmlhLWVycm9ybWVzc2FnZT17cHJvcHNbJ2FyaWEtZXJyb3JtZXNzYWdlJ119XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtaW5wdXRcIlxuICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5ICYmIGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIGhhbmRsZVN1Ym1pdChldmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7cHJvcHMuaXNDbGVhcmFibGUgJiZcbiAgICAgICAgICAgIHNlYXJjaFZhbHVlICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiYgKFxuICAgICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGljb249ezxDbG9zZUljb24gLz59XG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgICAgICAgICAgbGFiZWw9eydjbGVhci1idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsZWFyfVxuICAgICAgICAgICAgICAgIGNzcz17Z2V0Q2xlYXJJY29uQnV0dG9uU3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAge3Byb3BzLnNob3dTdWJtaXRCdXR0b24gJiYgKFxuICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgaWNvbj17PFNlYXJjaEljb24gLz59XG4gICAgICAgICAgICAgIGxhYmVsPXsnc2VhcmNoLWJ1dHRvbid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgICAgICAgY3NzPXtnZXRTZWFyY2hJY29uQnV0dG9uU3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICk7XG59O1xuXG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0YWJsZVNlYXJjaElucHV0JztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuaXNFbXB0eSA9IChcbiAgZm9ybVZhbHVlOiBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHNbJ3ZhbHVlJ11cbikgPT4gIWZvcm1WYWx1ZSB8fCBmb3JtVmFsdWUudGV4dC50cmltKCkgPT09ICcnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkID0gZ2V0VGV4dElucHV0TmFtZTtcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkID0gZ2V0RHJvcGRvd25OYW1lO1xuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQ7XG4iXX0= */"), process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrWlUiLCJmaWxlIjoic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIHR5cGUgQ2hhbmdlRXZlbnQsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNlY29uZGFyeUljb25CdXR0b24gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2Vjb25kYXJ5LWljb24tYnV0dG9uJztcbmltcG9ydCBDb25zdHJhaW50cyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb25zdHJhaW50cyc7XG5pbXBvcnQgeyBTZWFyY2hJY29uLCBDbG9zZUljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQge1xuICBjcmVhdGVTZXF1ZW50aWFsSWQsXG4gIGZpbHRlckRhdGFBdHRyaWJ1dGVzLFxuICB3YXJuaW5nLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgeyB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGdldENsZWFySWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzLFxuICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRTdHlsZXMsXG59IGZyb20gJy4vc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQuc3R5bGVzJztcbmltcG9ydCBTZWxlY3RhYmxlU2VsZWN0IGZyb20gJy4vc2VsZWN0YWJsZS1zZWxlY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHR5cGUgUHJvcHMgYXMgUmVhY3RTZWxlY3RQcm9wcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBnZXRUZXh0SW5wdXROYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS50ZXh0SW5wdXRgIDogdW5kZWZpbmVkO1xuXG5jb25zdCBnZXREcm9wZG93bk5hbWUgPSAobmFtZT86IHN0cmluZykgPT5cbiAgbmFtZSA/IGAke25hbWV9LmRyb3Bkb3duYCA6IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgVEN1c3RvbUV2ZW50ID0ge1xuICB0YXJnZXQ6IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsO1xuICB9O1xuICBwZXJzaXN0PzogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFRWYWx1ZSA9IHtcbiAgdGV4dDogc3RyaW5nO1xuICBvcHRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsPzogUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbk9iamVjdCA9IHtcbiAgb3B0aW9uczogVE9wdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbnMgPSBUT3B0aW9uW10gfCBUT3B0aW9uT2JqZWN0W107XG5cbmV4cG9ydCB0eXBlIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBpZCBwcm9wZXJ0eS4gQW4gaWQgaXMgYXV0by1nZW5lcmF0ZWQgd2hlbiBpdCBpcyBub3Qgc3BlY2lmaWVkLlxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYXV0b2NvbXBsZXRlIHByb3BlcnR5XG4gICAqL1xuICBhdXRvQ29tcGxldGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZSBpZiB0aGUgdmFsdWUgZW50ZXJlZCBpbiB0aGUgaW5wdXQgaXMgaW52YWxpZC5cbiAgICovXG4gICdhcmlhLWludmFsaWQnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhUTUwgSUQgb2YgYW4gZWxlbWVudCBjb250YWluaW5nIGFuIGVycm9yIG1lc3NhZ2UgcmVsYXRlZCB0byB0aGUgaW5wdXQuXG4gICAqL1xuICAnYXJpYS1lcnJvcm1lc3NhZ2UnPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIG5hbWUgb2YgdGhlIGlucHV0IGNvbXBvbmVudCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgaW5wdXQuIENvbnNpc3RzIG9mIHRleHQgaW5wdXQgYW5kIHNlbGVjdGVkIG9wdGlvbi5cbiAgICovXG4gIHZhbHVlOiBUVmFsdWU7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2l0aCB0aGUgZXZlbnQgb2YgdGhlIGlucHV0IG9yIGRyb3Bkb3duIHdoZW4gZWl0aGVyIHRoZSBzZWxlY3RhYmxlIGRyb3Bkb3duIG9yIHRoZSB0ZXh0IGlucHV0IGhhdmUgY2hhbmdlZC5cbiAgICogVGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSB0ZXh0IGlucHV0IGhhcyBhIHN1ZmZpeCBvZiBgLnRleHRJbnB1dGAgYW5kIHRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgZHJvcGRvd24gaGFzIGEgc3VmZml4IG9mIGAuZHJvcGRvd25gLlxuICAgKi9cbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGJsdXJyZWRcbiAgICovXG4gIG9uQmx1cj86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgKi9cbiAgb25Gb2N1cz86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBzZWFyY2ggYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvblN1Ym1pdDogKHZhbHVlOiBUVmFsdWUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25SZXNldD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgaW5wdXQgb24gaW5pdGlhbCByZW5kZXJcbiAgICovXG4gIGlzQXV0b2ZvY3Vzc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBjYW5ub3QgYmUgbW9kaWZpZWQgKGUuZyBub3QgYXV0aG9yaXplZCwgb3IgY2hhbmdlcyBjdXJyZW50bHkgc2F2aW5nKS5cbiAgICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGZpZWxkIGlzIGRpc3BsYXlpbmcgcmVhZC1vbmx5IGNvbnRlbnRcbiAgICovXG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBoYXMgaW52YWxpZCB2YWx1ZXNcbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIHdhcm5pbmcgdmFsdWVzXG4gICAqL1xuICBoYXNXYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IHNob3VsZCBiZSBjbGVhcmVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKlxuICAgKi9cbiAgaXNDbGVhcmFibGU/OiBib29sZWFuO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IG9mIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBob3Jpem9udGFsQ29uc3RyYWludD86IDEwIHwgMTEgfCAxMiB8IDEzIHwgMTQgfCAxNSB8IDE2IHwgJ3NjYWxlJyB8ICdhdXRvJztcbiAgLyoqXG4gICAqIEFycmF5IG9mIG9wdGlvbnMgdGhhdCBwb3B1bGF0ZSB0aGUgc2VsZWN0IG1lbnVcbiAgICovXG4gIG9wdGlvbnM6IFRPcHRpb25zO1xuICAvKipcbiAgICogei1pbmRleCB2YWx1ZSBmb3IgdGhlIG1lbnUgcG9ydGFsXG4gICAqIDxicj5cbiAgICogVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggYG1lbnVQb3J0YWxUYXJnZXRgXG4gICAqL1xuICBtZW51UG9ydGFsWkluZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogRG9tIGVsZW1lbnQgdG8gcG9ydGFsIHRoZSBzZWxlY3QgbWVudSB0b1xuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVBvcnRhbFRhcmdldD86IFJlYWN0U2VsZWN0UHJvcHNbJ21lbnVQb3J0YWxUYXJnZXQnXTtcbiAgLyoqXG4gICAqIHdoZXRoZXIgdGhlIG1lbnUgc2hvdWxkIGJsb2NrIHNjcm9sbCB3aGlsZSBvcGVuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtZW51U2hvdWxkQmxvY2tTY3JvbGw/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51U2hvdWxkQmxvY2tTY3JvbGwnXTtcbiAgLyoqXG4gICAqIEhhbmRsZSBjaGFuZ2UgZXZlbnRzIG9uIHRoZSBtZW51IGlucHV0XG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBvbk1lbnVJbnB1dENoYW5nZT86IFJlYWN0U2VsZWN0UHJvcHNbJ29uSW5wdXRDaGFuZ2UnXTtcbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIHJlbmRlciBhIGN1c3RvbSB2YWx1ZSB3aGVuIHRoZXJlIGFyZSBubyBvcHRpb25zIChlaXRoZXIgYmVjYXVzZSBvZiBubyBzZWFyY2ggcmVzdWx0cywgb3IgYWxsIG9wdGlvbnMgaGF2ZSBiZWVuIHVzZWQsIG9yIHRoZXJlIHdlcmUgbm9uZSBpbiB0aGUgZmlyc3QgcGxhY2UpLiBHZXRzIGNhbGxlZCB3aXRoIHsgaW5wdXRWYWx1ZTogU3RyaW5nIH0uXG4gICAqIDxiciAvPlxuICAgKiBgaW5wdXRWYWx1ZWAgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmcgd2hlbiBubyBzZWFyY2ggdGV4dCBpcyBwcmVzZW50LlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbm9NZW51T3B0aW9uc01lc3NhZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydub09wdGlvbnNNZXNzYWdlJ107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBzZWFyY2ggZnVuY3Rpb25hbGl0eS5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIGlzTWVudVNlYXJjaGFibGU/OiBSZWFjdFNlbGVjdFByb3BzWydpc1NlYXJjaGFibGUnXTtcbiAgLyoqXG4gICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBtZW51IGJlZm9yZSBzY3JvbGxpbmdcbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1heE1lbnVIZWlnaHQ/OiBSZWFjdFNlbGVjdFByb3BzWydtYXhNZW51SGVpZ2h0J107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtZW51IHNob3VsZCBjbG9zZSBhZnRlciBhIHZhbHVlIGlzIHNlbGVjdGVkLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBjbG9zZU1lbnVPblNlbGVjdD86IFJlYWN0U2VsZWN0UHJvcHNbJ2Nsb3NlTWVudU9uU2VsZWN0J107XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50PzogMyB8IDQgfCA1O1xuICAvKipcbiAgICogU2hvdyBzdWJtaXQgYnV0dG9uIGluIHRoZSBpbnB1dFxuICAgKi9cbiAgc2hvd1N1Ym1pdEJ1dHRvbj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyxcbiAgfCAnaG9yaXpvbnRhbENvbnN0cmFpbnQnXG4gIHwgJ2lzQ2xlYXJhYmxlJ1xuICB8ICdtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQnXG4gIHwgJ3Nob3dTdWJtaXRCdXR0b24nXG4gIHwgJ21lbnVQb3J0YWxaSW5kZXgnXG4gIHwgJ29wdGlvbnMnXG4+ID0ge1xuICBob3Jpem9udGFsQ29uc3RyYWludDogJ3NjYWxlJyxcbiAgaXNDbGVhcmFibGU6IHRydWUsXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludDogMyxcbiAgc2hvd1N1Ym1pdEJ1dHRvbjogdHJ1ZSxcbiAgbWVudVBvcnRhbFpJbmRleDogMSxcbiAgb3B0aW9uczogW10sXG59O1xuXG5jb25zdCBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoXG4gICdzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC0nXG4pO1xuXG5jb25zdCBpc09wdGlvbk9iamVjdCA9IChcbiAgb3B0aW9uOiBUT3B0aW9uIHwgVE9wdGlvbk9iamVjdFxuKTogb3B0aW9uIGlzIFRPcHRpb25PYmplY3QgPT4gKG9wdGlvbiBhcyBUT3B0aW9uT2JqZWN0KS5vcHRpb25zICE9PSB1bmRlZmluZWQ7XG5cbmNvbnN0IFNlbGVjdGFibGVTZWFyY2hJbnB1dCA9IChwcm9wczogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IFtkcm9wZG93bkhhc0ZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzXSA9IHVzZVRvZ2dsZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS50ZXh0IHx8ICcnKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgdGV4dElucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRob3V0R3JvdXBzID0gcHJvcHMub3B0aW9ucy5mbGF0TWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAoaXNPcHRpb25PYmplY3Qob3B0aW9uKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnNXaXRob3V0R3JvdXBzLmZpbmQoXG4gICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBwcm9wcy52YWx1ZS5vcHRpb25cbiAgKTtcblxuICBjb25zdCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkID0gdXNlRmllbGRJZChcbiAgICBwcm9wcy5pZCxcbiAgICBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWRcbiAgKTtcblxuICBpZiAoIXByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICk7XG4gIH1cblxuICB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nKHtcbiAgICBtZW51UG9ydGFsWkluZGV4OiBwcm9wcy5tZW51UG9ydGFsWkluZGV4LFxuICAgIG1lbnVQb3J0YWxUYXJnZXQ6IHByb3BzLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgY29tcG9uZW50TmFtZTogJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCcsXG4gIH0pO1xuXG4gIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBuYW1lIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Qmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJyk7XG4gICAgaWYgKHByb3BzLm9uUmVzZXQpIHtcbiAgICAgIHByb3BzLm9uUmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICBwcm9wcy5vbkNoYW5nZSh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKSxcbiAgICAgICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChcbiAgICBldmVudDpcbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwcm9wcy5vblN1Ym1pdCkge1xuICAgICAgcHJvcHMub25TdWJtaXQoe1xuICAgICAgICB0ZXh0OiBzZWFyY2hWYWx1ZSxcbiAgICAgICAgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbj8udmFsdWUgPz8gJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZHJvcGRvd25OYW1lID0gZ2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpO1xuICBjb25zdCBkcm9wZG93bklkID0gU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoXG4gICAgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyh0cnVlKTtcbiAgfSwgW29uRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyhmYWxzZSk7XG4gIH0sIFt0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBvbkJsdXIsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lckJsdXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGZpZWxkcyBhcmUgbWFya2VkIGFzIHRvdWNoZWQgd2hlbiBvbmUgb2YgdGhlbVxuICAgICAgLy8gaXMgYmx1cnJlZFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2Ygb25CbHVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICFjb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICkge1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8Q29udGFpbmVyXG4gICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZUNvbnRhaW5lckJsdXJ9XG4gICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5tZW51SG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgICAgIDxTZWxlY3RhYmxlU2VsZWN0XG4gICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzPXtkcm9wZG93bkhhc0ZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25Gb2N1cz17aGFuZGxlRHJvcGRvd25Gb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQmx1cj17aGFuZGxlRHJvcGRvd25CbHVyfVxuICAgICAgICAgICAgdGV4dElucHV0UmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17c2VsZWN0ZWRPcHRpb259XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRDb250YWluZXJTdHlsZXMocHJvcHMpLFxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cyAmJlxuICAgICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJlxuICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGAsXG4gICAgICAgICAgXX1cbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hWYWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZVRleHRJbnB1dEJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVUZXh0SW5wdXRGb2N1c31cbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICBhcmlhLXJlYWRvbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNzcz17Z2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgIHsuLi5maWx0ZXJEYXRhQXR0cmlidXRlcyhwcm9wcyl9XG4gICAgICAgICAgICAvKiBBUklBICovXG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgIGFyaWEtZXJyb3JtZXNzYWdlPXtwcm9wc1snYXJpYS1lcnJvcm1lc3NhZ2UnXX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1pbnB1dFwiXG4gICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLmlzUmVhZE9ubHkgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU3VibWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy5pc0NsZWFyYWJsZSAmJlxuICAgICAgICAgICAgc2VhcmNoVmFsdWUgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJiAoXG4gICAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgaWNvbj17PENsb3NlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBzaXplPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7cHJvcHMuc2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5pc0VtcHR5ID0gKFxuICBmb3JtVmFsdWU6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wc1sndmFsdWUnXVxuKSA9PiAhZm9ybVZhbHVlIHx8IGZvcm1WYWx1ZS50ZXh0LnRyaW0oKSA9PT0gJyc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQgPSBnZXRUZXh0SW5wdXROYW1lO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQgPSBnZXREcm9wZG93bk5hbWU7XG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdGFibGVTZWFyY2hJbnB1dDtcbiJdfQ== */"],
416
- children: [jsx("input", _objectSpread(_objectSpread({
436
+ css: [getSelectableSearchInputContainerStyles(props), dropdownHasFocus && !props.isReadOnly && /*#__PURE__*/css("border-left-color:", designTokens.borderColorForInputWhenFocused, ";&:hover{border-left-color:", designTokens.borderColorForInputWhenFocused, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2YWlCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIHNlbGVjdCBjb21wb25lbnQuXG4gICAqIGVnOiBzZWxlY3REYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgc2VsZWN0RGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqICB1c2VkIHRvIHBhc3MgZGF0YS0qIHByb3BzIHRvIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBlZzogaW5wdXREYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgaW5wdXREYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMsXG4gIHwgJ2hvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdpc0NsZWFyYWJsZSdcbiAgfCAnbWVudUhvcml6b250YWxDb25zdHJhaW50J1xuICB8ICdzaG93U3VibWl0QnV0dG9uJ1xuICB8ICdtZW51UG9ydGFsWkluZGV4J1xuICB8ICdvcHRpb25zJ1xuPiA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlOiB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ6IDMsXG4gIHNob3dTdWJtaXRCdXR0b246IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXg6IDEsXG4gIG9wdGlvbnM6IFtdLFxufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCB0cmFuc2Zvcm1EYXRhUHJvcHMgPSAoZGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT5cbiAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGFQcm9wcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+IFtcbiAgICAgIGBkYXRhLSR7a2V5fWAsXG4gICAgICB2YWx1ZSxcbiAgICBdKVxuICApO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAocHJvcHM6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBsZWdhY3lEYXRhUHJvcHMgPSBmaWx0ZXJEYXRhQXR0cmlidXRlcyhwcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzID0gdHJhbnNmb3JtRGF0YVByb3BzKHByb3BzLnNlbGVjdERhdGFQcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkSW5wdXREYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuaW5wdXREYXRhUHJvcHMpO1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRob3V0R3JvdXBzID0gcHJvcHMub3B0aW9ucy5mbGF0TWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAoaXNPcHRpb25PYmplY3Qob3B0aW9uKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnNXaXRob3V0R3JvdXBzLmZpbmQoXG4gICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBwcm9wcy52YWx1ZS5vcHRpb25cbiAgKTtcblxuICBjb25zdCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkID0gdXNlRmllbGRJZChcbiAgICBwcm9wcy5pZCxcbiAgICBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWRcbiAgKTtcblxuICBpZiAoIXByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICk7XG4gIH1cblxuICB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nKHtcbiAgICBtZW51UG9ydGFsWkluZGV4OiBwcm9wcy5tZW51UG9ydGFsWkluZGV4LFxuICAgIG1lbnVQb3J0YWxUYXJnZXQ6IHByb3BzLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgY29tcG9uZW50TmFtZTogJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCcsXG4gIH0pO1xuXG4gIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBuYW1lIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Qmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJyk7XG4gICAgaWYgKHByb3BzLm9uUmVzZXQpIHtcbiAgICAgIHByb3BzLm9uUmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICBwcm9wcy5vbkNoYW5nZSh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKSxcbiAgICAgICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChcbiAgICBldmVudDpcbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwcm9wcy5vblN1Ym1pdCkge1xuICAgICAgcHJvcHMub25TdWJtaXQoe1xuICAgICAgICB0ZXh0OiBzZWFyY2hWYWx1ZSxcbiAgICAgICAgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbj8udmFsdWUgPz8gJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZHJvcGRvd25OYW1lID0gZ2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpO1xuICBjb25zdCBkcm9wZG93bklkID0gU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoXG4gICAgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyh0cnVlKTtcbiAgfSwgW29uRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyhmYWxzZSk7XG4gIH0sIFt0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBvbkJsdXIsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lckJsdXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGZpZWxkcyBhcmUgbWFya2VkIGFzIHRvdWNoZWQgd2hlbiBvbmUgb2YgdGhlbVxuICAgICAgLy8gaXMgYmx1cnJlZFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2Ygb25CbHVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICFjb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICkge1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8Q29udGFpbmVyXG4gICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZUNvbnRhaW5lckJsdXJ9XG4gICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5tZW51SG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgICAgIDxTZWxlY3RhYmxlU2VsZWN0XG4gICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzPXtkcm9wZG93bkhhc0ZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25Gb2N1cz17aGFuZGxlRHJvcGRvd25Gb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQmx1cj17aGFuZGxlRHJvcGRvd25CbHVyfVxuICAgICAgICAgICAgdGV4dElucHV0UmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17c2VsZWN0ZWRPcHRpb259XG4gICAgICAgICAgICBkYXRhUHJvcHM9e3RyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKHByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICB7Li4udHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wc31cbiAgICAgICAgICAgIHsuLi5sZWdhY3lEYXRhUHJvcHN9XG4gICAgICAgICAgICAvKiBBUklBICovXG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgIGFyaWEtZXJyb3JtZXNzYWdlPXtwcm9wc1snYXJpYS1lcnJvcm1lc3NhZ2UnXX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1pbnB1dFwiXG4gICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLmlzUmVhZE9ubHkgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU3VibWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy5pc0NsZWFyYWJsZSAmJlxuICAgICAgICAgICAgc2VhcmNoVmFsdWUgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJiAoXG4gICAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgaWNvbj17PENsb3NlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBzaXplPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7cHJvcHMuc2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMocHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5pc0VtcHR5ID0gKFxuICBmb3JtVmFsdWU6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wc1sndmFsdWUnXVxuKSA9PiAhZm9ybVZhbHVlIHx8IGZvcm1WYWx1ZS50ZXh0LnRyaW0oKSA9PT0gJyc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQgPSBnZXRUZXh0SW5wdXROYW1lO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQgPSBnZXREcm9wZG93bk5hbWU7XG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdGFibGVTZWFyY2hJbnB1dDtcbiJdfQ== */"), process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5YVUiLCJmaWxlIjoic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIHR5cGUgQ2hhbmdlRXZlbnQsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNlY29uZGFyeUljb25CdXR0b24gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2Vjb25kYXJ5LWljb24tYnV0dG9uJztcbmltcG9ydCBDb25zdHJhaW50cyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb25zdHJhaW50cyc7XG5pbXBvcnQgeyBTZWFyY2hJY29uLCBDbG9zZUljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQge1xuICBjcmVhdGVTZXF1ZW50aWFsSWQsXG4gIGZpbHRlckRhdGFBdHRyaWJ1dGVzLFxuICB3YXJuaW5nLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgeyB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGdldENsZWFySWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzLFxuICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRTdHlsZXMsXG59IGZyb20gJy4vc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQuc3R5bGVzJztcbmltcG9ydCBTZWxlY3RhYmxlU2VsZWN0IGZyb20gJy4vc2VsZWN0YWJsZS1zZWxlY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHR5cGUgUHJvcHMgYXMgUmVhY3RTZWxlY3RQcm9wcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBnZXRUZXh0SW5wdXROYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS50ZXh0SW5wdXRgIDogdW5kZWZpbmVkO1xuXG5jb25zdCBnZXREcm9wZG93bk5hbWUgPSAobmFtZT86IHN0cmluZykgPT5cbiAgbmFtZSA/IGAke25hbWV9LmRyb3Bkb3duYCA6IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgVEN1c3RvbUV2ZW50ID0ge1xuICB0YXJnZXQ6IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsO1xuICB9O1xuICBwZXJzaXN0PzogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFRWYWx1ZSA9IHtcbiAgdGV4dDogc3RyaW5nO1xuICBvcHRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsPzogUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbk9iamVjdCA9IHtcbiAgb3B0aW9uczogVE9wdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbnMgPSBUT3B0aW9uW10gfCBUT3B0aW9uT2JqZWN0W107XG5cbmV4cG9ydCB0eXBlIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBpZCBwcm9wZXJ0eS4gQW4gaWQgaXMgYXV0by1nZW5lcmF0ZWQgd2hlbiBpdCBpcyBub3Qgc3BlY2lmaWVkLlxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYXV0b2NvbXBsZXRlIHByb3BlcnR5XG4gICAqL1xuICBhdXRvQ29tcGxldGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZSBpZiB0aGUgdmFsdWUgZW50ZXJlZCBpbiB0aGUgaW5wdXQgaXMgaW52YWxpZC5cbiAgICovXG4gICdhcmlhLWludmFsaWQnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhUTUwgSUQgb2YgYW4gZWxlbWVudCBjb250YWluaW5nIGFuIGVycm9yIG1lc3NhZ2UgcmVsYXRlZCB0byB0aGUgaW5wdXQuXG4gICAqL1xuICAnYXJpYS1lcnJvcm1lc3NhZ2UnPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIG5hbWUgb2YgdGhlIGlucHV0IGNvbXBvbmVudCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgaW5wdXQuIENvbnNpc3RzIG9mIHRleHQgaW5wdXQgYW5kIHNlbGVjdGVkIG9wdGlvbi5cbiAgICovXG4gIHZhbHVlOiBUVmFsdWU7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2l0aCB0aGUgZXZlbnQgb2YgdGhlIGlucHV0IG9yIGRyb3Bkb3duIHdoZW4gZWl0aGVyIHRoZSBzZWxlY3RhYmxlIGRyb3Bkb3duIG9yIHRoZSB0ZXh0IGlucHV0IGhhdmUgY2hhbmdlZC5cbiAgICogVGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSB0ZXh0IGlucHV0IGhhcyBhIHN1ZmZpeCBvZiBgLnRleHRJbnB1dGAgYW5kIHRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgZHJvcGRvd24gaGFzIGEgc3VmZml4IG9mIGAuZHJvcGRvd25gLlxuICAgKi9cbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGJsdXJyZWRcbiAgICovXG4gIG9uQmx1cj86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgKi9cbiAgb25Gb2N1cz86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBzZWFyY2ggYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvblN1Ym1pdDogKHZhbHVlOiBUVmFsdWUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25SZXNldD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgaW5wdXQgb24gaW5pdGlhbCByZW5kZXJcbiAgICovXG4gIGlzQXV0b2ZvY3Vzc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBjYW5ub3QgYmUgbW9kaWZpZWQgKGUuZyBub3QgYXV0aG9yaXplZCwgb3IgY2hhbmdlcyBjdXJyZW50bHkgc2F2aW5nKS5cbiAgICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGZpZWxkIGlzIGRpc3BsYXlpbmcgcmVhZC1vbmx5IGNvbnRlbnRcbiAgICovXG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBoYXMgaW52YWxpZCB2YWx1ZXNcbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIHdhcm5pbmcgdmFsdWVzXG4gICAqL1xuICBoYXNXYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IHNob3VsZCBiZSBjbGVhcmVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKlxuICAgKi9cbiAgaXNDbGVhcmFibGU/OiBib29sZWFuO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IG9mIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBob3Jpem9udGFsQ29uc3RyYWludD86IDEwIHwgMTEgfCAxMiB8IDEzIHwgMTQgfCAxNSB8IDE2IHwgJ3NjYWxlJyB8ICdhdXRvJztcbiAgLyoqXG4gICAqIEFycmF5IG9mIG9wdGlvbnMgdGhhdCBwb3B1bGF0ZSB0aGUgc2VsZWN0IG1lbnVcbiAgICovXG4gIG9wdGlvbnM6IFRPcHRpb25zO1xuICAvKipcbiAgICogei1pbmRleCB2YWx1ZSBmb3IgdGhlIG1lbnUgcG9ydGFsXG4gICAqIDxicj5cbiAgICogVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggYG1lbnVQb3J0YWxUYXJnZXRgXG4gICAqL1xuICBtZW51UG9ydGFsWkluZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogRG9tIGVsZW1lbnQgdG8gcG9ydGFsIHRoZSBzZWxlY3QgbWVudSB0b1xuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVBvcnRhbFRhcmdldD86IFJlYWN0U2VsZWN0UHJvcHNbJ21lbnVQb3J0YWxUYXJnZXQnXTtcbiAgLyoqXG4gICAqIHdoZXRoZXIgdGhlIG1lbnUgc2hvdWxkIGJsb2NrIHNjcm9sbCB3aGlsZSBvcGVuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtZW51U2hvdWxkQmxvY2tTY3JvbGw/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51U2hvdWxkQmxvY2tTY3JvbGwnXTtcbiAgLyoqXG4gICAqIEhhbmRsZSBjaGFuZ2UgZXZlbnRzIG9uIHRoZSBtZW51IGlucHV0XG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBvbk1lbnVJbnB1dENoYW5nZT86IFJlYWN0U2VsZWN0UHJvcHNbJ29uSW5wdXRDaGFuZ2UnXTtcbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIHJlbmRlciBhIGN1c3RvbSB2YWx1ZSB3aGVuIHRoZXJlIGFyZSBubyBvcHRpb25zIChlaXRoZXIgYmVjYXVzZSBvZiBubyBzZWFyY2ggcmVzdWx0cywgb3IgYWxsIG9wdGlvbnMgaGF2ZSBiZWVuIHVzZWQsIG9yIHRoZXJlIHdlcmUgbm9uZSBpbiB0aGUgZmlyc3QgcGxhY2UpLiBHZXRzIGNhbGxlZCB3aXRoIHsgaW5wdXRWYWx1ZTogU3RyaW5nIH0uXG4gICAqIDxiciAvPlxuICAgKiBgaW5wdXRWYWx1ZWAgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmcgd2hlbiBubyBzZWFyY2ggdGV4dCBpcyBwcmVzZW50LlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbm9NZW51T3B0aW9uc01lc3NhZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydub09wdGlvbnNNZXNzYWdlJ107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBzZWFyY2ggZnVuY3Rpb25hbGl0eS5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIGlzTWVudVNlYXJjaGFibGU/OiBSZWFjdFNlbGVjdFByb3BzWydpc1NlYXJjaGFibGUnXTtcbiAgLyoqXG4gICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBtZW51IGJlZm9yZSBzY3JvbGxpbmdcbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1heE1lbnVIZWlnaHQ/OiBSZWFjdFNlbGVjdFByb3BzWydtYXhNZW51SGVpZ2h0J107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtZW51IHNob3VsZCBjbG9zZSBhZnRlciBhIHZhbHVlIGlzIHNlbGVjdGVkLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBjbG9zZU1lbnVPblNlbGVjdD86IFJlYWN0U2VsZWN0UHJvcHNbJ2Nsb3NlTWVudU9uU2VsZWN0J107XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50PzogMyB8IDQgfCA1O1xuICAvKipcbiAgICogU2hvdyBzdWJtaXQgYnV0dG9uIGluIHRoZSBpbnB1dFxuICAgKi9cbiAgc2hvd1N1Ym1pdEJ1dHRvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAgdXNlZCB0byBwYXNzIGRhdGEtKiBwcm9wcyB0byB0aGUgc2VsZWN0IGNvbXBvbmVudC5cbiAgICogZWc6IHNlbGVjdERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBzZWxlY3REYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIGVnOiBpbnB1dERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBpbnB1dERhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyxcbiAgfCAnaG9yaXpvbnRhbENvbnN0cmFpbnQnXG4gIHwgJ2lzQ2xlYXJhYmxlJ1xuICB8ICdtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQnXG4gIHwgJ3Nob3dTdWJtaXRCdXR0b24nXG4gIHwgJ21lbnVQb3J0YWxaSW5kZXgnXG4gIHwgJ29wdGlvbnMnXG4+ID0ge1xuICBob3Jpem9udGFsQ29uc3RyYWludDogJ3NjYWxlJyxcbiAgaXNDbGVhcmFibGU6IHRydWUsXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludDogMyxcbiAgc2hvd1N1Ym1pdEJ1dHRvbjogdHJ1ZSxcbiAgbWVudVBvcnRhbFpJbmRleDogMSxcbiAgb3B0aW9uczogW10sXG59O1xuXG5jb25zdCBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoXG4gICdzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC0nXG4pO1xuXG5jb25zdCBpc09wdGlvbk9iamVjdCA9IChcbiAgb3B0aW9uOiBUT3B0aW9uIHwgVE9wdGlvbk9iamVjdFxuKTogb3B0aW9uIGlzIFRPcHRpb25PYmplY3QgPT4gKG9wdGlvbiBhcyBUT3B0aW9uT2JqZWN0KS5vcHRpb25zICE9PSB1bmRlZmluZWQ7XG5cbmNvbnN0IHRyYW5zZm9ybURhdGFQcm9wcyA9IChkYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA9PlxuICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoZGF0YVByb3BzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW1xuICAgICAgYGRhdGEtJHtrZXl9YCxcbiAgICAgIHZhbHVlLFxuICAgIF0pXG4gICk7XG5cbmNvbnN0IFNlbGVjdGFibGVTZWFyY2hJbnB1dCA9IChwcm9wczogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IFtkcm9wZG93bkhhc0ZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzXSA9IHVzZVRvZ2dsZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS50ZXh0IHx8ICcnKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgdGV4dElucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IGxlZ2FjeURhdGFQcm9wcyA9IGZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuc2VsZWN0RGF0YVByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wcyA9IHRyYW5zZm9ybURhdGFQcm9wcyhwcm9wcy5pbnB1dERhdGFQcm9wcyk7XG5cbiAgY29uc3Qgb3B0aW9uc1dpdGhvdXRHcm91cHMgPSBwcm9wcy5vcHRpb25zLmZsYXRNYXAoKG9wdGlvbikgPT4ge1xuICAgIGlmIChpc09wdGlvbk9iamVjdChvcHRpb24pKSB7XG4gICAgICByZXR1cm4gb3B0aW9uLm9wdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb247XG4gIH0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9uc1dpdGhvdXRHcm91cHMuZmluZChcbiAgICAob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHByb3BzLnZhbHVlLm9wdGlvblxuICApO1xuXG4gIGNvbnN0IHNlbGVjdGFibFNlYXJjaElucHV0SWQgPSB1c2VGaWVsZElkKFxuICAgIHByb3BzLmlkLFxuICAgIHNlbGVjdGFibGVTZWFyY2hJbnB1dFNlcXVlbnRpYWxJZFxuICApO1xuXG4gIGlmICghcHJvcHMuaXNSZWFkT25seSkge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicsXG4gICAgICAnU2VsZWN0YWJsZVNlYXJjaElucHV0OiBgb25DaGFuZ2VgIGlzIHJlcXVpcmVkIHdoZW4gaXMgbm90IHJlYWQgb25seS4nXG4gICAgKTtcbiAgfVxuXG4gIHdhcm5JZk1lbnVQb3J0YWxQcm9wc0FyZU1pc3Npbmcoe1xuICAgIG1lbnVQb3J0YWxaSW5kZXg6IHByb3BzLm1lbnVQb3J0YWxaSW5kZXgsXG4gICAgbWVudVBvcnRhbFRhcmdldDogcHJvcHMubWVudVBvcnRhbFRhcmdldCxcbiAgICBjb21wb25lbnROYW1lOiAnU2VsZWN0YWJsZVNlYXJjaElucHV0JyxcbiAgfSk7XG5cbiAgY29uc3QgeyBvbkZvY3VzLCBvbkJsdXIsIG5hbWUgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRGb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25Gb2N1cykge1xuICAgICAgb25Gb2N1cyh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW29uRm9jdXMsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRCbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkJsdXIpIHtcbiAgICAgIG9uQmx1cih7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZUNsZWFyID0gKCkgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKCcnKTtcbiAgICBpZiAocHJvcHMub25SZXNldCkge1xuICAgICAgcHJvcHMub25SZXNldCgpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBpZiAocHJvcHMub25DaGFuZ2UpIHtcbiAgICAgIHByb3BzLm9uQ2hhbmdlKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKHByb3BzLm5hbWUpLFxuICAgICAgICAgIHZhbHVlOiBldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKFxuICAgIGV2ZW50OlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+XG4gICkgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHByb3BzLm9uU3VibWl0KSB7XG4gICAgICBwcm9wcy5vblN1Ym1pdCh7XG4gICAgICAgIHRleHQ6IHNlYXJjaFZhbHVlLFxuICAgICAgICBvcHRpb246IHNlbGVjdGVkT3B0aW9uPy52YWx1ZSA/PyAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkcm9wZG93bk5hbWUgPSBnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSk7XG4gIGNvbnN0IGRyb3Bkb3duSWQgPSBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChcbiAgICBzZWxlY3RhYmxTZWFyY2hJbnB1dElkXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25Gb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25Gb2N1cykge1xuICAgICAgb25Gb2N1cyh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKHRydWUpO1xuICB9LCBbb25Gb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25CbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkJsdXIpIHtcbiAgICAgIG9uQmx1cih7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKGZhbHNlKTtcbiAgfSwgW3RvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIG9uQmx1ciwgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlQ29udGFpbmVyQmx1ciA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgLy8gZW5zdXJlcyB0aGF0IGJvdGggZmllbGRzIGFyZSBtYXJrZWQgYXMgdG91Y2hlZCB3aGVuIG9uZSBvZiB0aGVtXG4gICAgICAvLyBpcyBibHVycmVkXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBvbkJsdXIgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgIWNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KVxuICAgICAgKSB7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXREcm9wZG93bk5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e3Byb3BzLmhvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgIDxDb250YWluZXJcbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgIG9uQmx1cj17aGFuZGxlQ29udGFpbmVyQmx1cn1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e3Byb3BzLm1lbnVIb3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICAgICAgPFNlbGVjdGFibGVTZWxlY3RcbiAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgIGlkPXtTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXM9e2Ryb3Bkb3duSGFzRm9jdXN9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkZvY3VzPXtoYW5kbGVEcm9wZG93bkZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25CbHVyPXtoYW5kbGVEcm9wZG93bkJsdXJ9XG4gICAgICAgICAgICB0ZXh0SW5wdXRSZWY9e3RleHRJbnB1dFJlZn1cbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgICAgIGRhdGFQcm9wcz17dHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRDb250YWluZXJTdHlsZXMocHJvcHMpLFxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cyAmJlxuICAgICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJlxuICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGAsXG4gICAgICAgICAgXX1cbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hWYWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZVRleHRJbnB1dEJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVUZXh0SW5wdXRGb2N1c31cbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICBhcmlhLXJlYWRvbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNzcz17Z2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzKHByb3BzKX1cbiAgICAgICAgICAgIHsuLi50cmFuc2Zvcm1lZElucHV0RGF0YVByb3BzfVxuICAgICAgICAgICAgey4uLmxlZ2FjeURhdGFQcm9wc31cbiAgICAgICAgICAgIC8qIEFSSUEgKi9cbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17cHJvcHNbJ2FyaWEtaW52YWxpZCddfVxuICAgICAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e3Byb3BzWydhcmlhLWVycm9ybWVzc2FnZSddfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLWlucHV0XCJcbiAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMuaXNSZWFkT25seSAmJiBldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVTdWJtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge3Byb3BzLmlzQ2xlYXJhYmxlICYmXG4gICAgICAgICAgICBzZWFyY2hWYWx1ZSAmJlxuICAgICAgICAgICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1JlYWRPbmx5ICYmIChcbiAgICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBpY29uPXs8Q2xvc2VJY29uIC8+fVxuICAgICAgICAgICAgICAgIHNpemU9XCJtZWRpdW1cIlxuICAgICAgICAgICAgICAgIGxhYmVsPXsnY2xlYXItYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGVhcn1cbiAgICAgICAgICAgICAgICBjc3M9e2dldENsZWFySWNvbkJ1dHRvblN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIHtwcm9wcy5zaG93U3VibWl0QnV0dG9uICYmIChcbiAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgIGljb249ezxTZWFyY2hJY29uIC8+fVxuICAgICAgICAgICAgICBsYWJlbD17J3NlYXJjaC1idXR0b24nfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9XG4gICAgICAgICAgICAgIGNzcz17Z2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyhwcm9wcyl9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICApO1xufTtcblxuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRpc3BsYXlOYW1lID0gJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmlzRW1wdHkgPSAoXG4gIGZvcm1WYWx1ZTogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzWyd2YWx1ZSddXG4pID0+ICFmb3JtVmFsdWUgfHwgZm9ybVZhbHVlLnRleHQudHJpbSgpID09PSAnJztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZCA9IGdldFRleHRJbnB1dE5hbWU7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZCA9IGdldERyb3Bkb3duTmFtZTtcblxuZXhwb3J0IGRlZmF1bHQgU2VsZWN0YWJsZVNlYXJjaElucHV0O1xuIl19 */"],
437
+ children: [jsx("input", _objectSpread(_objectSpread(_objectSpread({
417
438
  ref: textInputRef,
418
439
  id: SelectableSearchInput.getTextInputId(selectablSearchInputId),
419
440
  name: getTextInputName(props.name),
@@ -430,7 +451,7 @@ const SelectableSearchInput = props => {
430
451
  "aria-readonly": props.isReadOnly,
431
452
  contentEditable: !props.isReadOnly,
432
453
  css: getSelectableSearchInputStyles(props)
433
- }, filterDataAttributes(props)), {}, {
454
+ }, transformedInputDataProps), legacyDataProps), {}, {
434
455
  /* ARIA */
435
456
  "aria-invalid": props['aria-invalid'],
436
457
  "aria-errormessage": props['aria-errormessage'],
@@ -491,19 +512,21 @@ SelectableSearchInput.propTypes = process.env.NODE_ENV !== "production" ? {
491
512
  }))]).isRequired,
492
513
  menuPortalZIndex: _pt.number,
493
514
  menuHorizontalConstraint: _pt.oneOf([3, 4, 5]),
494
- showSubmitButton: _pt.bool
515
+ showSubmitButton: _pt.bool,
516
+ selectDataProps: _pt.objectOf(_pt.string),
517
+ inputDataProps: _pt.objectOf(_pt.string)
495
518
  } : {};
496
519
  SelectableSearchInput.displayName = 'SelectableSearchInput';
497
520
  SelectableSearchInput.defaultProps = defaultProps;
498
521
  SelectableSearchInput.isEmpty = formValue => {
499
- var _context2;
500
- return !formValue || _trimInstanceProperty(_context2 = formValue.text).call(_context2) === '';
522
+ var _context3;
523
+ return !formValue || _trimInstanceProperty(_context3 = formValue.text).call(_context3) === '';
501
524
  };
502
525
  SelectableSearchInput.getTextInputId = getTextInputName;
503
526
  SelectableSearchInput.getDropdownId = getDropdownName;
504
527
  var SelectableSearchInput$1 = SelectableSearchInput;
505
528
 
506
529
  // NOTE: This string will be replaced on build time with the package version.
507
- var version = "16.12.0";
530
+ var version = "17.0.0";
508
531
 
509
532
  export { SelectableSearchInput$1 as default, version };
@@ -51,6 +51,8 @@ export type TSelectableSearchInputProps = {
51
51
  closeMenuOnSelect?: ReactSelectProps['closeMenuOnSelect'];
52
52
  menuHorizontalConstraint?: 3 | 4 | 5;
53
53
  showSubmitButton?: boolean;
54
+ selectDataProps?: Record<string, string>;
55
+ inputDataProps?: Record<string, string>;
54
56
  };
55
57
  declare const SelectableSearchInput: {
56
58
  (props: TSelectableSearchInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@commercetools-uikit/selectable-search-input",
3
3
  "description": "A controlled selectable search input component for single-line strings with validation states.",
4
- "version": "16.12.0",
4
+ "version": "17.0.0",
5
5
  "bugs": "https://github.com/commercetools/ui-kit/issues",
6
6
  "repository": {
7
7
  "type": "git",
@@ -21,14 +21,14 @@
21
21
  "dependencies": {
22
22
  "@babel/runtime": "^7.20.13",
23
23
  "@babel/runtime-corejs3": "^7.20.13",
24
- "@commercetools-uikit/constraints": "16.12.0",
25
- "@commercetools-uikit/design-system": "16.12.0",
26
- "@commercetools-uikit/hooks": "16.12.0",
27
- "@commercetools-uikit/icons": "16.12.0",
28
- "@commercetools-uikit/input-utils": "16.12.0",
29
- "@commercetools-uikit/secondary-icon-button": "16.12.0",
30
- "@commercetools-uikit/select-utils": "16.12.0",
31
- "@commercetools-uikit/utils": "16.12.0",
24
+ "@commercetools-uikit/constraints": "17.0.0",
25
+ "@commercetools-uikit/design-system": "17.0.0",
26
+ "@commercetools-uikit/hooks": "17.0.0",
27
+ "@commercetools-uikit/icons": "17.0.0",
28
+ "@commercetools-uikit/input-utils": "17.0.0",
29
+ "@commercetools-uikit/secondary-icon-button": "17.0.0",
30
+ "@commercetools-uikit/select-utils": "17.0.0",
31
+ "@commercetools-uikit/utils": "17.0.0",
32
32
  "@emotion/react": "^11.10.5",
33
33
  "@emotion/styled": "^11.10.5",
34
34
  "lodash": "4.17.21",