@agilemotion/oui-react-js 2.0.4 → 2.0.7
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/dist/components/DataGrid.js +33 -2
- package/dist/components/form/BaseField.js +72 -7
- package/dist/components/form/Form.js +92 -31
- package/dist/components/form/TextField.js +22 -6
- package/dist/components/form/TransferList.js +79 -2
- package/dist/components/layout/View.css +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
9
9
|
var _BaseField = require("./BaseField");
|
|
10
10
|
var _Utils = _interopRequireDefault(require("../../Utils"));
|
|
11
|
-
var _reactRedux = require("react-redux");
|
|
12
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
12
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
13
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
@@ -20,10 +19,16 @@ const TextFieldWrapper = /*#__PURE__*/_react.default.memo(props => {
|
|
|
20
19
|
const maxWidth = !_Utils.default.isNull((_props$config$attribu2 = props.config.attributes) === null || _props$config$attribu2 === void 0 || (_props$config$attribu2 = _props$config$attribu2.style) === null || _props$config$attribu2 === void 0 ? void 0 : _props$config$attribu2.maxWidth) ? props.config.attributes.style.maxWidth : null;
|
|
21
20
|
const minWidth = !_Utils.default.isNull((_props$config$attribu3 = props.config.attributes) === null || _props$config$attribu3 === void 0 || (_props$config$attribu3 = _props$config$attribu3.style) === null || _props$config$attribu3 === void 0 ? void 0 : _props$config$attribu3.minWidth) ? props.config.attributes.style.minWidth : "240px";
|
|
22
21
|
const height = !_Utils.default.isNull((_props$config$attribu4 = props.config.attributes) === null || _props$config$attribu4 === void 0 || (_props$config$attribu4 = _props$config$attribu4.style) === null || _props$config$attribu4 === void 0 ? void 0 : _props$config$attribu4.height) ? props.config.attributes.style.height : multiline ? '200px' : null;
|
|
23
|
-
const secondaryColor = (0, _reactRedux.useSelector)(state => state.dashboard.secondaryThemeColor);
|
|
24
22
|
const textRef = (0, _react.useRef)(null);
|
|
25
23
|
const [rows, setRows] = (0, _react.useState)(1);
|
|
26
24
|
const [localValue, setLocalValue] = (0, _react.useState)(null);
|
|
25
|
+
// Synchronous mirror of localValue so onBlur (and any handler that fires
|
|
26
|
+
// before React commits a pending setLocalValue) reads the latest typed
|
|
27
|
+
// value, not a stale closure capture. This is what makes the debounce safe:
|
|
28
|
+
// when the user clicks save mid-debounce, blur fires the onBlur handler
|
|
29
|
+
// bound on a previous render, and without the ref it would propagate the
|
|
30
|
+
// pre-keystroke value (or null) and clobber the typed text.
|
|
31
|
+
const localValueRef = (0, _react.useRef)(null);
|
|
27
32
|
const debounceRef = (0, _react.useRef)(null);
|
|
28
33
|
_react.default.useEffect(() => {
|
|
29
34
|
if (textRef.current) {
|
|
@@ -32,7 +37,16 @@ const TextFieldWrapper = /*#__PURE__*/_react.default.memo(props => {
|
|
|
32
37
|
const calculatedRows = Math.floor(height === null ? 20 : height.replace('px', '') / lineHeight);
|
|
33
38
|
setRows(calculatedRows);
|
|
34
39
|
}
|
|
35
|
-
}, [
|
|
40
|
+
}, []);
|
|
41
|
+
_react.default.useEffect(() => {
|
|
42
|
+
// Nullish-only check: empty string '' is a deliberate user-cleared
|
|
43
|
+
// state and must NOT be re-synced from base.value. Was `!localValue`
|
|
44
|
+
// which treated '' as falsy and could resurrect an external value
|
|
45
|
+
// over the user's clear.
|
|
46
|
+
if (localValue == null) {
|
|
47
|
+
setLocalValue(base.value);
|
|
48
|
+
}
|
|
49
|
+
}, [base.value]);
|
|
36
50
|
return /*#__PURE__*/_react.default.createElement(_TextField.default, {
|
|
37
51
|
id: props.id,
|
|
38
52
|
type: props.type,
|
|
@@ -43,18 +57,20 @@ const TextFieldWrapper = /*#__PURE__*/_react.default.memo(props => {
|
|
|
43
57
|
onChange: e => {
|
|
44
58
|
const value = e.target.value;
|
|
45
59
|
setLocalValue(value);
|
|
60
|
+
localValueRef.current = value;
|
|
46
61
|
if (debounceRef.current) {
|
|
47
62
|
clearTimeout(debounceRef.current);
|
|
48
63
|
}
|
|
49
64
|
debounceRef.current = setTimeout(() => {
|
|
50
65
|
base.handleValueChange(value);
|
|
51
|
-
}, 200);
|
|
66
|
+
}, 200);
|
|
52
67
|
},
|
|
53
68
|
onBlur: () => {
|
|
54
69
|
if (debounceRef.current) {
|
|
55
70
|
clearTimeout(debounceRef.current);
|
|
71
|
+
debounceRef.current = null;
|
|
56
72
|
}
|
|
57
|
-
base.handleValueChange(
|
|
73
|
+
base.handleValueChange(localValueRef.current);
|
|
58
74
|
},
|
|
59
75
|
slotProps: {
|
|
60
76
|
input: {
|
|
@@ -92,4 +108,4 @@ const TextField = /*#__PURE__*/_react.default.memo(props => {
|
|
|
92
108
|
}, props)));
|
|
93
109
|
});
|
|
94
110
|
var _default = exports.default = TextField;
|
|
95
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVGV4dEZpZWxkIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9CYXNlRmllbGQiLCJfVXRpbHMiLCJfcmVhY3RSZWR1eCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9leHRlbmRzIiwiYXNzaWduIiwiYmluZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFwcGx5IiwiVGV4dEZpZWxkV3JhcHBlciIsIlJlYWN0IiwibWVtbyIsInByb3BzIiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1IiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1MiIsIl9wcm9wcyRjb25maWckYXR0cmlidTMiLCJfcHJvcHMkY29uZmlnJGF0dHJpYnU0IiwiX3JlZiIsImJhc2UiLCJtdWx0aWxpbmUiLCJ1c2VTdGF0ZSIsIndpZHRoIiwiVXRpbHMiLCJpc051bGwiLCJjb25maWciLCJhdHRyaWJ1dGVzIiwic3R5bGUiLCJtYXhXaWR0aCIsIm1pbldpZHRoIiwiaGVpZ2h0Iiwic2Vjb25kYXJ5Q29sb3IiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZGFzaGJvYXJkIiwic2Vjb25kYXJ5VGhlbWVDb2xvciIsInRleHRSZWYiLCJ1c2VSZWYiLCJyb3dzIiwic2V0Um93cyIsImxvY2FsVmFsdWUiLCJzZXRMb2NhbFZhbHVlIiwiZGVib3VuY2VSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwiY29tcHV0ZWRTdHlsZSIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJsaW5lSGVpZ2h0IiwicGFyc2VGbG9hdCIsImNhbGN1bGF0ZWRSb3dzIiwiTWF0aCIsImZsb29yIiwicmVwbGFjZSIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsInR5cGUiLCJyZXF1aXJlZCIsImlucHV0UmVmIiwibGFiZWwiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwidGFyZ2V0IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImhhbmRsZVZhbHVlQ2hhbmdlIiwib25CbHVyIiwic2xvdFByb3BzIiwiaW5wdXQiLCJhdXRvQ29tcGxldGUiLCJzeCIsIm9uS2V5VXAiLCJrZXlIYW5kbGVyIiwiZXJyb3IiLCJoYXNFcnJvciIsImhlbHBlclRleHQiLCJlcnJvck1lc3NhZ2UiLCJtYXJnaW4iLCJkaXNhYmxlZCIsInNpemUiLCJjbGFzc05hbWUiLCJjb2xvciIsInZhcmlhbnQiLCJUZXh0RmllbGQiLCJCYXNlRmllbGQiLCJoYW5kbGUiLCJ2YWx1ZVBhcnNlciIsImluYm91bmQiLCJ0b1N0cmluZyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL1RleHRGaWVsZC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsi77u/aW1wb3J0IFJlYWN0LCB7dXNlUmVmLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFRleHRGaWVsZENvbXBvbmVudCBmcm9tICdAbXVpL21hdGVyaWFsL1RleHRGaWVsZCc7XG5pbXBvcnQge0Jhc2VGaWVsZH0gZnJvbSBcIi4vQmFzZUZpZWxkXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5cbmltcG9ydCB7dXNlU2VsZWN0b3J9IGZyb20gJ3JlYWN0LXJlZHV4J1xuXG5jb25zdCBUZXh0RmllbGRXcmFwcGVyID0gUmVhY3QubWVtbygocHJvcHMpID0+IHtcbiAgICBjb25zdCBiYXNlID0gcHJvcHMuYmFzZTtcbiAgICBjb25zdCBbbXVsdGlsaW5lXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLm11bHRpbGluZSk7XG4gICAgY29uc3Qgd2lkdGggPSAhVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5zdHlsZT8ud2lkdGgpID8gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXMuc3R5bGUud2lkdGggOiBcIjEwMCVcIjtcbiAgICBjb25zdCBtYXhXaWR0aCA9ICFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlPy5tYXhXaWR0aCkgPyBwcm9wcy5jb25maWcuYXR0cmlidXRlcy5zdHlsZS5tYXhXaWR0aCA6IG51bGw7XG4gICAgY29uc3QgbWluV2lkdGggPSAhVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5zdHlsZT8ubWluV2lkdGgpID8gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXMuc3R5bGUubWluV2lkdGggOiBcIjI0MHB4XCI7XG4gICAgY29uc3QgaGVpZ2h0ID0gIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcuYXR0cmlidXRlcz8uc3R5bGU/LmhlaWdodCkgPyBwcm9wcy5jb25maWcuYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQgOiBtdWx0aWxpbmUgPyAnMjAwcHgnIDogbnVsbDtcbiAgICBjb25zdCBzZWNvbmRhcnlDb2xvciA9IHVzZVNlbGVjdG9yKHN0YXRlID0+IHN0YXRlLmRhc2hib2FyZC5zZWNvbmRhcnlUaGVtZUNvbG9yKTtcbiAgICBjb25zdCB0ZXh0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IFtyb3dzLCBzZXRSb3dzXSA9IHVzZVN0YXRlKDEpO1xuICAgIGNvbnN0IFtsb2NhbFZhbHVlLCBzZXRMb2NhbFZhbHVlXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IGRlYm91bmNlUmVmID0gdXNlUmVmKG51bGwpO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHRleHRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRleHRSZWYuY3VycmVudCk7XG4gICAgICAgICAgICBjb25zdCBsaW5lSGVpZ2h0ID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmxpbmVIZWlnaHQpIHx8IDIwO1xuICAgICAgICAgICAgY29uc3QgY2FsY3VsYXRlZFJvd3MgPSBNYXRoLmZsb29yKCBoZWlnaHQgPT09IG51bGwgPyAyMCA6IGhlaWdodC5yZXBsYWNlKCdweCcsICcnKSAvIGxpbmVIZWlnaHQpO1xuICAgICAgICAgICAgc2V0Um93cyhjYWxjdWxhdGVkUm93cyk7XG4gICAgICAgIH1cbiAgICB9LCBbdGV4dFJlZi5jdXJyZW50XSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dEZpZWxkQ29tcG9uZW50XG4gICAgICAgICAgICBpZD17cHJvcHMuaWR9XG4gICAgICAgICAgICB0eXBlPXtwcm9wcy50eXBlfVxuICAgICAgICAgICAgcmVxdWlyZWQ9e2Jhc2UucmVxdWlyZWR9XG4gICAgICAgICAgICBpbnB1dFJlZj17dGV4dFJlZn1cbiAgICAgICAgICAgIGxhYmVsPXshVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzKSA/IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzWydsYWJlbCddIDogbnVsbH1cbiAgICAgICAgICAgIHZhbHVlPXtsb2NhbFZhbHVlID8/IGJhc2UudmFsdWUgPz8gJyd9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgICAgIHNldExvY2FsVmFsdWUodmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGRlYm91bmNlUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRlYm91bmNlUmVmLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYmFzZS5oYW5kbGVWYWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSwgMjAwKTsgLy8gTk9UIDEwbXNcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkJsdXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGVib3VuY2VSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYmFzZS5oYW5kbGVWYWx1ZUNoYW5nZShsb2NhbFZhbHVlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzbG90UHJvcHM9e3tcbiAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGU6IFwibmV3LXBhc3N3b3JkXCIsXG4gICAgICAgICAgICAgICAgICAgIHN4OiB7fVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25LZXlVcD17cHJvcHMua2V5SGFuZGxlcn1cbiAgICAgICAgICAgIGVycm9yPXtiYXNlLmhhc0Vycm9yfVxuICAgICAgICAgICAgaGVscGVyVGV4dD17YmFzZS5lcnJvck1lc3NhZ2V9XG4gICAgICAgICAgICBtYXJnaW49XCJkZW5zZVwiXG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICBkaXNhYmxlZD17YmFzZS5kaXNhYmxlZH1cbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9eydvdWktZm9ybS1pdGVtJ31cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgbWluV2lkdGg6IG1pbldpZHRoLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgICAgICAgICAgICBtYXhXaWR0aDogbWF4V2lkdGgsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtdWx0aWxpbmUgPyBudWxsIDogaGVpZ2h0LFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnc2Vjb25kYXJ5J1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiPlxuICAgICAgICA8L1RleHRGaWVsZENvbXBvbmVudD5cbiAgICApO1xufSk7XG5cbmNvbnN0IFRleHRGaWVsZCA9IFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPEJhc2VGaWVsZCB7Li4ucHJvcHN9IGhhbmRsZT17cHJvcHMuaGFuZGxlfVxuICAgICAgICAgICAgICAgICAgIHZhbHVlUGFyc2VyPXsodmFsdWUsIGluYm91bmQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlID8gdmFsdWUudG9TdHJpbmcoKSA6IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICAgIHtiYXNlID0+XG4gICAgICAgICAgICAgICAgPFRleHRGaWVsZFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgYmFzZT17YmFzZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L1RleHRGaWVsZFdyYXBwZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvQmFzZUZpZWxkPlxuICAgICk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgVGV4dEZpZWxkO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQyxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDRCxJQUFBQyxVQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBSyxX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
|
|
111
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVGV4dEZpZWxkIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9CYXNlRmllbGQiLCJfVXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcHBseSIsIlRleHRGaWVsZFdyYXBwZXIiLCJSZWFjdCIsIm1lbW8iLCJwcm9wcyIsIl9wcm9wcyRjb25maWckYXR0cmlidSIsIl9wcm9wcyRjb25maWckYXR0cmlidTIiLCJfcHJvcHMkY29uZmlnJGF0dHJpYnUzIiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1NCIsIl9yZWYiLCJiYXNlIiwibXVsdGlsaW5lIiwidXNlU3RhdGUiLCJ3aWR0aCIsIlV0aWxzIiwiaXNOdWxsIiwiY29uZmlnIiwiYXR0cmlidXRlcyIsInN0eWxlIiwibWF4V2lkdGgiLCJtaW5XaWR0aCIsImhlaWdodCIsInRleHRSZWYiLCJ1c2VSZWYiLCJyb3dzIiwic2V0Um93cyIsImxvY2FsVmFsdWUiLCJzZXRMb2NhbFZhbHVlIiwibG9jYWxWYWx1ZVJlZiIsImRlYm91bmNlUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsImNvbXB1dGVkU3R5bGUiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwibGluZUhlaWdodCIsInBhcnNlRmxvYXQiLCJjYWxjdWxhdGVkUm93cyIsIk1hdGgiLCJmbG9vciIsInJlcGxhY2UiLCJ2YWx1ZSIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsInR5cGUiLCJyZXF1aXJlZCIsImlucHV0UmVmIiwibGFiZWwiLCJvbkNoYW5nZSIsInRhcmdldCIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJoYW5kbGVWYWx1ZUNoYW5nZSIsIm9uQmx1ciIsInNsb3RQcm9wcyIsImlucHV0IiwiYXV0b0NvbXBsZXRlIiwic3giLCJvbktleVVwIiwia2V5SGFuZGxlciIsImVycm9yIiwiaGFzRXJyb3IiLCJoZWxwZXJUZXh0IiwiZXJyb3JNZXNzYWdlIiwibWFyZ2luIiwiZGlzYWJsZWQiLCJzaXplIiwiY2xhc3NOYW1lIiwiY29sb3IiLCJ2YXJpYW50IiwiVGV4dEZpZWxkIiwiQmFzZUZpZWxkIiwiaGFuZGxlIiwidmFsdWVQYXJzZXIiLCJpbmJvdW5kIiwidG9TdHJpbmciLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9UZXh0RmllbGQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbIu+7v2ltcG9ydCBSZWFjdCwge3VzZVJlZiwgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUZXh0RmllbGRDb21wb25lbnQgZnJvbSAnQG11aS9tYXRlcmlhbC9UZXh0RmllbGQnO1xuaW1wb3J0IHtCYXNlRmllbGR9IGZyb20gXCIuL0Jhc2VGaWVsZFwiO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuLi8uLi9VdGlsc1wiO1xuXG5jb25zdCBUZXh0RmllbGRXcmFwcGVyID0gUmVhY3QubWVtbygocHJvcHMpID0+IHtcbiAgICBjb25zdCBiYXNlID0gcHJvcHMuYmFzZTtcbiAgICBjb25zdCBbbXVsdGlsaW5lXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLm11bHRpbGluZSk7XG4gICAgY29uc3Qgd2lkdGggPSAhVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5zdHlsZT8ud2lkdGgpID8gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXMuc3R5bGUud2lkdGggOiBcIjEwMCVcIjtcbiAgICBjb25zdCBtYXhXaWR0aCA9ICFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlPy5tYXhXaWR0aCkgPyBwcm9wcy5jb25maWcuYXR0cmlidXRlcy5zdHlsZS5tYXhXaWR0aCA6IG51bGw7XG4gICAgY29uc3QgbWluV2lkdGggPSAhVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5zdHlsZT8ubWluV2lkdGgpID8gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXMuc3R5bGUubWluV2lkdGggOiBcIjI0MHB4XCI7XG4gICAgY29uc3QgaGVpZ2h0ID0gIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcuYXR0cmlidXRlcz8uc3R5bGU/LmhlaWdodCkgPyBwcm9wcy5jb25maWcuYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQgOiBtdWx0aWxpbmUgPyAnMjAwcHgnIDogbnVsbDtcbiAgICBjb25zdCB0ZXh0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IFtyb3dzLCBzZXRSb3dzXSA9IHVzZVN0YXRlKDEpO1xuICAgIGNvbnN0IFtsb2NhbFZhbHVlLCBzZXRMb2NhbFZhbHVlXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIC8vIFN5bmNocm9ub3VzIG1pcnJvciBvZiBsb2NhbFZhbHVlIHNvIG9uQmx1ciAoYW5kIGFueSBoYW5kbGVyIHRoYXQgZmlyZXNcbiAgICAvLyBiZWZvcmUgUmVhY3QgY29tbWl0cyBhIHBlbmRpbmcgc2V0TG9jYWxWYWx1ZSkgcmVhZHMgdGhlIGxhdGVzdCB0eXBlZFxuICAgIC8vIHZhbHVlLCBub3QgYSBzdGFsZSBjbG9zdXJlIGNhcHR1cmUuIFRoaXMgaXMgd2hhdCBtYWtlcyB0aGUgZGVib3VuY2Ugc2FmZTpcbiAgICAvLyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBzYXZlIG1pZC1kZWJvdW5jZSwgYmx1ciBmaXJlcyB0aGUgb25CbHVyIGhhbmRsZXJcbiAgICAvLyBib3VuZCBvbiBhIHByZXZpb3VzIHJlbmRlciwgYW5kIHdpdGhvdXQgdGhlIHJlZiBpdCB3b3VsZCBwcm9wYWdhdGUgdGhlXG4gICAgLy8gcHJlLWtleXN0cm9rZSB2YWx1ZSAob3IgbnVsbCkgYW5kIGNsb2JiZXIgdGhlIHR5cGVkIHRleHQuXG4gICAgY29uc3QgbG9jYWxWYWx1ZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBkZWJvdW5jZVJlZiA9IHVzZVJlZihudWxsKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICh0ZXh0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0UmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgY29uc3QgbGluZUhlaWdodCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5saW5lSGVpZ2h0KSB8fCAyMDtcbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0ZWRSb3dzID0gTWF0aC5mbG9vciggaGVpZ2h0ID09PSBudWxsID8gMjAgOiBoZWlnaHQucmVwbGFjZSgncHgnLCAnJykgLyBsaW5lSGVpZ2h0KTtcbiAgICAgICAgICAgIHNldFJvd3MoY2FsY3VsYXRlZFJvd3MpO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gTnVsbGlzaC1vbmx5IGNoZWNrOiBlbXB0eSBzdHJpbmcgJycgaXMgYSBkZWxpYmVyYXRlIHVzZXItY2xlYXJlZFxuICAgICAgICAvLyBzdGF0ZSBhbmQgbXVzdCBOT1QgYmUgcmUtc3luY2VkIGZyb20gYmFzZS52YWx1ZS4gV2FzIGAhbG9jYWxWYWx1ZWBcbiAgICAgICAgLy8gd2hpY2ggdHJlYXRlZCAnJyBhcyBmYWxzeSBhbmQgY291bGQgcmVzdXJyZWN0IGFuIGV4dGVybmFsIHZhbHVlXG4gICAgICAgIC8vIG92ZXIgdGhlIHVzZXIncyBjbGVhci5cbiAgICAgICAgaWYgKGxvY2FsVmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgc2V0TG9jYWxWYWx1ZShiYXNlLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH0sIFtiYXNlLnZhbHVlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dEZpZWxkQ29tcG9uZW50XG4gICAgICAgICAgICBpZD17cHJvcHMuaWR9XG4gICAgICAgICAgICB0eXBlPXtwcm9wcy50eXBlfVxuICAgICAgICAgICAgcmVxdWlyZWQ9e2Jhc2UucmVxdWlyZWR9XG4gICAgICAgICAgICBpbnB1dFJlZj17dGV4dFJlZn1cbiAgICAgICAgICAgIGxhYmVsPXshVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzKSA/IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzWydsYWJlbCddIDogbnVsbH1cbiAgICAgICAgICAgIHZhbHVlPXtsb2NhbFZhbHVlID8/IGJhc2UudmFsdWUgPz8gJyd9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgICAgIHNldExvY2FsVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgIGxvY2FsVmFsdWVSZWYuY3VycmVudCA9IHZhbHVlO1xuXG4gICAgICAgICAgICAgICAgaWYgKGRlYm91bmNlUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRlYm91bmNlUmVmLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYmFzZS5oYW5kbGVWYWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkJsdXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGVib3VuY2VSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGRlYm91bmNlUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJhc2UuaGFuZGxlVmFsdWVDaGFuZ2UobG9jYWxWYWx1ZVJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzbG90UHJvcHM9e3tcbiAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGU6IFwibmV3LXBhc3N3b3JkXCIsXG4gICAgICAgICAgICAgICAgICAgIHN4OiB7fVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25LZXlVcD17cHJvcHMua2V5SGFuZGxlcn1cbiAgICAgICAgICAgIGVycm9yPXtiYXNlLmhhc0Vycm9yfVxuICAgICAgICAgICAgaGVscGVyVGV4dD17YmFzZS5lcnJvck1lc3NhZ2V9XG4gICAgICAgICAgICBtYXJnaW49XCJkZW5zZVwiXG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICBkaXNhYmxlZD17YmFzZS5kaXNhYmxlZH1cbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9eydvdWktZm9ybS1pdGVtJ31cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgbWluV2lkdGg6IG1pbldpZHRoLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgICAgICAgICAgICBtYXhXaWR0aDogbWF4V2lkdGgsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtdWx0aWxpbmUgPyBudWxsIDogaGVpZ2h0LFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnc2Vjb25kYXJ5J1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiPlxuICAgICAgICA8L1RleHRGaWVsZENvbXBvbmVudD5cbiAgICApO1xufSk7XG5cbmNvbnN0IFRleHRGaWVsZCA9IFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPEJhc2VGaWVsZCB7Li4ucHJvcHN9IGhhbmRsZT17cHJvcHMuaGFuZGxlfVxuICAgICAgICAgICAgICAgICAgIHZhbHVlUGFyc2VyPXsodmFsdWUsIGluYm91bmQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlID8gdmFsdWUudG9TdHJpbmcoKSA6IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICAgIHtiYXNlID0+XG4gICAgICAgICAgICAgICAgPFRleHRGaWVsZFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgYmFzZT17YmFzZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L1RleHRGaWVsZFdyYXBwZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvQmFzZUZpZWxkPlxuICAgICk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgVGV4dEZpZWxkO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQyxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDRCxJQUFBQyxVQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFBZ0MsU0FBQUUsdUJBQUFHLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRyxDQUFB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
|
|
@@ -81,6 +81,62 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo((props, ref) => {
|
|
|
81
81
|
updateValue(props.selectionListHandle.api.deleteSelectedRows());
|
|
82
82
|
props.optionsListHandle.api.addRows(rightSelection);
|
|
83
83
|
};
|
|
84
|
+
const i = _react.default.useRef(0);
|
|
85
|
+
// Transfer-all helpers operate on whatever rows the source grid currently
|
|
86
|
+
// holds locally (api.rows). For server-paginated grids that means just
|
|
87
|
+
// the current page — typical TransferList use cases (departments, role
|
|
88
|
+
// members) load the full set in one shot, so this is fine in practice.
|
|
89
|
+
const handleTransferAllRight = () => {
|
|
90
|
+
const allOptionRows = props.optionsListHandle.api.rows;
|
|
91
|
+
if (!allOptionRows || allOptionRows.length === 0) return;
|
|
92
|
+
// Snapshot first — clear() drops the live ref and addRows mutates,
|
|
93
|
+
// so iterate against an immutable copy.
|
|
94
|
+
const snapshot = allOptionRows.slice();
|
|
95
|
+
props.optionsListHandle.api.clear();
|
|
96
|
+
for (const snapshotElement of snapshot) {
|
|
97
|
+
updateValue(props.selectionListHandle.api.addRows([snapshotElement]));
|
|
98
|
+
}
|
|
99
|
+
setLeftSelection([]);
|
|
100
|
+
if (props.selectionListHandle.api.numberOfPages > 1) {
|
|
101
|
+
props.selectionListHandle.api.search();
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
const handleTransferAllLeft = () => {
|
|
105
|
+
const allSelectionRows = props.selectionListHandle.api.rows;
|
|
106
|
+
if (!allSelectionRows || allSelectionRows.length === 0) return;
|
|
107
|
+
const snapshot = allSelectionRows.slice();
|
|
108
|
+
props.selectionListHandle.api.clear();
|
|
109
|
+
// Per-element loop (mirrors handleTransferAllRight): bulk addRows
|
|
110
|
+
// calls setSelected with EVERY new row's id (DataGrid.jsx:267-289),
|
|
111
|
+
// which auto-selects all transferred items and then desyncs the
|
|
112
|
+
// grid's internal selection state — single-row clicks afterwards
|
|
113
|
+
// become unresponsive. Per-element keeps each setSelected to just
|
|
114
|
+
// one id; React batches them so the final state is selected=[lastId]
|
|
115
|
+
// only, leaving the grid in a clean state.
|
|
116
|
+
for (const snapshotElement of snapshot) {
|
|
117
|
+
props.optionsListHandle.api.addRows([snapshotElement]);
|
|
118
|
+
}
|
|
119
|
+
updateValue([]);
|
|
120
|
+
setRightSelection([]);
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
// Double-click semantics: act on the clicked row only, regardless of
|
|
124
|
+
// current selection. Single-row deletes use the new api.deleteRows
|
|
125
|
+
// (added in DataGrid.jsx alongside deleteSelectedRows) so the user's
|
|
126
|
+
// selection state isn't hijacked.
|
|
127
|
+
const handleRowDoubleClickRight = row => {
|
|
128
|
+
if (!row || row.id == null) return;
|
|
129
|
+
props.optionsListHandle.api.deleteRows([row.id]);
|
|
130
|
+
updateValue(props.selectionListHandle.api.addRows([row]));
|
|
131
|
+
if (props.selectionListHandle.api.numberOfPages > 1) {
|
|
132
|
+
props.selectionListHandle.api.search();
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
const handleRowDoubleClickLeft = row => {
|
|
136
|
+
if (!row || row.id == null) return;
|
|
137
|
+
updateValue(props.selectionListHandle.api.deleteRows([row.id]));
|
|
138
|
+
props.optionsListHandle.api.addRows([row]);
|
|
139
|
+
};
|
|
84
140
|
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", null, label !== null ? /*#__PURE__*/_react.default.createElement("div", {
|
|
85
141
|
style: {
|
|
86
142
|
margin: '8px 0 8px 16px'
|
|
@@ -88,7 +144,14 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo((props, ref) => {
|
|
|
88
144
|
}, /*#__PURE__*/_react.default.createElement(_InputLabel.default, {
|
|
89
145
|
required: base.required,
|
|
90
146
|
error: base.hasError
|
|
91
|
-
}, label)
|
|
147
|
+
}, label), /*#__PURE__*/_react.default.createElement("div", {
|
|
148
|
+
style: {
|
|
149
|
+
fontSize: '0.75rem',
|
|
150
|
+
color: '#888',
|
|
151
|
+
fontStyle: 'italic',
|
|
152
|
+
marginTop: '2px'
|
|
153
|
+
}
|
|
154
|
+
}, "Tip: double-click a row to transfer it")) : null, /*#__PURE__*/_react.default.createElement(_Grid.default, {
|
|
92
155
|
container: true,
|
|
93
156
|
alignItems: "stretch",
|
|
94
157
|
className: classes.root,
|
|
@@ -113,6 +176,7 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo((props, ref) => {
|
|
|
113
176
|
viewId: props.viewId,
|
|
114
177
|
data: !_Utils.default.isNull(data) ? data[optionsDataBinding] : null,
|
|
115
178
|
onSelectionChange: selection => setLeftSelection(selection),
|
|
179
|
+
onRowDoubleClick: handleRowDoubleClickRight,
|
|
116
180
|
filterWrapperClass: 'transferListFilterWrapper',
|
|
117
181
|
hasBorder: false
|
|
118
182
|
})), /*#__PURE__*/_react.default.createElement(_Grid.default, {
|
|
@@ -134,6 +198,18 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo((props, ref) => {
|
|
|
134
198
|
disabled: leftSelection.length === 0,
|
|
135
199
|
"aria-label": "move selected right"
|
|
136
200
|
}, ">"), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
201
|
+
variant: "outlined",
|
|
202
|
+
size: "small",
|
|
203
|
+
className: classes.button,
|
|
204
|
+
onClick: handleTransferAllRight,
|
|
205
|
+
"aria-label": "move all right"
|
|
206
|
+
}, ">>"), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
207
|
+
variant: "outlined",
|
|
208
|
+
size: "small",
|
|
209
|
+
className: classes.button,
|
|
210
|
+
onClick: handleTransferAllLeft,
|
|
211
|
+
"aria-label": "move all left"
|
|
212
|
+
}, "<<"), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
137
213
|
variant: "outlined",
|
|
138
214
|
size: "small",
|
|
139
215
|
className: classes.button,
|
|
@@ -156,6 +232,7 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo((props, ref) => {
|
|
|
156
232
|
viewId: props.viewId,
|
|
157
233
|
data: !_Utils.default.isNull(data) ? data[selectionDataBinding] : null,
|
|
158
234
|
onSelectionChange: selection => setRightSelection(selection),
|
|
235
|
+
onRowDoubleClick: handleRowDoubleClickLeft,
|
|
159
236
|
filterWrapperClass: 'transferListFilterWrapper',
|
|
160
237
|
hasBorder: false
|
|
161
238
|
})), /*#__PURE__*/_react.default.createElement("p", {
|
|
@@ -216,4 +293,4 @@ const TransferList = /*#__PURE__*/_react.default.memo((props, ref) => {
|
|
|
216
293
|
}, props)));
|
|
217
294
|
});
|
|
218
295
|
var _default = exports.default = TransferList;
|
|
219
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJfRGF0YUdyaWQiLCJfVXRpbHMiLCJfR3JpZCIsIl9CYXNlRmllbGQiLCJfQnV0dG9uIiwiX0lucHV0TGFiZWwiLCJfUmVzdFNlcnZpY2UiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZXh0ZW5kcyIsIk9iamVjdCIsImFzc2lnbiIsImJpbmQiLCJuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidCIsInIiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsInVzZVN0eWxlcyIsIm1ha2VTdHlsZXMiLCJ0aGVtZSIsInJvb3QiLCJtYXJnaW4iLCJjYXJkSGVhZGVyIiwicGFkZGluZyIsInNwYWNpbmciLCJsaXN0Iiwid2lkdGgiLCJoZWlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJwYWxldHRlIiwiYmFja2dyb3VuZCIsInBhcGVyIiwib3ZlcmZsb3ciLCJidXR0b24iLCJUcmFuc2Zlckxpc3RDb21wb25lbnQiLCJSZWFjdCIsIm1lbW8iLCJwcm9wcyIsInJlZiIsImNsYXNzZXMiLCJiYXNlIiwibGVmdFNlbGVjdGlvbiIsInNldExlZnRTZWxlY3Rpb24iLCJ1c2VTdGF0ZSIsIm9wdGlvbnNEYXRhQmluZGluZyIsIlV0aWxzIiwiaXNOdWxsIiwiY29uZmlnIiwib3B0aW9uc0dyaWQiLCJkYXRhQmluZGluZyIsInNlbGVjdGlvbkRhdGFCaW5kaW5nIiwic2VsZWN0aW9uR3JpZCIsImRhdGEiLCJzZXREYXRhIiwicmlnaHRTZWxlY3Rpb24iLCJzZXRSaWdodFNlbGVjdGlvbiIsImxhYmVsIiwiZ2V0Q29tcG9uZW50QXR0cmlidXRlIiwidXBkYXRlVmFsdWUiLCJyb3dzIiwib2JqZWN0UmVmcyIsIml0ZW0iLCJwdXNoIiwiaGFuZGxlVmFsdWVDaGFuZ2UiLCJ1c2VFZmZlY3QiLCJyZWNvcmRzIiwiaW5pdGlhbFZhbHVlcyIsInJlY29yZCIsInJvdyIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImF1dG9Mb2FkRGF0YSIsImRhdGFTZXJ2aWNlIiwibG9hZERhdGEiLCJ0aGVuIiwiaGFuZGxlVHJhbnNmZXJJdGVtUmlnaHQiLCJvcHRpb25zTGlzdEhhbmRsZSIsImFwaSIsImRlbGV0ZVNlbGVjdGVkUm93cyIsInNlbGVjdGlvbkxpc3RIYW5kbGUiLCJhZGRSb3dzIiwibnVtYmVyT2ZQYWdlcyIsInNlYXJjaCIsImhhbmRsZVRyYW5zZmVySXRlbUxlZnQiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJyZXF1aXJlZCIsImVycm9yIiwiaGFzRXJyb3IiLCJjb250YWluZXIiLCJhbGlnbkl0ZW1zIiwiY2xhc3NOYW1lIiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwiYm9yZGVyIiwiY29uY2F0IiwibWluV2lkdGgiLCJib3JkZXJSYWRpdXMiLCJEYXRhR3JpZCIsImhhbmRsZSIsImNyZWF0ZVJlZiIsInZpZXdJZCIsIm9uU2VsZWN0aW9uQ2hhbmdlIiwic2VsZWN0aW9uIiwiZmlsdGVyV3JhcHBlckNsYXNzIiwiaGFzQm9yZGVyIiwiZGlyZWN0aW9uIiwianVzdGlmeSIsInZhcmlhbnQiLCJzaXplIiwib25DbGljayIsImRpc2FibGVkIiwiZXJyb3JNZXNzYWdlIiwiVHJhbnNmZXJMaXN0IiwibWV0aG9kIiwidHlwZSIsImludm9rZVJwYyIsImludm9rZVJlc3QiLCJzZXJ2aWNlIiwiY29tcG9uZW50IiwicmVzdWx0IiwiY2F0Y2giLCJjb25zb2xlIiwicHVibGlzaEVycm9yTWVzc2FnZSIsIkJhc2VGaWVsZCIsInJlZmVyZW5jZSIsImdldENoaWxkcmVuIiwiY2hpbGRyZW4iLCJ2YWx1ZVBhcnNlciIsInZhbHVlIiwiaW5ib3VuZCIsIm9iamVjdEFycmF5IiwidmFsIiwib2JqZWN0QXJyYXlFbGVtZW50IiwibG9hZERhdGFIYW5kbGVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vVHJhbnNmZXJMaXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyLvu79pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbWFrZVN0eWxlcyB9IGZyb20gJ0BtdWkvc3R5bGVzJztcbmltcG9ydCB7IERhdGFHcmlkIH0gZnJvbSAnLi8uLi9EYXRhR3JpZCc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi4vLi4vVXRpbHMnO1xuaW1wb3J0ICcuL1RyYW5zZmVyTGlzdC5jc3MnO1xuaW1wb3J0IEdyaWQgZnJvbSAnQG11aS9tYXRlcmlhbC9HcmlkJztcbmltcG9ydCB7IEJhc2VGaWVsZCB9IGZyb20gJy4vQmFzZUZpZWxkJztcbmltcG9ydCBCdXR0b24gZnJvbSAnQG11aS9tYXRlcmlhbC9CdXR0b24nO1xuaW1wb3J0IElucHV0TGFiZWwgZnJvbSAnQG11aS9tYXRlcmlhbC9JbnB1dExhYmVsJztcbmltcG9ydCB7IGludm9rZVJlc3QsIGludm9rZVJwYyB9IGZyb20gJy4uLy4uL1Jlc3RTZXJ2aWNlJztcblxuY29uc3QgdXNlU3R5bGVzID0gbWFrZVN0eWxlcygodGhlbWUpID0+ICh7XG4gICAgcm9vdDoge1xuICAgICAgICBtYXJnaW46ICdhdXRvJyxcbiAgICB9LFxuICAgIGNhcmRIZWFkZXI6IHtcbiAgICAgICAgcGFkZGluZzogdGhlbWUuc3BhY2luZygxLCAyKSxcbiAgICB9LFxuICAgIGxpc3Q6IHtcbiAgICAgICAgd2lkdGg6IDIwMCxcbiAgICAgICAgaGVpZ2h0OiAyMzAsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5iYWNrZ3JvdW5kLnBhcGVyLFxuICAgICAgICBvdmVyZmxvdzogJ2F1dG8nLFxuICAgIH0sXG4gICAgYnV0dG9uOiB7XG4gICAgICAgIG1hcmdpbjogdGhlbWUuc3BhY2luZygwLjUsIDApLFxuICAgIH0sXG59KSk7XG5cbmNvbnN0IFRyYW5zZmVyTGlzdENvbXBvbmVudCA9IFJlYWN0Lm1lbW8oKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCBjbGFzc2VzID0gdXNlU3R5bGVzKCk7XG4gICAgY29uc3QgYmFzZSA9IHByb3BzLmJhc2U7XG4gICAgY29uc3QgW2xlZnRTZWxlY3Rpb24sIHNldExlZnRTZWxlY3Rpb25dID0gUmVhY3QudXNlU3RhdGUoW10pO1xuICAgIGNvbnN0IFtvcHRpb25zRGF0YUJpbmRpbmddID0gUmVhY3QudXNlU3RhdGUoIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcub3B0aW9uc0dyaWQuZGF0YUJpbmRpbmcpID8gcHJvcHMuY29uZmlnLm9wdGlvbnNHcmlkLmRhdGFCaW5kaW5nIDogJ29wdGlvbnMnKTtcbiAgICBjb25zdCBbc2VsZWN0aW9uRGF0YUJpbmRpbmddID0gUmVhY3QudXNlU3RhdGUoIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcuc2VsZWN0aW9uR3JpZC5kYXRhQmluZGluZykgPyBwcm9wcy5jb25maWcuc2VsZWN0aW9uR3JpZC5kYXRhQmluZGluZyA6ICdzZWxlY3RlZCcpO1xuICAgIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRhdGEpO1xuICAgIGNvbnN0IFtyaWdodFNlbGVjdGlvbiwgc2V0UmlnaHRTZWxlY3Rpb25dID0gUmVhY3QudXNlU3RhdGUoW10pO1xuICAgIGNvbnN0IFtsYWJlbF0gPSBSZWFjdC51c2VTdGF0ZShVdGlscy5nZXRDb21wb25lbnRBdHRyaWJ1dGUocHJvcHMuY29uZmlnLCAnbGFiZWwnLCBudWxsKSk7XG5cbiAgICBmdW5jdGlvbiB1cGRhdGVWYWx1ZShyb3dzKSB7XG4gICAgICAgIGxldCBvYmplY3RSZWZzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiByb3dzKSB7XG4gICAgICAgICAgICAvL2xldCBvYmplY3RSZWYgPSB7fTtcbiAgICAgICAgICAgIC8vb2JqZWN0UmVmLmlkID0gaXRlbS5pZDtcbiAgICAgICAgICAgIG9iamVjdFJlZnMucHVzaChpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhc2UuaGFuZGxlVmFsdWVDaGFuZ2Uob2JqZWN0UmVmcy5sZW5ndGggPiAwID8gb2JqZWN0UmVmcyA6IG51bGwpO1xuICAgIH1cblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKGRhdGEpICYmIGRhdGFbc2VsZWN0aW9uRGF0YUJpbmRpbmddLnJlY29yZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IGluaXRpYWxWYWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIGRhdGFbc2VsZWN0aW9uRGF0YUJpbmRpbmddLnJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBsZXQgcm93ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZWNvcmQpKTtcbiAgICAgICAgICAgICAgICBpbml0aWFsVmFsdWVzLnB1c2gocm93KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdXBkYXRlVmFsdWUoaW5pdGlhbFZhbHVlcyk7XG4gICAgICAgIH1cbiAgICB9LCBbZGF0YV0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgc2V0RGF0YShwcm9wcy5kYXRhKVxuICAgIH0sIFtwcm9wcy5kYXRhXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsZXQgYXV0b0xvYWREYXRhID0gVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKHByb3BzLmNvbmZpZywgJ2F1dG9Mb2FkRGF0YScsIG51bGwpO1xuICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcuZGF0YVNlcnZpY2UpICYmIChhdXRvTG9hZERhdGEgPT09IG51bGwgfHwgYXV0b0xvYWREYXRhID09PSB0cnVlKSkge1xuICAgICAgICAgICAgcHJvcHMubG9hZERhdGEoKS50aGVuKChkYXRhKSA9PiBzZXREYXRhKGRhdGEpKTtcbiAgICAgICAgfVxuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IGhhbmRsZVRyYW5zZmVySXRlbVJpZ2h0ID0gKCkgPT4ge1xuICAgICAgICBwcm9wcy5vcHRpb25zTGlzdEhhbmRsZS5hcGkuZGVsZXRlU2VsZWN0ZWRSb3dzKCk7XG4gICAgICAgIHVwZGF0ZVZhbHVlKHByb3BzLnNlbGVjdGlvbkxpc3RIYW5kbGUuYXBpLmFkZFJvd3MobGVmdFNlbGVjdGlvbikpO1xuXG4gICAgICAgIGlmIChwcm9wcy5zZWxlY3Rpb25MaXN0SGFuZGxlLmFwaS5udW1iZXJPZlBhZ2VzID4gMSkge1xuICAgICAgICAgICAgcHJvcHMuc2VsZWN0aW9uTGlzdEhhbmRsZS5hcGkuc2VhcmNoKCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlVHJhbnNmZXJJdGVtTGVmdCA9ICgpID0+IHtcbiAgICAgICAgdXBkYXRlVmFsdWUocHJvcHMuc2VsZWN0aW9uTGlzdEhhbmRsZS5hcGkuZGVsZXRlU2VsZWN0ZWRSb3dzKCkpO1xuICAgICAgICBwcm9wcy5vcHRpb25zTGlzdEhhbmRsZS5hcGkuYWRkUm93cyhyaWdodFNlbGVjdGlvbik7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAge2xhYmVsICE9PSBudWxsID9cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luOiAnOHB4IDAgOHB4IDE2cHgnIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dExhYmVsIHJlcXVpcmVkPXtiYXNlLnJlcXVpcmVkfSBlcnJvcj17YmFzZS5oYXNFcnJvcn0+e2xhYmVsfTwvSW5wdXRMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxHcmlkIGNvbnRhaW5lciBhbGlnbkl0ZW1zPVwic3RyZXRjaFwiIGNsYXNzTmFtZT17Y2xhc3Nlcy5yb290fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogJzhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206ICc4cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgaXRlbSBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke2Jhc2UuaGFzRXJyb3IgPyAnI2Y0NDMzNicgOiAnI2UxZTFlMSd9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzQ1JScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6ICcyNDBweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgfX0gY2xhc3NOYW1lPXsnb3VpLWZvcm0taXRlbSd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEYXRhR3JpZCBjb25maWc9e3Byb3BzLmNvbmZpZy5vcHRpb25zR3JpZH0gaGFuZGxlPXtwcm9wcy5vcHRpb25zTGlzdEhhbmRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtSZWFjdC5jcmVhdGVSZWYoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9eyFVdGlscy5pc051bGwoZGF0YSkgPyBkYXRhW29wdGlvbnNEYXRhQmluZGluZ10gOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdGlvbkNoYW5nZT17KHNlbGVjdGlvbikgPT4gc2V0TGVmdFNlbGVjdGlvbihzZWxlY3Rpb24pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJXcmFwcGVyQ2xhc3M9eyd0cmFuc2Zlckxpc3RGaWx0ZXJXcmFwcGVyJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQm9yZGVyPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgaXRlbSBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgY29udGFpbmVyIGRpcmVjdGlvbj1cImNvbHVtblwiIGp1c3RpZnk9XCJjZW50ZXJcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRyYW5zZmVySXRlbVJpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2xlZnRTZWxlY3Rpb24ubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIm1vdmUgc2VsZWN0ZWQgcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5idXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUcmFuc2Zlckl0ZW1MZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3JpZ2h0U2VsZWN0aW9uLmxlbmd0aCA9PT0gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJtb3ZlIHNlbGVjdGVkIGxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0gc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHtiYXNlLmhhc0Vycm9yID8gJyNmNDQzMzYnIDogJyNlMWUxZTEnfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICc0NSUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMjQwcHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19IGNsYXNzTmFtZT17J291aS1mb3JtLWl0ZW0nfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGF0YUdyaWQgY29uZmlnPXtwcm9wcy5jb25maWcuc2VsZWN0aW9uR3JpZH0gaGFuZGxlPXtwcm9wcy5zZWxlY3Rpb25MaXN0SGFuZGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e1JlYWN0LmNyZWF0ZVJlZigpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT17IVV0aWxzLmlzTnVsbChkYXRhKSA/IGRhdGFbc2VsZWN0aW9uRGF0YUJpbmRpbmddIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TZWxlY3Rpb25DaGFuZ2U9eyhzZWxlY3Rpb24pID0+IHNldFJpZ2h0U2VsZWN0aW9uKHNlbGVjdGlvbil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcldyYXBwZXJDbGFzcz17J3RyYW5zZmVyTGlzdEZpbHRlcldyYXBwZXInfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNCb3JkZXI9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvcid9PntiYXNlLmVycm9yTWVzc2FnZX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn0pO1xuXG5jb25zdCBUcmFuc2Zlckxpc3QgPSBSZWFjdC5tZW1vKChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgW29wdGlvbnNMaXN0SGFuZGxlXSA9IFJlYWN0LnVzZVN0YXRlKHt9KTtcbiAgICBjb25zdCBbc2VsZWN0aW9uTGlzdEhhbmRsZV0gPSBSZWFjdC51c2VTdGF0ZSh7fSk7XG4gICAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgbG9hZERhdGEgPSAoKSA9PiB7XG4gICAgICAgIGlmKHByb3BzLmNvbmZpZy5kYXRhU2VydmljZSkge1xuICAgICAgICAgICAgbGV0IG1ldGhvZCA9IHByb3BzLmNvbmZpZy5kYXRhU2VydmljZS50eXBlID09PSAncnBjJyA/IGludm9rZVJwYyA6IGludm9rZVJlc3Q7XG4gICAgICAgICAgICBtZXRob2Qoe1xuICAgICAgICAgICAgICAgIHNlcnZpY2U6IHByb3BzLmNvbmZpZy5kYXRhU2VydmljZSxcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHByb3BzLmhhbmRsZSxcbiAgICAgICAgICAgICAgICB2aWV3SWQ6IHByb3BzLnZpZXdJZFxuICAgICAgICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RGF0YShyZXN1bHQpO1xuICAgICAgICAgICAgfSkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgIFV0aWxzLnB1Ymxpc2hFcnJvck1lc3NhZ2UoZSwgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8QmFzZUZpZWxkIHsuLi5wcm9wc30gcmVmZXJlbmNlPXtyZWZ9IGdldENoaWxkcmVuPXsoKSA9PiB7XG4gICAgICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2gob3B0aW9uc0xpc3RIYW5kbGUpO1xuICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChzZWxlY3Rpb25MaXN0SGFuZGxlKTtcblxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgICAgICB9fSB2YWx1ZVBhcnNlcj17KHZhbHVlLCBpbmJvdW5kKSA9PiB7XG4gICAgICAgICAgICBpZihpbmJvdW5kKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9iamVjdEFycmF5ID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWwgPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAob2JqZWN0QXJyYXkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHR5cGUgPSBvYmplY3RBcnJheVswXS50eXBlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBvYmplY3RBcnJheUVsZW1lbnQgb2Ygb2JqZWN0QXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwucHVzaChvYmplY3RBcnJheUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfX0gbG9hZERhdGFIYW5kbGVyPXsoKSA9PiBsb2FkRGF0YSgpfT5cbiAgICAgICAgICAgIHtiYXNlID0+XG4gICAgICAgICAgICAgICAgPFRyYW5zZmVyTGlzdENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICBiYXNlPXtiYXNlfVxuICAgICAgICAgICAgICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zTGlzdEhhbmRsZT17b3B0aW9uc0xpc3RIYW5kbGV9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbkxpc3RIYW5kbGU9e3NlbGVjdGlvbkxpc3RIYW5kbGV9XG4gICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9UcmFuc2Zlckxpc3RDb21wb25lbnQ+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvQmFzZUZpZWxkPlxuICAgICk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgVHJhbnNmZXJMaXN0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQyxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDRCxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE9BQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQVIsc0JBQUEs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QUFDdkYsVUFBQSxDQUFBK0gsU0FBUyxFQUFBeEgsUUFBQSxLQUFLZ0MsS0FBSztJQUFFeUYsU0FBUyxFQUFFeEYsR0FBSTtJQUFDeUYsV0FBVyxFQUFFQSxDQUFBLEtBQU07TUFDckQsSUFBSUMsUUFBUSxHQUFHLEVBQUU7TUFDakJBLFFBQVEsQ0FBQ2xFLElBQUksQ0FBQ2UsaUJBQWlCLENBQUM7TUFDaENtRCxRQUFRLENBQUNsRSxJQUFJLENBQUNrQixtQkFBbUIsQ0FBQztNQUVsQyxPQUFPZ0QsUUFBUTtJQUNuQixDQUFFO0lBQUNDLFdBQVcsRUFBRUEsQ0FBQ0MsS0FBSyxFQUFFQyxPQUFPLEtBQUs7TUFDaEMsSUFBR0EsT0FBTyxFQUFFO1FBQ1IsSUFBSSxDQUFDdEYsY0FBSyxDQUFDQyxNQUFNLENBQUNvRixLQUFLLENBQUMsSUFBSUEsS0FBSyxDQUFDdkgsTUFBTSxHQUFHLENBQUMsRUFBRTtVQUMxQyxJQUFJeUgsV0FBVyxHQUFHRixLQUFLO1VBQ3ZCLElBQUlHLEdBQUcsR0FBRyxFQUFFO1VBRVosSUFBSUQsV0FBVyxDQUFDekgsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4QixJQUFJeUcsSUFBSSxHQUFHZ0IsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDaEIsSUFBSTtZQUM5QixLQUFLLE1BQU1rQixrQkFBa0IsSUFBSUYsV0FBVyxFQUFFO2NBQzFDQyxHQUFHLENBQUN2RSxJQUFJLENBQUN3RSxrQkFBa0IsQ0FBQztZQUNoQztVQUNKO1VBRUEsT0FBT0QsR0FBRztRQUNkO1FBRUEsT0FBTyxFQUFFO01BQ2IsQ0FBQyxNQUFNO1FBQ0gsT0FBT0gsS0FBSztNQUNoQjtJQUNKLENBQUU7SUFBQ0ssZUFBZSxFQUFFQSxDQUFBLEtBQU03RCxRQUFRLENBQUM7RUFBRSxJQUNoQ2xDLElBQUksaUJBQ0RqRCxNQUFBLENBQUFhLE9BQUEsQ0FBQWlGLGFBQUEsQ0FBQ25ELHFCQUFxQixFQUFBN0IsUUFBQTtJQUNsQm1DLElBQUksRUFBRUEsSUFBSztJQUNYWSxJQUFJLEVBQUVBLElBQUs7SUFDWHlCLGlCQUFpQixFQUFFQSxpQkFBa0I7SUFDckNHLG1CQUFtQixFQUFFQTtFQUFvQixHQUNyQzNDLEtBQUssQ0FFVSxDQUVwQixDQUFDO0FBRXBCLENBQUMsQ0FBQztBQUFDLElBQUFtRyxRQUFBLEdBQUFDLE9BQUEsQ0FBQXJJLE9BQUEsR0FFWThHLFlBQVkiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
296
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJfRGF0YUdyaWQiLCJfVXRpbHMiLCJfR3JpZCIsIl9CYXNlRmllbGQiLCJfQnV0dG9uIiwiX0lucHV0TGFiZWwiLCJfUmVzdFNlcnZpY2UiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZXh0ZW5kcyIsIk9iamVjdCIsImFzc2lnbiIsImJpbmQiLCJuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidCIsInIiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsInVzZVN0eWxlcyIsIm1ha2VTdHlsZXMiLCJ0aGVtZSIsInJvb3QiLCJtYXJnaW4iLCJjYXJkSGVhZGVyIiwicGFkZGluZyIsInNwYWNpbmciLCJsaXN0Iiwid2lkdGgiLCJoZWlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJwYWxldHRlIiwiYmFja2dyb3VuZCIsInBhcGVyIiwib3ZlcmZsb3ciLCJidXR0b24iLCJUcmFuc2Zlckxpc3RDb21wb25lbnQiLCJSZWFjdCIsIm1lbW8iLCJwcm9wcyIsInJlZiIsImNsYXNzZXMiLCJiYXNlIiwibGVmdFNlbGVjdGlvbiIsInNldExlZnRTZWxlY3Rpb24iLCJ1c2VTdGF0ZSIsIm9wdGlvbnNEYXRhQmluZGluZyIsIlV0aWxzIiwiaXNOdWxsIiwiY29uZmlnIiwib3B0aW9uc0dyaWQiLCJkYXRhQmluZGluZyIsInNlbGVjdGlvbkRhdGFCaW5kaW5nIiwic2VsZWN0aW9uR3JpZCIsImRhdGEiLCJzZXREYXRhIiwicmlnaHRTZWxlY3Rpb24iLCJzZXRSaWdodFNlbGVjdGlvbiIsImxhYmVsIiwiZ2V0Q29tcG9uZW50QXR0cmlidXRlIiwidXBkYXRlVmFsdWUiLCJyb3dzIiwib2JqZWN0UmVmcyIsIml0ZW0iLCJwdXNoIiwiaGFuZGxlVmFsdWVDaGFuZ2UiLCJ1c2VFZmZlY3QiLCJyZWNvcmRzIiwiaW5pdGlhbFZhbHVlcyIsInJlY29yZCIsInJvdyIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImF1dG9Mb2FkRGF0YSIsImRhdGFTZXJ2aWNlIiwibG9hZERhdGEiLCJ0aGVuIiwiaGFuZGxlVHJhbnNmZXJJdGVtUmlnaHQiLCJvcHRpb25zTGlzdEhhbmRsZSIsImFwaSIsImRlbGV0ZVNlbGVjdGVkUm93cyIsInNlbGVjdGlvbkxpc3RIYW5kbGUiLCJhZGRSb3dzIiwibnVtYmVyT2ZQYWdlcyIsInNlYXJjaCIsImhhbmRsZVRyYW5zZmVySXRlbUxlZnQiLCJpIiwidXNlUmVmIiwiaGFuZGxlVHJhbnNmZXJBbGxSaWdodCIsImFsbE9wdGlvblJvd3MiLCJzbmFwc2hvdCIsInNsaWNlIiwiY2xlYXIiLCJzbmFwc2hvdEVsZW1lbnQiLCJoYW5kbGVUcmFuc2ZlckFsbExlZnQiLCJhbGxTZWxlY3Rpb25Sb3dzIiwiaGFuZGxlUm93RG91YmxlQ2xpY2tSaWdodCIsImlkIiwiZGVsZXRlUm93cyIsImhhbmRsZVJvd0RvdWJsZUNsaWNrTGVmdCIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsInJlcXVpcmVkIiwiZXJyb3IiLCJoYXNFcnJvciIsImZvbnRTaXplIiwiY29sb3IiLCJmb250U3R5bGUiLCJtYXJnaW5Ub3AiLCJjb250YWluZXIiLCJhbGlnbkl0ZW1zIiwiY2xhc3NOYW1lIiwibWFyZ2luQm90dG9tIiwiYm9yZGVyIiwiY29uY2F0IiwibWluV2lkdGgiLCJib3JkZXJSYWRpdXMiLCJEYXRhR3JpZCIsImhhbmRsZSIsImNyZWF0ZVJlZiIsInZpZXdJZCIsIm9uU2VsZWN0aW9uQ2hhbmdlIiwic2VsZWN0aW9uIiwib25Sb3dEb3VibGVDbGljayIsImZpbHRlcldyYXBwZXJDbGFzcyIsImhhc0JvcmRlciIsImRpcmVjdGlvbiIsImp1c3RpZnkiLCJ2YXJpYW50Iiwic2l6ZSIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsImVycm9yTWVzc2FnZSIsIlRyYW5zZmVyTGlzdCIsIm1ldGhvZCIsInR5cGUiLCJpbnZva2VScGMiLCJpbnZva2VSZXN0Iiwic2VydmljZSIsImNvbXBvbmVudCIsInJlc3VsdCIsImNhdGNoIiwiY29uc29sZSIsInB1Ymxpc2hFcnJvck1lc3NhZ2UiLCJCYXNlRmllbGQiLCJyZWZlcmVuY2UiLCJnZXRDaGlsZHJlbiIsImNoaWxkcmVuIiwidmFsdWVQYXJzZXIiLCJ2YWx1ZSIsImluYm91bmQiLCJvYmplY3RBcnJheSIsInZhbCIsIm9iamVjdEFycmF5RWxlbWVudCIsImxvYWREYXRhSGFuZGxlciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL1RyYW5zZmVyTGlzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsi77u/aW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IG1ha2VTdHlsZXMgfSBmcm9tICdAbXVpL3N0eWxlcyc7XG5pbXBvcnQgeyBEYXRhR3JpZCB9IGZyb20gJy4vLi4vRGF0YUdyaWQnO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4uLy4uL1V0aWxzJztcbmltcG9ydCAnLi9UcmFuc2Zlckxpc3QuY3NzJztcbmltcG9ydCBHcmlkIGZyb20gJ0BtdWkvbWF0ZXJpYWwvR3JpZCc7XG5pbXBvcnQgeyBCYXNlRmllbGQgfSBmcm9tICcuL0Jhc2VGaWVsZCc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQnV0dG9uJztcbmltcG9ydCBJbnB1dExhYmVsIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSW5wdXRMYWJlbCc7XG5pbXBvcnQgeyBpbnZva2VSZXN0LCBpbnZva2VScGMgfSBmcm9tICcuLi8uLi9SZXN0U2VydmljZSc7XG5cbmNvbnN0IHVzZVN0eWxlcyA9IG1ha2VTdHlsZXMoKHRoZW1lKSA9PiAoe1xuICAgIHJvb3Q6IHtcbiAgICAgICAgbWFyZ2luOiAnYXV0bycsXG4gICAgfSxcbiAgICBjYXJkSGVhZGVyOiB7XG4gICAgICAgIHBhZGRpbmc6IHRoZW1lLnNwYWNpbmcoMSwgMiksXG4gICAgfSxcbiAgICBsaXN0OiB7XG4gICAgICAgIHdpZHRoOiAyMDAsXG4gICAgICAgIGhlaWdodDogMjMwLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuYmFja2dyb3VuZC5wYXBlcixcbiAgICAgICAgb3ZlcmZsb3c6ICdhdXRvJyxcbiAgICB9LFxuICAgIGJ1dHRvbjoge1xuICAgICAgICBtYXJnaW46IHRoZW1lLnNwYWNpbmcoMC41LCAwKSxcbiAgICB9LFxufSkpO1xuXG5jb25zdCBUcmFuc2Zlckxpc3RDb21wb25lbnQgPSBSZWFjdC5tZW1vKChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHVzZVN0eWxlcygpO1xuICAgIGNvbnN0IGJhc2UgPSBwcm9wcy5iYXNlO1xuICAgIGNvbnN0IFtsZWZ0U2VsZWN0aW9uLCBzZXRMZWZ0U2VsZWN0aW9uXSA9IFJlYWN0LnVzZVN0YXRlKFtdKTtcbiAgICBjb25zdCBbb3B0aW9uc0RhdGFCaW5kaW5nXSA9IFJlYWN0LnVzZVN0YXRlKCFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLm9wdGlvbnNHcmlkLmRhdGFCaW5kaW5nKSA/IHByb3BzLmNvbmZpZy5vcHRpb25zR3JpZC5kYXRhQmluZGluZyA6ICdvcHRpb25zJyk7XG4gICAgY29uc3QgW3NlbGVjdGlvbkRhdGFCaW5kaW5nXSA9IFJlYWN0LnVzZVN0YXRlKCFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLnNlbGVjdGlvbkdyaWQuZGF0YUJpbmRpbmcpID8gcHJvcHMuY29uZmlnLnNlbGVjdGlvbkdyaWQuZGF0YUJpbmRpbmcgOiAnc2VsZWN0ZWQnKTtcbiAgICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kYXRhKTtcbiAgICBjb25zdCBbcmlnaHRTZWxlY3Rpb24sIHNldFJpZ2h0U2VsZWN0aW9uXSA9IFJlYWN0LnVzZVN0YXRlKFtdKTtcbiAgICBjb25zdCBbbGFiZWxdID0gUmVhY3QudXNlU3RhdGUoVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKHByb3BzLmNvbmZpZywgJ2xhYmVsJywgbnVsbCkpO1xuXG4gICAgZnVuY3Rpb24gdXBkYXRlVmFsdWUocm93cykge1xuICAgICAgICBsZXQgb2JqZWN0UmVmcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygcm93cykge1xuICAgICAgICAgICAgLy9sZXQgb2JqZWN0UmVmID0ge307XG4gICAgICAgICAgICAvL29iamVjdFJlZi5pZCA9IGl0ZW0uaWQ7XG4gICAgICAgICAgICBvYmplY3RSZWZzLnB1c2goaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBiYXNlLmhhbmRsZVZhbHVlQ2hhbmdlKG9iamVjdFJlZnMubGVuZ3RoID4gMCA/IG9iamVjdFJlZnMgOiBudWxsKTtcbiAgICB9XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChkYXRhKSAmJiBkYXRhW3NlbGVjdGlvbkRhdGFCaW5kaW5nXS5yZWNvcmRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBpbml0aWFsVmFsdWVzID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiBkYXRhW3NlbGVjdGlvbkRhdGFCaW5kaW5nXS5yZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJvdyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVjb3JkKSk7XG4gICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlcy5wdXNoKHJvdyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVwZGF0ZVZhbHVlKGluaXRpYWxWYWx1ZXMpO1xuICAgICAgICB9XG4gICAgfSwgW2RhdGFdKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHNldERhdGEocHJvcHMuZGF0YSlcbiAgICB9LCBbcHJvcHMuZGF0YV0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgbGV0IGF1dG9Mb2FkRGF0YSA9IFV0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShwcm9wcy5jb25maWcsICdhdXRvTG9hZERhdGEnLCBudWxsKTtcbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmRhdGFTZXJ2aWNlKSAmJiAoYXV0b0xvYWREYXRhID09PSBudWxsIHx8IGF1dG9Mb2FkRGF0YSA9PT0gdHJ1ZSkpIHtcbiAgICAgICAgICAgIHByb3BzLmxvYWREYXRhKCkudGhlbigoZGF0YSkgPT4gc2V0RGF0YShkYXRhKSk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBoYW5kbGVUcmFuc2Zlckl0ZW1SaWdodCA9ICgpID0+IHtcbiAgICAgICAgcHJvcHMub3B0aW9uc0xpc3RIYW5kbGUuYXBpLmRlbGV0ZVNlbGVjdGVkUm93cygpO1xuICAgICAgICB1cGRhdGVWYWx1ZShwcm9wcy5zZWxlY3Rpb25MaXN0SGFuZGxlLmFwaS5hZGRSb3dzKGxlZnRTZWxlY3Rpb24pKTtcblxuICAgICAgICBpZiAocHJvcHMuc2VsZWN0aW9uTGlzdEhhbmRsZS5hcGkubnVtYmVyT2ZQYWdlcyA+IDEpIHtcbiAgICAgICAgICAgIHByb3BzLnNlbGVjdGlvbkxpc3RIYW5kbGUuYXBpLnNlYXJjaCgpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZVRyYW5zZmVySXRlbUxlZnQgPSAoKSA9PiB7XG4gICAgICAgIHVwZGF0ZVZhbHVlKHByb3BzLnNlbGVjdGlvbkxpc3RIYW5kbGUuYXBpLmRlbGV0ZVNlbGVjdGVkUm93cygpKTtcbiAgICAgICAgcHJvcHMub3B0aW9uc0xpc3RIYW5kbGUuYXBpLmFkZFJvd3MocmlnaHRTZWxlY3Rpb24pO1xuICAgIH07XG5cbiAgICBjb25zdCBpID0gUmVhY3QudXNlUmVmKDApO1xuICAgIC8vIFRyYW5zZmVyLWFsbCBoZWxwZXJzIG9wZXJhdGUgb24gd2hhdGV2ZXIgcm93cyB0aGUgc291cmNlIGdyaWQgY3VycmVudGx5XG4gICAgLy8gaG9sZHMgbG9jYWxseSAoYXBpLnJvd3MpLiBGb3Igc2VydmVyLXBhZ2luYXRlZCBncmlkcyB0aGF0IG1lYW5zIGp1c3RcbiAgICAvLyB0aGUgY3VycmVudCBwYWdlIOKAlCB0eXBpY2FsIFRyYW5zZmVyTGlzdCB1c2UgY2FzZXMgKGRlcGFydG1lbnRzLCByb2xlXG4gICAgLy8gbWVtYmVycykgbG9hZCB0aGUgZnVsbCBzZXQgaW4gb25lIHNob3QsIHNvIHRoaXMgaXMgZmluZSBpbiBwcmFjdGljZS5cbiAgICBjb25zdCBoYW5kbGVUcmFuc2ZlckFsbFJpZ2h0ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBhbGxPcHRpb25Sb3dzID0gcHJvcHMub3B0aW9uc0xpc3RIYW5kbGUuYXBpLnJvd3M7XG4gICAgICAgIGlmICghYWxsT3B0aW9uUm93cyB8fCBhbGxPcHRpb25Sb3dzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgICAgICAvLyBTbmFwc2hvdCBmaXJzdCDigJQgY2xlYXIoKSBkcm9wcyB0aGUgbGl2ZSByZWYgYW5kIGFkZFJvd3MgbXV0YXRlcyxcbiAgICAgICAgLy8gc28gaXRlcmF0ZSBhZ2FpbnN0IGFuIGltbXV0YWJsZSBjb3B5LlxuICAgICAgICBjb25zdCBzbmFwc2hvdCA9IGFsbE9wdGlvblJvd3Muc2xpY2UoKTtcbiAgICAgICAgcHJvcHMub3B0aW9uc0xpc3RIYW5kbGUuYXBpLmNsZWFyKCk7XG4gICAgICAgIGZvciAoY29uc3Qgc25hcHNob3RFbGVtZW50IG9mIHNuYXBzaG90KSB7XG4gICAgICAgICAgICB1cGRhdGVWYWx1ZShwcm9wcy5zZWxlY3Rpb25MaXN0SGFuZGxlLmFwaS5hZGRSb3dzKFtzbmFwc2hvdEVsZW1lbnRdKSk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRMZWZ0U2VsZWN0aW9uKFtdKTtcbiAgICAgICAgaWYgKHByb3BzLnNlbGVjdGlvbkxpc3RIYW5kbGUuYXBpLm51bWJlck9mUGFnZXMgPiAxKSB7XG4gICAgICAgICAgICBwcm9wcy5zZWxlY3Rpb25MaXN0SGFuZGxlLmFwaS5zZWFyY2goKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVUcmFuc2ZlckFsbExlZnQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFsbFNlbGVjdGlvblJvd3MgPSBwcm9wcy5zZWxlY3Rpb25MaXN0SGFuZGxlLmFwaS5yb3dzO1xuICAgICAgICBpZiAoIWFsbFNlbGVjdGlvblJvd3MgfHwgYWxsU2VsZWN0aW9uUm93cy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgICAgY29uc3Qgc25hcHNob3QgPSBhbGxTZWxlY3Rpb25Sb3dzLnNsaWNlKCk7XG4gICAgICAgIHByb3BzLnNlbGVjdGlvbkxpc3RIYW5kbGUuYXBpLmNsZWFyKCk7XG4gICAgICAgIC8vIFBlci1lbGVtZW50IGxvb3AgKG1pcnJvcnMgaGFuZGxlVHJhbnNmZXJBbGxSaWdodCk6IGJ1bGsgYWRkUm93c1xuICAgICAgICAvLyBjYWxscyBzZXRTZWxlY3RlZCB3aXRoIEVWRVJZIG5ldyByb3cncyBpZCAoRGF0YUdyaWQuanN4OjI2Ny0yODkpLFxuICAgICAgICAvLyB3aGljaCBhdXRvLXNlbGVjdHMgYWxsIHRyYW5zZmVycmVkIGl0ZW1zIGFuZCB0aGVuIGRlc3luY3MgdGhlXG4gICAgICAgIC8vIGdyaWQncyBpbnRlcm5hbCBzZWxlY3Rpb24gc3RhdGUg4oCUIHNpbmdsZS1yb3cgY2xpY2tzIGFmdGVyd2FyZHNcbiAgICAgICAgLy8gYmVjb21lIHVucmVzcG9uc2l2ZS4gUGVyLWVsZW1lbnQga2VlcHMgZWFjaCBzZXRTZWxlY3RlZCB0byBqdXN0XG4gICAgICAgIC8vIG9uZSBpZDsgUmVhY3QgYmF0Y2hlcyB0aGVtIHNvIHRoZSBmaW5hbCBzdGF0ZSBpcyBzZWxlY3RlZD1bbGFzdElkXVxuICAgICAgICAvLyBvbmx5LCBsZWF2aW5nIHRoZSBncmlkIGluIGEgY2xlYW4gc3RhdGUuXG4gICAgICAgIGZvciAoY29uc3Qgc25hcHNob3RFbGVtZW50IG9mIHNuYXBzaG90KSB7XG4gICAgICAgICAgICBwcm9wcy5vcHRpb25zTGlzdEhhbmRsZS5hcGkuYWRkUm93cyhbc25hcHNob3RFbGVtZW50XSk7XG4gICAgICAgIH1cbiAgICAgICAgdXBkYXRlVmFsdWUoW10pO1xuICAgICAgICBzZXRSaWdodFNlbGVjdGlvbihbXSk7XG4gICAgfTtcblxuICAgIC8vIERvdWJsZS1jbGljayBzZW1hbnRpY3M6IGFjdCBvbiB0aGUgY2xpY2tlZCByb3cgb25seSwgcmVnYXJkbGVzcyBvZlxuICAgIC8vIGN1cnJlbnQgc2VsZWN0aW9uLiBTaW5nbGUtcm93IGRlbGV0ZXMgdXNlIHRoZSBuZXcgYXBpLmRlbGV0ZVJvd3NcbiAgICAvLyAoYWRkZWQgaW4gRGF0YUdyaWQuanN4IGFsb25nc2lkZSBkZWxldGVTZWxlY3RlZFJvd3MpIHNvIHRoZSB1c2VyJ3NcbiAgICAvLyBzZWxlY3Rpb24gc3RhdGUgaXNuJ3QgaGlqYWNrZWQuXG4gICAgY29uc3QgaGFuZGxlUm93RG91YmxlQ2xpY2tSaWdodCA9IChyb3cpID0+IHtcbiAgICAgICAgaWYgKCFyb3cgfHwgcm93LmlkID09IG51bGwpIHJldHVybjtcbiAgICAgICAgcHJvcHMub3B0aW9uc0xpc3RIYW5kbGUuYXBpLmRlbGV0ZVJvd3MoW3Jvdy5pZF0pO1xuICAgICAgICB1cGRhdGVWYWx1ZShwcm9wcy5zZWxlY3Rpb25MaXN0SGFuZGxlLmFwaS5hZGRSb3dzKFtyb3ddKSk7XG4gICAgICAgIGlmIChwcm9wcy5zZWxlY3Rpb25MaXN0SGFuZGxlLmFwaS5udW1iZXJPZlBhZ2VzID4gMSkge1xuICAgICAgICAgICAgcHJvcHMuc2VsZWN0aW9uTGlzdEhhbmRsZS5hcGkuc2VhcmNoKCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlUm93RG91YmxlQ2xpY2tMZWZ0ID0gKHJvdykgPT4ge1xuICAgICAgICBpZiAoIXJvdyB8fCByb3cuaWQgPT0gbnVsbCkgcmV0dXJuO1xuICAgICAgICB1cGRhdGVWYWx1ZShwcm9wcy5zZWxlY3Rpb25MaXN0SGFuZGxlLmFwaS5kZWxldGVSb3dzKFtyb3cuaWRdKSk7XG4gICAgICAgIHByb3BzLm9wdGlvbnNMaXN0SGFuZGxlLmFwaS5hZGRSb3dzKFtyb3ddKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICB7bGFiZWwgIT09IG51bGwgP1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW46ICc4cHggMCA4cHggMTZweCcgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0TGFiZWwgcmVxdWlyZWQ9e2Jhc2UucmVxdWlyZWR9IGVycm9yPXtiYXNlLmhhc0Vycm9yfT57bGFiZWx9PC9JbnB1dExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcwLjc1cmVtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjODg4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFN0eWxlOiAnaXRhbGljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiAnMnB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaXA6IGRvdWJsZS1jbGljayBhIHJvdyB0byB0cmFuc2ZlciBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPEdyaWQgY29udGFpbmVyIGFsaWduSXRlbXM9XCJzdHJldGNoXCIgY2xhc3NOYW1lPXtjbGFzc2VzLnJvb3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzhweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7YmFzZS5oYXNFcnJvciA/ICcjZjQ0MzM2JyA6ICcjZTFlMWUxJ31gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNDUlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzI0MHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICB9fSBjbGFzc05hbWU9eydvdWktZm9ybS1pdGVtJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERhdGFHcmlkIGNvbmZpZz17cHJvcHMuY29uZmlnLm9wdGlvbnNHcmlkfSBoYW5kbGU9e3Byb3BzLm9wdGlvbnNMaXN0SGFuZGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e1JlYWN0LmNyZWF0ZVJlZigpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT17IVV0aWxzLmlzTnVsbChkYXRhKSA/IGRhdGFbb3B0aW9uc0RhdGFCaW5kaW5nXSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0aW9uQ2hhbmdlPXsoc2VsZWN0aW9uKSA9PiBzZXRMZWZ0U2VsZWN0aW9uKHNlbGVjdGlvbil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUm93RG91YmxlQ2xpY2s9e2hhbmRsZVJvd0RvdWJsZUNsaWNrUmlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcldyYXBwZXJDbGFzcz17J3RyYW5zZmVyTGlzdEZpbHRlcldyYXBwZXInfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNCb3JkZXI9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMCUnXG4gICAgICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBjb250YWluZXIgZGlyZWN0aW9uPVwiY29sdW1uXCIganVzdGlmeT1cImNlbnRlclwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVHJhbnNmZXJJdGVtUmlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17bGVmdFNlbGVjdGlvbi5sZW5ndGggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwibW92ZSBzZWxlY3RlZCByaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRyYW5zZmVyQWxsUmlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwibW92ZSBhbGwgcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVHJhbnNmZXJBbGxMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIm1vdmUgYWxsIGxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVHJhbnNmZXJJdGVtTGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtyaWdodFNlbGVjdGlvbi5sZW5ndGggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwibW92ZSBzZWxlY3RlZCBsZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7YmFzZS5oYXNFcnJvciA/ICcjZjQ0MzM2JyA6ICcjZTFlMWUxJ31gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNDUlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzI0MHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICB9fSBjbGFzc05hbWU9eydvdWktZm9ybS1pdGVtJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERhdGFHcmlkIGNvbmZpZz17cHJvcHMuY29uZmlnLnNlbGVjdGlvbkdyaWR9IGhhbmRsZT17cHJvcHMuc2VsZWN0aW9uTGlzdEhhbmRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtSZWFjdC5jcmVhdGVSZWYoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9eyFVdGlscy5pc051bGwoZGF0YSkgPyBkYXRhW3NlbGVjdGlvbkRhdGFCaW5kaW5nXSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0aW9uQ2hhbmdlPXsoc2VsZWN0aW9uKSA9PiBzZXRSaWdodFNlbGVjdGlvbihzZWxlY3Rpb24pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblJvd0RvdWJsZUNsaWNrPXtoYW5kbGVSb3dEb3VibGVDbGlja0xlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcldyYXBwZXJDbGFzcz17J3RyYW5zZmVyTGlzdEZpbHRlcldyYXBwZXInfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNCb3JkZXI9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvcid9PntiYXNlLmVycm9yTWVzc2FnZX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn0pO1xuXG5jb25zdCBUcmFuc2Zlckxpc3QgPSBSZWFjdC5tZW1vKChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgW29wdGlvbnNMaXN0SGFuZGxlXSA9IFJlYWN0LnVzZVN0YXRlKHt9KTtcbiAgICBjb25zdCBbc2VsZWN0aW9uTGlzdEhhbmRsZV0gPSBSZWFjdC51c2VTdGF0ZSh7fSk7XG4gICAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgbG9hZERhdGEgPSAoKSA9PiB7XG4gICAgICAgIGlmKHByb3BzLmNvbmZpZy5kYXRhU2VydmljZSkge1xuICAgICAgICAgICAgbGV0IG1ldGhvZCA9IHByb3BzLmNvbmZpZy5kYXRhU2VydmljZS50eXBlID09PSAncnBjJyA/IGludm9rZVJwYyA6IGludm9rZVJlc3Q7XG4gICAgICAgICAgICBtZXRob2Qoe1xuICAgICAgICAgICAgICAgIHNlcnZpY2U6IHByb3BzLmNvbmZpZy5kYXRhU2VydmljZSxcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHByb3BzLmhhbmRsZSxcbiAgICAgICAgICAgICAgICB2aWV3SWQ6IHByb3BzLnZpZXdJZFxuICAgICAgICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RGF0YShyZXN1bHQpO1xuICAgICAgICAgICAgfSkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgIFV0aWxzLnB1Ymxpc2hFcnJvck1lc3NhZ2UoZSwgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8QmFzZUZpZWxkIHsuLi5wcm9wc30gcmVmZXJlbmNlPXtyZWZ9IGdldENoaWxkcmVuPXsoKSA9PiB7XG4gICAgICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2gob3B0aW9uc0xpc3RIYW5kbGUpO1xuICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChzZWxlY3Rpb25MaXN0SGFuZGxlKTtcblxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgICAgICB9fSB2YWx1ZVBhcnNlcj17KHZhbHVlLCBpbmJvdW5kKSA9PiB7XG4gICAgICAgICAgICBpZihpbmJvdW5kKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9iamVjdEFycmF5ID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWwgPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAob2JqZWN0QXJyYXkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHR5cGUgPSBvYmplY3RBcnJheVswXS50eXBlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBvYmplY3RBcnJheUVsZW1lbnQgb2Ygb2JqZWN0QXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwucHVzaChvYmplY3RBcnJheUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfX0gbG9hZERhdGFIYW5kbGVyPXsoKSA9PiBsb2FkRGF0YSgpfT5cbiAgICAgICAgICAgIHtiYXNlID0+XG4gICAgICAgICAgICAgICAgPFRyYW5zZmVyTGlzdENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICBiYXNlPXtiYXNlfVxuICAgICAgICAgICAgICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zTGlzdEhhbmRsZT17b3B0aW9uc0xpc3RIYW5kbGV9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbkxpc3RIYW5kbGU9e3NlbGVjdGlvbkxpc3RIYW5kbGV9XG4gICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9UcmFuc2Zlckxpc3RDb21wb25lbnQ+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvQmFzZUZpZWxkPlxuICAgICk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgVHJhbnNmZXJMaXN0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQyxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDRCxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9B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
|
package/package.json
CHANGED