@i-novus/n2o-components 7.26.4 → 7.26.6
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/lib/display/OutputList.d.ts +2 -2
- package/lib/display/OutputList.js +12 -7
- package/lib/display/Text.d.ts +1 -1
- package/lib/display/Text.js +1 -1
- package/lib/inputs/Checkbox/Checkbox.d.ts +1 -0
- package/lib/inputs/Checkbox/Checkbox.js +8 -4
- package/lib/inputs/DatePicker/DateTimeControl.js +2 -2
- package/lib/inputs/InputSelect/InputSelect.d.ts +50 -160
- package/lib/inputs/InputSelect/InputSelect.js +56 -108
- package/lib/inputs/InputSelect/PopupItems.d.ts +2 -2
- package/lib/inputs/InputSelect/PopupItems.js +1 -1
- package/lib/inputs/InputSelect/PopupList.d.ts +15 -15
- package/lib/inputs/InputSelect/PopupList.js +26 -18
- package/lib/inputs/InputSelect/types.d.ts +163 -3
- package/lib/inputs/InputSelect/types.js +1 -1
- package/lib/inputs/Select/Popup.d.ts +4 -7
- package/lib/inputs/Select/Popup.js +9 -10
- package/lib/inputs/Select/Select.d.ts +50 -223
- package/lib/inputs/Select/Select.js +98 -95
- package/lib/inputs/Select/types.d.ts +116 -0
- package/lib/inputs/Select/types.js +6 -0
- package/lib/inputs/WithPopUpHeight.d.ts +52 -0
- package/lib/inputs/WithPopUpHeight.js +112 -0
- package/lib/utils/parseFormatter.js +40 -22
- package/package.json +3 -3
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TBaseInputProps, TBaseProps } from '../types';
|
|
3
3
|
import '../styles/components/OutputList.scss';
|
|
4
|
-
declare type
|
|
4
|
+
declare type Props = TBaseProps & TBaseInputProps<Array<Record<string, unknown>>> & {
|
|
5
5
|
direction?: 'row' | 'column';
|
|
6
6
|
labelFieldId?: string;
|
|
7
7
|
linkFieldId?: string;
|
|
8
8
|
separator?: string;
|
|
9
9
|
target?: string;
|
|
10
10
|
};
|
|
11
|
-
export declare const OutputList: ({
|
|
11
|
+
export declare const OutputList: ({ className, direction, value, ...rest }: Props) => JSX.Element;
|
|
12
12
|
export {};
|
|
@@ -15,25 +15,30 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _map = _interopRequireDefault(require("lodash/map"));
|
|
17
17
|
|
|
18
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
19
|
+
|
|
18
20
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
21
|
|
|
20
22
|
var _OutputListItem = require("./OutputListItem");
|
|
21
23
|
|
|
22
24
|
require("../styles/components/OutputList.scss");
|
|
23
25
|
|
|
24
|
-
var _excluded = ["
|
|
26
|
+
var _excluded = ["className", "direction", "value"];
|
|
25
27
|
|
|
26
28
|
var OutputList = function OutputList(_ref) {
|
|
27
|
-
var
|
|
28
|
-
value = _ref$value === void 0 ? [] : _ref$value,
|
|
29
|
-
className = _ref.className,
|
|
29
|
+
var className = _ref.className,
|
|
30
30
|
_ref$direction = _ref.direction,
|
|
31
31
|
direction = _ref$direction === void 0 ? 'column' : _ref$direction,
|
|
32
|
+
_ref$value = _ref.value,
|
|
33
|
+
value = _ref$value === void 0 ? [] : _ref$value,
|
|
32
34
|
rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
33
|
-
var directionClassName = "n2o-output-list--".concat(direction);
|
|
34
35
|
return /*#__PURE__*/_react["default"].createElement("ul", {
|
|
35
|
-
className: (0, _classnames["default"])('n2o-output-list', className,
|
|
36
|
+
className: (0, _classnames["default"])('n2o-output-list', className, "n2o-output-list--".concat(direction))
|
|
36
37
|
}, (0, _map["default"])(value, function (item, index) {
|
|
38
|
+
if ((0, _isEmpty["default"])(item)) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
|
|
37
42
|
return /*#__PURE__*/_react["default"].createElement(_OutputListItem.OutputListItem, (0, _extends2["default"])({
|
|
38
43
|
key: index
|
|
39
44
|
}, rest, item, {
|
|
@@ -43,4 +48,4 @@ var OutputList = function OutputList(_ref) {
|
|
|
43
48
|
};
|
|
44
49
|
|
|
45
50
|
exports.OutputList = OutputList;
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNwbGF5L091dHB1dExpc3QudHN4Il0sIm5hbWVzIjpbIk91dHB1dExpc3QiLCJjbGFzc05hbWUiLCJkaXJlY3Rpb24iLCJ2YWx1ZSIsInJlc3QiLCJpdGVtIiwiaW5kZXgiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFFQTs7OztBQVVPLElBQU1BLFVBQVUsR0FBRyxTQUFiQSxVQUFhO0FBQUEsTUFBR0MsU0FBSCxRQUFHQSxTQUFIO0FBQUEsNEJBQWNDLFNBQWQ7QUFBQSxNQUFjQSxTQUFkLCtCQUEwQixRQUExQjtBQUFBLHdCQUFvQ0MsS0FBcEM7QUFBQSxNQUFvQ0EsS0FBcEMsMkJBQTRDLEVBQTVDO0FBQUEsTUFBbURDLElBQW5EO0FBQUEsc0JBQ3RCO0FBQUksSUFBQSxTQUFTLEVBQUUsNEJBQVcsaUJBQVgsRUFBOEJILFNBQTlCLDZCQUE2REMsU0FBN0Q7QUFBZixLQUNLLHFCQUFJQyxLQUFKLEVBQVcsVUFBQ0UsSUFBRCxFQUFPQyxLQUFQLEVBQWlCO0FBQ3pCLFFBQUkseUJBQVFELElBQVIsQ0FBSixFQUFtQjtBQUFFLGFBQU8sSUFBUDtBQUFhOztBQUVsQyx3QkFBTyxnQ0FBQyw4QkFBRDtBQUFnQixNQUFBLEdBQUcsRUFBRUM7QUFBckIsT0FBZ0NGLElBQWhDLEVBQTBDQyxJQUExQztBQUFnRCxNQUFBLE1BQU0sRUFBRUMsS0FBSyxLQUFLSCxLQUFLLENBQUNJLE1BQU4sR0FBZTtBQUFqRixPQUFQO0FBQ0gsR0FKQSxDQURMLENBRHNCO0FBQUEsQ0FBbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgbWFwIGZyb20gJ2xvZGFzaC9tYXAnXG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eSdcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnXG5cbmltcG9ydCB7IFRCYXNlSW5wdXRQcm9wcywgVEJhc2VQcm9wcyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBPdXRwdXRMaXN0SXRlbSB9IGZyb20gJy4vT3V0cHV0TGlzdEl0ZW0nXG5cbmltcG9ydCAnLi4vc3R5bGVzL2NvbXBvbmVudHMvT3V0cHV0TGlzdC5zY3NzJ1xuXG50eXBlIFByb3BzID0gVEJhc2VQcm9wcyAmIFRCYXNlSW5wdXRQcm9wczxBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+ICYge1xuICAgIGRpcmVjdGlvbj86ICdyb3cnIHwgJ2NvbHVtbicsXG4gICAgbGFiZWxGaWVsZElkPzogc3RyaW5nLFxuICAgIGxpbmtGaWVsZElkPzogc3RyaW5nLFxuICAgIHNlcGFyYXRvcj86IHN0cmluZyxcbiAgICB0YXJnZXQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IE91dHB1dExpc3QgPSAoeyBjbGFzc05hbWUsIGRpcmVjdGlvbiA9ICdjb2x1bW4nLCB2YWx1ZSA9IFtdLCAuLi5yZXN0IH06IFByb3BzKSA9PiAoXG4gICAgPHVsIGNsYXNzTmFtZT17Y2xhc3NOYW1lcygnbjJvLW91dHB1dC1saXN0JywgY2xhc3NOYW1lLCBgbjJvLW91dHB1dC1saXN0LS0ke2RpcmVjdGlvbn1gKX0+XG4gICAgICAgIHttYXAodmFsdWUsIChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzRW1wdHkoaXRlbSkpIHsgcmV0dXJuIG51bGwgfVxuXG4gICAgICAgICAgICByZXR1cm4gPE91dHB1dExpc3RJdGVtIGtleT17aW5kZXh9IHsuLi5yZXN0fSB7Li4uaXRlbX0gaXNMYXN0PXtpbmRleCA9PT0gdmFsdWUubGVuZ3RoIC0gMX0gLz5cbiAgICAgICAgfSl9XG4gICAgPC91bD5cbilcbiJdfQ==
|
package/lib/display/Text.d.ts
CHANGED
package/lib/display/Text.js
CHANGED
|
@@ -35,4 +35,4 @@ function Text(_ref) {
|
|
|
35
35
|
Text.defaultProps = {
|
|
36
36
|
preLine: false
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNwbGF5L1RleHQudHN4Il0sIm5hbWVzIjpbIlRleHQiLCJ0ZXh0IiwiZm9ybWF0IiwicHJlTGluZSIsImNsYXNzTmFtZSIsInJlc3QiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFJQTs7OztBQVNPLFNBQVNBLElBQVQsT0FBb0U7QUFBQSxNQUFwREMsSUFBb0QsUUFBcERBLElBQW9EO0FBQUEsTUFBOUNDLE1BQThDLFFBQTlDQSxNQUE4QztBQUFBLE1BQXRDQyxPQUFzQyxRQUF0Q0EsT0FBc0M7QUFBQSxNQUE3QkMsU0FBNkIsUUFBN0JBLFNBQTZCO0FBQUEsTUFBZkMsSUFBZTtBQUN2RSxzQkFDSTtBQUNJLElBQUEsU0FBUyxFQUFFLDRCQUFXLGFBQVgsRUFBMEJELFNBQTFCLEVBQXFDO0FBQzVDLDhCQUF3QkQ7QUFEb0IsS0FBckM7QUFEZixLQUlRRSxJQUpSLEdBTUssb0NBQWVKLElBQWYsRUFBcUJDLE1BQXJCLENBTkwsQ0FESjtBQVVIOztBQUVERixJQUFJLENBQUNNLFlBQUwsR0FBb0I7QUFDaEJILEVBQUFBLE9BQU8sRUFBRTtBQURPLENBQXBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcblxuaW1wb3J0IHsgVEJhc2VQcm9wcyB9IGZyb20gJy4uL3R5cGVzJ1xuLy8gQHRzLWlnbm9yZSBpbXBvcnQgZnJvbSBqcyBmaWxlXG5pbXBvcnQgeyBwYXJzZUZvcm1hdHRlciB9IGZyb20gJy4uL3V0aWxzL3BhcnNlRm9ybWF0dGVyJ1xuXG50eXBlIFByb3BzID0gVEJhc2VQcm9wcyAmIHtcbiAgICBmb3JtYXQ6IHN0cmluZyxcbiAgICAvLyDRhNC+
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNwbGF5L1RleHQudHN4Il0sIm5hbWVzIjpbIlRleHQiLCJ0ZXh0IiwiZm9ybWF0IiwicHJlTGluZSIsImNsYXNzTmFtZSIsInJlc3QiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFJQTs7OztBQVNPLFNBQVNBLElBQVQsT0FBb0U7QUFBQSxNQUFwREMsSUFBb0QsUUFBcERBLElBQW9EO0FBQUEsTUFBOUNDLE1BQThDLFFBQTlDQSxNQUE4QztBQUFBLE1BQXRDQyxPQUFzQyxRQUF0Q0EsT0FBc0M7QUFBQSxNQUE3QkMsU0FBNkIsUUFBN0JBLFNBQTZCO0FBQUEsTUFBZkMsSUFBZTtBQUN2RSxzQkFDSTtBQUNJLElBQUEsU0FBUyxFQUFFLDRCQUFXLGFBQVgsRUFBMEJELFNBQTFCLEVBQXFDO0FBQzVDLDhCQUF3QkQ7QUFEb0IsS0FBckM7QUFEZixLQUlRRSxJQUpSLEdBTUssb0NBQWVKLElBQWYsRUFBcUJDLE1BQXJCLENBTkwsQ0FESjtBQVVIOztBQUVERixJQUFJLENBQUNNLFlBQUwsR0FBb0I7QUFDaEJILEVBQUFBLE9BQU8sRUFBRTtBQURPLENBQXBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcblxuaW1wb3J0IHsgVEJhc2VQcm9wcyB9IGZyb20gJy4uL3R5cGVzJ1xuLy8gQHRzLWlnbm9yZSBpbXBvcnQgZnJvbSBqcyBmaWxlXG5pbXBvcnQgeyBwYXJzZUZvcm1hdHRlciB9IGZyb20gJy4uL3V0aWxzL3BhcnNlRm9ybWF0dGVyJ1xuXG50eXBlIFByb3BzID0gVEJhc2VQcm9wcyAmIHtcbiAgICBmb3JtYXQ6IHN0cmluZyxcbiAgICAvLyDRhNC+0YDQvNCw0YIg0LLRgNC10LzQtdC90LhcbiAgICBwcmVMaW5lPzogYm9vbGVhbixcbiAgICB0ZXh0OiBzdHJpbmcgLy8g0YTQu9Cw0LMg0L/QtdGA0LXQvdC+0YHQsCDRgtC10LrRgdGC0LBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRleHQoeyB0ZXh0LCBmb3JtYXQsIHByZUxpbmUsIGNsYXNzTmFtZSwgLi4ucmVzdCB9OiBQcm9wcykge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ24yby1zbmlwcGV0JywgY2xhc3NOYW1lLCB7XG4gICAgICAgICAgICAgICAgJ3doaXRlLXNwYWNlLXByZS1saW5lJzogcHJlTGluZSxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgID5cbiAgICAgICAgICAgIHtwYXJzZUZvcm1hdHRlcih0ZXh0LCBmb3JtYXQpfVxuICAgICAgICA8L3NwYW4+XG4gICAgKVxufVxuXG5UZXh0LmRlZmF1bHRQcm9wcyA9IHtcbiAgICBwcmVMaW5lOiBmYWxzZSxcbn0gYXMgUHJvcHNcbiJdfQ==
|
|
@@ -19,6 +19,7 @@ export declare type Props = TBaseProps & TBaseInputProps<any> & {
|
|
|
19
19
|
label?: string;
|
|
20
20
|
onClick?(): void;
|
|
21
21
|
tabIndex?: number;
|
|
22
|
+
forwardedRef?: React.RefObject<HTMLDivElement>;
|
|
22
23
|
};
|
|
23
24
|
export declare class Checkbox extends React.Component<Props> {
|
|
24
25
|
state: {
|
|
@@ -81,11 +81,13 @@ var Checkbox = /*#__PURE__*/function (_React$Component) {
|
|
|
81
81
|
onClick = _this$props.onClick,
|
|
82
82
|
onFocus = _this$props.onFocus,
|
|
83
83
|
onChange = _this$props.onChange,
|
|
84
|
-
onBlur = _this$props.onBlur
|
|
84
|
+
onBlur = _this$props.onBlur,
|
|
85
|
+
forwardedRef = _this$props.forwardedRef;
|
|
85
86
|
var id = this.state.id;
|
|
86
87
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
88
|
+
ref: forwardedRef,
|
|
87
89
|
style: style,
|
|
88
|
-
className: (0, _classnames["default"])('custom-control', 'custom-checkbox', 'n2o-checkbox',
|
|
90
|
+
className: (0, _classnames["default"])(className, 'custom-control', 'custom-checkbox', 'n2o-checkbox', {
|
|
89
91
|
'custom-control-inline': inline,
|
|
90
92
|
'd-flex': help
|
|
91
93
|
}),
|
|
@@ -103,7 +105,9 @@ var Checkbox = /*#__PURE__*/function (_React$Component) {
|
|
|
103
105
|
tabIndex: tabIndex,
|
|
104
106
|
label: label
|
|
105
107
|
}), /*#__PURE__*/_react["default"].createElement("label", {
|
|
106
|
-
className: "custom-control-label
|
|
108
|
+
className: (0, _classnames["default"])('custom-control-label', {
|
|
109
|
+
disabled: disabled
|
|
110
|
+
}),
|
|
107
111
|
htmlFor: id
|
|
108
112
|
}, label), help && /*#__PURE__*/_react["default"].createElement(_HelpPopover.HelpPopover, {
|
|
109
113
|
help: help
|
|
@@ -114,4 +118,4 @@ var Checkbox = /*#__PURE__*/function (_React$Component) {
|
|
|
114
118
|
}(_react["default"].Component);
|
|
115
119
|
|
|
116
120
|
exports.Checkbox = Checkbox;
|
|
117
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
121
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvQ2hlY2tib3gvQ2hlY2tib3gudHN4Il0sIm5hbWVzIjpbIkNoZWNrYm94IiwiaWQiLCJzZXRTdGF0ZSIsInByb3BzIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJkaXNhYmxlZCIsInZhbHVlIiwiaW5saW5lIiwiY2hlY2tlZCIsImhlbHAiLCJ0YWJJbmRleCIsInN0eWxlIiwib25DbGljayIsIm9uRm9jdXMiLCJvbkNoYW5nZSIsIm9uQmx1ciIsImZvcndhcmRlZFJlZiIsInN0YXRlIiwiUmVhY3QiLCJDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7Ozs7OztJQTBCYUEsUTs7Ozs7Ozs7Ozs7Ozs7OzhGQUNEO0FBQUVDLE1BQUFBLEVBQUUsRUFBRTtBQUFOLEs7Ozs7OztXQUVSLDZCQUEwQjtBQUN0QixXQUFLQyxRQUFMLENBQWM7QUFBRUQsUUFBQUEsRUFBRSxFQUFFLDBCQUFTLFdBQVQ7QUFBTixPQUFkO0FBQ0g7OztXQUVELGtCQUFTO0FBQ0wsd0JBY0ksS0FBS0UsS0FkVDtBQUFBLFVBQVFDLFNBQVIsZUFBUUEsU0FBUjtBQUFBLFVBQ0lDLEtBREosZUFDSUEsS0FESjtBQUFBLFVBRUlDLFFBRkosZUFFSUEsUUFGSjtBQUFBLFVBR0lDLEtBSEosZUFHSUEsS0FISjtBQUFBLFVBSUlDLE1BSkosZUFJSUEsTUFKSjtBQUFBLFVBS0lDLE9BTEosZUFLSUEsT0FMSjtBQUFBLFVBTUlDLElBTkosZUFNSUEsSUFOSjtBQUFBLFVBT0lDLFFBUEosZUFPSUEsUUFQSjtBQUFBLFVBUUlDLEtBUkosZUFRSUEsS0FSSjtBQUFBLFVBU0lDLE9BVEosZUFTSUEsT0FUSjtBQUFBLFVBVUlDLE9BVkosZUFVSUEsT0FWSjtBQUFBLFVBV0lDLFFBWEosZUFXSUEsUUFYSjtBQUFBLFVBWUlDLE1BWkosZUFZSUEsTUFaSjtBQUFBLFVBYUlDLFlBYkosZUFhSUEsWUFiSjtBQWdCQSxVQUFRaEIsRUFBUixHQUFlLEtBQUtpQixLQUFwQixDQUFRakIsRUFBUjtBQUVBLDBCQUNJO0FBQ0ksUUFBQSxHQUFHLEVBQUVnQixZQURUO0FBRUksUUFBQSxLQUFLLEVBQUVMLEtBRlg7QUFHSSxRQUFBLFNBQVMsRUFBRSw0QkFDUFIsU0FETyxFQUVQLGdCQUZPLEVBR1AsaUJBSE8sRUFJUCxjQUpPLEVBS1A7QUFBRSxtQ0FBeUJJLE1BQTNCO0FBQW1DLG9CQUFVRTtBQUE3QyxTQUxPLENBSGY7QUFVSSxRQUFBLE9BQU8sRUFBRUc7QUFWYixzQkFZSSxnQ0FBQyxZQUFEO0FBQ0ksUUFBQSxFQUFFLEVBQUVaLEVBRFI7QUFFSSxRQUFBLFNBQVMsRUFBQyxzQkFGZDtBQUdJLFFBQUEsUUFBUSxFQUFFSyxRQUhkO0FBSUksUUFBQSxJQUFJLEVBQUMsVUFKVDtBQUtJLFFBQUEsS0FBSyxFQUFFQyxLQUxYO0FBTUksUUFBQSxPQUFPLEVBQUUsdUJBQU1FLE9BQU4sSUFBaUIsQ0FBQyxDQUFDRixLQUFuQixHQUEyQkUsT0FOeEM7QUFPSSxRQUFBLFFBQVEsRUFBRU0sUUFQZDtBQVFJLFFBQUEsT0FBTyxFQUFFRCxPQVJiO0FBU0ksUUFBQSxNQUFNLEVBQUVFLE1BVFo7QUFVSSxRQUFBLFFBQVEsRUFBRUwsUUFWZDtBQVdJLFFBQUEsS0FBSyxFQUFFTjtBQVhYLFFBWkosZUF5Qkk7QUFBTyxRQUFBLFNBQVMsRUFBRSw0QkFBVyxzQkFBWCxFQUFtQztBQUFFQyxVQUFBQSxRQUFRLEVBQVJBO0FBQUYsU0FBbkMsQ0FBbEI7QUFBb0UsUUFBQSxPQUFPLEVBQUVMO0FBQTdFLFNBQWtGSSxLQUFsRixDQXpCSixFQTBCS0ssSUFBSSxpQkFBSSxnQ0FBQyx3QkFBRDtBQUFhLFFBQUEsSUFBSSxFQUFFQTtBQUFuQixRQTFCYixDQURKO0FBOEJIOzs7RUF4RHlCUyxrQkFBTUMsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCBpc05pbCBmcm9tICdsb2Rhc2gvaXNOaWwnXG5pbXBvcnQgdW5pcXVlSWQgZnJvbSAnbG9kYXNoL3VuaXF1ZUlkJ1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcblxuaW1wb3J0IHsgVEJhc2VJbnB1dFByb3BzLCBUQmFzZVByb3BzIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBIZWxwUG9wb3ZlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvSGVscFBvcG92ZXInXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJy4uL0lucHV0J1xuXG4vKipcbiAqINCQ0LvRjNGC0LXRgNC90LDRgtC40LLQvdGL0Lkg0YfQtdC60LHQvtC60YFcbiAqIEByZWFjdFByb3BzIHtzdHJpbmd8bnVtYmVyfSB2YWx1ZSAtINGD0L3QuNC60LDQu9GM0L3QviDQvtC/0YDQtdC00LXQu9GP0LXRgiDRjdC70LXQvNC10L3RglxuICogQHJlYWN0UHJvcHMge2Jvb2xlYW59IGNoZWNrZWQgLSDQvdCw0YfQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtVxuICogQHJlYWN0UHJvcHMge2Jvb2xlYW59IGRpc2FibGVkIC0g0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8gLyDQvdC10YJcbiAqIEByZWFjdFByb3BzIHtmdW5jdGlvbn0gb25DaGFuZ2UgLSDQstGL0LfRi9Cy0LDQtdGC0YHRjyDQv9GA0Lgg0LjQt9C80LXQvdC10L3QuNC4INC30L3QsNGH0LXQvdC40Y9cbiAqIEByZWFjdFByb3BzIHtmdW5jdGlvbn0gb25DbGljayAtINGB0L7QsdGL0YLQuNC1INC60LvQuNC60LAg0L/QviDRh9C10LrQsdC+0LrRgdGDLFxuICogQHJlYWN0UHJvcHMge3N0cmluZ30gbGFiZWwgLSDQu9C10LnQsdC7XG4gKiBAcmVhY3RQcm9wcyB7c3RyaW5nfSBjbGFzc05hbWUgLSDQutC70LDRgdGBINC60L7Qv9C+0L3QtdC90YLQsCBDaGVja2JveE4yT1xuICogQHJlYWN0UHJvcHMge3N0cmluZ30gaGVscCAtINC/0L7QtNGB0LrQsNC30LrQsCDQsiBwb3BvdmVyXG4gKiBAcmVhY3RQcm9wcyB7Ym9vbGVhbn0gaW5saW5lIC0g0LIg0YDRj9C0XG4gKi9cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCB0eXBlIFByb3BzID0gVEJhc2VQcm9wcyAmIFRCYXNlSW5wdXRQcm9wczxhbnk+ICYge1xuICAgIGNoZWNrZWQ/OiBib29sZWFuLFxuICAgIGhlbHA/OiBzdHJpbmcsIC8vINCf0L7QtNGB0LrQsNC30LrQsCDQsiBwb3BvdmVyXG4gICAgaW5saW5lPzogYm9vbGVhbiwgLy8g0KTQu9Cw0LMg0YDQtdC90LTQtdGA0LAgbGFiZWwg0LIg0L7QtNC90YMg0YHRgtGA0L7QutGDINGBINC60L7QvdGC0YDQvtC70L7QvFxuICAgIGxhYmVsPzogc3RyaW5nLFxuICAgIG9uQ2xpY2s/KCk6IHZvaWQsXG4gICAgdGFiSW5kZXg/OiBudW1iZXIsXG4gICAgZm9yd2FyZGVkUmVmPzogUmVhY3QuUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pixcbn1cblxuZXhwb3J0IGNsYXNzIENoZWNrYm94IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFByb3BzPiB7XG4gICAgc3RhdGUgPSB7IGlkOiAnJyB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlkOiB1bmlxdWVJZCgnY2hlY2tib3gtJykgfSlcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgY2xhc3NOYW1lLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgaW5saW5lLFxuICAgICAgICAgICAgY2hlY2tlZCxcbiAgICAgICAgICAgIGhlbHAsXG4gICAgICAgICAgICB0YWJJbmRleCxcbiAgICAgICAgICAgIHN0eWxlLFxuICAgICAgICAgICAgb25DbGljayxcbiAgICAgICAgICAgIG9uRm9jdXMsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIG9uQmx1cixcbiAgICAgICAgICAgIGZvcndhcmRlZFJlZixcbiAgICAgICAgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICBjb25zdCB7IGlkIH0gPSB0aGlzLnN0YXRlXG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICdjdXN0b20tY29udHJvbCcsXG4gICAgICAgICAgICAgICAgICAgICdjdXN0b20tY2hlY2tib3gnLFxuICAgICAgICAgICAgICAgICAgICAnbjJvLWNoZWNrYm94JyxcbiAgICAgICAgICAgICAgICAgICAgeyAnY3VzdG9tLWNvbnRyb2wtaW5saW5lJzogaW5saW5lLCAnZC1mbGV4JzogaGVscCB9LFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtpc05pbChjaGVja2VkKSA/ICEhdmFsdWUgOiBjaGVja2VkfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgICAgICAgICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ2N1c3RvbS1jb250cm9sLWxhYmVsJywgeyBkaXNhYmxlZCB9KX0gaHRtbEZvcj17aWR9PntsYWJlbH08L2xhYmVsPlxuICAgICAgICAgICAgICAgIHtoZWxwICYmIDxIZWxwUG9wb3ZlciBoZWxwPXtoZWxwfSAvPn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApXG4gICAgfVxufVxuIl19
|
|
@@ -154,7 +154,7 @@ var DateTimeControl = /*#__PURE__*/function (_React$Component) {
|
|
|
154
154
|
|
|
155
155
|
var begin = inputs[_types.DateTimeControlName.BEGIN];
|
|
156
156
|
|
|
157
|
-
if (date.isBefore(begin)) {
|
|
157
|
+
if (inputName === 'end' && date.isBefore(begin)) {
|
|
158
158
|
var _inputs3;
|
|
159
159
|
|
|
160
160
|
_this.setState({
|
|
@@ -484,4 +484,4 @@ var DateTimeControl = /*#__PURE__*/function (_React$Component) {
|
|
|
484
484
|
}(_react["default"].Component);
|
|
485
485
|
|
|
486
486
|
exports.DateTimeControl = DateTimeControl;
|
|
487
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvRGF0ZVBpY2tlci9EYXRlVGltZUNvbnRyb2wudHN4Il0sIm5hbWVzIjpbIkNvbnRyb2xUeXBlIiwiREFURV9QSUNLRVIiLCJEQVRFX0lOVEVSVkFMIiwiRGF0ZVRpbWVDb250cm9sIiwicHJvcHMiLCJpbnB1dE5hbWUiLCJpc1RpbWVTZXQiLCJzdGF0ZSIsInNldFN0YXRlIiwiaW5wdXRzIiwiRGF0ZVRpbWVDb250cm9sTmFtZSIsIkRFRkFVTFRfTkFNRSIsImRhdGVUb1N0cmluZyIsIkJFR0lOIiwiRU5EIiwib25DaGFuZ2UiLCJ2YWx1ZSIsImdldFZhbHVlIiwiZGF5IiwiY2xvc2UiLCJ0eXBlIiwiaXNTYW1lT3JBZnRlciIsImlucHV0VmFsdWUiLCJpc0FmdGVyIiwiaXNQb3BVcFZpc2libGUiLCJvbkJsdXIiLCJkYXRlIiwiY2FsbGJhY2siLCJzaW5nbGVEYXRlIiwidW5kZWZpbmVkIiwiZW5kIiwiYmVnaW4iLCJpc0JlZm9yZSIsIm9uSW5wdXRDaGFuZ2UiLCJ2aXNpYmxlIiwiaXNGb2N1cyIsImUiLCJ0YXJnZXQiLCJkYXRlUGlja2VyIiwiZGF0ZUlucHV0IiwiaW5wdXRHcm91cCIsImNsYXNzTmFtZSIsImluY2x1ZGVzIiwiY29udGFpbnMiLCJ2YWx1ZVRvQmx1ciIsInNldFZpc2liaWxpdHkiLCJvbkZvY3VzIiwicG9wcGVyUmVmIiwiciIsImVsIiwiY29udHJvbCIsImRhdGVGb3JtYXQiLCJjb25maWdMb2NhbGUiLCJ0aW1lRm9ybWF0IiwiZGF0ZURpdmlkZXIiLCJvdXRwdXRGb3JtYXQiLCJkZWZhdWx0VGltZSIsImZvcm1hdCIsInV0YyIsIkRhdGUiLCJ0b1N0cmluZyIsIm1vbWVudCIsIndpbmRvdyIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9uQ2xpY2tPdXRzaWRlIiwiYmluZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyYW5nZSIsIl9mIiwibWF4IiwibWluIiwibWFya1RpbWVBc1NldCIsInBvcFVwIiwic2VsZWN0IiwicGFyc2VSYW5nZSIsImRpc2FibGVkIiwicGxhY2Vob2xkZXIiLCJhdXRvRm9jdXMiLCJvcGVuT25Gb2N1cyIsInBvcHVwUGxhY2VtZW50Iiwic3RyYXRlZ3kiLCJvbktleURvd24iLCJwaWNrZXIiLCJyZWYiLCJzZXRDb250cm9sUmVmIiwic2V0SW5wdXRSZWYiLCJvbklucHV0Qmx1ciIsInN0eWxlIiwicGxhY2VtZW50IiwicmVuZGVyUG9wVXAiLCJSZWFjdCIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFJQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFRQTs7Ozs7Ozs7OztBQThCTyxJQUFNQSxXQUFXLEdBQUc7QUFDdkJDLEVBQUFBLFdBQVcsRUFBRSxhQURVO0FBRXZCQyxFQUFBQSxhQUFhLEVBQUU7QUFGUSxDQUFwQjs7O0lBS01DLGU7Ozs7O0FBYVQsMkJBQVlDLEtBQVosRUFBeUM7QUFBQTs7QUFBQTtBQUNyQyw4QkFBTUEsS0FBTjtBQURxQyxtR0FSTCxJQVFLO0FBQUEsbUdBTkwsSUFNSztBQUFBLGdHQUpILElBSUc7QUFBQSw4RkFGaUIsSUFFakI7QUFBQSxzR0F5RXpCLFVBQUNDLFNBQUQsRUFBdUI7QUFDbkMsVUFBUUMsU0FBUixHQUFzQixNQUFLQyxLQUEzQixDQUFRRCxTQUFSOztBQUVBLFlBQUtFLFFBQUwsQ0FBYztBQUNWRixRQUFBQSxTQUFTLGtDQUFPQSxTQUFQLDRDQUFtQkQsU0FBbkIsRUFBK0IsSUFBL0I7QUFEQyxPQUFkO0FBR0gsS0EvRXdDO0FBQUEsaUdBb0c5QixVQUFDQSxTQUFELEVBQThFO0FBQ3JGLFVBQVFJLE1BQVIsR0FBbUIsTUFBS0YsS0FBeEIsQ0FBUUUsTUFBUjs7QUFFQSxVQUFJSixTQUFTLEtBQUtLLDJCQUFvQkMsWUFBdEMsRUFBb0Q7QUFDaEQsZUFBTyxNQUFLQyxZQUFMLENB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QVFBLEtBQVI7QUFBQSxZQUFlQyxTQUFmLFNBQWVBLFNBQWY7QUFBQSw0QkFDRztBQUNJLFVBQUEsR0FBRyxFQUFFTCxHQURUO0FBRUksVUFBQSxLQUFLLEVBQUVJLEtBRlg7QUFHSSw0QkFBZ0JDLFNBSHBCO0FBSUksVUFBQSxTQUFTLEVBQUM7QUFKZCxXQU1LLE1BQUksQ0FBQ0MsV0FBTCxFQU5MLENBREg7QUFBQSxPQUpMLENBekJSLENBUkosQ0FESixDQURKO0FBdURIOzs7RUFsY2dDQyxrQkFBTUMsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBFbGVtZW50VHlwZSwgRm9jdXNFdmVudEhhbmRsZXIsIEtleWJvYXJkRXZlbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGZpbmRET01Ob2RlIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IGV2ZXJ5IGZyb20gJ2xvZGFzaC9ldmVyeSdcbmltcG9ydCBpc1VuZGVmaW5lZCBmcm9tICdsb2Rhc2gvaXNVbmRlZmluZWQnXG5pbXBvcnQgaXNGdW5jdGlvbiBmcm9tICdsb2Rhc2gvaXNGdW5jdGlvbidcbmltcG9ydCBpc051bGwgZnJvbSAnbG9kYXNoL2lzTnVsbCdcbmltcG9ydCBtb21lbnQsIHsgTW9tZW50IH0gZnJvbSAnbW9tZW50L21vbWVudCdcbmltcG9ydCB7IE1hbmFnZXIsIFBvcHBlciwgUmVmZXJlbmNlLCBSZWZIYW5kbGVyIH0gZnJvbSAncmVhY3QtcG9wcGVyJ1xuaW1wb3J0IHsgV3JhcHBlckluc3RhbmNlIH0gZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnbG9kYXNoJ1xuXG5pbXBvcnQgeyBUQmFzZUlucHV0UHJvcHMsIFRCYXNlUHJvcHMgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgYnVpbGREYXRlRm9ybWF0LCBtYXBUb0RlZmF1bHRUaW1lLCBtYXBUb1ZhbHVlIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IERhdGVJbnB1dEdyb3VwIH0gZnJvbSAnLi9EYXRlSW5wdXRHcm91cCdcbmltcG9ydCB7IFBvcFVwIH0gZnJvbSAnLi9Qb3BVcCdcbmltcG9ydCB7XG4gICAgRGF0ZVRpbWVDb250cm9sTmFtZSwgRGF0ZVR5cGUsXG4gICAgRGF0ZVBpY2tlclZhbHVlLFxuICAgIE9uSW5wdXRDaGFuZ2VIYW5kbGVyLCBQb3BwZXJQbGFjZW1lbnQsXG4gICAgUG9wcGVyUG9zaXRpb25pbmdTdHJhdGVneSxcbiAgICBEZWZhdWx0VGltZSxcbn0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0ICcuLi8uLi9zdHlsZXMvY29tcG9uZW50cy9EYXRlUGlja2VyLnNjc3MnXG5cbnR5cGUgRGF0ZVRpbWVDb250cm9sUHJvcHMgPSBUQmFzZVByb3BzICYgT21pdDxUQmFzZUlucHV0UHJvcHM8RGF0ZVBpY2tlclZhbHVlPiwgJ29uQ2hhbmdlJyB8ICdvbkJsdXInPiAmIHtcbiAgICBjb25maWdMb2NhbGU/OiAnZW4nIHwgJ3J1JyxcbiAgICBkYXRlRGl2aWRlcj86IHN0cmluZyxcbiAgICBkYXRlRm9ybWF0Pzogc3RyaW5nLFxuICAgIGRlZmF1bHRUaW1lPzogc3RyaW5nLFxuICAgIG1heD86IHN0cmluZyxcbiAgICBtaW4/OiBzdHJpbmcsXG4gICAgb25CbHVyPyh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IEFycmF5PHN0cmluZyB8IG51bGw+KTogdm9pZCxcbiAgICBvbkNoYW5nZT8odmFsdWU6IHN0cmluZyB8IG51bGwgfCBBcnJheTxzdHJpbmcgfCBudWxsPik6IHZvaWQsXG4gICAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyLFxuICAgIG9uS2V5RG93bj8oZXZ0OiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KTogdm9pZCxcbiAgICBvcGVuT25Gb2N1cz86IGJvb2xlYW4sXG4gICAgb3V0cHV0Rm9ybWF0Pzogc3RyaW5nLFxuICAgIHBvcHVwUGxhY2VtZW50PzogUG9wcGVyUGxhY2VtZW50LFxuICAgIHN0cmF0ZWd5OiBQb3BwZXJQb3NpdGlvbmluZ1N0cmF0ZWd5LFxuICAgIHRpbWVGb3JtYXQ/OiBzdHJpbmcsXG4gICAgdHlwZT86IHN0cmluZyxcbiAgICB1dGM/OiBib29sZWFuLFxuICAgIHZhbHVlOiBEYXRlUGlja2VyVmFsdWVcbn1cblxudHlwZSBEYXRlVGltZUNvbnRyb2xTdGF0ZSA9IHtcbiAgICBpbnB1dHM6IFJlY29yZDxzdHJpbmcsIE1vbWVudCB8IG51bGw+LFxuICAgIGlzRm9jdXM6IGJvb2xlYW4sXG4gICAgaXNQb3BVcFZpc2libGU6IGJvb2xlYW4sXG4gICAgaXNUaW1lU2V0OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuIHwgdW5kZWZpbmVkPlxufVxuXG5leHBvcnQgY29uc3QgQ29udHJvbFR5cGUgPSB7XG4gICAgREFURV9QSUNLRVI6ICdkYXRlLXBpY2tlcicsXG4gICAgREFURV9JTlRFUlZBTDogJ2RhdGUtaW50ZXJ2YWwnLFxufVxuXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PERhdGVUaW1lQ29udHJvbFByb3BzLCBEYXRlVGltZUNvbnRyb2xTdGF0ZT4ge1xuICAgIGZvcm1hdDogc3RyaW5nXG5cbiAgICBkZWZhdWx0VGltZTogRGVmYXVsdFRpbWVcblxuICAgIGRhdGVQaWNrZXI6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IG51bGxcblxuICAgIGlucHV0R3JvdXA6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IG51bGxcblxuICAgIHByaXZhdGUgY29udHJvbDogbnVsbCB8IEVsZW1lbnRUeXBlID0gbnVsbFxuXG4gICAgcHJpdmF0ZSBwb3BVcDogV3JhcHBlckluc3RhbmNlPHVua25vd24sIHVua25vd24+IHwgbnVsbCA9IG51bGxcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzOiBEYXRlVGltZUNvbnRyb2xQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcylcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkYXRlRm9ybWF0ID0gJ0RELk1NLllZWVknLFxuICAgICAgICAgICAgY29uZmlnTG9jYWxlID0gJ3J1JyxcbiAgICAgICAgICAgIHRpbWVGb3JtYXQsXG4gICAgICAgICAgICBkYXRlRGl2aWRlciA9ICcgJyxcbiAgICAgICAgICAgIG91dHB1dEZvcm1hdCA9ICdERC5NTS5ZWVlZIEhIOm1tOnNzJyxcbiAgICAgICAgICAgIGRlZmF1bHRUaW1lID0gJzAwOjAwJyxcbiAgICAgICAgfSA9IHByb3BzXG5cbiAgICAgICAgdGhpcy5mb3JtYXQgPSBidWlsZERhdGVGb3JtYXQoZGF0ZUZvcm1hdCwgdGltZUZvcm1hdCwgZGF0ZURpdmlkZXIpXG5cbiAgICAgICAgdGhpcy5kZWZhdWx0VGltZSA9IG1hcFRvRGVmYXVsdFRpbWUoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIGRlZmF1bHRUaW1lLFxuICAgICAgICAgICAgRGF0ZVRpbWVDb250cm9sTmFtZS5ERUZBVUxUX05BTUUsXG4gICAgICAgICAgICB0aW1lRm9ybWF0LFxuICAgICAgICApXG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGlucHV0czogbWFwVG9WYWx1ZShcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRUaW1lLFxuICAgICAgICAgICAgICAgIG91dHB1dEZvcm1hdCxcbiAgICAgICAgICAgICAgICBjb25maWdMb2NhbGUsXG4gICAgICAgICAgICAgICAgRGF0ZVRpbWVDb250cm9sTmFtZS5ERUZBVUxUX05BTUUsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgaXNQb3BVcFZpc2libGU6IGZhbHNlLFxuICAgICAgICAgICAgaXNUaW1lU2V0OiB7fSxcbiAgICAgICAgICAgIGlzRm9jdXM6IGZhbHNlLFxuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgICAgIHRoaXMuY29udHJvbCA9IG51bGxcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtC60LAg0L3QvtCy0YvRhSDQv9GA0L7Qv9GB0L7QslxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kZXByZWNhdGVkXG4gICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhwcm9wczogRGF0ZVRpbWVDb250cm9sUHJvcHMpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkYXRlRm9ybWF0ID0gJ0RELk1NLllZWVknLFxuICAgICAgICAgICAgY29uZmlnTG9jYWxlID0gJ3J1JyxcbiAgICAgICAgICAgIHRpbWVGb3JtYXQsXG4gICAgICAgICAgICBkYXRlRGl2aWRlciA9ICcgJyxcbiAgICAgICAgICAgIG91dHB1dEZvcm1hdCA9ICdERC5NTS5ZWVlZIEhIOm1tOnNzJyxcbiAgICAgICAgICAgIGRlZmF1bHRUaW1lID0gJzAwOjAwJyxcbiAgICAgICAgfSA9IHByb3BzXG5cbiAgICAgICAgdGhpcy5mb3JtYXQgPSBidWlsZERhdGVGb3JtYXQoZGF0ZUZvcm1hdCwgdGltZUZvcm1hdCwgZGF0ZURpdmlkZXIpXG5cbiAgICAgICAgdGhpcy5kZWZhdWx0VGltZSA9IG1hcFRvRGVmYXVsdFRpbWUoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIGRlZmF1bHRUaW1lLFxuICAgICAgICAgICAgRGF0ZVRpbWVDb250cm9sTmFtZS5ERUZBVUxUX05BTUUsXG4gICAgICAgICAgICB0aW1lRm9ybWF0LFxuICAgICAgICApXG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBpbnB1dHM6IG1hcFRvVmFsdWUoXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0VGltZSxcbiAgICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQsXG4gICAgICAgICAgICAgICAgY29uZmlnTG9jYWxlLFxuICAgICAgICAgICAgICAgIERhdGVUaW1lQ29udHJvbE5hbWUuREVGQVVMVF9OQU1FLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBtYXJrVGltZUFzU2V0ID0gKGlucHV0TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgaXNUaW1lU2V0IH0gPSB0aGlzLnN0YXRlXG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBpc1RpbWVTZXQ6IHsgLi4uaXNUaW1lU2V0LCBbaW5wdXROYW1lXTogdHJ1ZSB9LFxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQuNCy0LXQtNC10L3QuNC1INC6INGB0YLRgNC+0LrQtVxuICAgICAqL1xuICAgIGRhdGVUb1N0cmluZyhkYXRlOiBEYXRlVHlwZSB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyBvdXRwdXRGb3JtYXQgPSAnREQuTU0uWVlZWSBISDptbTpzcycsIHV0YyB9ID0gdGhpcy5wcm9wc1xuXG4gICAgICAgIGlmIChpc051bGwoZGF0ZSkgfHwgdHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS50b1N0cmluZygpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXRjXG4gICAgICAgICAgICA/IG1vbWVudC51dGMoZGF0ZSkuZm9ybWF0KG91dHB1dEZvcm1hdClcbiAgICAgICAgICAgIDogZGF0ZS5mb3JtYXQob3V0cHV0Rm9ybWF0KVxuICAgIH1cblxuICAgIGdldFZhbHVlID0gKGlucHV0TmFtZTogc3RyaW5nIHwgbnVsbCk6IFtzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsXSB8IHN0cmluZyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCB7IGlucHV0cyB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIGlmIChpbnB1dE5hbWUgPT09IERhdGVUaW1lQ29udHJvbE5hbWUuREVGQVVMVF9OQU1FKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlVG9TdHJpbmcoaW5wdXRzW2lucHV0TmFtZV0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5kYXRlVG9TdHJpbmcoaW5wdXRzW0RhdGVUaW1lQ29udHJvbE5hbWUuQkVHSU5dKSxcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRvU3RyaW5nKGlucHV0c1tEYXRlVGltZUNvbnRyb2xOYW1lLkVORF0pLFxuICAgICAgICBdXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0LLRi9C30L7QsiBvbkNoYW5nZVxuICAgICAqL1xuICAgIG9uQ2hhbmdlID0gKGlucHV0TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHNcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlKGlucHV0TmFtZSlcblxuICAgICAgICBvbkNoYW5nZT8uKHZhbHVlKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQsdC+0YAg0LTQsNGC0YssINC/0YDQvtC60LjQtNGL0LLQsNC10YLRgdGPINCyINC60LDQu9C10L3QtNCw0YDRjFxuICAgICAqL1xuICAgIHNlbGVjdCA9IChkYXk6IE1vbWVudCB8IG51bGwsIGlucHV0TmFtZTogc3RyaW5nLCBjbG9zZSA9IHRydWUpID0+IHtcbiAgICAgICAgY29uc3QgeyBpbnB1dHMgfSA9IHRoaXMuc3RhdGVcbiAgICAgICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnByb3BzXG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkRFRkFVTFRfTkFNRSB8fFxuICAgICAgICAgICAgaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkJFR0lOIHx8XG4gICAgICAgICAgICAoaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkVORCAmJlxuICAgICAgICAgICAgICAgICFpbnB1dHNbRGF0ZVRpbWVDb250cm9sTmFtZS5CRUdJTl0pIHx8XG4gICAgICAgICAgICAoaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkVORCAmJlxuICAgICAgICAgICAgICAgIG1vbWVudChkYXkpLmlzU2FtZU9yQWZ0ZXIoaW5wdXRzW0RhdGVUaW1lQ29udHJvbE5hbWUuQkVHSU5dKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkJFR0lOICYmXG4gICAgICAgICAgICAgICAgICAgIGlucHV0c1tEYXRlVGltZUNvbnRyb2xOYW1lLkVORF0gJiZcbiAgICAgICAgICAgICAgICAgICAgbW9tZW50KGRheSkuaXNBZnRlcihpbnB1dHNbRGF0ZVRpbWVDb250cm9sTmFtZS5FTkRdKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TmFtZV06IGRheSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtEYXRlVGltZUNvbnRyb2xOYW1lLkVORF06IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBbaW5wdXROYW1lXTogZGF5LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgaW5wdXRzIH0gPSB0aGlzLnN0YXRlXG5cbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IHsgLi4uaW5wdXRzLCAuLi5pbnB1dFZhbHVlKCkgfSxcbiAgICAgICAgICAgICAgICAgICAgaXNQb3BVcFZpc2libGU6XG4gICAgICAgICAgICBpbnB1dE5hbWUgPT09IERhdGVUaW1lQ29udHJvbE5hbWUuQkVHSU4gfHxcbiAgICAgICAgICAgIGlucHV0TmFtZSA9PT0gRGF0ZVRpbWVDb250cm9sTmFtZS5FTkQgfHxcbiAgICAgICAgICAgICFjbG9zZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShpbnB1dE5hbWUpXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSBDb250cm9sVHlwZS5EQVRFX1BJQ0tFUikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBvbkJsdXIgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyPy4odGhpcy5nZXRWYWx1ZShpbnB1dE5hbWUpKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQsdC+0YAg0LTQsNGC0YssINC/0YDQvtC60LjQtNGL0LLQsNC10YLRgdGPINCyINC40L3Qv9GD0YJcbiAgICAgKiBAdG9kbyDQvtCx0YrQtdC00LjQvdC40YLRjCDQvNC10YLQvtC00Ysgc2VsZWN0INC4IG9uSW5wdXRDaGFuZ2Ug0LIgMSDQvNC10YLQvtC0XG4gICAgICovXG4gICAgb25JbnB1dENoYW5nZTogT25JbnB1dENoYW5nZUhhbmRsZXIgPSAoZGF0ZSwgaW5wdXROYW1lLCBjYWxsYmFjaz8pID0+IHtcbiAgICAgICAgY29uc3QgeyBpbnB1dHMgfSA9IHRoaXMuc3RhdGVcblxuICAgICAgICBjb25zdCBzaW5nbGVEYXRlID0gaW5wdXRzW0RhdGVUaW1lQ29udHJvbE5hbWUuREVGQVVMVF9OQU1FXVxuXG4gICAgICAgIGlmIChkYXRlICYmIHNpbmdsZURhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKGlucHV0TmFtZSA9PT0gRGF0ZVRpbWVDb250cm9sTmFtZS5CRUdJTikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGlucHV0c1tEYXRlVGltZUNvbnRyb2xOYW1lLkVORF1cblxuICAgICAgICAgICAgICAgIGlmIChkYXRlLmlzQWZ0ZXIoZW5kKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0czogeyBbRGF0ZVRpbWVDb250cm9sTmFtZS5CRUdJTl06IGRhdGUsIFtEYXRlVGltZUNvbnRyb2xOYW1lLkVORF06IG51bGwgfSxcbiAgICAgICAgICAgICAgICAgICAgfSwgKCkgPT4gdGhpcy5vbkNoYW5nZShpbnB1dE5hbWUpKVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYmVnaW4gPSBpbnB1dHNbRGF0ZVRpbWVDb250cm9sTmFtZS5CRUdJTl1cblxuICAgICAgICAgICAgaWYgKGRhdGUuaXNCZWZvcmUoYmVnaW4pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0czogeyBbRGF0ZVRpbWVDb250cm9sTmFtZS5CRUdJTl06IG51bGwsIFtEYXRlVGltZUNvbnRyb2xOYW1lLkVORF06IGRhdGUgfSxcbiAgICAgICAgICAgICAgICB9LCAoKSA9PiB0aGlzLm9uQ2hhbmdlKGlucHV0TmFtZSkpXG5cbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaW5wdXRzOiB7IC4uLmlucHV0cywgW2lucHV0TmFtZV06IGRhdGUgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiAoaXNGdW5jdGlvbihjYWxsYmFjaykgPyBjYWxsYmFjaz8uKCkgOiB0aGlzLm9uQ2hhbmdlKGlucHV0TmFtZSkpLFxuICAgICAgICApXG4gICAgfVxuXG4gICAgb25JbnB1dEJsdXIgPSAoZGF0ZTogTW9tZW50IHwgbnVsbCwgaW5wdXROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgeyBvbkJsdXIgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICB0aGlzLm9uSW5wdXRDaGFuZ2UoZGF0ZSwgaW5wdXROYW1lLCAoKSA9PiBvbkJsdXI/Lih0aGlzLmdldFZhbHVlKGlucHV0TmFtZSkpKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINCy0LjQtNC40LzQvtGB0YLRjCDQv9C+0L/QsNC/0LBcbiAgICAgKi9cbiAgICBzZXRWaXNpYmlsaXR5ID0gKHZpc2libGU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBpc1BvcFVwVmlzaWJsZTogdmlzaWJsZSxcbiAgICAgICAgICAgIGlzRm9jdXM6IHZpc2libGUsXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J3QsNCy0LXRiNC40LLQsNC90LjQtSDQu9C40YHRgtC10L3QtdGA0L7QsiDQtNC70Y8g0L/QvtGP0LLQu9C10L3QuNGPIC8g0LjRgdGH0LXQt9Cw0L3QuNGPINC/0L7Qv9Cw0L/QsFxuICAgICAqL1xuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMub25DbGlja091dHNpZGUuYmluZCh0aGlzKSlcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uQ2xpY2tPdXRzaWRlLmJpbmQodGhpcykpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9C10L3QuNC1INC70LjRgdGC0LXQvdC10YDQvtCyINC00LvRjyDQv9C+0Y/QstC70LXQvdC40Y8gLyDQuNGB0YfQtdC30LDQvdC40Y8g0L/QvtC/0LDQv9CwINC/0L7RgdC70LUg0LDQvdC80LDRg9C90YLQsFxuICAgICAqL1xuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMub25DbGlja091dHNpZGUuYmluZCh0aGlzKSlcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uQ2xpY2tPdXRzaWRlLmJpbmQodGhpcykpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IHsgaW5wdXRzIH0gPSB0aGlzLnN0YXRlXG4gICAgICAgIGNvbnN0IHsgYmVnaW4sIGVuZCB9ID0gaW5wdXRzXG5cbiAgICAgICAgaWYgKCFpc051bGwoYmVnaW4pICYmIG1vbWVudChiZWdpbikuaXNBZnRlcihtb21lbnQoZW5kKSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIGlucHV0czogeyAuLi5pbnB1dHMsIGVuZDogbnVsbCB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0LrQsCDQutC70LjQutCwINC30LAg0L/RgNC10LTQtdC70LDQvNC4INC/0L7Qv9Cw0L/QsFxuICAgICAqL1xuICAgIG9uQ2xpY2tPdXRzaWRlOiBFdmVudExpc3RlbmVyID0gKGUpID0+IHtcbiAgICAgICAgY29uc3QgeyB0eXBlLCBvbkJsdXIgfSA9IHRoaXMucHJvcHNcbiAgICAgICAgY29uc3QgeyBpc0ZvY3VzLCBpc1BvcFVwVmlzaWJsZSB9ID0gdGhpcy5zdGF0ZVxuICAgICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBIVE1MRWxlbWVudFxuXG4gICAgICAgIGlmIChpc1BvcFVwVmlzaWJsZSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWZpbmQtZG9tLW5vZGVcbiAgICAgICAgICAgIGNvbnN0IGRhdGVQaWNrZXIgPSBmaW5kRE9NTm9kZSh0aGlzLmRhdGVQaWNrZXIpXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZmluZC1kb20tbm9kZVxuICAgICAgICAgICAgY29uc3QgZGF0ZUlucHV0ID0gZmluZERPTU5vZGUodGhpcy5pbnB1dEdyb3VwKVxuXG4gICAgICAgICAgICBpZiAoIWRhdGVQaWNrZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0YXJnZXQuY2xhc3NOYW1lLmluY2x1ZGVzKCduMm8tcG9wLXVwJykgfHxcbiAgICAgICAgICAgICAgICAoIWRhdGVQaWNrZXIuY29udGFpbnModGFyZ2V0KSAmJiAhZGF0ZUlucHV0Py5jb250YWlucyh0YXJnZXQpKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRm9jdXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdkYXRlLWludGVydmFsJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWVUb0JsdXIgPSB0aGlzLmdldFZhbHVlKG51bGwpXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KHZhbHVlVG9CbHVyKSAmJiBldmVyeSh2YWx1ZVRvQmx1ciwgdmFsdWUgPT4gdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyPy4odmFsdWVUb0JsdXIpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI/Lih0aGlzLmdldFZhbHVlKERhdGVUaW1lQ29udHJvbE5hbWUuREVGQVVMVF9OQU1FKSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnNldFZpc2liaWxpdHkoZmFsc2UpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQstC+0LTQuNGCIG1pbiwgbWF4INC6IG1vbWVudCDQvtCx0YrQtdC60YLRgywg0YLQtdC60YPRidC10LzRgyDRhNC+0YDQvNCw0YLRg1xuICAgICAqL1xuICAgIHBhcnNlUmFuZ2UocmFuZ2U/OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgeyBkYXRlRm9ybWF0ID0gJ0RELk1NLllZWVknIH0gPSB0aGlzLnByb3BzXG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZSBAZml4bWUg0L3QtSDQvtC/0YDQtdC00LXQu9GP0LXRgtGB0Y8g0LHQuNCx0LvQuNC+0YLQtdGH0L3Ri9C5INC80LXRgtC+0LRcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgICAgIHJldHVybiAhaXNVbmRlZmluZWQobW9tZW50KHJhbmdlKS5fZilcbiAgICAgICAgICAgID8gbW9tZW50KHJhbmdlKVxuICAgICAgICAgICAgOiBtb21lbnQocmFuZ2UsIGRhdGVGb3JtYXQpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KDQtdC90LTQtdGAINC/0L7Qv9Cw0L/QsFxuICAgICAqL1xuICAgIHJlbmRlclBvcFVwKCkge1xuICAgICAgICBjb25zdCB7IG1heCwgbWluLCBjb25maWdMb2NhbGUgPSAncnUnLCB0aW1lRm9ybWF0LCBkYXRlRm9ybWF0ID0gJ0RELk1NLllZWVknLCB0eXBlIH0gPSB0aGlzLnByb3BzXG4gICAgICAgIGNvbnN0IHsgaW5wdXRzLCBpc1BvcFVwVmlzaWJsZSwgaXNUaW1lU2V0IH0gPSB0aGlzLnN0YXRlXG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzUG9wVXBWaXNpYmxlICYmIChcbiAgICAgICAgICAgICAgICA8UG9wVXBcbiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgICAgdGltZT17dGhpcy5kZWZhdWx0VGltZX1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT17dHlwZX1cbiAgICAgICAgICAgICAgICAgICAgaXNUaW1lU2V0PXtpc1RpbWVTZXR9XG4gICAgICAgICAgICAgICAgICAgIG1hcmtUaW1lQXNTZXQ9e3RoaXMubWFya1RpbWVBc1NldH1cbiAgICAgICAgICAgICAgICAgICAgdGltZUZvcm1hdD17dGltZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXsocG9wVXApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9wVXAgPSBwb3BVcFxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcG9wVXBcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0c31cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0PXt0aGlzLnNlbGVjdH1cbiAgICAgICAgICAgICAgICAgICAgbWF4PXt0aGlzLnBhcnNlUmFuZ2UobWF4KX1cbiAgICAgICAgICAgICAgICAgICAgbWluPXt0aGlzLnBhcnNlUmFuZ2UobWluKX1cbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlPXtjb25maWdMb2NhbGV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgIH1cblxuICAgIG9uRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGUpID0+IHtcbiAgICAgICAgY29uc3QgeyBvbkZvY3VzIH0gPSB0aGlzLnByb3BzXG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpc0ZvY3VzOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IG9uRm9jdXM/LihlKSxcbiAgICAgICAgKVxuICAgIH1cblxuICAgIHNldElucHV0UmVmID0gKHBvcHBlclJlZjogUmVmSGFuZGxlcikgPT4gKHI6IEhUTUxEaXZFbGVtZW50KSA9PiB7XG4gICAgICAgIHRoaXMuaW5wdXRHcm91cCA9IHJcbiAgICAgICAgcG9wcGVyUmVmKHIpXG4gICAgfVxuXG4gICAgc2V0Q29udHJvbFJlZiA9IChlbDogRWxlbWVudFR5cGUpID0+IHtcbiAgICAgICAgdGhpcy5jb250cm9sID0gZWxcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICBhdXRvRm9jdXMsXG4gICAgICAgICAgICBvcGVuT25Gb2N1cyA9IGZhbHNlLFxuICAgICAgICAgICAgcG9wdXBQbGFjZW1lbnQgPSAnYm90dG9tLXN0YXJ0JyxcbiAgICAgICAgICAgIG91dHB1dEZvcm1hdCA9ICdERC5NTS5ZWVlZIEhIOm1tOnNzJyxcbiAgICAgICAgICAgIHN0cmF0ZWd5ID0gJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgIG1pbixcbiAgICAgICAgICAgIG9uS2V5RG93bixcbiAgICAgICAgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICBjb25zdCB7IGlucHV0cywgaXNQb3BVcFZpc2libGUgfSA9IHRoaXMuc3RhdGVcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuMm8tZGF0ZS1waWNrZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJuMm8tZGF0ZS1waWNrZXJcIlxuICAgICAgICAgICAgICAgICAgICByZWY9eyhwaWNrZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlciA9IHBpY2tlclxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGlja2VyXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8TWFuYWdlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxSZWZlcmVuY2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IHJlZiB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEYXRlSW5wdXRHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q29udHJvbFJlZj17dGhpcy5zZXRDb250cm9sUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNldElucHV0UmVmKHJlZiBhcyBSZWZIYW5kbGVyKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9e3RoaXMuZm9ybWF0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uSW5wdXRDaGFuZ2U9e3RoaXMub25JbnB1dENoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0Q2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXNpYmlsaXR5PXt0aGlzLnNldFZpc2liaWxpdHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXt0aGlzLm9uRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e3RoaXMub25JbnB1dEJsdXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Blbk9uRm9jdXM9e29wZW5PbkZvY3VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0Rm9ybWF0PXtvdXRwdXRGb3JtYXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXg9e21heH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1JlZmVyZW5jZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc1BvcFVwVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBvcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9e3BvcHVwUGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJhdGVneT17c3RyYXRlZ3l9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgcmVmLCBzdHlsZSwgcGxhY2VtZW50IH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wbGFjZW1lbnQ9e3BsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJuMm8tcG9wLXVwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJQb3BVcCgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qb3BwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8L01hbmFnZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgIH1cbn1cbiJdfQ==
|
|
487
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvRGF0ZVBpY2tlci9EYXRlVGltZUNvbnRyb2wudHN4Il0sIm5hbWVzIjpbIkNvbnRyb2xUeXBlIiwiREFURV9QSUNLRVIiLCJEQVRFX0lOVEVSVkFMIiwiRGF0ZVRpbWVDb250cm9sIiwicHJvcHMiLCJpbnB1dE5hbWUiLCJpc1RpbWVTZXQiLCJzdGF0ZSIsInNldFN0YXRlIiwiaW5wdXRzIiwiRGF0ZVRpbWVDb250cm9sTmFtZSIsIkRFRkFVTFRfTkFNRSIsImRhdGVUb1N0cmluZyIsIkJFR0lOIiwiRU5EIiwib25DaGFuZ2UiLCJ2YWx1ZSIsImdldFZhbHVlIiwiZGF5IiwiY2xvc2UiLCJ0eXBlIiwiaXNTYW1lT3JBZnRlciIsImlucHV0VmFsdWUiLCJpc0FmdGVyIiwiaXNQb3BVcFZpc2libGUiLCJvbkJsdXIiLCJkYXRlIiwiY2FsbGJhY2siLCJzaW5nbGVEYXRlIiwidW5kZWZpbmVkIiwiZW5kIiwiYmVnaW4iLCJpc0JlZm9yZSIsIm9uSW5wdXRDaGFuZ2UiLCJ2aXNpYmxlIiwiaXNGb2N1cyIsImUiLCJ0YXJnZXQiLCJkYXRlUGlja2VyIiwiZGF0ZUlucHV0IiwiaW5wdXRHcm91cCIsImNsYXNzTmFtZSIsImluY2x1ZGVzIiwiY29udGFpbnMiLCJ2YWx1ZVRvQmx1ciIsInNldFZpc2liaWxpdHkiLCJvbkZvY3VzIiwicG9wcGVyUmVmIiwiciIsImVsIiwiY29udHJvbCIsImRhdGVGb3JtYXQiLCJjb25maWdMb2NhbGUiLCJ0aW1lRm9ybWF0IiwiZGF0ZURpdmlkZXIiLCJvdXRwdXRGb3JtYXQiLCJkZWZhdWx0VGltZSIsImZvcm1hdCIsInV0YyIsIkRhdGUiLCJ0b1N0cmluZyIsIm1vbWVudCIsIndpbmRvdyIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9uQ2xpY2tPdXRzaWRlIiwiYmluZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyYW5nZSIsIl9mIiwibWF4IiwibWluIiwibWFya1RpbWVBc1NldCIsInBvcFVwIiwic2VsZWN0IiwicGFyc2VSYW5nZSIsImRpc2FibGVkIiwicGxhY2Vob2xkZXIiLCJhdXRvRm9jdXMiLCJvcGVuT25Gb2N1cyIsInBvcHVwUGxhY2VtZW50Iiwic3RyYXRlZ3kiLCJvbktleURvd24iLCJwaWNrZXIiLCJyZWYiLCJzZXRDb250cm9sUmVmIiwic2V0SW5wdXRSZWYiLCJvbklucHV0Qmx1ciIsInN0eWxlIiwicGxhY2VtZW50IiwicmVuZGVyUG9wVXAiLCJSZWFjdCIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFJQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFRQTs7Ozs7Ozs7OztBQThCTyxJQUFNQSxXQUFXLEdBQUc7QUFDdkJDLEVBQUFBLFdBQVcsRUFBRSxhQURVO0FBRXZCQyxFQUFBQSxhQUFhLEVBQUU7QUFGUSxDQUFwQjs7O0lBS01DLGU7Ozs7O0FBYVQsMkJBQVlDLEtBQVosRUFBeUM7QUFBQTs7QUFBQTtBQUNyQyw4QkFBTUEsS0FBTjtBQURxQyxtR0FSTCxJQVFLO0FBQUEsbUdBTkwsSUFNSztBQUFBLGdHQUpILElBSUc7QUFBQSw4RkFGaUIsSUFFakI7QUFBQSxzR0F5RXpCLFVBQUNDLFNBQUQsRUFBdUI7QUFDbkMsVUFBUUMsU0FBUixHQUFzQixNQUFLQyxLQUEzQixDQUFRRCxTQUFSOztBQUVBLFlBQUtFLFFBQUwsQ0FBYztBQUNWRixRQUFBQSxTQUFTLGtDQUFPQSxTQUFQLDRDQUFtQkQsU0FBbkIsRUFBK0IsSUFBL0I7QUFEQyxPQUFkO0FBR0gsS0EvRXdDO0FBQUEsaUdBb0c5QixVQUFDQSxTQUFELEVBQThFO0FBQ3JGLFVBQVFJLE1BQVIsR0FBbUIsTUFBS0YsS0FBeEIsQ0FBUUUsTUFBUjs7QUFFQSxVQUFJSixTQUFTLEtBQUtLLDJCQUFvQkMsWUFBdEMsRUFBb0Q7QUFDaEQsZUFBTyxNQUFLQyxZQUFMLENB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LEdBQUg7QUFBQSxZQUFRSSxLQUFSLFNBQVFBLEtBQVI7QUFBQSxZQUFlQyxTQUFmLFNBQWVBLFNBQWY7QUFBQSw0QkFDRztBQUNJLFVBQUEsR0FBRyxFQUFFTCxHQURUO0FBRUksVUFBQSxLQUFLLEVBQUVJLEtBRlg7QUFHSSw0QkFBZ0JDLFNBSHBCO0FBSUksVUFBQSxTQUFTLEVBQUM7QUFKZCxXQU1LLE1BQUksQ0FBQ0MsV0FBTCxFQU5MLENBREg7QUFBQSxPQUpMLENBekJSLENBUkosQ0FESixDQURKO0FBdURIOzs7RUFsY2dDQyxrQkFBTUMsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBFbGVtZW50VHlwZSwgRm9jdXNFdmVudEhhbmRsZXIsIEtleWJvYXJkRXZlbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGZpbmRET01Ob2RlIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IGV2ZXJ5IGZyb20gJ2xvZGFzaC9ldmVyeSdcbmltcG9ydCBpc1VuZGVmaW5lZCBmcm9tICdsb2Rhc2gvaXNVbmRlZmluZWQnXG5pbXBvcnQgaXNGdW5jdGlvbiBmcm9tICdsb2Rhc2gvaXNGdW5jdGlvbidcbmltcG9ydCBpc051bGwgZnJvbSAnbG9kYXNoL2lzTnVsbCdcbmltcG9ydCBtb21lbnQsIHsgTW9tZW50IH0gZnJvbSAnbW9tZW50L21vbWVudCdcbmltcG9ydCB7IE1hbmFnZXIsIFBvcHBlciwgUmVmZXJlbmNlLCBSZWZIYW5kbGVyIH0gZnJvbSAncmVhY3QtcG9wcGVyJ1xuaW1wb3J0IHsgV3JhcHBlckluc3RhbmNlIH0gZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnbG9kYXNoJ1xuXG5pbXBvcnQgeyBUQmFzZUlucHV0UHJvcHMsIFRCYXNlUHJvcHMgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgYnVpbGREYXRlRm9ybWF0LCBtYXBUb0RlZmF1bHRUaW1lLCBtYXBUb1ZhbHVlIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IERhdGVJbnB1dEdyb3VwIH0gZnJvbSAnLi9EYXRlSW5wdXRHcm91cCdcbmltcG9ydCB7IFBvcFVwIH0gZnJvbSAnLi9Qb3BVcCdcbmltcG9ydCB7XG4gICAgRGF0ZVRpbWVDb250cm9sTmFtZSwgRGF0ZVR5cGUsXG4gICAgRGF0ZVBpY2tlclZhbHVlLFxuICAgIE9uSW5wdXRDaGFuZ2VIYW5kbGVyLCBQb3BwZXJQbGFjZW1lbnQsXG4gICAgUG9wcGVyUG9zaXRpb25pbmdTdHJhdGVneSxcbiAgICBEZWZhdWx0VGltZSxcbn0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0ICcuLi8uLi9zdHlsZXMvY29tcG9uZW50cy9EYXRlUGlja2VyLnNjc3MnXG5cbnR5cGUgRGF0ZVRpbWVDb250cm9sUHJvcHMgPSBUQmFzZVByb3BzICYgT21pdDxUQmFzZUlucHV0UHJvcHM8RGF0ZVBpY2tlclZhbHVlPiwgJ29uQ2hhbmdlJyB8ICdvbkJsdXInPiAmIHtcbiAgICBjb25maWdMb2NhbGU/OiAnZW4nIHwgJ3J1JyxcbiAgICBkYXRlRGl2aWRlcj86IHN0cmluZyxcbiAgICBkYXRlRm9ybWF0Pzogc3RyaW5nLFxuICAgIGRlZmF1bHRUaW1lPzogc3RyaW5nLFxuICAgIG1heD86IHN0cmluZyxcbiAgICBtaW4/OiBzdHJpbmcsXG4gICAgb25CbHVyPyh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IEFycmF5PHN0cmluZyB8IG51bGw+KTogdm9pZCxcbiAgICBvbkNoYW5nZT8odmFsdWU6IHN0cmluZyB8IG51bGwgfCBBcnJheTxzdHJpbmcgfCBudWxsPik6IHZvaWQsXG4gICAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyLFxuICAgIG9uS2V5RG93bj8oZXZ0OiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KTogdm9pZCxcbiAgICBvcGVuT25Gb2N1cz86IGJvb2xlYW4sXG4gICAgb3V0cHV0Rm9ybWF0Pzogc3RyaW5nLFxuICAgIHBvcHVwUGxhY2VtZW50PzogUG9wcGVyUGxhY2VtZW50LFxuICAgIHN0cmF0ZWd5OiBQb3BwZXJQb3NpdGlvbmluZ1N0cmF0ZWd5LFxuICAgIHRpbWVGb3JtYXQ/OiBzdHJpbmcsXG4gICAgdHlwZT86IHN0cmluZyxcbiAgICB1dGM/OiBib29sZWFuLFxuICAgIHZhbHVlOiBEYXRlUGlja2VyVmFsdWVcbn1cblxudHlwZSBEYXRlVGltZUNvbnRyb2xTdGF0ZSA9IHtcbiAgICBpbnB1dHM6IFJlY29yZDxzdHJpbmcsIE1vbWVudCB8IG51bGw+LFxuICAgIGlzRm9jdXM6IGJvb2xlYW4sXG4gICAgaXNQb3BVcFZpc2libGU6IGJvb2xlYW4sXG4gICAgaXNUaW1lU2V0OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuIHwgdW5kZWZpbmVkPlxufVxuXG5leHBvcnQgY29uc3QgQ29udHJvbFR5cGUgPSB7XG4gICAgREFURV9QSUNLRVI6ICdkYXRlLXBpY2tlcicsXG4gICAgREFURV9JTlRFUlZBTDogJ2RhdGUtaW50ZXJ2YWwnLFxufVxuXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PERhdGVUaW1lQ29udHJvbFByb3BzLCBEYXRlVGltZUNvbnRyb2xTdGF0ZT4ge1xuICAgIGZvcm1hdDogc3RyaW5nXG5cbiAgICBkZWZhdWx0VGltZTogRGVmYXVsdFRpbWVcblxuICAgIGRhdGVQaWNrZXI6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IG51bGxcblxuICAgIGlucHV0R3JvdXA6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IG51bGxcblxuICAgIHByaXZhdGUgY29udHJvbDogbnVsbCB8IEVsZW1lbnRUeXBlID0gbnVsbFxuXG4gICAgcHJpdmF0ZSBwb3BVcDogV3JhcHBlckluc3RhbmNlPHVua25vd24sIHVua25vd24+IHwgbnVsbCA9IG51bGxcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzOiBEYXRlVGltZUNvbnRyb2xQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcylcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkYXRlRm9ybWF0ID0gJ0RELk1NLllZWVknLFxuICAgICAgICAgICAgY29uZmlnTG9jYWxlID0gJ3J1JyxcbiAgICAgICAgICAgIHRpbWVGb3JtYXQsXG4gICAgICAgICAgICBkYXRlRGl2aWRlciA9ICcgJyxcbiAgICAgICAgICAgIG91dHB1dEZvcm1hdCA9ICdERC5NTS5ZWVlZIEhIOm1tOnNzJyxcbiAgICAgICAgICAgIGRlZmF1bHRUaW1lID0gJzAwOjAwJyxcbiAgICAgICAgfSA9IHByb3BzXG5cbiAgICAgICAgdGhpcy5mb3JtYXQgPSBidWlsZERhdGVGb3JtYXQoZGF0ZUZvcm1hdCwgdGltZUZvcm1hdCwgZGF0ZURpdmlkZXIpXG5cbiAgICAgICAgdGhpcy5kZWZhdWx0VGltZSA9IG1hcFRvRGVmYXVsdFRpbWUoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIGRlZmF1bHRUaW1lLFxuICAgICAgICAgICAgRGF0ZVRpbWVDb250cm9sTmFtZS5ERUZBVUxUX05BTUUsXG4gICAgICAgICAgICB0aW1lRm9ybWF0LFxuICAgICAgICApXG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGlucHV0czogbWFwVG9WYWx1ZShcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRUaW1lLFxuICAgICAgICAgICAgICAgIG91dHB1dEZvcm1hdCxcbiAgICAgICAgICAgICAgICBjb25maWdMb2NhbGUsXG4gICAgICAgICAgICAgICAgRGF0ZVRpbWVDb250cm9sTmFtZS5ERUZBVUxUX05BTUUsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgaXNQb3BVcFZpc2libGU6IGZhbHNlLFxuICAgICAgICAgICAgaXNUaW1lU2V0OiB7fSxcbiAgICAgICAgICAgIGlzRm9jdXM6IGZhbHNlLFxuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgICAgIHRoaXMuY29udHJvbCA9IG51bGxcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtC60LAg0L3QvtCy0YvRhSDQv9GA0L7Qv9GB0L7QslxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kZXByZWNhdGVkXG4gICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhwcm9wczogRGF0ZVRpbWVDb250cm9sUHJvcHMpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkYXRlRm9ybWF0ID0gJ0RELk1NLllZWVknLFxuICAgICAgICAgICAgY29uZmlnTG9jYWxlID0gJ3J1JyxcbiAgICAgICAgICAgIHRpbWVGb3JtYXQsXG4gICAgICAgICAgICBkYXRlRGl2aWRlciA9ICcgJyxcbiAgICAgICAgICAgIG91dHB1dEZvcm1hdCA9ICdERC5NTS5ZWVlZIEhIOm1tOnNzJyxcbiAgICAgICAgICAgIGRlZmF1bHRUaW1lID0gJzAwOjAwJyxcbiAgICAgICAgfSA9IHByb3BzXG5cbiAgICAgICAgdGhpcy5mb3JtYXQgPSBidWlsZERhdGVGb3JtYXQoZGF0ZUZvcm1hdCwgdGltZUZvcm1hdCwgZGF0ZURpdmlkZXIpXG5cbiAgICAgICAgdGhpcy5kZWZhdWx0VGltZSA9IG1hcFRvRGVmYXVsdFRpbWUoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIGRlZmF1bHRUaW1lLFxuICAgICAgICAgICAgRGF0ZVRpbWVDb250cm9sTmFtZS5ERUZBVUxUX05BTUUsXG4gICAgICAgICAgICB0aW1lRm9ybWF0LFxuICAgICAgICApXG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBpbnB1dHM6IG1hcFRvVmFsdWUoXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0VGltZSxcbiAgICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQsXG4gICAgICAgICAgICAgICAgY29uZmlnTG9jYWxlLFxuICAgICAgICAgICAgICAgIERhdGVUaW1lQ29udHJvbE5hbWUuREVGQVVMVF9OQU1FLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBtYXJrVGltZUFzU2V0ID0gKGlucHV0TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgaXNUaW1lU2V0IH0gPSB0aGlzLnN0YXRlXG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBpc1RpbWVTZXQ6IHsgLi4uaXNUaW1lU2V0LCBbaW5wdXROYW1lXTogdHJ1ZSB9LFxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQuNCy0LXQtNC10L3QuNC1INC6INGB0YLRgNC+0LrQtVxuICAgICAqL1xuICAgIGRhdGVUb1N0cmluZyhkYXRlOiBEYXRlVHlwZSB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyBvdXRwdXRGb3JtYXQgPSAnREQuTU0uWVlZWSBISDptbTpzcycsIHV0YyB9ID0gdGhpcy5wcm9wc1xuXG4gICAgICAgIGlmIChpc051bGwoZGF0ZSkgfHwgdHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS50b1N0cmluZygpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXRjXG4gICAgICAgICAgICA/IG1vbWVudC51dGMoZGF0ZSkuZm9ybWF0KG91dHB1dEZvcm1hdClcbiAgICAgICAgICAgIDogZGF0ZS5mb3JtYXQob3V0cHV0Rm9ybWF0KVxuICAgIH1cblxuICAgIGdldFZhbHVlID0gKGlucHV0TmFtZTogc3RyaW5nIHwgbnVsbCk6IFtzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsXSB8IHN0cmluZyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCB7IGlucHV0cyB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIGlmIChpbnB1dE5hbWUgPT09IERhdGVUaW1lQ29udHJvbE5hbWUuREVGQVVMVF9OQU1FKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlVG9TdHJpbmcoaW5wdXRzW2lucHV0TmFtZV0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5kYXRlVG9TdHJpbmcoaW5wdXRzW0RhdGVUaW1lQ29udHJvbE5hbWUuQkVHSU5dKSxcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRvU3RyaW5nKGlucHV0c1tEYXRlVGltZUNvbnRyb2xOYW1lLkVORF0pLFxuICAgICAgICBdXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0LLRi9C30L7QsiBvbkNoYW5nZVxuICAgICAqL1xuICAgIG9uQ2hhbmdlID0gKGlucHV0TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHNcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlKGlucHV0TmFtZSlcblxuICAgICAgICBvbkNoYW5nZT8uKHZhbHVlKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQsdC+0YAg0LTQsNGC0YssINC/0YDQvtC60LjQtNGL0LLQsNC10YLRgdGPINCyINC60LDQu9C10L3QtNCw0YDRjFxuICAgICAqL1xuICAgIHNlbGVjdCA9IChkYXk6IE1vbWVudCB8IG51bGwsIGlucHV0TmFtZTogc3RyaW5nLCBjbG9zZSA9IHRydWUpID0+IHtcbiAgICAgICAgY29uc3QgeyBpbnB1dHMgfSA9IHRoaXMuc3RhdGVcbiAgICAgICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnByb3BzXG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkRFRkFVTFRfTkFNRSB8fFxuICAgICAgICAgICAgaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkJFR0lOIHx8XG4gICAgICAgICAgICAoaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkVORCAmJlxuICAgICAgICAgICAgICAgICFpbnB1dHNbRGF0ZVRpbWVDb250cm9sTmFtZS5CRUdJTl0pIHx8XG4gICAgICAgICAgICAoaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkVORCAmJlxuICAgICAgICAgICAgICAgIG1vbWVudChkYXkpLmlzU2FtZU9yQWZ0ZXIoaW5wdXRzW0RhdGVUaW1lQ29udHJvbE5hbWUuQkVHSU5dKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgaW5wdXROYW1lID09PSBEYXRlVGltZUNvbnRyb2xOYW1lLkJFR0lOICYmXG4gICAgICAgICAgICAgICAgICAgIGlucHV0c1tEYXRlVGltZUNvbnRyb2xOYW1lLkVORF0gJiZcbiAgICAgICAgICAgICAgICAgICAgbW9tZW50KGRheSkuaXNBZnRlcihpbnB1dHNbRGF0ZVRpbWVDb250cm9sTmFtZS5FTkRdKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TmFtZV06IGRheSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtEYXRlVGltZUNvbnRyb2xOYW1lLkVORF06IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBbaW5wdXROYW1lXTogZGF5LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgaW5wdXRzIH0gPSB0aGlzLnN0YXRlXG5cbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IHsgLi4uaW5wdXRzLCAuLi5pbnB1dFZhbHVlKCkgfSxcbiAgICAgICAgICAgICAgICAgICAgaXNQb3BVcFZpc2libGU6XG4gICAgICAgICAgICBpbnB1dE5hbWUgPT09IERhdGVUaW1lQ29udHJvbE5hbWUuQkVHSU4gfHxcbiAgICAgICAgICAgIGlucHV0TmFtZSA9PT0gRGF0ZVRpbWVDb250cm9sTmFtZS5FTkQgfHxcbiAgICAgICAgICAgICFjbG9zZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShpbnB1dE5hbWUpXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSBDb250cm9sVHlwZS5EQVRFX1BJQ0tFUikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBvbkJsdXIgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyPy4odGhpcy5nZXRWYWx1ZShpbnB1dE5hbWUpKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQsdC+0YAg0LTQsNGC0YssINC/0YDQvtC60LjQtNGL0LLQsNC10YLRgdGPINCyINC40L3Qv9GD0YJcbiAgICAgKiBAdG9kbyDQvtCx0YrQtdC00LjQvdC40YLRjCDQvNC10YLQvtC00Ysgc2VsZWN0INC4IG9uSW5wdXRDaGFuZ2Ug0LIgMSDQvNC10YLQvtC0XG4gICAgICovXG4gICAgb25JbnB1dENoYW5nZTogT25JbnB1dENoYW5nZUhhbmRsZXIgPSAoZGF0ZSwgaW5wdXROYW1lLCBjYWxsYmFjaz8pID0+IHtcbiAgICAgICAgY29uc3QgeyBpbnB1dHMgfSA9IHRoaXMuc3RhdGVcblxuICAgICAgICBjb25zdCBzaW5nbGVEYXRlID0gaW5wdXRzW0RhdGVUaW1lQ29udHJvbE5hbWUuREVGQVVMVF9OQU1FXVxuXG4gICAgICAgIGlmIChkYXRlICYmIHNpbmdsZURhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKGlucHV0TmFtZSA9PT0gRGF0ZVRpbWVDb250cm9sTmFtZS5CRUdJTikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGlucHV0c1tEYXRlVGltZUNvbnRyb2xOYW1lLkVORF1cblxuICAgICAgICAgICAgICAgIGlmIChkYXRlLmlzQWZ0ZXIoZW5kKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0czogeyBbRGF0ZVRpbWVDb250cm9sTmFtZS5CRUdJTl06IGRhdGUsIFtEYXRlVGltZUNvbnRyb2xOYW1lLkVORF06IG51bGwgfSxcbiAgICAgICAgICAgICAgICAgICAgfSwgKCkgPT4gdGhpcy5vbkNoYW5nZShpbnB1dE5hbWUpKVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYmVnaW4gPSBpbnB1dHNbRGF0ZVRpbWVDb250cm9sTmFtZS5CRUdJTl1cblxuICAgICAgICAgICAgaWYgKGlucHV0TmFtZSA9PT0gJ2VuZCcgJiYgZGF0ZS5pc0JlZm9yZShiZWdpbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiB7IFtEYXRlVGltZUNvbnRyb2xOYW1lLkJFR0lOXTogbnVsbCwgW0RhdGVUaW1lQ29udHJvbE5hbWUuRU5EXTogZGF0ZSB9LFxuICAgICAgICAgICAgICAgIH0sICgpID0+IHRoaXMub25DaGFuZ2UoaW5wdXROYW1lKSlcblxuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpbnB1dHM6IHsgLi4uaW5wdXRzLCBbaW5wdXROYW1lXTogZGF0ZSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IChpc0Z1bmN0aW9uKGNhbGxiYWNrKSA/IGNhbGxiYWNrPy4oKSA6IHRoaXMub25DaGFuZ2UoaW5wdXROYW1lKSksXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBvbklucHV0Qmx1ciA9IChkYXRlOiBNb21lbnQgfCBudWxsLCBpbnB1dE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB7IG9uQmx1ciB9ID0gdGhpcy5wcm9wc1xuXG4gICAgICAgIHRoaXMub25JbnB1dENoYW5nZShkYXRlLCBpbnB1dE5hbWUsICgpID0+IG9uQmx1cj8uKHRoaXMuZ2V0VmFsdWUoaW5wdXROYW1lKSkpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LLQuNC00LjQvNC+0YHRgtGMINC/0L7Qv9Cw0L/QsFxuICAgICAqL1xuICAgIHNldFZpc2liaWxpdHkgPSAodmlzaWJsZTogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIGlzUG9wVXBWaXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICAgICAgaXNGb2N1czogdmlzaWJsZSxcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQndCw0LLQtdGI0LjQstCw0L3QuNC1INC70LjRgdGC0LXQvdC10YDQvtCyINC00LvRjyDQv9C+0Y/QstC70LXQvdC40Y8gLyDQuNGB0YfQtdC30LDQvdC40Y8g0L/QvtC/0LDQv9CwXG4gICAgICovXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5vbkNsaWNrT3V0c2lkZS5iaW5kKHRoaXMpKVxuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25DbGlja091dHNpZGUuYmluZCh0aGlzKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70LXQvdC40LUg0LvQuNGB0YLQtdC90LXRgNC+0LIg0LTQu9GPINC/0L7Rj9Cy0LvQtdC90LjRjyAvINC40YHRh9C10LfQsNC90LjRjyDQv9C+0L/QsNC/0LAg0L/QvtGB0LvQtSDQsNC90LzQsNGD0L3RgtCwXG4gICAgICovXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5vbkNsaWNrT3V0c2lkZS5iaW5kKHRoaXMpKVxuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25DbGlja091dHNpZGUuYmluZCh0aGlzKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgICAgY29uc3QgeyBpbnB1dHMgfSA9IHRoaXMuc3RhdGVcbiAgICAgICAgY29uc3QgeyBiZWdpbiwgZW5kIH0gPSBpbnB1dHNcblxuICAgICAgICBpZiAoIWlzTnVsbChiZWdpbikgJiYgbW9tZW50KGJlZ2luKS5pc0FmdGVyKG1vbWVudChlbmQpKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgaW5wdXRzOiB7IC4uLmlucHV0cywgZW5kOiBudWxsIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLQutCwINC60LvQuNC60LAg0LfQsCDQv9GA0LXQtNC10LvQsNC80Lgg0L/QvtC/0LDQv9CwXG4gICAgICovXG4gICAgb25DbGlja091dHNpZGU6IEV2ZW50TGlzdGVuZXIgPSAoZSkgPT4ge1xuICAgICAgICBjb25zdCB7IHR5cGUsIG9uQmx1ciB9ID0gdGhpcy5wcm9wc1xuICAgICAgICBjb25zdCB7IGlzRm9jdXMsIGlzUG9wVXBWaXNpYmxlIH0gPSB0aGlzLnN0YXRlXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50XG5cbiAgICAgICAgaWYgKGlzUG9wVXBWaXNpYmxlKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZmluZC1kb20tbm9kZVxuICAgICAgICAgICAgY29uc3QgZGF0ZVBpY2tlciA9IGZpbmRET01Ob2RlKHRoaXMuZGF0ZVBpY2tlcilcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1maW5kLWRvbS1ub2RlXG4gICAgICAgICAgICBjb25zdCBkYXRlSW5wdXQgPSBmaW5kRE9NTm9kZSh0aGlzLmlucHV0R3JvdXApXG5cbiAgICAgICAgICAgIGlmICghZGF0ZVBpY2tlcikge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRhcmdldC5jbGFzc05hbWUuaW5jbHVkZXMoJ24yby1wb3AtdXAnKSB8fFxuICAgICAgICAgICAgICAgICghZGF0ZVBpY2tlci5jb250YWlucyh0YXJnZXQpICYmICFkYXRlSW5wdXQ/LmNvbnRhaW5zKHRhcmdldCkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNGb2N1cykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2RhdGUtaW50ZXJ2YWwnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZVRvQmx1ciA9IHRoaXMuZ2V0VmFsdWUobnVsbClcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQXJyYXkodmFsdWVUb0JsdXIpICYmIGV2ZXJ5KHZhbHVlVG9CbHVyLCB2YWx1ZSA9PiB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI/Lih2YWx1ZVRvQmx1cilcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cj8uKHRoaXMuZ2V0VmFsdWUoRGF0ZVRpbWVDb250cm9sTmFtZS5ERUZBVUxUX05BTUUpKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0VmlzaWJpbGl0eShmYWxzZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQuNCy0L7QtNC40YIgbWluLCBtYXgg0LogbW9tZW50INC+0LHRitC10LrRgtGDLCDRgtC10LrRg9GJ0LXQvNGDINGE0L7RgNC80LDRgtGDXG4gICAgICovXG4gICAgcGFyc2VSYW5nZShyYW5nZT86IHN0cmluZykge1xuICAgICAgICBjb25zdCB7IGRhdGVGb3JtYXQgPSAnREQuTU0uWVlZWScgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICAvLyBAdHMtaWdub3JlIEBmaXhtZSDQvdC1INC+0L/RgNC10LTQtdC70Y/QtdGC0YHRjyDQsdC40LHQu9C40L7RgtC10YfQvdGL0Lkg0LzQtdGC0L7QtFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICAgICAgcmV0dXJuICFpc1VuZGVmaW5lZChtb21lbnQocmFuZ2UpLl9mKVxuICAgICAgICAgICAgPyBtb21lbnQocmFuZ2UpXG4gICAgICAgICAgICA6IG1vbWVudChyYW5nZSwgZGF0ZUZvcm1hdClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQoNC10L3QtNC10YAg0L/QvtC/0LDQv9CwXG4gICAgICovXG4gICAgcmVuZGVyUG9wVXAoKSB7XG4gICAgICAgIGNvbnN0IHsgbWF4LCBtaW4sIGNvbmZpZ0xvY2FsZSA9ICdydScsIHRpbWVGb3JtYXQsIGRhdGVGb3JtYXQgPSAnREQuTU0uWVlZWScsIHR5cGUgfSA9IHRoaXMucHJvcHNcbiAgICAgICAgY29uc3QgeyBpbnB1dHMsIGlzUG9wVXBWaXNpYmxlLCBpc1RpbWVTZXQgfSA9IHRoaXMuc3RhdGVcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNQb3BVcFZpc2libGUgJiYgKFxuICAgICAgICAgICAgICAgIDxQb3BVcFxuICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PXtkYXRlRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgICB0aW1lPXt0aGlzLmRlZmF1bHRUaW1lfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPXt0eXBlfVxuICAgICAgICAgICAgICAgICAgICBpc1RpbWVTZXQ9e2lzVGltZVNldH1cbiAgICAgICAgICAgICAgICAgICAgbWFya1RpbWVBc1NldD17dGhpcy5tYXJrVGltZUFzU2V0fVxuICAgICAgICAgICAgICAgICAgICB0aW1lRm9ybWF0PXt0aW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgICByZWY9eyhwb3BVcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BVcCA9IHBvcFVwXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwb3BVcFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRzfVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9e3RoaXMuc2VsZWN0fVxuICAgICAgICAgICAgICAgICAgICBtYXg9e3RoaXMucGFyc2VSYW5nZShtYXgpfVxuICAgICAgICAgICAgICAgICAgICBtaW49e3RoaXMucGFyc2VSYW5nZShtaW4pfVxuICAgICAgICAgICAgICAgICAgICBsb2NhbGU9e2NvbmZpZ0xvY2FsZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgb25Gb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZSkgPT4ge1xuICAgICAgICBjb25zdCB7IG9uRm9jdXMgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlzRm9jdXM6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4gb25Gb2N1cz8uKGUpLFxuICAgICAgICApXG4gICAgfVxuXG4gICAgc2V0SW5wdXRSZWYgPSAocG9wcGVyUmVmOiBSZWZIYW5kbGVyKSA9PiAocjogSFRNTERpdkVsZW1lbnQpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dEdyb3VwID0gclxuICAgICAgICBwb3BwZXJSZWYocilcbiAgICB9XG5cbiAgICBzZXRDb250cm9sUmVmID0gKGVsOiBFbGVtZW50VHlwZSkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2wgPSBlbFxuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIGF1dG9Gb2N1cyxcbiAgICAgICAgICAgIG9wZW5PbkZvY3VzID0gZmFsc2UsXG4gICAgICAgICAgICBwb3B1cFBsYWNlbWVudCA9ICdib3R0b20tc3RhcnQnLFxuICAgICAgICAgICAgb3V0cHV0Rm9ybWF0ID0gJ0RELk1NLllZWVkgSEg6bW06c3MnLFxuICAgICAgICAgICAgc3RyYXRlZ3kgPSAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgbWF4LFxuICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgb25LZXlEb3duLFxuICAgICAgICB9ID0gdGhpcy5wcm9wc1xuXG4gICAgICAgIGNvbnN0IHsgaW5wdXRzLCBpc1BvcFVwVmlzaWJsZSB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm4yby1kYXRlLXBpY2tlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm4yby1kYXRlLXBpY2tlclwiXG4gICAgICAgICAgICAgICAgICAgIHJlZj17KHBpY2tlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlUGlja2VyID0gcGlja2VyXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxNYW5hZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFJlZmVyZW5jZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgcmVmIH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERhdGVJbnB1dEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDb250cm9sUmVmPXt0aGlzLnNldENvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3RoaXMuc2V0SW5wdXRSZWYocmVmIGFzIFJlZkhhbmRsZXIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17dGhpcy5mb3JtYXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbnB1dENoYW5nZT17dGhpcy5vbklucHV0Q2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRDbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFZpc2liaWxpdHk9e3RoaXMuc2V0VmlzaWJpbGl0eX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e3RoaXMub25Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cj17dGhpcy5vbklucHV0Qmx1cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuT25Gb2N1cz17b3Blbk9uRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQ9e291dHB1dEZvcm1hdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluPXttaW59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUmVmZXJlbmNlPlxuICAgICAgICAgICAgICAgICAgICAgICAge2lzUG9wVXBWaXNpYmxlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UG9wcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD17cG9wdXBQbGFjZW1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmF0ZWd5PXtzdHJhdGVneX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoeyByZWYsIHN0eWxlLCBwbGFjZW1lbnQgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17cmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBsYWNlbWVudD17cGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm4yby1wb3AtdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlclBvcFVwKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1BvcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvTWFuYWdlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApXG4gICAgfVxufVxuIl19
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import {
|
|
3
|
-
import { Filter, Ref, TOption, getSearchMinLengthHintType } from './types';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Ref, TOption, Props, State } from './types';
|
|
4
3
|
/**
|
|
5
4
|
* InputSelect
|
|
6
5
|
* @reactProps {object} style - css стили
|
|
@@ -40,12 +39,10 @@ import { Filter, Ref, TOption, getSearchMinLengthHintType } from './types';
|
|
|
40
39
|
*/
|
|
41
40
|
export declare class InputSelect extends React.Component<Props, State> {
|
|
42
41
|
inputHeightRef: Ref;
|
|
43
|
-
popUpItemRef: Ref;
|
|
44
42
|
textAreaRef: Ref;
|
|
45
43
|
inputRef: Ref | undefined;
|
|
46
44
|
constructor(props: Props);
|
|
47
45
|
componentWillReceiveProps(nextProps: Props): void;
|
|
48
|
-
componentDidUpdate(prevProps: Props): void;
|
|
49
46
|
/**
|
|
50
47
|
* установить акстивный элемент дропдауна
|
|
51
48
|
* @param activeValueId
|
|
@@ -149,159 +146,52 @@ export declare class InputSelect extends React.Component<Props, State> {
|
|
|
149
146
|
render(): JSX.Element;
|
|
150
147
|
static defaultProps: Props;
|
|
151
148
|
}
|
|
152
|
-
declare
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
* Флаг наличия чекбоксов в селекте
|
|
201
|
-
*/
|
|
202
|
-
hasCheckboxes: boolean;
|
|
203
|
-
/**
|
|
204
|
-
* Ключ icon в данных
|
|
205
|
-
*/
|
|
206
|
-
iconFieldId: string;
|
|
207
|
-
/**
|
|
208
|
-
* Ключ image в данных
|
|
209
|
-
*/
|
|
210
|
-
imageFieldId: string;
|
|
211
|
-
isExpanded?: boolean;
|
|
212
|
-
/**
|
|
213
|
-
* Ключ label в данных
|
|
214
|
-
*/
|
|
215
|
-
labelFieldId: string;
|
|
216
|
-
/**
|
|
217
|
-
* Флаг загрузки
|
|
218
|
-
*/
|
|
219
|
-
loading: boolean;
|
|
220
|
-
/**
|
|
221
|
-
* Максимальная длина текста в тэге, до усечения
|
|
222
|
-
*/
|
|
223
|
-
maxTagTextLength?: number;
|
|
224
|
-
maxTagCount?: number;
|
|
225
|
-
model: Record<string, unknown>;
|
|
226
|
-
models?: any;
|
|
227
|
-
/**
|
|
228
|
-
* Мульти выбор значений
|
|
229
|
-
*/
|
|
230
|
-
multiSelect: boolean;
|
|
231
|
-
onBlur(arg: TOption | TOption[] | null): void;
|
|
232
|
-
/**
|
|
233
|
-
* Callback на изменение
|
|
234
|
-
*/
|
|
235
|
-
onChange(arg: TOption | TOption[] | null): void;
|
|
236
|
-
/**
|
|
237
|
-
* Callback на закрытие
|
|
238
|
-
*/
|
|
239
|
-
onClose(): void;
|
|
240
|
-
onDismiss(arg: string): void;
|
|
241
|
-
onInput(input: State['input']): void;
|
|
242
|
-
onKeyDown?(evt: KeyboardEvent<HTMLTextAreaElement | HTMLInputElement>): void;
|
|
243
|
-
/**
|
|
244
|
-
* Callback на поиск
|
|
245
|
-
*/
|
|
246
|
-
onSearch(input: State['input'], delay: Props['throttleDelay']): void;
|
|
247
|
-
/**
|
|
248
|
-
* Callback на выбор
|
|
249
|
-
*/
|
|
250
|
-
onSelect(item: TOption): void;
|
|
251
|
-
/**
|
|
252
|
-
* Callback на переключение
|
|
253
|
-
*/
|
|
254
|
-
onToggle(arg: boolean): void;
|
|
255
|
-
openOnFocus?: boolean;
|
|
256
|
-
/**
|
|
257
|
-
* Массив данных
|
|
258
|
-
*/
|
|
259
|
-
options: TOption[];
|
|
260
|
-
page?: number;
|
|
261
|
-
/**
|
|
262
|
-
* Placeholder контрола
|
|
263
|
-
*/
|
|
264
|
-
placeholder?: string;
|
|
265
|
-
/**
|
|
266
|
-
* Флаг авто размера попапа
|
|
267
|
-
*/
|
|
268
|
-
popupAutoSize: boolean;
|
|
269
|
-
/**
|
|
270
|
-
* Фича, при которой сбрасывается значение контрола, если оно не выбрано из popup
|
|
271
|
-
*/
|
|
272
|
-
resetOnBlur: boolean;
|
|
273
|
-
setFilter(arg: Pick<any, number | symbol>): void;
|
|
274
|
-
size?: number;
|
|
275
|
-
/**
|
|
276
|
-
* Ключ сортировки в данных
|
|
277
|
-
*/
|
|
278
|
-
sortFieldId: string;
|
|
279
|
-
statusFieldId: string;
|
|
280
|
-
style: object;
|
|
281
|
-
throttleDelay?: number;
|
|
282
|
-
/**
|
|
283
|
-
* Значение
|
|
284
|
-
*/
|
|
285
|
-
value: any;
|
|
286
|
-
/**
|
|
287
|
-
* Ключ id в данных
|
|
288
|
-
*/
|
|
289
|
-
valueFieldId: string;
|
|
290
|
-
quickSearchParam: string;
|
|
291
|
-
searchMinLength?: number;
|
|
292
|
-
};
|
|
293
|
-
declare type State = {
|
|
294
|
-
activeValueId?: string | number | null;
|
|
295
|
-
caching?: boolean;
|
|
296
|
-
input?: string;
|
|
297
|
-
inputFocus?: boolean;
|
|
298
|
-
isExpanded?: boolean;
|
|
299
|
-
isInputSelected?: boolean;
|
|
300
|
-
isPopupFocused?: boolean;
|
|
301
|
-
options?: Props['options'];
|
|
302
|
-
popUpMaxHeight?: number;
|
|
303
|
-
prevModel?: Record<string, unknown>;
|
|
304
|
-
value?: any[];
|
|
149
|
+
export declare const InputSelectComponent: {
|
|
150
|
+
new (props: Props | import("../Select/types").Props): {
|
|
151
|
+
popUpItemRef: Ref | null | undefined;
|
|
152
|
+
componentDidUpdate(prevProps: Props): void;
|
|
153
|
+
render(): JSX.Element;
|
|
154
|
+
context: any;
|
|
155
|
+
setState<K extends "popUpMaxHeight">(state: {
|
|
156
|
+
popUpMaxHeight: number;
|
|
157
|
+
} | ((prevState: Readonly<{
|
|
158
|
+
popUpMaxHeight: number;
|
|
159
|
+
}>, props: Readonly<Props | import("../Select/types").Props>) => {
|
|
160
|
+
popUpMaxHeight: number;
|
|
161
|
+
} | Pick<{
|
|
162
|
+
popUpMaxHeight: number;
|
|
163
|
+
}, K> | null) | Pick<{
|
|
164
|
+
popUpMaxHeight: number;
|
|
165
|
+
}, K> | null, callback?: (() => void) | undefined): void;
|
|
166
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
167
|
+
readonly props: Readonly<Props | import("../Select/types").Props> & Readonly<{
|
|
168
|
+
children?: React.ReactNode;
|
|
169
|
+
}>;
|
|
170
|
+
state: Readonly<{
|
|
171
|
+
popUpMaxHeight: number;
|
|
172
|
+
}>;
|
|
173
|
+
refs: {
|
|
174
|
+
[key: string]: React.ReactInstance;
|
|
175
|
+
};
|
|
176
|
+
componentDidMount?(): void;
|
|
177
|
+
shouldComponentUpdate?(nextProps: Readonly<Props | import("../Select/types").Props>, nextState: Readonly<{
|
|
178
|
+
popUpMaxHeight: number;
|
|
179
|
+
}>, nextContext: any): boolean;
|
|
180
|
+
componentWillUnmount?(): void;
|
|
181
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
182
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Props | import("../Select/types").Props>, prevState: Readonly<{
|
|
183
|
+
popUpMaxHeight: number;
|
|
184
|
+
}>): any;
|
|
185
|
+
componentWillMount?(): void;
|
|
186
|
+
UNSAFE_componentWillMount?(): void;
|
|
187
|
+
componentWillReceiveProps?(nextProps: Readonly<Props | import("../Select/types").Props>, nextContext: any): void;
|
|
188
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Props | import("../Select/types").Props>, nextContext: any): void;
|
|
189
|
+
componentWillUpdate?(nextProps: Readonly<Props | import("../Select/types").Props>, nextState: Readonly<{
|
|
190
|
+
popUpMaxHeight: number;
|
|
191
|
+
}>, nextContext: any): void;
|
|
192
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Props | import("../Select/types").Props>, nextState: Readonly<{
|
|
193
|
+
popUpMaxHeight: number;
|
|
194
|
+
}>, nextContext: any): void;
|
|
195
|
+
};
|
|
196
|
+
contextType?: React.Context<any> | undefined;
|
|
305
197
|
};
|
|
306
|
-
export declare const InputSelectComponent: import("react-onclickoutside").WrapperClass<Props, typeof InputSelect>;
|
|
307
|
-
export {};
|