@1money/react-ui 1.12.4-alpha.0 → 1.12.4

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.
@@ -197,6 +197,8 @@ export var Select = function Select(props) {
197
197
  _props$size2 = props.size,
198
198
  size = _props$size2 === void 0 ? 'large' : _props$size2,
199
199
  success = props.success,
200
+ _props$refreshAfterSh = props.refreshAfterShow,
201
+ refreshAfterShow = _props$refreshAfterSh === void 0 ? true : _props$refreshAfterSh,
200
202
  invalid = props.invalid,
201
203
  disabled = props.disabled,
202
204
  placeholder = props.placeholder,
@@ -211,7 +213,7 @@ export var Select = function Select(props) {
211
213
  _onHide = props.onHide,
212
214
  _onShow = props.onShow,
213
215
  unselectable = props.unselectable,
214
- rest = __rest(props, ["id", "ref", "name", "label", "message", "required", "prefixCls", "wrapperCls", "labelCls", "messageCls", "value", "size", "success", "invalid", "disabled", "placeholder", "className", "multiple", "options", "panelClassName", "defaultValue", "itemTemplate", "onChange", "onHide", "onShow", "unselectable"]);
216
+ rest = __rest(props, ["id", "ref", "name", "label", "message", "required", "prefixCls", "wrapperCls", "labelCls", "messageCls", "value", "size", "success", "refreshAfterShow", "invalid", "disabled", "placeholder", "className", "multiple", "options", "panelClassName", "defaultValue", "itemTemplate", "onChange", "onHide", "onShow", "unselectable"]);
215
217
  var classes = classnames(prefixCls);
216
218
  var _useState5 = useState((_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : null),
217
219
  _useState6 = _slicedToArray(_useState5, 2),
@@ -237,6 +239,18 @@ export var Select = function Select(props) {
237
239
  var debouncedHandleScroll = debounce(function () {
238
240
  return setIsScrolling(false);
239
241
  }, 500);
242
+ var refreshDOM = useCallback(function () {
243
+ var _a, _b;
244
+ var ele = (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getOverlay) === null || _b === void 0 ? void 0 : _b.call(_a);
245
+ if (!ele) return;
246
+ var originZIndex = ele.style.zIndex;
247
+ if (originZIndex != undefined) {
248
+ ele.style.zIndex = "".concat(parseInt(originZIndex) + 1);
249
+ setTimeout(function () {
250
+ ele.style.zIndex = originZIndex;
251
+ }, 0);
252
+ }
253
+ }, []);
240
254
  var SelectComponent = useCallback(function (props) {
241
255
  return multiple ? _jsx(MultiSelect, Object.assign({
242
256
  unselectable: unselectable,
@@ -305,9 +319,75 @@ export var Select = function Select(props) {
305
319
  setSelected(value);
306
320
  }
307
321
  }, [value]);
322
+ // @ts-expect-error
308
323
  useImperativeHandle(ref !== null && ref !== void 0 ? ref : _ref, function () {
309
- return selectRef.current;
310
- });
324
+ var _a, _b;
325
+ return multiple ? {
326
+ props: (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.props,
327
+ focus: function focus() {
328
+ var _a, _b;
329
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
330
+ },
331
+ hide: function hide() {
332
+ var _a, _b;
333
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.hide) === null || _b === void 0 ? void 0 : _b.call(_a);
334
+ },
335
+ show: function show() {
336
+ var _a, _b;
337
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.show) === null || _b === void 0 ? void 0 : _b.call(_a);
338
+ },
339
+ getElement: function getElement() {
340
+ var _a, _b;
341
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getElement) === null || _b === void 0 ? void 0 : _b.call(_a);
342
+ },
343
+ getInput: function getInput() {
344
+ var _a, _b;
345
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getInput) === null || _b === void 0 ? void 0 : _b.call(_a);
346
+ },
347
+ getOverlay: function getOverlay() {
348
+ var _a, _b;
349
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getOverlay) === null || _b === void 0 ? void 0 : _b.call(_a);
350
+ }
351
+ } : {
352
+ props: (_b = selectRef.current) === null || _b === void 0 ? void 0 : _b.props,
353
+ clear: function clear() {
354
+ var _a, _b;
355
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a);
356
+ },
357
+ focus: function focus() {
358
+ var _a, _b;
359
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
360
+ },
361
+ hide: function hide() {
362
+ var _a, _b;
363
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.hide) === null || _b === void 0 ? void 0 : _b.call(_a);
364
+ },
365
+ show: function show() {
366
+ var _a, _b;
367
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.show) === null || _b === void 0 ? void 0 : _b.call(_a);
368
+ },
369
+ getElement: function getElement() {
370
+ var _a, _b;
371
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getElement) === null || _b === void 0 ? void 0 : _b.call(_a);
372
+ },
373
+ getInput: function getInput() {
374
+ var _a, _b;
375
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getInput) === null || _b === void 0 ? void 0 : _b.call(_a);
376
+ },
377
+ getOverlay: function getOverlay() {
378
+ var _a, _b;
379
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getOverlay) === null || _b === void 0 ? void 0 : _b.call(_a);
380
+ },
381
+ getFocusInput: function getFocusInput() {
382
+ var _a, _b;
383
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getFocusInput) === null || _b === void 0 ? void 0 : _b.call(_a);
384
+ },
385
+ getVirtualScroller: function getVirtualScroller() {
386
+ var _a, _b;
387
+ return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getVirtualScroller) === null || _b === void 0 ? void 0 : _b.call(_a);
388
+ }
389
+ };
390
+ }, [multiple]);
311
391
  return _jsx(SelectWrapper, {
312
392
  label: label,
313
393
  message: message,
@@ -369,6 +449,10 @@ export var Select = function Select(props) {
369
449
  onShow: function onShow() {
370
450
  setIsOpen(true);
371
451
  _onShow === null || _onShow === void 0 ? void 0 : _onShow();
452
+ if (!refreshAfterShow) return;
453
+ setTimeout(function () {
454
+ return refreshDOM();
455
+ }, 0);
372
456
  },
373
457
  dropdownIcon: function dropdownIcon() {
374
458
  return _jsx(Icons, {
@@ -405,4 +489,4 @@ export var Select = function Select(props) {
405
489
  };
406
490
  Select.CustomDropdown = CustomDropdown;
407
491
  export default /*#__PURE__*/memo(Select);
408
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJkZWJvdW5jZSIsIkRyb3Bkb3duIiwiTXVsdGlTZWxlY3QiLCJjbGFzc25hbWVzIiwiSWNvbnMiLCJTZWxlY3RXcmFwcGVyIiwicHJvcHMiLCJsYWJlbCIsIm1lc3NhZ2UiLCJyZXF1aXJlZCIsInByZWZpeENscyIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsIm1lc3NhZ2VDbHMiLCJzdWNjZXNzIiwiaW52YWxpZCIsImRpc2FibGVkIiwiY2hpbGRyZW4iLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiam9pbiIsInRyaW0iLCJDdXN0b21Ecm9wZG93biIsInJlZiIsImRhdGFJZCIsIl9wcm9wcyRwcmVmaXhDbHMiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJlZGl0YWJsZSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJGNsYXNzTmFtZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJ0YWlsVGVtcGxhdGUiLCJvbkNsaWNrIiwib25Gb2N1cyIsIm9uQmx1ciIsImlzQ2xpY2tJbnNpZGUiLCJkYXRhSWRSZWYiLCJsYXN0Rm9jdXNSZWYiLCJzZWxlY3RSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ2YWx1ZSIsInNldFZhbHVlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdENscyIsImZvY3VzIiwiYmx1ciIsImdldERPTU5vZGUiLCJjdXJyZW50IiwiZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkIiwidGFyZ2V0IiwiX2EiLCJkYXRhc2V0Iiwic2VsZWN0Q3VzdG9tRHJvcGRvd25JZCIsImRvY3VtZW50IiwiYm9keSIsInBhcmVudCIsInBhcmVudE5vZGUiLCJwYXJlbnRFbGVtZW50IiwicmVtb3ZlRm9jdXMiLCJwcmV2IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjb250ZW50RWRpdGFibGUiLCJhdXRvRm9jdXMiLCJvbklucHV0IiwidmFsIiwiY3VycmVudFRhcmdldCIsImlubmVyVGV4dCIsIm5hbWUiLCJjb2xvciIsIlNlbGVjdCIsImlkIiwiX3Byb3BzJHByZWZpeENsczIiLCJfcHJvcHMkc2l6ZTIiLCJfcHJvcHMkY2xhc3NOYW1lMiIsIm11bHRpcGxlIiwib3B0aW9ucyIsInBhbmVsQ2xhc3NOYW1lIiwiZGVmYXVsdFZhbHVlIiwiaXRlbVRlbXBsYXRlIiwib25DaGFuZ2UiLCJvbkhpZGUiLCJvblNob3ciLCJ1bnNlbGVjdGFibGUiLCJyZXN0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZWxlY3RlZCIsInNldFNlbGVjdGVkIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJpc0hvdmVyIiwic2V0SXNIb3ZlciIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJpc1Njcm9sbGluZyIsInNldElzU2Nyb2xsaW5nIiwiX3JlZiIsIkFycmF5IiwiaXNBcnJheSIsImRlYm91bmNlZEhhbmRsZVNjcm9sbCIsIlNlbGVjdENvbXBvbmVudCIsImFzc2lnbiIsInNob3dTZWxlY3RBbGwiLCJjaGVja2JveEljb24iLCJyZW1vdmVJY29uIiwiX3Byb3BzJGljb25Qcm9wcyIsImljb25Qcm9wcyIsIm9uS2V5RG93biIsInRhYkluZGV4IiwicGFuZWxIZWFkZXJUZW1wbGF0ZSIsIl9iIiwiX2MiLCJfZCIsIl9lIiwiZmlsdGVyRWxlbWVudCIsInNlbGVjdGVkTnVtIiwibWV0YURhdGEiLCJ1cGRhdGVNb2RlbCIsImNvbGxhcHNlSWNvbiIsInVuZGVmaW5lZCIsImZpbHRlclBsYWNlaG9sZGVyIiwib3B0aW9uIiwiY2xlYXIiLCJmaWx0ZXJJY29uIiwiYXBwZW5kVG8iLCJkcm9wZG93bkljb24iLCJwdCIsIndyYXBwZXIiLCJvblNjcm9sbCIsImNhbmNlbCIsInBhbmVsIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwib25Ub3VjaFN0YXJ0Iiwib25Ub3VjaEVuZCJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVE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UUFDRCtCLEtBQUssRUFBRTtVQUNMQyxZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTtZQUFBLE9BQVF4QyxVQUFVLENBQUMsSUFBSSxDQUFDO1VBQUE7VUFDcEN5QyxZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTtZQUFBLE9BQVF6QyxVQUFVLENBQUMsS0FBSyxDQUFDO1VBQUE7VUFDckMwQyxZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTtZQUFBLE9BQVExQyxVQUFVLENBQUMsSUFBSSxDQUFDO1VBQUE7VUFDcEMyQyxVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBQTtZQUFBLE9BQVEzQyxVQUFVLENBQUMsS0FBSyxDQUFDO1VBQUE7UURsTC9CO01BQ0o7SUNtTEgsQ0FBQSxDQUFBO0VBQ0QsQ0FBQSxDQUNZO0FBRXBCLENBQUM7QUFFRDFCLE1BQU0sQ0FBQ3ZELGNBQWMsR0FBR0EsY0FBYztBQUV0Qyw0QkFBZTlCLElBQUksQ0FBQ3FGLE1BQU0sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlUmVmLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjaywgdXNlSW1wZXJhdGl2ZUhhbmRsZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC5pc2VxdWFsJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tICdwcmltZXJlYWN0L2Ryb3Bkb3duJztcbmltcG9ydCB7IE11bHRpU2VsZWN0IH0gZnJvbSAncHJpbWVyZWFjdC9tdWx0aXNlbGVjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuY29uc3QgU2VsZWN0V3JhcHBlciA9IG1lbW8ocHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2hpbGRyZW4sIH0gPSBwcm9wcztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIHJldHVybiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnd3JhcHBlcicsIHdyYXBwZXJDbHMpLCBjaGlsZHJlbjogW2xhYmVsICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbCcsIFtyZXF1aXJlZCAmJiBjbGFzc2VzKCdsYWJlbC1yZXF1aXJlZCcpLCBsYWJlbENsc10uam9pbignICcpKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBjaGlsZHJlbiwgbWVzc2FnZSAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbWVzc2FnZScsIFtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ21lc3NhZ2Utc3VjY2VzcycpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdtZXNzYWdlLWVycm9yJykgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUNsc1xuICAgICAgICAgICAgICAgIF0uam9pbignICcpLnRyaW0oKSksIGNoaWxkcmVuOiBtZXNzYWdlIH0pXSB9KTtcbn0pO1xuY29uc3QgQ3VzdG9tRHJvcGRvd24gPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyByZWYsIGRhdGFJZCwgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHNpemUgPSAnbGFyZ2UnLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgZWRpdGFibGUsIHBsYWNlaG9sZGVyID0gJycsIGNsYXNzTmFtZSA9ICcnLCBzZWxlY3RlZFRlbXBsYXRlLCB0YWlsVGVtcGxhdGUsIG9uQ2xpY2ssIG9uRm9jdXMsIG9uQmx1ciwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgaXNDbGlja0luc2lkZSA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgZGF0YUlkUmVmID0gdXNlUmVmKGRhdGFJZCk7XG4gICAgY29uc3QgbGFzdEZvY3VzUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZSgnJyk7XG4gICAgY29uc3QgW2lzRm9jdXMsIHNldElzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IHNlbGVjdENscyA9IHVzZU1lbW8oKCkgPT4gY2xhc3Nlcyh2b2lkIDAsIFtcbiAgICAgICAgY2xhc3NlcyhzaXplKSxcbiAgICAgICAgY2xhc3NlcygnY3VzdG9tJyksXG4gICAgICAgIGlzRm9jdXMgPyBjbGFzc2VzKCdmb2N1cycpIDogJycsXG4gICAgICAgIHN1Y2Nlc3MgPyBjbGFzc2VzKCdzdWNjZXNzJykgOiAnJyxcbiAgICAgICAgaW52YWxpZCA/IGNsYXNzZXMoJ2ludmFsaWQnKSA6ICcnLFxuICAgICAgICBkaXNhYmxlZCA/IGNsYXNzZXMoJ2Rpc2FibGVkJykgOiAnJyxcbiAgICAgICAgZWRpdGFibGUgPyBjbGFzc2VzKCdlZGl0YWJsZScpIDogJycsXG4gICAgICAgIGNsYXNzTmFtZVxuICAgIF0uam9pbignICcpKSwgW3NpemUsIGlzRm9jdXMsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBlZGl0YWJsZSwgY2xhc3NOYW1lXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGZvY3VzOiAoKSA9PiBzZXRJc0ZvY3VzKHRydWUpLFxuICAgICAgICBibHVyOiAoKSA9PiBzZXRJc0ZvY3VzKGZhbHNlKSxcbiAgICAgICAgZ2V0RE9NTm9kZTogKCkgPT4gc2VsZWN0UmVmLmN1cnJlbnRcbiAgICB9KSwgW3JlZl0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGRhdGFJZFJlZi5jdXJyZW50ID0gZGF0YUlkO1xuICAgIH0sIFtkYXRhSWRdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoaXNGb2N1cyAhPT0gbGFzdEZvY3VzUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGxhc3RGb2N1c1JlZi5jdXJyZW50ID0gaXNGb2N1cztcbiAgICAgICAgICAgIGlmIChpc0ZvY3VzKSB7XG4gICAgICAgICAgICAgICAgb25Gb2N1cyA9PT0gbnVsbCB8fCBvbkZvY3VzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIFtpc0ZvY3VzLCBvbkZvY3VzLCBvbkJsdXJdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQgPSAodGFyZ2V0KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoIWRhdGFJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGlmICgoKF9hID0gdGFyZ2V0ID09PSBudWxsIHx8IHRhcmdldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGFyZ2V0LmRhdGFzZXQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZWxlY3RDdXN0b21Ecm9wZG93bklkKSA9PT0gZGF0YUlkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5IHx8IHRhcmdldCA9PT0gZG9jdW1lbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0LnBhcmVudE5vZGUgfHwgdGFyZ2V0LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIXBhcmVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkKHBhcmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlbW92ZUZvY3VzID0gKGUpID0+IHtcbiAgICAgICAgICAgIGlmIChpc0NsaWNrSW5zaWRlLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBpc0NsaWNrSW5zaWRlLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRJc0ZvY3VzKHByZXYgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcHJldilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiBmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQoZS50YXJnZXQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVtb3ZlRm9jdXMpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZW1vdmVGb2N1cyk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBfanN4KFNlbGVjdFdyYXBwZXIsIHsgbGFiZWw6IGxhYmVsLCBtZXNzYWdlOiBtZXNzYWdlLCByZXF1aXJlZDogcmVxdWlyZWQsIHByZWZpeENsczogcHJlZml4Q2xzLCB3cmFwcGVyQ2xzOiB3cmFwcGVyQ2xzLCBsYWJlbENsczogbGFiZWxDbHMsIG1lc3NhZ2VDbHM6IG1lc3NhZ2VDbHMsIHN1Y2Nlc3M6IHN1Y2Nlc3MsIGludmFsaWQ6IGludmFsaWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgcmVmOiBzZWxlY3RSZWYsIGNsYXNzTmFtZTogc2VsZWN0Q2xzLCBjb250ZW50RWRpdGFibGU6ICFkaXNhYmxlZCA/IGVkaXRhYmxlIDogZmFsc2UsIGF1dG9Gb2N1czogZWRpdGFibGUsIFwiZGF0YS1wbGFjZWhvbGRlclwiOiBwbGFjZWhvbGRlciwgXCJkYXRhLXZhbHVlXCI6IHZhbHVlLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmICghZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNDbGlja0luc2lkZS5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNGb2N1cyhwcmV2ID0+ICFwcmV2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25DbGljayA9PT0gbnVsbCB8fCBvbkNsaWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsaWNrKGUpO1xuICAgICAgICAgICAgfSwgb25JbnB1dDogZSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbCA9IGUuY3VycmVudFRhcmdldC5pbm5lclRleHQ7XG4gICAgICAgICAgICAgICAgaWYgKHZhbCA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIGUuY3VycmVudFRhcmdldC5pbm5lclRleHQgPSAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2V0VmFsdWUodmFsKTtcbiAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbIWRpc2FibGVkICYmIGVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IHR5cGVvZiBzZWxlY3RlZFRlbXBsYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdGVkVGVtcGxhdGUoaXNGb2N1cylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2N1c3RvbS1wbGFjZWhvbGRlcicpLCBjaGlsZHJlbjogcGxhY2Vob2xkZXIgfSksIGVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IHR5cGVvZiB0YWlsVGVtcGxhdGUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGFpbFRlbXBsYXRlKGlzRm9jdXMpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZXZyb25Eb3duJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2N1c3RvbS10YWlsJywgaXNGb2N1cyA/IGNsYXNzZXMoJ2N1c3RvbS10YWlsLWZvY3VzJykgOiAnJykgfSldIH0pIH0pO1xufTtcbmV4cG9ydCBjb25zdCBTZWxlY3QgPSBwcm9wcyA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgaWQsIHJlZiwgbmFtZSwgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHZhbHVlLCBzaXplID0gJ2xhcmdlJywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIHBsYWNlaG9sZGVyLCBjbGFzc05hbWUgPSAnJywgbXVsdGlwbGUsIG9wdGlvbnMsIHBhbmVsQ2xhc3NOYW1lLCBkZWZhdWx0VmFsdWUsIGl0ZW1UZW1wbGF0ZSwgb25DaGFuZ2UsIG9uSGlkZSwgb25TaG93LCB1bnNlbGVjdGFibGUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJpZFwiLCBcInJlZlwiLCBcIm5hbWVcIiwgXCJsYWJlbFwiLCBcIm1lc3NhZ2VcIiwgXCJyZXF1aXJlZFwiLCBcInByZWZpeENsc1wiLCBcIndyYXBwZXJDbHNcIiwgXCJsYWJlbENsc1wiLCBcIm1lc3NhZ2VDbHNcIiwgXCJ2YWx1ZVwiLCBcInNpemVcIiwgXCJzdWNjZXNzXCIsIFwiaW52YWxpZFwiLCBcImRpc2FibGVkXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJjbGFzc05hbWVcIiwgXCJtdWx0aXBsZVwiLCBcIm9wdGlvbnNcIiwgXCJwYW5lbENsYXNzTmFtZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIml0ZW1UZW1wbGF0ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25IaWRlXCIsIFwib25TaG93XCIsIFwidW5zZWxlY3RhYmxlXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoKF9hID0gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/IHZhbHVlIDogZGVmYXVsdFZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsKTtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNTY3JvbGxpbmcsIHNldElzU2Nyb2xsaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgX3JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWxlY3RDbHMgPSB1c2VNZW1vKCgpID0+IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgIGNsYXNzZXMoc2l6ZSksXG4gICAgICAgIGlzT3BlbiA/IGNsYXNzZXMoJ3Nob3cnKSA6ICcnLFxuICAgICAgICBzdWNjZXNzID8gY2xhc3Nlcygnc3VjY2VzcycpIDogJycsXG4gICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiAnJyxcbiAgICAgICAgZGlzYWJsZWQgPyBjbGFzc2VzKCdkaXNhYmxlZCcpIDogJycsXG4gICAgICAgIChBcnJheS5pc0FycmF5KHNlbGVjdGVkKSA/IHNlbGVjdGVkLmxlbmd0aCA6IHNlbGVjdGVkKSA/IGNsYXNzZXMoJ2ZpbGxlZCcpIDogJycsXG4gICAgICAgIGNsYXNzTmFtZVxuICAgIF0uam9pbignICcpKSwgW3NpemUsIGlzT3Blbiwgc3VjY2Vzcywgc2VsZWN0ZWQsIGludmFsaWQsIGRpc2FibGVkLCBjbGFzc05hbWVdKTtcbiAgICBjb25zdCBkZWJvdW5jZWRIYW5kbGVTY3JvbGwgPSBkZWJvdW5jZSgoKSA9PiBzZXRJc1Njcm9sbGluZyhmYWxzZSksIDUwMCk7XG4gICAgY29uc3QgU2VsZWN0Q29tcG9uZW50ID0gdXNlQ2FsbGJhY2soKHByb3BzKSA9PiBtdWx0aXBsZVxuICAgICAgICA/IF9qc3goTXVsdGlTZWxlY3QsIE9iamVjdC5hc3NpZ24oeyB1bnNlbGVjdGFibGU6IHVuc2VsZWN0YWJsZSwgc2hvd1NlbGVjdEFsbDogZmFsc2UsIGNoZWNrYm94SWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiAxMiwgY29sb3I6ICcjRkVGRUZFJyB9KSwgcmVtb3ZlSWNvbjogcHJvcHMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgb25DbGljaywgb25LZXlEb3duLCB0YWJJbmRleCB9ID0gcHJvcHMuaWNvblByb3BzO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyMxMzEzMTMnLCB0YWJJbmRleDogdGFiSW5kZXgsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ3Rva2VuLXJlbW92ZS1pY29uJyksIG9uQ2xpY2s6IG9uQ2xpY2ssIG9uS2V5RG93bjogb25LZXlEb3duIH0pO1xuICAgICAgICAgICAgfSwgcGFuZWxIZWFkZXJUZW1wbGF0ZTogb3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGZpbHRlckVsZW1lbnQsIHByb3BzIH0gPSBvcHRpb25zO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE51bSA9IChfZCA9IChfYyA9IChfYiA9IChfYSA9IHByb3BzID09PSBudWxsIHx8IHByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcm9wcy5tZXRhRGF0YSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnByb3BzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IudmFsdWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5sZW5ndGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXInKSwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8nKSwgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNvdW50JyksIGNoaWxkcmVuOiBbc2VsZWN0ZWROdW0sIFwiIHNlbGVjdGVkXCJdIH0pLCBfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNsZWFyJyksIG9uQ2xpY2s6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51cGRhdGVNb2RlbChlLCBbXSwgW10pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyNBRTAwMDAnLCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhci1pY29uJykgfSksIFwiQ2xlYXIgYWxsXCJdIH0pXSB9KSwgKF9lID0gZmlsdGVyRWxlbWVudCA9PT0gbnVsbCB8fCBmaWx0ZXJFbGVtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWx0ZXJFbGVtZW50LnByb3BzKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UuY2hpbGRyZW5dIH0pO1xuICAgICAgICAgICAgfSB9LCBwcm9wcykpXG4gICAgICAgIDogX2pzeChEcm9wZG93biwgT2JqZWN0LmFzc2lnbih7IGNvbGxhcHNlSWNvbjogbXVsdGlwbGUgPyB2b2lkIDAgOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uVXAnLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSB9LCBwcm9wcykpLCBbbXVsdGlwbGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhaXNFcXVhbChzZWxlY3RlZCwgdmFsdWUpKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbdmFsdWVdKTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHZvaWQgMCA/IHJlZiA6IF9yZWYsICgpID0+IHNlbGVjdFJlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0V3JhcHBlciwgeyBsYWJlbDogbGFiZWwsIG1lc3NhZ2U6IG1lc3NhZ2UsIHJlcXVpcmVkOiByZXF1aXJlZCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIHdyYXBwZXJDbHM6IHdyYXBwZXJDbHMsIGxhYmVsQ2xzOiBsYWJlbENscywgbWVzc2FnZUNsczogbWVzc2FnZUNscywgc3VjY2Vzczogc3VjY2VzcywgaW52YWxpZDogaW52YWxpZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogX2pzeChTZWxlY3RDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgaWQ6IGlkLCByZWY6IHNlbGVjdFJlZiwgbmFtZTogbmFtZSwgZmlsdGVyUGxhY2Vob2xkZXI6ICdTZWFyY2gnLCByZXF1aXJlZDogcmVxdWlyZWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgaW52YWxpZDogaW52YWxpZCwgb3B0aW9uczogb3B0aW9ucywgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCB2YWx1ZTogc2VsZWN0ZWQgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IHNlbGVjdGVkLCBjbGFzc05hbWU6IHNlbGVjdENscywgaXRlbVRlbXBsYXRlOiAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtJyksIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbXVsdGlwbGUgJiYgdW5zZWxlY3RhYmxlID09PSAnb24nICYmIG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlKG9wdGlvbikgOiBvcHRpb24ubGFiZWwgfSksIF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTYsIGNvbG9yOiAnIzA3MzM4NycgfSldIH0pO1xuICAgICAgICAgICAgfSwgZmlsdGVySWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMjAsIGNvbG9yOiAnIzEzMTMxMycsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2ZpbHRlci1pY29uJykgfSksIHBhbmVsQ2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbCcsIFtcbiAgICAgICAgICAgICAgICBwYW5lbENsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBpc0hvdmVyICYmIGNsYXNzZXMoJ3BhbmVsLWhvdmVyJyksXG4gICAgICAgICAgICAgICAgaXNTY3JvbGxpbmcgJiYgY2xhc3NlcygncGFuZWwtc2Nyb2xsaW5nJyksXG4gICAgICAgICAgICAgICAgcmVzdC5hcHBlbmRUbyA9PT0gJ3NlbGYnICYmIGNsYXNzZXMoJ3BhbmVsLWFwcGVuZC1zZWxmJyksXG4gICAgICAgICAgICBdLmpvaW4oJyAnKSksIG9uQ2hhbmdlOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkKGUudmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UoZSk7XG4gICAgICAgICAgICB9LCBvbkhpZGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgIG9uSGlkZSA9PT0gbnVsbCB8fCBvbkhpZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uSGlkZSgpO1xuICAgICAgICAgICAgfSwgb25TaG93OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNPcGVuKHRydWUpO1xuICAgICAgICAgICAgICAgIG9uU2hvdyA9PT0gbnVsbCB8fCBvblNob3cgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2hvdygpO1xuICAgICAgICAgICAgfSwgZHJvcGRvd25JY29uOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uRG93bicsIGNvbG9yOiAnIzEzMTMxMycsIHNpemU6IDIwIH0pLCBwdDoge1xuICAgICAgICAgICAgICAgIHdyYXBwZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgb25TY3JvbGw6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZEhhbmRsZVNjcm9sbC5jYW5jZWwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldElzU2Nyb2xsaW5nKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkSGFuZGxlU2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhbmVsOiB7XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gc2V0SXNIb3Zlcih0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlOiAoKSA9PiBzZXRJc0hvdmVyKGZhbHNlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Ub3VjaFN0YXJ0OiAoKSA9PiBzZXRJc0hvdmVyKHRydWUpLFxuICAgICAgICAgICAgICAgICAgICBvblRvdWNoRW5kOiAoKSA9PiBzZXRJc0hvdmVyKGZhbHNlKSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IH0pKSB9KSk7XG59O1xuU2VsZWN0LkN1c3RvbURyb3Bkb3duID0gQ3VzdG9tRHJvcGRvd247XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
492
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJkZWJvdW5jZSIsIkRyb3Bkb3duIiwiTXVsdGlTZWxlY3QiLCJjbGFzc25hbWVzIiwiSWNvbnMiLCJTZWxlY3RXcmFwcGVyIiwicHJvcHMiLCJsYWJlbCIsIm1lc3NhZ2UiLCJyZXF1aXJlZCIsInByZWZpeENscyIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsIm1lc3NhZ2VDbHMiLCJzdWNjZXNzIiwiaW52YWxpZCIsImRpc2FibGVkIiwiY2hpbGRyZW4iLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiam9pbiIsInRyaW0iLCJDdXN0b21Ecm9wZG93biIsInJlZiIsImRhdGFJZCIsIl9wcm9wcyRwcmVmaXhDbHMiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJlZGl0YWJsZSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJGNsYXNzTmFtZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJ0YWlsVGVtcGxhdGUiLCJvbkNsaWNrIiwib25Gb2N1cyIsIm9uQmx1ciIsImlzQ2xpY2tJbnNpZGUiLCJkYXRhSWRSZWYiLCJsYXN0Rm9jdXNSZWYiLCJzZWxlY3RSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ2YWx1ZSIsInNldFZhbHVlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdENscyIsImZvY3VzIiwiYmx1ciIsImdldERPTU5vZGUiLCJjdXJyZW50IiwiZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkIiwidGFyZ2V0IiwiX2EiLCJkYXRhc2V0Iiwic2VsZWN0Q3VzdG9tRHJvcGRvd25JZCIsImRvY3VtZW50IiwiYm9keSIsInBhcmVudCIsInBhcmVudE5vZGUiLCJwYXJlbnRFbGVtZW50IiwicmVtb3ZlRm9jdXMiLCJwcmV2IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjb250ZW50RWRpdGFibGUiLCJhdXRvRm9jdXMiLCJvbklucHV0IiwidmFsIiwiY3VycmVudFRhcmdldCIsImlubmVyVGV4dCIsIm5hbWUiLCJjb2xvciIsIlNlbGVjdCIsImlkIiwiX3Byb3BzJHByZWZpeENsczIiLCJfcHJvcHMkc2l6ZTIiLCJfcHJvcHMkcmVmcmVzaEFmdGVyU2giLCJyZWZyZXNoQWZ0ZXJTaG93IiwiX3Byb3BzJGNsYXNzTmFtZTIiLCJtdWx0aXBsZSIsIm9wdGlvbnMiLCJwYW5lbENsYXNzTmFtZSIsImRlZmF1bHRWYWx1ZSIsIml0ZW1UZW1wbGF0ZSIsIm9uQ2hhbmdlIiwib25IaWRlIiwib25TaG93IiwidW5zZWxlY3RhYmxlIiwicmVzdCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2VsZWN0ZWQiLCJzZXRTZWxlY3RlZCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiaXNIb3ZlciIsInNldElzSG92ZXIiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiaXNTY3JvbGxpbmciLCJzZXRJc1Njcm9sbGluZyIsIl9yZWYiLCJBcnJheSIsImlzQXJyYXkiLCJkZWJvdW5jZWRIYW5kbGVTY3JvbGwiLCJyZWZyZXNoRE9NIiwiX2IiLCJlbGUiLCJnZXRPdmVybGF5Iiwib3JpZ2luWkluZGV4Iiwic3R5bGUiLCJ6SW5kZXgiLCJ1bmRlZmluZWQiLCJjb25jYXQiLCJwYXJzZUludCIsInNldFRpbWVvdXQiLCJTZWxlY3RDb21wb25lbnQiLCJhc3NpZ24iLCJzaG93U2VsZWN0QWxsIiwiY2hlY2tib3hJY29uIiwicmVtb3ZlSWNvbiIsIl9wcm9wcyRpY29uUHJvcHMiLCJpY29uUHJvcHMiLCJvbktleURvd24iLCJ0YWJJbmRleCIsInBhbmVsSGVhZGVyVGVtcGxhdGUiLCJfYyIsIl9kIiwiX2UiLCJmaWx0ZXJFbGVtZW50Iiwic2VsZWN0ZWROdW0iLCJtZXRhRGF0YSIsInVwZGF0ZU1vZGVsIiwiY29sbGFwc2VJY29uIiwiaGlkZSIsInNob3ciLCJnZXRFbGVtZW50IiwiZ2V0SW5wdXQiLCJjbGVhciIsImdldEZvY3VzSW5wdXQiLCJnZXRWaXJ0dWFsU2Nyb2xsZXIiLCJmaWx0ZXJQbGFjZWhvbGRlciIsIm9wdGlvbiIsImZpbHRlckljb24iLCJhcHBlbmRUbyIsImRyb3Bkb3duSWNvbiIsInB0Iiwid3JhcHBlciIsIm9uU2Nyb2xsIiwiY2FuY2VsIiwicGFuZWwiLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJvblRvdWNoU3RhcnQiLCJvblRvdWNoRW5kIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FB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QUE7RUFDRCxDQUFBLENBQ1k7QUFFcEIsQ0FBQztBQUVENUIsTUFBTSxDQUFDdkQsY0FBYyxHQUFHQSxjQUFjO0FBRXRDLDRCQUFlOUIsSUFBSSxDQUFDcUYsTUFBTSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VSZWYsIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrLCB1c2VJbXBlcmF0aXZlSGFuZGxlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLmlzZXF1YWwnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC5kZWJvdW5jZSc7XG5pbXBvcnQgeyBEcm9wZG93biB9IGZyb20gJ3ByaW1lcmVhY3QvZHJvcGRvd24nO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3QgfSBmcm9tICdwcmltZXJlYWN0L211bHRpc2VsZWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5jb25zdCBTZWxlY3RXcmFwcGVyID0gbWVtbyhwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBsYWJlbCwgbWVzc2FnZSwgcmVxdWlyZWQsIHByZWZpeENscywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBjaGlsZHJlbiwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCd3cmFwcGVyJywgd3JhcHBlckNscyksIGNoaWxkcmVuOiBbbGFiZWwgJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsJywgW3JlcXVpcmVkICYmIGNsYXNzZXMoJ2xhYmVsLXJlcXVpcmVkJyksIGxhYmVsQ2xzXS5qb2luKCcgJykpLCBjaGlsZHJlbjogbGFiZWwgfSksIGNoaWxkcmVuLCBtZXNzYWdlICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdtZXNzYWdlJywgW1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzID8gY2xhc3NlcygnbWVzc2FnZS1zdWNjZXNzJykgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgaW52YWxpZCA/IGNsYXNzZXMoJ21lc3NhZ2UtZXJyb3InKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlQ2xzXG4gICAgICAgICAgICAgICAgXS5qb2luKCcgJykudHJpbSgpKSwgY2hpbGRyZW46IG1lc3NhZ2UgfSldIH0pO1xufSk7XG5jb25zdCBDdXN0b21Ecm9wZG93biA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IHJlZiwgZGF0YUlkLCBsYWJlbCwgbWVzc2FnZSwgcmVxdWlyZWQsIHByZWZpeENscyA9ICdzZWxlY3QnLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgc2l6ZSA9ICdsYXJnZScsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBlZGl0YWJsZSwgcGxhY2Vob2xkZXIgPSAnJywgY2xhc3NOYW1lID0gJycsIHNlbGVjdGVkVGVtcGxhdGUsIHRhaWxUZW1wbGF0ZSwgb25DbGljaywgb25Gb2N1cywgb25CbHVyLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBpc0NsaWNrSW5zaWRlID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBkYXRhSWRSZWYgPSB1c2VSZWYoZGF0YUlkKTtcbiAgICBjb25zdCBsYXN0Rm9jdXNSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IHNlbGVjdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKCcnKTtcbiAgICBjb25zdCBbaXNGb2N1cywgc2V0SXNGb2N1c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc2VsZWN0Q2xzID0gdXNlTWVtbygoKSA9PiBjbGFzc2VzKHZvaWQgMCwgW1xuICAgICAgICBjbGFzc2VzKHNpemUpLFxuICAgICAgICBjbGFzc2VzKCdjdXN0b20nKSxcbiAgICAgICAgaXNGb2N1cyA/IGNsYXNzZXMoJ2ZvY3VzJykgOiAnJyxcbiAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ3N1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnaW52YWxpZCcpIDogJycsXG4gICAgICAgIGRpc2FibGVkID8gY2xhc3NlcygnZGlzYWJsZWQnKSA6ICcnLFxuICAgICAgICBlZGl0YWJsZSA/IGNsYXNzZXMoJ2VkaXRhYmxlJykgOiAnJyxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgXS5qb2luKCcgJykpLCBbc2l6ZSwgaXNGb2N1cywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIGVkaXRhYmxlLCBjbGFzc05hbWVdKTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgZm9jdXM6ICgpID0+IHNldElzRm9jdXModHJ1ZSksXG4gICAgICAgIGJsdXI6ICgpID0+IHNldElzRm9jdXMoZmFsc2UpLFxuICAgICAgICBnZXRET01Ob2RlOiAoKSA9PiBzZWxlY3RSZWYuY3VycmVudFxuICAgIH0pLCBbcmVmXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgZGF0YUlkUmVmLmN1cnJlbnQgPSBkYXRhSWQ7XG4gICAgfSwgW2RhdGFJZF0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChpc0ZvY3VzICE9PSBsYXN0Rm9jdXNSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgbGFzdEZvY3VzUmVmLmN1cnJlbnQgPSBpc0ZvY3VzO1xuICAgICAgICAgICAgaWYgKGlzRm9jdXMpIHtcbiAgICAgICAgICAgICAgICBvbkZvY3VzID09PSBudWxsIHx8IG9uRm9jdXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uRm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSwgW2lzRm9jdXMsIG9uRm9jdXMsIG9uQmx1cl0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbmRDdXN0b21Ecm9wZG93bkRhdGFJZCA9ICh0YXJnZXQpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICghZGF0YUlkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgaWYgKCgoX2EgPSB0YXJnZXQgPT09IG51bGwgfHwgdGFyZ2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiB0YXJnZXQuZGF0YXNldCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbGVjdEN1c3RvbURyb3Bkb3duSWQpID09PSBkYXRhSWRSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0YXJnZXQgPT09IGRvY3VtZW50LmJvZHkgfHwgdGFyZ2V0ID09PSBkb2N1bWVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0YXJnZXQucGFyZW50Tm9kZSB8fCB0YXJnZXQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIGlmICghcGFyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybiBmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQocGFyZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVtb3ZlRm9jdXMgPSAoZSkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzQ2xpY2tJbnNpZGUuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIGlzQ2xpY2tJbnNpZGUuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldElzRm9jdXMocHJldiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFwcmV2KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbmRDdXN0b21Ecm9wZG93bkRhdGFJZChlLnRhcmdldCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZW1vdmVGb2N1cyk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHJlbW92ZUZvY3VzKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIF9qc3goU2VsZWN0V3JhcHBlciwgeyBsYWJlbDogbGFiZWwsIG1lc3NhZ2U6IG1lc3NhZ2UsIHJlcXVpcmVkOiByZXF1aXJlZCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIHdyYXBwZXJDbHM6IHdyYXBwZXJDbHMsIGxhYmVsQ2xzOiBsYWJlbENscywgbWVzc2FnZUNsczogbWVzc2FnZUNscywgc3VjY2Vzczogc3VjY2VzcywgaW52YWxpZDogaW52YWxpZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyByZWY6IHNlbGVjdFJlZiwgY2xhc3NOYW1lOiBzZWxlY3RDbHMsIGNvbnRlbnRFZGl0YWJsZTogIWRpc2FibGVkID8gZWRpdGFibGUgOiBmYWxzZSwgYXV0b0ZvY3VzOiBlZGl0YWJsZSwgXCJkYXRhLXBsYWNlaG9sZGVyXCI6IHBsYWNlaG9sZGVyLCBcImRhdGEtdmFsdWVcIjogdmFsdWUsIG9uQ2xpY2s6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc2FibGVkKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgaWYgKCFlZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBpc0NsaWNrSW5zaWRlLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBzZXRJc0ZvY3VzKHByZXYgPT4gIXByZXYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrID09PSBudWxsIHx8IG9uQ2xpY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2xpY2soZSk7XG4gICAgICAgICAgICB9LCBvbklucHV0OiBlID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsID0gZS5jdXJyZW50VGFyZ2V0LmlubmVyVGV4dDtcbiAgICAgICAgICAgICAgICBpZiAodmFsID09PSAnXFxuJykge1xuICAgICAgICAgICAgICAgICAgICB2YWwgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgZS5jdXJyZW50VGFyZ2V0LmlubmVyVGV4dCA9ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXRWYWx1ZSh2YWwpO1xuICAgICAgICAgICAgfSwgY2hpbGRyZW46IFshZGlzYWJsZWQgJiYgZWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgICAgIDogdHlwZW9mIHNlbGVjdGVkVGVtcGxhdGUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgID8gc2VsZWN0ZWRUZW1wbGF0ZShpc0ZvY3VzKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY3VzdG9tLXBsYWNlaG9sZGVyJyksIGNoaWxkcmVuOiBwbGFjZWhvbGRlciB9KSwgZWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgICAgIDogdHlwZW9mIHRhaWxUZW1wbGF0ZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB0YWlsVGVtcGxhdGUoaXNGb2N1cylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvbkRvd24nLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCwgd3JhcHBlckNsczogY2xhc3NlcygnY3VzdG9tLXRhaWwnLCBpc0ZvY3VzID8gY2xhc3NlcygnY3VzdG9tLXRhaWwtZm9jdXMnKSA6ICcnKSB9KV0gfSkgfSk7XG59O1xuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IHByb3BzID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBpZCwgcmVmLCBuYW1lLCBsYWJlbCwgbWVzc2FnZSwgcmVxdWlyZWQsIHByZWZpeENscyA9ICdzZWxlY3QnLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgdmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdWNjZXNzLCByZWZyZXNoQWZ0ZXJTaG93ID0gdHJ1ZSwgaW52YWxpZCwgZGlzYWJsZWQsIHBsYWNlaG9sZGVyLCBjbGFzc05hbWUgPSAnJywgbXVsdGlwbGUsIG9wdGlvbnMsIHBhbmVsQ2xhc3NOYW1lLCBkZWZhdWx0VmFsdWUsIGl0ZW1UZW1wbGF0ZSwgb25DaGFuZ2UsIG9uSGlkZSwgb25TaG93LCB1bnNlbGVjdGFibGUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJpZFwiLCBcInJlZlwiLCBcIm5hbWVcIiwgXCJsYWJlbFwiLCBcIm1lc3NhZ2VcIiwgXCJyZXF1aXJlZFwiLCBcInByZWZpeENsc1wiLCBcIndyYXBwZXJDbHNcIiwgXCJsYWJlbENsc1wiLCBcIm1lc3NhZ2VDbHNcIiwgXCJ2YWx1ZVwiLCBcInNpemVcIiwgXCJzdWNjZXNzXCIsIFwicmVmcmVzaEFmdGVyU2hvd1wiLCBcImludmFsaWRcIiwgXCJkaXNhYmxlZFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiY2xhc3NOYW1lXCIsIFwibXVsdGlwbGVcIiwgXCJvcHRpb25zXCIsIFwicGFuZWxDbGFzc05hbWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJpdGVtVGVtcGxhdGVcIiwgXCJvbkNoYW5nZVwiLCBcIm9uSGlkZVwiLCBcIm9uU2hvd1wiLCBcInVuc2VsZWN0YWJsZVwiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbc2VsZWN0ZWQsIHNldFNlbGVjdGVkXSA9IHVzZVN0YXRlKChfYSA9IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB2b2lkIDAgPyB2YWx1ZSA6IGRlZmF1bHRWYWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbnVsbCk7XG4gICAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNIb3Zlciwgc2V0SXNIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2lzU2Nyb2xsaW5nLCBzZXRJc1Njcm9sbGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc2VsZWN0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IF9yZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VsZWN0Q2xzID0gdXNlTWVtbygoKSA9PiBjbGFzc2VzKHZvaWQgMCwgW1xuICAgICAgICBjbGFzc2VzKHNpemUpLFxuICAgICAgICBpc09wZW4gPyBjbGFzc2VzKCdzaG93JykgOiAnJyxcbiAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ3N1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnaW52YWxpZCcpIDogJycsXG4gICAgICAgIGRpc2FibGVkID8gY2xhc3NlcygnZGlzYWJsZWQnKSA6ICcnLFxuICAgICAgICAoQXJyYXkuaXNBcnJheShzZWxlY3RlZCkgPyBzZWxlY3RlZC5sZW5ndGggOiBzZWxlY3RlZCkgPyBjbGFzc2VzKCdmaWxsZWQnKSA6ICcnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICBdLmpvaW4oJyAnKSksIFtzaXplLCBpc09wZW4sIHN1Y2Nlc3MsIHNlbGVjdGVkLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2xhc3NOYW1lXSk7XG4gICAgY29uc3QgZGVib3VuY2VkSGFuZGxlU2Nyb2xsID0gZGVib3VuY2UoKCkgPT4gc2V0SXNTY3JvbGxpbmcoZmFsc2UpLCA1MDApO1xuICAgIGNvbnN0IHJlZnJlc2hET00gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IGVsZSA9IChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0T3ZlcmxheSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpO1xuICAgICAgICBpZiAoIWVsZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3Qgb3JpZ2luWkluZGV4ID0gZWxlLnN0eWxlLnpJbmRleDtcbiAgICAgICAgaWYgKG9yaWdpblpJbmRleCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVsZS5zdHlsZS56SW5kZXggPSBgJHtwYXJzZUludChvcmlnaW5aSW5kZXgpICsgMX1gO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgZWxlLnN0eWxlLnpJbmRleCA9IG9yaWdpblpJbmRleDtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IFNlbGVjdENvbXBvbmVudCA9IHVzZUNhbGxiYWNrKChwcm9wcykgPT4gbXVsdGlwbGVcbiAgICAgICAgPyBfanN4KE11bHRpU2VsZWN0LCBPYmplY3QuYXNzaWduKHsgdW5zZWxlY3RhYmxlOiB1bnNlbGVjdGFibGUsIHNob3dTZWxlY3RBbGw6IGZhbHNlLCBjaGVja2JveEljb246IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTIsIGNvbG9yOiAnI0ZFRkVGRScgfSksIHJlbW92ZUljb246IHByb3BzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG9uQ2xpY2ssIG9uS2V5RG93biwgdGFiSW5kZXggfSA9IHByb3BzLmljb25Qcm9wcztcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeChJY29ucywgeyBuYW1lOiAnY2xvc2UnLCBzaXplOiAxNiwgY29sb3I6ICcjMTMxMzEzJywgdGFiSW5kZXg6IHRhYkluZGV4LCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCd0b2tlbi1yZW1vdmUtaWNvbicpLCBvbkNsaWNrOiBvbkNsaWNrLCBvbktleURvd246IG9uS2V5RG93biB9KTtcbiAgICAgICAgICAgIH0sIHBhbmVsSGVhZGVyVGVtcGxhdGU6IG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2U7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmaWx0ZXJFbGVtZW50LCBwcm9wcyB9ID0gb3B0aW9ucztcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROdW0gPSAoX2QgPSAoX2MgPSAoX2IgPSAoX2EgPSBwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMubWV0YURhdGEpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5wcm9wcykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnZhbHVlKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubGVuZ3RoKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAwO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyJyksIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvJyksIGNoaWxkcmVuOiBbX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jb3VudCcpLCBjaGlsZHJlbjogW3NlbGVjdGVkTnVtLCBcIiBzZWxlY3RlZFwiXSB9KSwgX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhcicpLCBvbkNsaWNrOiBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMudXBkYXRlTW9kZWwoZSwgW10sIFtdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChJY29ucywgeyBuYW1lOiAnY2xvc2UnLCBzaXplOiAxNiwgY29sb3I6ICcjQUUwMDAwJywgd3JhcHBlckNsczogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8tY2xlYXItaWNvbicpIH0pLCBcIkNsZWFyIGFsbFwiXSB9KV0gfSksIChfZSA9IGZpbHRlckVsZW1lbnQgPT09IG51bGwgfHwgZmlsdGVyRWxlbWVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmlsdGVyRWxlbWVudC5wcm9wcykgPT09IG51bGwgfHwgX2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9lLmNoaWxkcmVuXSB9KTtcbiAgICAgICAgICAgIH0gfSwgcHJvcHMpKVxuICAgICAgICA6IF9qc3goRHJvcGRvd24sIE9iamVjdC5hc3NpZ24oeyBjb2xsYXBzZUljb246IG11bHRpcGxlID8gdm9pZCAwIDogKCkgPT4gX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvblVwJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAgfSkgfSwgcHJvcHMpKSwgW211bHRpcGxlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWlzRXF1YWwoc2VsZWN0ZWQsIHZhbHVlKSkge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfSwgW3ZhbHVlXSk7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmICE9PSBudWxsICYmIHJlZiAhPT0gdm9pZCAwID8gcmVmIDogX3JlZiwgKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICByZXR1cm4gKG11bHRpcGxlID8ge1xuICAgICAgICAgICAgcHJvcHM6IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucHJvcHMsXG4gICAgICAgICAgICBmb2N1czogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgaGlkZTogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5oaWRlKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNob3cpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldEVsZW1lbnQ6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0RWxlbWVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZ2V0SW5wdXQ6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0SW5wdXQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldE92ZXJsYXk6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0T3ZlcmxheSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICB9IDoge1xuICAgICAgICAgICAgcHJvcHM6IChfYiA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IucHJvcHMsXG4gICAgICAgICAgICBjbGVhcjogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jbGVhcikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZm9jdXM6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGhpZGU6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaGlkZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgc2hvdzogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zaG93KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBnZXRFbGVtZW50OiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldEVsZW1lbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldElucHV0OiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldElucHV0KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBnZXRPdmVybGF5OiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldE92ZXJsYXkpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldEZvY3VzSW5wdXQ6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0Rm9jdXNJbnB1dCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZ2V0VmlydHVhbFNjcm9sbGVyOiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldFZpcnR1YWxTY3JvbGxlcikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICB9KTtcbiAgICB9LCBbbXVsdGlwbGVdKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0V3JhcHBlciwgeyBsYWJlbDogbGFiZWwsIG1lc3NhZ2U6IG1lc3NhZ2UsIHJlcXVpcmVkOiByZXF1aXJlZCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIHdyYXBwZXJDbHM6IHdyYXBwZXJDbHMsIGxhYmVsQ2xzOiBsYWJlbENscywgbWVzc2FnZUNsczogbWVzc2FnZUNscywgc3VjY2Vzczogc3VjY2VzcywgaW52YWxpZDogaW52YWxpZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogX2pzeChTZWxlY3RDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgaWQ6IGlkLCByZWY6IHNlbGVjdFJlZiwgbmFtZTogbmFtZSwgZmlsdGVyUGxhY2Vob2xkZXI6ICdTZWFyY2gnLCByZXF1aXJlZDogcmVxdWlyZWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgaW52YWxpZDogaW52YWxpZCwgb3B0aW9uczogb3B0aW9ucywgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCB2YWx1ZTogc2VsZWN0ZWQgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IHNlbGVjdGVkLCBjbGFzc05hbWU6IHNlbGVjdENscywgaXRlbVRlbXBsYXRlOiAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtJyksIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbXVsdGlwbGUgJiYgdW5zZWxlY3RhYmxlID09PSAnb24nICYmIG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlKG9wdGlvbikgOiBvcHRpb24ubGFiZWwgfSksIF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTYsIGNvbG9yOiAnIzA3MzM4NycgfSldIH0pO1xuICAgICAgICAgICAgfSwgZmlsdGVySWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMjAsIGNvbG9yOiAnIzEzMTMxMycsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2ZpbHRlci1pY29uJykgfSksIHBhbmVsQ2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbCcsIFtcbiAgICAgICAgICAgICAgICBwYW5lbENsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBpc0hvdmVyICYmIGNsYXNzZXMoJ3BhbmVsLWhvdmVyJyksXG4gICAgICAgICAgICAgICAgaXNTY3JvbGxpbmcgJiYgY2xhc3NlcygncGFuZWwtc2Nyb2xsaW5nJyksXG4gICAgICAgICAgICAgICAgcmVzdC5hcHBlbmRUbyA9PT0gJ3NlbGYnICYmIGNsYXNzZXMoJ3BhbmVsLWFwcGVuZC1zZWxmJyksXG4gICAgICAgICAgICBdLmpvaW4oJyAnKSksIG9uQ2hhbmdlOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkKGUudmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UoZSk7XG4gICAgICAgICAgICB9LCBvbkhpZGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgIG9uSGlkZSA9PT0gbnVsbCB8fCBvbkhpZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uSGlkZSgpO1xuICAgICAgICAgICAgfSwgb25TaG93OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNPcGVuKHRydWUpO1xuICAgICAgICAgICAgICAgIG9uU2hvdyA9PT0gbnVsbCB8fCBvblNob3cgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2hvdygpO1xuICAgICAgICAgICAgICAgIGlmICghcmVmcmVzaEFmdGVyU2hvdylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVmcmVzaERPTSgpLCAwKTtcbiAgICAgICAgICAgIH0sIGRyb3Bkb3duSWNvbjogKCkgPT4gX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvbkRvd24nLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSwgcHQ6IHtcbiAgICAgICAgICAgICAgICB3cmFwcGVyOiB7XG4gICAgICAgICAgICAgICAgICAgIG9uU2Nyb2xsOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZWRIYW5kbGVTY3JvbGwuY2FuY2VsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRJc1Njcm9sbGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZEhhbmRsZVNjcm9sbCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwYW5lbDoge1xuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IHNldElzSG92ZXIodHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZTogKCkgPT4gc2V0SXNIb3ZlcihmYWxzZSksXG4gICAgICAgICAgICAgICAgICAgIG9uVG91Y2hTdGFydDogKCkgPT4gc2V0SXNIb3Zlcih0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Ub3VjaEVuZDogKCkgPT4gc2V0SXNIb3ZlcihmYWxzZSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB9KSkgfSkpO1xufTtcblNlbGVjdC5DdXN0b21Ecm9wZG93biA9IEN1c3RvbURyb3Bkb3duO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -12,6 +12,7 @@ interface BaseProps {
12
12
  value?: any;
13
13
  size?: 'large' | 'small';
14
14
  success?: boolean;
15
+ refreshAfterShow?: boolean;
15
16
  itemTemplate?: (option: any) => ReactNode;
16
17
  }
17
18
  export interface SingleSelectProps extends Omit<DropdownProps, 'value' | 'size' | 'itemTemplate' | 'onChange'>, BaseProps {