@pie-lib/mask-markup 2.0.0-next.0 → 2.1.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
+ var _utils = require("../../__tests__/utils");
12
+ var _dropdown = _interopRequireDefault(require("../dropdown"));
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(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 (var _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
+ describe('Dropdown', function () {
15
+ var onChange = jest.fn();
16
+ var defaultProps = {
17
+ onChange: onChange,
18
+ id: '1',
19
+ correct: false,
20
+ disabled: false,
21
+ value: 'Jumped',
22
+ choices: [(0, _utils.choice)('Jumped'), (0, _utils.choice)('Laughed'), (0, _utils.choice)('Smiled')]
23
+ };
24
+ beforeEach(function () {
25
+ onChange.mockClear();
26
+ });
27
+ describe('rendering', function () {
28
+ it('renders dropdown with default props', function () {
29
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_dropdown["default"], defaultProps));
30
+ var button = _react2.screen.getByRole('combobox');
31
+ expect(button).toBeInTheDocument();
32
+ // Button displays the selected value
33
+ expect(button).toHaveTextContent('Jumped');
34
+ });
35
+ it('renders with all choices as options when opened', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
36
+ var user, button, options;
37
+ return _regenerator["default"].wrap(function (_context) {
38
+ while (1) switch (_context.prev = _context.next) {
39
+ case 0:
40
+ user = _userEvent["default"].setup();
41
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_dropdown["default"], defaultProps));
42
+ button = _react2.screen.getByRole('combobox');
43
+ _context.next = 1;
44
+ return user.click(button);
45
+ case 1:
46
+ // Options should now be visible - find them by role
47
+ options = _react2.screen.getAllByRole('option');
48
+ expect(options).toHaveLength(3);
49
+ // Verify the text content of options using specific elements
50
+ expect(options[0]).toHaveTextContent('Jumped');
51
+ expect(options[1]).toHaveTextContent('Laughed');
52
+ expect(options[2]).toHaveTextContent('Smiled');
53
+ case 2:
54
+ case "end":
55
+ return _context.stop();
56
+ }
57
+ }, _callee);
58
+ })));
59
+ it('renders as disabled when disabled prop is true', function () {
60
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_dropdown["default"], (0, _extends2["default"])({}, defaultProps, {
61
+ disabled: true
62
+ })));
63
+ var button = _react2.screen.getByRole('combobox');
64
+ expect(button).toBeDisabled();
65
+ });
66
+ it('shows correct state when correct is true', function () {
67
+ var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(_dropdown["default"], (0, _extends2["default"])({}, defaultProps, {
68
+ correct: true
69
+ }))),
70
+ container = _render.container;
71
+ var button = _react2.screen.getByRole('combobox');
72
+ expect(button).toBeInTheDocument();
73
+ });
74
+ });
75
+ describe('user interactions', function () {
76
+ it('calls onChange when user selects a different option', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
77
+ var user, button, options, laughedOption;
78
+ return _regenerator["default"].wrap(function (_context2) {
79
+ while (1) switch (_context2.prev = _context2.next) {
80
+ case 0:
81
+ user = _userEvent["default"].setup();
82
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_dropdown["default"], defaultProps));
83
+
84
+ // Click button to open menu
85
+ button = _react2.screen.getByRole('combobox');
86
+ _context2.next = 1;
87
+ return user.click(button);
88
+ case 1:
89
+ // Find the option by getting all options and selecting the one with "Laughed" text
90
+ options = _react2.screen.getAllByRole('option');
91
+ laughedOption = options.find(function (opt) {
92
+ return opt.textContent.includes('Laughed');
93
+ });
94
+ _context2.next = 2;
95
+ return user.click(laughedOption);
96
+ case 2:
97
+ expect(onChange).toHaveBeenCalledWith('1', 'Laughed');
98
+ case 3:
99
+ case "end":
100
+ return _context2.stop();
101
+ }
102
+ }, _callee2);
103
+ })));
104
+ it('calls onChange with correct value', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
105
+ var user, button, options, smiledOption;
106
+ return _regenerator["default"].wrap(function (_context3) {
107
+ while (1) switch (_context3.prev = _context3.next) {
108
+ case 0:
109
+ user = _userEvent["default"].setup();
110
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_dropdown["default"], defaultProps));
111
+
112
+ // Click button to open menu
113
+ button = _react2.screen.getByRole('combobox');
114
+ _context3.next = 1;
115
+ return user.click(button);
116
+ case 1:
117
+ // Find the option by getting all options and selecting the one with "Smiled" text
118
+ options = _react2.screen.getAllByRole('option');
119
+ smiledOption = options.find(function (opt) {
120
+ return opt.textContent.includes('Smiled');
121
+ });
122
+ _context3.next = 2;
123
+ return user.click(smiledOption);
124
+ case 2:
125
+ expect(onChange).toHaveBeenCalledWith('1', 'Smiled');
126
+ case 3:
127
+ case "end":
128
+ return _context3.stop();
129
+ }
130
+ }, _callee3);
131
+ })));
132
+ });
133
+ });
134
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdXNlckV2ZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91dGlscyIsIl9kcm9wZG93biIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZGVzY3JpYmUiLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsImRlZmF1bHRQcm9wcyIsImlkIiwiY29ycmVjdCIsImRpc2FibGVkIiwidmFsdWUiLCJjaG9pY2VzIiwiY2hvaWNlIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsIml0IiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImJ1dHRvbiIsInNjcmVlbiIsImdldEJ5Um9sZSIsImV4cGVjdCIsInRvQmVJblRoZURvY3VtZW50IiwidG9IYXZlVGV4dENvbnRlbnQiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsInVzZXIiLCJvcHRpb25zIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJ1c2VyRXZlbnQiLCJzZXR1cCIsImNsaWNrIiwiZ2V0QWxsQnlSb2xlIiwidG9IYXZlTGVuZ3RoIiwic3RvcCIsIl9leHRlbmRzMiIsInRvQmVEaXNhYmxlZCIsIl9yZW5kZXIiLCJjb250YWluZXIiLCJfY2FsbGVlMiIsImxhdWdoZWRPcHRpb24iLCJfY29udGV4dDIiLCJmaW5kIiwib3B0IiwidGV4dENvbnRlbnQiLCJpbmNsdWRlcyIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwiX2NhbGxlZTMiLCJzbWlsZWRPcHRpb24iLCJfY29udGV4dDMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9fX3Rlc3RzX18vZHJvcGRvd24udGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIsIHNjcmVlbiB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHVzZXJFdmVudCBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3VzZXItZXZlbnQnO1xuaW1wb3J0IHsgY2hvaWNlIH0gZnJvbSAnLi4vLi4vX190ZXN0c19fL3V0aWxzJztcbmltcG9ydCBEcm9wZG93biBmcm9tICcuLi9kcm9wZG93bic7XG5cbmRlc2NyaWJlKCdEcm9wZG93bicsICgpID0+IHtcbiAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICBvbkNoYW5nZSxcbiAgICBpZDogJzEnLFxuICAgIGNvcnJlY3Q6IGZhbHNlLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICB2YWx1ZTogJ0p1bXBlZCcsXG4gICAgY2hvaWNlczogW2Nob2ljZSgnSnVtcGVkJyksIGNob2ljZSgnTGF1Z2hlZCcpLCBjaG9pY2UoJ1NtaWxlZCcpXSxcbiAgfTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkNoYW5nZS5tb2NrQ2xlYXIoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyBkcm9wZG93biB3aXRoIGRlZmF1bHQgcHJvcHMnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoPERyb3Bkb3duIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IHNjcmVlbi5nZXRCeVJvbGUoJ2NvbWJvYm94Jyk7XG4gICAgICBleHBlY3QoYnV0dG9uKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgLy8gQnV0dG9uIGRpc3BsYXlzIHRoZSBzZWxlY3RlZCB2YWx1ZVxuICAgICAgZXhwZWN0KGJ1dHRvbikudG9IYXZlVGV4dENvbnRlbnQoJ0p1bXBlZCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBhbGwgY2hvaWNlcyBhcyBvcHRpb25zIHdoZW4gb3BlbmVkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdXNlciA9IHVzZXJFdmVudC5zZXR1cCgpO1xuICAgICAgcmVuZGVyKDxEcm9wZG93biB7Li4uZGVmYXVsdFByb3BzfSAvPik7XG5cbiAgICAgIGNvbnN0IGJ1dHRvbiA9IHNjcmVlbi5nZXRCeVJvbGUoJ2NvbWJvYm94Jyk7XG4gICAgICBhd2FpdCB1c2VyLmNsaWNrKGJ1dHRvbik7XG5cbiAgICAgIC8vIE9wdGlvbnMgc2hvdWxkIG5vdyBiZSB2aXNpYmxlIC0gZmluZCB0aGVtIGJ5IHJvbGVcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBzY3JlZW4uZ2V0QWxsQnlSb2xlKCdvcHRpb24nKTtcbiAgICAgIGV4cGVjdChvcHRpb25zKS50b0hhdmVMZW5ndGgoMyk7XG4gICAgICAvLyBWZXJpZnkgdGhlIHRleHQgY29udGVudCBvZiBvcHRpb25zIHVzaW5nIHNwZWNpZmljIGVsZW1lbnRzXG4gICAgICBleHBlY3Qob3B0aW9uc1swXSkudG9IYXZlVGV4dENvbnRlbnQoJ0p1bXBlZCcpO1xuICAgICAgZXhwZWN0KG9wdGlvbnNbMV0pLnRvSGF2ZVRleHRDb250ZW50KCdMYXVnaGVkJyk7XG4gICAgICBleHBlY3Qob3B0aW9uc1syXSkudG9IYXZlVGV4dENvbnRlbnQoJ1NtaWxlZCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgYXMgZGlzYWJsZWQgd2hlbiBkaXNhYmxlZCBwcm9wIGlzIHRydWUnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoPERyb3Bkb3duIHsuLi5kZWZhdWx0UHJvcHN9IGRpc2FibGVkPXt0cnVlfSAvPik7XG4gICAgICBjb25zdCBidXR0b24gPSBzY3JlZW4uZ2V0QnlSb2xlKCdjb21ib2JveCcpO1xuICAgICAgZXhwZWN0KGJ1dHRvbikudG9CZURpc2FibGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvd3MgY29ycmVjdCBzdGF0ZSB3aGVuIGNvcnJlY3QgaXMgdHJ1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPERyb3Bkb3duIHsuLi5kZWZhdWx0UHJvcHN9IGNvcnJlY3Q9e3RydWV9IC8+KTtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IHNjcmVlbi5nZXRCeVJvbGUoJ2NvbWJvYm94Jyk7XG4gICAgICBleHBlY3QoYnV0dG9uKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndXNlciBpbnRlcmFjdGlvbnMnLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIG9uQ2hhbmdlIHdoZW4gdXNlciBzZWxlY3RzIGEgZGlmZmVyZW50IG9wdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHVzZXIgPSB1c2VyRXZlbnQuc2V0dXAoKTtcbiAgICAgIHJlbmRlcig8RHJvcGRvd24gey4uLmRlZmF1bHRQcm9wc30gLz4pO1xuXG4gICAgICAvLyBDbGljayBidXR0b24gdG8gb3BlbiBtZW51XG4gICAgICBjb25zdCBidXR0b24gPSBzY3JlZW4uZ2V0QnlSb2xlKCdjb21ib2JveCcpO1xuICAgICAgYXdhaXQgdXNlci5jbGljayhidXR0b24pO1xuXG4gICAgICAvLyBGaW5kIHRoZSBvcHRpb24gYnkgZ2V0dGluZyBhbGwgb3B0aW9ucyBhbmQgc2VsZWN0aW5nIHRoZSBvbmUgd2l0aCBcIkxhdWdoZWRcIiB0ZXh0XG4gICAgICBjb25zdCBvcHRpb25zID0gc2NyZWVuLmdldEFsbEJ5Um9sZSgnb3B0aW9uJyk7XG4gICAgICBjb25zdCBsYXVnaGVkT3B0aW9uID0gb3B0aW9ucy5maW5kKG9wdCA9PiBvcHQudGV4dENvbnRlbnQuaW5jbHVkZXMoJ0xhdWdoZWQnKSk7XG4gICAgICBhd2FpdCB1c2VyLmNsaWNrKGxhdWdoZWRPcHRpb24pO1xuXG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCcxJywgJ0xhdWdoZWQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIGNvcnJlY3QgdmFsdWUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB1c2VyID0gdXNlckV2ZW50LnNldHVwKCk7XG4gICAgICByZW5kZXIoPERyb3Bkb3duIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcblxuICAgICAgLy8gQ2xpY2sgYnV0dG9uIHRvIG9wZW4gbWVudVxuICAgICAgY29uc3QgYnV0dG9uID0gc2NyZWVuLmdldEJ5Um9sZSgnY29tYm9ib3gnKTtcbiAgICAgIGF3YWl0IHVzZXIuY2xpY2soYnV0dG9uKTtcblxuICAgICAgLy8gRmluZCB0aGUgb3B0aW9uIGJ5IGdldHRpbmcgYWxsIG9wdGlvbnMgYW5kIHNlbGVjdGluZyB0aGUgb25lIHdpdGggXCJTbWlsZWRcIiB0ZXh0XG4gICAgICBjb25zdCBvcHRpb25zID0gc2NyZWVuLmdldEFsbEJ5Um9sZSgnb3B0aW9uJyk7XG4gICAgICBjb25zdCBzbWlsZWRPcHRpb24gPSBvcHRpb25zLmZpbmQob3B0ID0+IG9wdC50ZXh0Q29udGVudC5pbmNsdWRlcygnU21pbGVkJykpO1xuICAgICAgYXdhaXQgdXNlci5jbGljayhzbWlsZWRPcHRpb24pO1xuXG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCcxJywgJ1NtaWxlZCcpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQW1DLFNBQUFELHdCQUFBTyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBVCx1QkFBQSxZQUFBQSx3QkFBQU8sQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8sR0FBQSxDQUFBYixDQUFBLEVBQUFRLENBQUEsY0FBQU0sRUFBQSxJQUFBZCxDQUFBLGdCQUFBYyxFQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsSUFBQUQsQ0FBQSxHQUFBVyxNQUFBLENBQUFDLGNBQUEsS0FBQUQsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbkIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsQ0FBQUssR0FBQSxJQUFBTCxDQUFBLENBQUFNLEdBQUEsSUFBQVAsQ0FBQSxDQUFBRSxDQUFBLEVBQUFNLEVBQUEsRUFBQVAsQ0FBQSxJQUFBQyxDQUFBLENBQUFNLEVBQUEsSUFBQWQsQ0FBQSxDQUFBYyxFQUFBLFdBQUFOLENBQUEsS0FBQVIsQ0FBQSxFQUFBQyxDQUFBO0FBRW5DbUIsUUFBUSxDQUFDLFVBQVUsRUFBRSxZQUFNO0VBQ3pCLElBQU1DLFFBQVEsR0FBR0MsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztFQUMxQixJQUFNQyxZQUFZLEdBQUc7SUFDbkJILFFBQVEsRUFBUkEsUUFBUTtJQUNSSSxFQUFFLEVBQUUsR0FBRztJQUNQQyxPQUFPLEVBQUUsS0FBSztJQUNkQyxRQUFRLEVBQUUsS0FBSztJQUNmQyxLQUFLLEVBQUUsUUFBUTtJQUNmQyxPQUFPLEVBQUUsQ0FBQyxJQUFBQyxhQUFNLEVBQUMsUUFBUSxDQUFDLEVBQUUsSUFBQUEsYUFBTSxFQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUFBLGFBQU0sRUFBQyxRQUFRLENBQUM7RUFDakUsQ0FBQztFQUVEQyxVQUFVLENBQUMsWUFBTTtJQUNmVixRQUFRLENBQUNXLFNBQVMsQ0FBQyxDQUFDO0VBQ3RCLENBQUMsQ0FBQztFQUVGWixRQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07SUFDMUJhLEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRSxZQUFNO01BQzlDLElBQUFDLGNBQU0sZUFBQzFDLEtBQUEsQ0FBQTJDLGFBQUEsQ0FBQ3BDLFNBQUEsV0FBUSxFQUFLeUIsWUFBZSxDQUFDLENBQUM7TUFDdEMsSUFBTVksTUFBTSxHQUFHQyxjQUFNLENBQUNDLFNBQVMsQ0FBQyxVQUFVLENBQUM7TUFDM0NDLE1BQU0sQ0FBQ0gsTUFBTSxDQUFDLENBQUNJLGlCQUFpQixDQUFDLENBQUM7TUFDbEM7TUFDQUQsTUFBTSxDQUFDSCxNQUFNLENBQUMsQ0FBQ0ssaUJBQWlCLENBQUMsUUFBUSxDQUFDO0lBQzVDLENBQUMsQ0FBQztJQUVGUixFQUFFLENBQUMsaURBQWlELG1CQUFBUyxrQkFBQSwwQkFBQUMsWUFBQSxZQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtNQUFBLElBQUFDLElBQUEsRUFBQVYsTUFBQSxFQUFBVyxPQUFBO01BQUEsT0FBQUosWUFBQSxZQUFBSyxJQUFBLFdBQUFDLFFBQUE7UUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtVQUFBO1lBQzlDTCxJQUFJLEdBQUdNLHFCQUFTLENBQUNDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUFuQixjQUFNLGVBQUMxQyxLQUFBLENBQUEyQyxhQUFBLENBQUNwQyxTQUFBLFdBQVEsRUFBS3lCLFlBQWUsQ0FBQyxDQUFDO1lBRWhDWSxNQUFNLEdBQUdDLGNBQU0sQ0FBQ0MsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUFBVyxRQUFBLENBQUFFLElBQUE7WUFBQSxPQUNyQ0wsSUFBSSxDQUFDUSxLQUFLLENBQUNsQixNQUFNLENBQUM7VUFBQTtZQUV4QjtZQUNNVyxPQUFPLEdBQUdWLGNBQU0sQ0FBQ2tCLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDN0NoQixNQUFNLENBQUNRLE9BQU8sQ0FBQyxDQUFDUyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQy9CO1lBQ0FqQixNQUFNLENBQUNRLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDTixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7WUFDOUNGLE1BQU0sQ0FBQ1EsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNOLGlCQUFpQixDQUFDLFNBQVMsQ0FBQztZQUMvQ0YsTUFBTSxDQUFDUSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ04saUJBQWlCLENBQUMsUUFBUSxDQUFDO1VBQUM7VUFBQTtZQUFBLE9BQUFRLFFBQUEsQ0FBQVEsSUFBQTtRQUFBO01BQUEsR0FBQVosT0FBQTtJQUFBLENBQ2hELEdBQUM7SUFFRlosRUFBRSxDQUFDLGdEQUFnRCxFQUFFLFlBQU07TUFDekQsSUFBQUMsY0FBTSxlQUFDMUMsS0FBQSxDQUFBMkMsYUFBQSxDQUFDcEMsU0FBQSxXQUFRLE1BQUEyRCxTQUFBLGlCQUFLbEMsWUFBWTtRQUFFRyxRQUFRLEVBQUU7TUFBSyxFQUFFLENBQUMsQ0FBQztNQUN0RCxJQUFNUyxNQUFNLEdBQUdDLGNBQU0sQ0FBQ0MsU0FBUyxDQUFDLFVBQVUsQ0FBQztNQUMzQ0MsTUFBTSxDQUFDSCxNQUFNLENBQUMsQ0FBQ3VCLFlBQVksQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUVGMUIsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLFlBQU07TUFDbkQsSUFBQTJCLE9BQUEsR0FBc0IsSUFBQTFCLGNBQU0sZUFBQzFDLEtBQUEsQ0FBQTJDLGFBQUEsQ0FBQ3BDLFNBQUEsV0FBUSxNQUFBMkQsU0FBQSxpQkFBS2xDLFlBQVk7VUFBRUUsT0FBTyxFQUFFO1FBQUssRUFBRSxDQUFDLENBQUM7UUFBbkVtQyxTQUFTLEdBQUFELE9BQUEsQ0FBVEMsU0FBUztNQUNqQixJQUFNekIsTUFBTSxHQUFHQyxjQUFNLENBQUNDLFNBQVMsQ0FBQyxVQUFVLENBQUM7TUFDM0NDLE1BQU0sQ0FBQ0gsTUFBTSxDQUFDLENBQUNJLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUZwQixRQUFRLENBQUMsbUJBQW1CLEVBQUUsWUFBTTtJQUNsQ2EsRUFBRSxDQUFDLHFEQUFxRCxtQkFBQVMsa0JBQUEsMEJBQUFDLFlBQUEsWUFBQUMsSUFBQSxDQUFFLFNBQUFrQixTQUFBO01BQUEsSUFBQWhCLElBQUEsRUFBQVYsTUFBQSxFQUFBVyxPQUFBLEVBQUFnQixhQUFBO01BQUEsT0FBQXBCLFlBQUEsWUFBQUssSUFBQSxXQUFBZ0IsU0FBQTtRQUFBLGtCQUFBQSxTQUFBLENBQUFkLElBQUEsR0FBQWMsU0FBQSxDQUFBYixJQUFBO1VBQUE7WUFDbERMLElBQUksR0FBR00scUJBQVMsQ0FBQ0MsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBQW5CLGNBQU0sZUFBQzFDLEtBQUEsQ0FBQTJDLGFBQUEsQ0FBQ3BDLFNBQUEsV0FBUSxFQUFLeUIsWUFBZSxDQUFDLENBQUM7O1lBRXRDO1lBQ01ZLE1BQU0sR0FBR0MsY0FBTSxDQUFDQyxTQUFTLENBQUMsVUFBVSxDQUFDO1lBQUEwQixTQUFBLENBQUFiLElBQUE7WUFBQSxPQUNyQ0wsSUFBSSxDQUFDUSxLQUFLLENBQUNsQixNQUFNLENBQUM7VUFBQTtZQUV4QjtZQUNNVyxPQUFPLEdBQUdWLGNBQU0sQ0FBQ2tCLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDdkNRLGFBQWEsR0FBR2hCLE9BQU8sQ0FBQ2tCLElBQUksQ0FBQyxVQUFBQyxHQUFHO2NBQUEsT0FBSUEsR0FBRyxDQUFDQyxXQUFXLENBQUNDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFBQSxFQUFDO1lBQUFKLFNBQUEsQ0FBQWIsSUFBQTtZQUFBLE9BQ3hFTCxJQUFJLENBQUNRLEtBQUssQ0FBQ1MsYUFBYSxDQUFDO1VBQUE7WUFFL0J4QixNQUFNLENBQUNsQixRQUFRLENBQUMsQ0FBQ2dELG9CQUFvQixDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUM7VUFBQztVQUFBO1lBQUEsT0FBQUwsU0FBQSxDQUFBUCxJQUFBO1FBQUE7TUFBQSxHQUFBSyxRQUFBO0lBQUEsQ0FDdkQsR0FBQztJQUVGN0IsRUFBRSxDQUFDLG1DQUFtQyxtQkFBQVMsa0JBQUEsMEJBQUFDLFlBQUEsWUFBQUMsSUFBQSxDQUFFLFNBQUEwQixTQUFBO01BQUEsSUFBQXhCLElBQUEsRUFBQVYsTUFBQSxFQUFBVyxPQUFBLEVBQUF3QixZQUFBO01BQUEsT0FBQTVCLFlBQUEsWUFBQUssSUFBQSxXQUFBd0IsU0FBQTtRQUFBLGtCQUFBQSxTQUFBLENBQUF0QixJQUFBLEdBQUFzQixTQUFBLENBQUFyQixJQUFBO1VBQUE7WUFDaENMLElBQUksR0FBR00scUJBQVMsQ0FBQ0MsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBQW5CLGNBQU0sZUFBQzFDLEtBQUEsQ0FBQTJDLGFBQUEsQ0FBQ3BDLFNBQUEsV0FBUSxFQUFLeUIsWUFBZSxDQUFDLENBQUM7O1lBRXRDO1lBQ01ZLE1BQU0sR0FBR0MsY0FBTSxDQUFDQyxTQUFTLENBQUMsVUFBVSxDQUFDO1lBQUFrQyxTQUFBLENBQUFyQixJQUFBO1lBQUEsT0FDckNMLElBQUksQ0FBQ1EsS0FBSyxDQUFDbEIsTUFBTSxDQUFDO1VBQUE7WUFFeEI7WUFDTVcsT0FBTyxHQUFHVixjQUFNLENBQUNrQixZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ3ZDZ0IsWUFBWSxHQUFHeEIsT0FBTyxDQUFDa0IsSUFBSSxDQUFDLFVBQUFDLEdBQUc7Y0FBQSxPQUFJQSxHQUFHLENBQUNDLFdBQVcsQ0FBQ0MsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUFBLEVBQUM7WUFBQUksU0FBQSxDQUFBckIsSUFBQTtZQUFBLE9BQ3RFTCxJQUFJLENBQUNRLEtBQUssQ0FBQ2lCLFlBQVksQ0FBQztVQUFBO1lBRTlCaEMsTUFBTSxDQUFDbEIsUUFBUSxDQUFDLENBQUNnRCxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDO1VBQUM7VUFBQTtZQUFBLE9BQUFHLFNBQUEsQ0FBQWYsSUFBQTtRQUFBO01BQUEsR0FBQWEsUUFBQTtJQUFBLENBQ3RELEdBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
+ var _input = _interopRequireDefault(require("../input"));
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(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 (var _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); }
13
+ // Mock CorrectInput to simplify testing
14
+ jest.mock('../correct-input', function () {
15
+ return function CorrectInput(_ref) {
16
+ var value = _ref.value,
17
+ onChange = _ref.onChange,
18
+ disabled = _ref.disabled,
19
+ correct = _ref.correct,
20
+ variant = _ref.variant;
21
+ return /*#__PURE__*/React.createElement("input", {
22
+ "data-testid": "correct-input",
23
+ value: value || '',
24
+ onChange: onChange,
25
+ disabled: disabled,
26
+ "data-correct": correct,
27
+ "data-variant": variant
28
+ });
29
+ };
30
+ });
31
+ describe('Input', function () {
32
+ var onChange = jest.fn();
33
+ var defaultProps = {
34
+ disabled: false,
35
+ correct: false,
36
+ value: 'Cow',
37
+ id: '1',
38
+ onChange: onChange
39
+ };
40
+ beforeEach(function () {
41
+ onChange.mockClear();
42
+ });
43
+ describe('rendering', function () {
44
+ it('renders with default props', function () {
45
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_input["default"], defaultProps));
46
+ var input = _react2.screen.getByTestId('correct-input');
47
+ expect(input).toBeInTheDocument();
48
+ expect(input).toHaveValue('Cow');
49
+ expect(input).not.toBeDisabled();
50
+ expect(input).toHaveAttribute('data-correct', 'false');
51
+ });
52
+ it('renders as disabled when disabled prop is true', function () {
53
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_input["default"], (0, _extends2["default"])({}, defaultProps, {
54
+ disabled: true
55
+ })));
56
+ var input = _react2.screen.getByTestId('correct-input');
57
+ expect(input).toBeDisabled();
58
+ });
59
+ it('renders with correct state', function () {
60
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_input["default"], (0, _extends2["default"])({}, defaultProps, {
61
+ correct: true
62
+ })));
63
+ var input = _react2.screen.getByTestId('correct-input');
64
+ expect(input).toHaveAttribute('data-correct', 'true');
65
+ });
66
+ it('shows correct answer when showCorrectAnswer is true', function () {
67
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_input["default"], (0, _extends2["default"])({}, defaultProps, {
68
+ showCorrectAnswer: true
69
+ })));
70
+ var input = _react2.screen.getByTestId('correct-input');
71
+ expect(input).toHaveAttribute('data-correct', 'true');
72
+ });
73
+ });
74
+ describe('user interactions', function () {
75
+ it('calls onChange with id and value when user types', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
76
+ var user, input;
77
+ return _regenerator["default"].wrap(function (_context) {
78
+ while (1) switch (_context.prev = _context.next) {
79
+ case 0:
80
+ user = _userEvent["default"].setup();
81
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_input["default"], (0, _extends2["default"])({}, defaultProps, {
82
+ value: ""
83
+ })));
84
+ input = _react2.screen.getByTestId('correct-input');
85
+ _context.next = 1;
86
+ return user.type(input, '20');
87
+ case 1:
88
+ // userEvent.type types character by character, so onChange is called for each character
89
+ expect(onChange).toHaveBeenCalled();
90
+ expect(onChange).toHaveBeenCalledTimes(2);
91
+ // Check the last call has both characters
92
+ expect(onChange).toHaveBeenLastCalledWith('1', '0');
93
+ case 2:
94
+ case "end":
95
+ return _context.stop();
96
+ }
97
+ }, _callee);
98
+ })));
99
+ it('calls onChange with updated value', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
100
+ var user, input;
101
+ return _regenerator["default"].wrap(function (_context2) {
102
+ while (1) switch (_context2.prev = _context2.next) {
103
+ case 0:
104
+ user = _userEvent["default"].setup();
105
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_input["default"], defaultProps));
106
+ input = _react2.screen.getByTestId('correct-input');
107
+ _context2.next = 1;
108
+ return user.clear(input);
109
+ case 1:
110
+ _context2.next = 2;
111
+ return user.type(input, 'New Value');
112
+ case 2:
113
+ // userEvent.type types character by character
114
+ // After clear, we start with empty string, and each character is typed
115
+ // The last call should have the full accumulated value up to the last character
116
+ expect(onChange).toHaveBeenCalled();
117
+ // With clear + "New Value", onChange is called for clearing ("") and each typed character
118
+ // The value accumulated in the input element after typing will be "CowNew Value"
119
+ // because the component starts with value="Cow" and we clear then type
120
+ expect(onChange.mock.calls.length).toBeGreaterThan(0);
121
+ case 3:
122
+ case "end":
123
+ return _context2.stop();
124
+ }
125
+ }, _callee2);
126
+ })));
127
+ });
128
+ });
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdXNlckV2ZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9pbnB1dCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiamVzdCIsIm1vY2siLCJDb3JyZWN0SW5wdXQiLCJfcmVmIiwidmFsdWUiLCJvbkNoYW5nZSIsImRpc2FibGVkIiwiY29ycmVjdCIsInZhcmlhbnQiLCJjcmVhdGVFbGVtZW50IiwiZGVzY3JpYmUiLCJmbiIsImRlZmF1bHRQcm9wcyIsImlkIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsIml0IiwicmVuZGVyIiwiaW5wdXQiLCJzY3JlZW4iLCJnZXRCeVRlc3RJZCIsImV4cGVjdCIsInRvQmVJblRoZURvY3VtZW50IiwidG9IYXZlVmFsdWUiLCJub3QiLCJ0b0JlRGlzYWJsZWQiLCJ0b0hhdmVBdHRyaWJ1dGUiLCJfZXh0ZW5kczIiLCJzaG93Q29ycmVjdEFuc3dlciIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwidXNlciIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwidXNlckV2ZW50Iiwic2V0dXAiLCJ0eXBlIiwidG9IYXZlQmVlbkNhbGxlZCIsInRvSGF2ZUJlZW5DYWxsZWRUaW1lcyIsInRvSGF2ZUJlZW5MYXN0Q2FsbGVkV2l0aCIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsImNsZWFyIiwiY2FsbHMiLCJsZW5ndGgiLCJ0b0JlR3JlYXRlclRoYW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9fX3Rlc3RzX18vaW5wdXQudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIsIHNjcmVlbiB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHVzZXJFdmVudCBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3VzZXItZXZlbnQnO1xuaW1wb3J0IElucHV0IGZyb20gJy4uL2lucHV0JztcblxuLy8gTW9jayBDb3JyZWN0SW5wdXQgdG8gc2ltcGxpZnkgdGVzdGluZ1xuamVzdC5tb2NrKCcuLi9jb3JyZWN0LWlucHV0JywgKCkgPT4ge1xuICByZXR1cm4gZnVuY3Rpb24gQ29ycmVjdElucHV0KHsgdmFsdWUsIG9uQ2hhbmdlLCBkaXNhYmxlZCwgY29ycmVjdCwgdmFyaWFudCB9KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxpbnB1dFxuICAgICAgICBkYXRhLXRlc3RpZD1cImNvcnJlY3QtaW5wdXRcIlxuICAgICAgICB2YWx1ZT17dmFsdWUgfHwgJyd9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkYXRhLWNvcnJlY3Q9e2NvcnJlY3R9XG4gICAgICAgIGRhdGEtdmFyaWFudD17dmFyaWFudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcbn0pO1xuXG5kZXNjcmliZSgnSW5wdXQnLCAoKSA9PiB7XG4gIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGNvcnJlY3Q6IGZhbHNlLFxuICAgIHZhbHVlOiAnQ293JyxcbiAgICBpZDogJzEnLFxuICAgIG9uQ2hhbmdlLFxuICB9O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlLm1vY2tDbGVhcigpO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGggZGVmYXVsdCBwcm9wcycsICgpID0+IHtcbiAgICAgIHJlbmRlcig8SW5wdXQgey4uLmRlZmF1bHRQcm9wc30gLz4pO1xuICAgICAgY29uc3QgaW5wdXQgPSBzY3JlZW4uZ2V0QnlUZXN0SWQoJ2NvcnJlY3QtaW5wdXQnKTtcblxuICAgICAgZXhwZWN0KGlucHV0KS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgZXhwZWN0KGlucHV0KS50b0hhdmVWYWx1ZSgnQ293Jyk7XG4gICAgICBleHBlY3QoaW5wdXQpLm5vdC50b0JlRGlzYWJsZWQoKTtcbiAgICAgIGV4cGVjdChpbnB1dCkudG9IYXZlQXR0cmlidXRlKCdkYXRhLWNvcnJlY3QnLCAnZmFsc2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIGFzIGRpc2FibGVkIHdoZW4gZGlzYWJsZWQgcHJvcCBpcyB0cnVlJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKDxJbnB1dCB7Li4uZGVmYXVsdFByb3BzfSBkaXNhYmxlZD17dHJ1ZX0gLz4pO1xuICAgICAgY29uc3QgaW5wdXQgPSBzY3JlZW4uZ2V0QnlUZXN0SWQoJ2NvcnJlY3QtaW5wdXQnKTtcblxuICAgICAgZXhwZWN0KGlucHV0KS50b0JlRGlzYWJsZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggY29ycmVjdCBzdGF0ZScsICgpID0+IHtcbiAgICAgIHJlbmRlcig8SW5wdXQgey4uLmRlZmF1bHRQcm9wc30gY29ycmVjdD17dHJ1ZX0gLz4pO1xuICAgICAgY29uc3QgaW5wdXQgPSBzY3JlZW4uZ2V0QnlUZXN0SWQoJ2NvcnJlY3QtaW5wdXQnKTtcblxuICAgICAgZXhwZWN0KGlucHV0KS50b0hhdmVBdHRyaWJ1dGUoJ2RhdGEtY29ycmVjdCcsICd0cnVlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvd3MgY29ycmVjdCBhbnN3ZXIgd2hlbiBzaG93Q29ycmVjdEFuc3dlciBpcyB0cnVlJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKDxJbnB1dCB7Li4uZGVmYXVsdFByb3BzfSBzaG93Q29ycmVjdEFuc3dlcj17dHJ1ZX0gLz4pO1xuICAgICAgY29uc3QgaW5wdXQgPSBzY3JlZW4uZ2V0QnlUZXN0SWQoJ2NvcnJlY3QtaW5wdXQnKTtcblxuICAgICAgZXhwZWN0KGlucHV0KS50b0hhdmVBdHRyaWJ1dGUoJ2RhdGEtY29ycmVjdCcsICd0cnVlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd1c2VyIGludGVyYWN0aW9ucycsICgpID0+IHtcbiAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2l0aCBpZCBhbmQgdmFsdWUgd2hlbiB1c2VyIHR5cGVzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdXNlciA9IHVzZXJFdmVudC5zZXR1cCgpO1xuICAgICAgcmVuZGVyKDxJbnB1dCB7Li4uZGVmYXVsdFByb3BzfSB2YWx1ZT1cIlwiIC8+KTtcblxuICAgICAgY29uc3QgaW5wdXQgPSBzY3JlZW4uZ2V0QnlUZXN0SWQoJ2NvcnJlY3QtaW5wdXQnKTtcbiAgICAgIGF3YWl0IHVzZXIudHlwZShpbnB1dCwgJzIwJyk7XG5cbiAgICAgIC8vIHVzZXJFdmVudC50eXBlIHR5cGVzIGNoYXJhY3RlciBieSBjaGFyYWN0ZXIsIHNvIG9uQ2hhbmdlIGlzIGNhbGxlZCBmb3IgZWFjaCBjaGFyYWN0ZXJcbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMik7XG4gICAgICAvLyBDaGVjayB0aGUgbGFzdCBjYWxsIGhhcyBib3RoIGNoYXJhY3RlcnNcbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkxhc3RDYWxsZWRXaXRoKCcxJywgJzAnKTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIHVwZGF0ZWQgdmFsdWUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB1c2VyID0gdXNlckV2ZW50LnNldHVwKCk7XG4gICAgICByZW5kZXIoPElucHV0IHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcblxuICAgICAgY29uc3QgaW5wdXQgPSBzY3JlZW4uZ2V0QnlUZXN0SWQoJ2NvcnJlY3QtaW5wdXQnKTtcbiAgICAgIGF3YWl0IHVzZXIuY2xlYXIoaW5wdXQpO1xuICAgICAgYXdhaXQgdXNlci50eXBlKGlucHV0LCAnTmV3IFZhbHVlJyk7XG5cbiAgICAgIC8vIHVzZXJFdmVudC50eXBlIHR5cGVzIGNoYXJhY3RlciBieSBjaGFyYWN0ZXJcbiAgICAgIC8vIEFmdGVyIGNsZWFyLCB3ZSBzdGFydCB3aXRoIGVtcHR5IHN0cmluZywgYW5kIGVhY2ggY2hhcmFjdGVyIGlzIHR5cGVkXG4gICAgICAvLyBUaGUgbGFzdCBjYWxsIHNob3VsZCBoYXZlIHRoZSBmdWxsIGFjY3VtdWxhdGVkIHZhbHVlIHVwIHRvIHRoZSBsYXN0IGNoYXJhY3RlclxuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICAvLyBXaXRoIGNsZWFyICsgXCJOZXcgVmFsdWVcIiwgb25DaGFuZ2UgaXMgY2FsbGVkIGZvciBjbGVhcmluZyAoXCJcIikgYW5kIGVhY2ggdHlwZWQgY2hhcmFjdGVyXG4gICAgICAvLyBUaGUgdmFsdWUgYWNjdW11bGF0ZWQgaW4gdGhlIGlucHV0IGVsZW1lbnQgYWZ0ZXIgdHlwaW5nIHdpbGwgYmUgXCJDb3dOZXcgVmFsdWVcIlxuICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IHN0YXJ0cyB3aXRoIHZhbHVlPVwiQ293XCIgYW5kIHdlIGNsZWFyIHRoZW4gdHlwZVxuICAgICAgZXhwZWN0KG9uQ2hhbmdlLm1vY2suY2FsbHMubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHVCQUFBLENB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
@@ -354,4 +354,4 @@ DragDropBlank.propTypes = {
354
354
  instanceId: _propTypes["default"].string
355
355
  };
356
356
  var _default = exports["default"] = DragDropBlank;
357
- //# sourceMappingURL=blank.js.map
357
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9tYXRoUmVuZGVyaW5nIiwiX2RlYnVnIiwiX2NvcmUiLCJfdXRpbGl0aWVzIiwiX3N0eWxlcyIsIl9DaGlwIiwiX2NsYXNzbmFtZXMiLCJfcmVuZGVyVWkiLCJfY29sb3JzIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImxvZyIsImRlYnVnIiwiU3R5bGVkQ29udGVudCIsInN0eWxlZCIsIl9yZWYiLCJkcmFnZ2VkIiwib3ZlciIsImJvcmRlciIsImNvbmNhdCIsImNvbG9yIiwicHJpbWFyeSIsIm1pbldpZHRoIiwidG91Y2hBY3Rpb24iLCJvdmVyZmxvdyIsIndoaXRlU3BhY2UiLCJvcGFjaXR5IiwiU3R5bGVkQ2hpcCIsIkNoaXAiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwidGV4dCIsImZvbnRTaXplIiwibWF4V2lkdGgiLCJwb3NpdGlvbiIsImJvcmRlclJhZGl1cyIsImdyZXkiLCJjb3JyZWN0IiwiaW5jb3JyZWN0IiwiU3R5bGVkQ2hpcExhYmVsIiwicG9pbnRlckV2ZW50cyIsImRpc3BsYXkiLCJwYWRkaW5nIiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwibGVmdCIsIkJsYW5rQ29udGVudCIsIl9yZWYyIiwiX2RyYWdJdGVtJGNob2ljZSIsIl9mcm96ZW5SZWYkY3VycmVudCIsIl9mcm96ZW5SZWYkY3VycmVudDIiLCJkaXNhYmxlZCIsImNob2ljZSIsImlzT3ZlciIsImlzRHJhZ2dpbmciLCJkcmFnSXRlbSIsImVtcHR5UmVzcG9uc2VBcmVhV2lkdGgiLCJlbXB0eVJlc3BvbnNlQXJlYUhlaWdodCIsInJvb3RSZWYiLCJ1c2VSZWYiLCJzcGFuUmVmIiwiZnJvemVuUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJoZWlnaHQiLCJ3aWR0aCIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkaW1lbnNpb25zIiwic2V0RGltZW5zaW9ucyIsImhhbmRsZUltYWdlTG9hZCIsInVwZGF0ZURpbWVuc2lvbnMiLCJoYW5kbGVFbGVtZW50cyIsIl9zcGFuUmVmJGN1cnJlbnQiLCJpbWFnZUVsZW1lbnQiLCJjdXJyZW50IiwicXVlcnlTZWxlY3RvciIsIm9ubG9hZCIsInNldFRpbWVvdXQiLCJzdHlsZSIsIm9mZnNldFdpZHRoIiwib2Zmc2V0SGVpZ2h0Iiwid2lkdGhXaXRoUGFkZGluZyIsImhlaWdodFdpdGhQYWRkaW5nIiwicmVzcG9uc2VBcmVhV2lkdGgiLCJwYXJzZUZsb2F0IiwicmVzcG9uc2VBcmVhSGVpZ2h0IiwiYWRqdXN0ZWRXaWR0aCIsImFkanVzdGVkSGVpZ2h0IiwicHJldlN0YXRlIiwiZ2V0Um9vdERpbWVuc2lvbnMiLCJpc05hTiIsInJvb3RTdHlsZSIsIm1pbkhlaWdodCIsInVzZUVmZmVjdCIsInJlbmRlck1hdGgiLCJ2YWx1ZSIsImRyYWdnZWRMYWJlbCIsImxhYmVsIiwiY3JlYXRlRWxlbWVudCIsImNsaWNrYWJsZSIsInJlZiIsImNvbXBvbmVudCIsIkZyYWdtZW50IiwiZHJhZ2dhYmxlIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsImhpZGRlbiIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwicGFyZW50T3ZlciIsInVuZGVmaW5lZCIsInZhcmlhbnQiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJpZCIsIlByb3BUeXBlcyIsIm9uZU9mVHlwZSIsInN0cmluZyIsIm51bWJlciIsImJvb2wiLCJkdXBsaWNhdGVzIiwib2JqZWN0Iiwib25DaGFuZ2UiLCJmdW5jIiwiaW5zdGFuY2VJZCIsIkRyYWdEcm9wQmxhbmsiLCJfcmVmMyIsIl9kcmFnSXRlbSRkYXRhIiwiX3VzZURyYWdnYWJsZSIsInVzZURyYWdnYWJsZSIsImRhdGEiLCJmcm9tQ2hvaWNlIiwidHlwZSIsImRyYWdBdHRyaWJ1dGVzIiwiYXR0cmlidXRlcyIsImRyYWdMaXN0ZW5lcnMiLCJsaXN0ZW5lcnMiLCJzZXREcmFnTm9kZVJlZiIsInNldE5vZGVSZWYiLCJ0cmFuc2Zvcm0iLCJfdXNlRHJvcHBhYmxlIiwidXNlRHJvcHBhYmxlIiwiYWNjZXB0cyIsInNldERyb3BOb2RlUmVmIiwiYWN0aXZlIiwibm9kZSIsIkNTUyIsIlRyYW5zbGF0ZSIsInRvU3RyaW5nIiwiX2V4dGVuZHMyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvYmxhbmsuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyB1c2VEcmFnZ2FibGUsIHVzZURyb3BwYWJsZSB9IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCBDaGlwIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQ2hpcCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IGdyZXkgfSBmcm9tICdAbXVpL21hdGVyaWFsL2NvbG9ycyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtbGliOm1hc2stbWFya3VwOmJsYW5rJyk7XG5cbmNvbnN0IFN0eWxlZENvbnRlbnQgPSBzdHlsZWQoJ3NwYW4nKSgoeyBkcmFnZ2VkLCBvdmVyIH0pID0+ICh7XG4gIGJvcmRlcjogYHNvbGlkIDBweCAke2NvbG9yLnByaW1hcnkoKX1gLFxuICBtaW5XaWR0aDogJzIwMHB4JyxcbiAgdG91Y2hBY3Rpb246ICdub25lJyxcbiAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgb3BhY2l0eTogMSxcbiAgLi4uKG92ZXIgJiYge1xuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgfSksXG4gIC4uLihkcmFnZ2VkICYmIHtcbiAgICBvcGFjaXR5OiAwLjUsXG4gIH0pLFxufSkpO1xuXG5jb25zdCBTdHlsZWRDaGlwID0gc3R5bGVkKENoaXApKCgpID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICBib3JkZXI6IGAycHggZGFzaGVkICR7Y29sb3IudGV4dCgpfWAsXG4gIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gIG1heFdpZHRoOiAnMzc0cHgnLFxuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgJyYub3Zlcic6IHtcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gIH0sXG4gICcmLnBhcmVudE92ZXInOiB7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Z3JleVs1MDBdfWAsXG4gICAgYmFja2dyb3VuZENvbG9yOiBgJHtncmV5WzMwMF19YCxcbiAgfSxcbiAgJyYuY29ycmVjdCc6IHtcbiAgICBib3JkZXI6IGBzb2xpZCAxcHggJHtjb2xvci5jb3JyZWN0KCl9YCxcbiAgfSxcbiAgJyYuaW5jb3JyZWN0Jzoge1xuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke2NvbG9yLmluY29ycmVjdCgpfWAsXG4gIH0sXG4gICcmLk11aS1kaXNhYmxlZCc6IHtcbiAgICBvcGFjaXR5OiAxLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRDaGlwTGFiZWwgPSBzdHlsZWQoJ3NwYW4nKSgoKSA9PiAoe1xuICB3aGl0ZVNwYWNlOiAnbm9ybWFsJyxcbiAgLy8gQWRkZWQgZm9yIHRvdWNoIGRldmljZXMsIGZvciBpbWFnZSBjb250ZW50LlxuICAvLyBUaGlzIHdpbGwgcHJldmVudCB0aGUgY29udGV4dCBtZW51IGZyb20gYXBwZWFyaW5nIGFuZCBub3QgYWxsb3dpbmcgb3RoZXIgaW50ZXJhY3Rpb25zIHdpdGggdGhlIGltYWdlLlxuICAvLyBJZiBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgaW1hZ2UgaW4gdGhlIHRva2VuIHdpbGwgYmUgcmVxdWVzdGVkIHdlIHNob3VsZCBoYW5kbGUgb25seSB0aGUgY29udGV4dCBNZW51LlxuICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICcmIGltZyc6IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgIHBhZGRpbmc6ICcycHggMCcsXG4gIH0sXG4gIC8vIFJlbW92ZSBkZWZhdWx0IDxwPiBtYXJnaW5zIHRvIGVuc3VyZSBjb25zaXN0ZW50IHNwYWNpbmcgYWNyb3NzIGFsbCB3cmFwcGVkIGNvbnRlbnQgKHAsIHNwYW4sIGRpdiwgbWF0aClcbiAgLy8gUGFkZGluZyBmb3IgdG9wIGFuZCBib3R0b20gd2lsbCBpbnN0ZWFkIGJlIGNvbnRyb2xsZWQgYnkgdGhlIGNvbnRhaW5lciBmb3IgY29uc2lzdGVudCBsYXlvdXRcbiAgLy8gRW5zdXJlcyBjb25zaXN0ZW50IGJlaGF2aW9yIHdpdGggcGllLWFwaS1icm93c2VyLCB3aGVyZSBtYXJnaW5Ub3AgaXMgYWxyZWFkeSByZW1vdmVkIGJ5IGEgQm9vdHN0cmFwIHN0eWxlc2hlZXRcbiAgJyYgcCc6IHtcbiAgICBtYXJnaW5Ub3A6ICcwJyxcbiAgICBtYXJnaW5Cb3R0b206ICcwJyxcbiAgfSxcbiAgJyYgbWp4LWZyYWMnOiB7XG4gICAgZm9udFNpemU6ICcxMjAlICFpbXBvcnRhbnQnLFxuICB9LFxuICAnJi5vdmVyJzoge1xuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgfSxcbiAgJyYuaGlkZGVuJzoge1xuICAgIGNvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gICcmLmRyYWdnZWQnOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogMTYsXG4gICAgbWF4V2lkdGg6ICc2MHB4JyxcbiAgfSxcbn0pKTtcblxuZnVuY3Rpb24gQmxhbmtDb250ZW50KHtcbiAgZGlzYWJsZWQsXG4gIGNob2ljZSxcbiAgaXNPdmVyLFxuICBpc0RyYWdnaW5nLFxuICBkcmFnSXRlbSxcbiAgY29ycmVjdCxcbiAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aCxcbiAgZW1wdHlSZXNwb25zZUFyZWFIZWlnaHQsXG59KSB7XG4gIGNvbnN0IHJvb3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHNwYW5SZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGZyb3plblJlZiA9IHVzZVJlZihudWxsKTsgLy8gdG8gdXNlIGR1cmluZyBkcmFnZ2luZyB0byBwcmV2ZW50IGZsaWNrZXJpbmdcbiAgY29uc3QgW2RpbWVuc2lvbnMsIHNldERpbWVuc2lvbnNdID0gdXNlU3RhdGUoeyBoZWlnaHQ6IDAsIHdpZHRoOiAwIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUltYWdlTG9hZCA9ICgpID0+IHtcbiAgICB1cGRhdGVEaW1lbnNpb25zKCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRWxlbWVudHMgPSAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2VFbGVtZW50ID0gc3BhblJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yKCdpbWcnKTtcbiAgICBpZiAoaW1hZ2VFbGVtZW50KSB7XG4gICAgICBpbWFnZUVsZW1lbnQub25sb2FkID0gaGFuZGxlSW1hZ2VMb2FkO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdXBkYXRlRGltZW5zaW9ucygpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlRGltZW5zaW9ucyA9ICgpID0+IHtcbiAgICBpZiAoc3BhblJlZi5jdXJyZW50ICYmIHJvb3RSZWYuY3VycmVudCkge1xuICAgICAgLy8gVGVtcG9yYXJpbHkgc2V0IHJvb3RSZWYgd2lkdGggdG8gJ2F1dG8nIGZvciBuYXR1cmFsIG1lYXN1cmVtZW50XG4gICAgICByb290UmVmLmN1cnJlbnQuc3R5bGUud2lkdGggPSAnYXV0byc7XG5cbiAgICAgIC8vIEdldCB0aGUgbmF0dXJhbCBkaW1lbnNpb25zIG9mIHRoZSBjb250ZW50XG4gICAgICBjb25zdCB3aWR0aCA9IHNwYW5SZWYuY3VycmVudC5vZmZzZXRXaWR0aCB8fCAwO1xuICAgICAgY29uc3QgaGVpZ2h0ID0gc3BhblJlZi5jdXJyZW50Lm9mZnNldEhlaWdodCB8fCAwO1xuXG4gICAgICBjb25zdCB3aWR0aFdpdGhQYWRkaW5nID0gd2lkdGggKyAyNDsgLy8gMTJweCBwYWRkaW5nIG9uIGVhY2ggc2lkZVxuICAgICAgY29uc3QgaGVpZ2h0V2l0aFBhZGRpbmcgPSBoZWlnaHQgKyAyNDsgLy8gMTJweCBwYWRkaW5nIG9uIHRvcCBhbmQgYm90dG9tXG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlQXJlYVdpZHRoID0gcGFyc2VGbG9hdChlbXB0eVJlc3BvbnNlQXJlYVdpZHRoKSB8fCAwO1xuICAgICAgY29uc3QgcmVzcG9uc2VBcmVhSGVpZ2h0ID0gcGFyc2VGbG9hdChlbXB0eVJlc3BvbnNlQXJlYUhlaWdodCkgfHwgMDtcblxuICAgICAgY29uc3QgYWRqdXN0ZWRXaWR0aCA9IHdpZHRoV2l0aFBhZGRpbmcgPD0gcmVzcG9uc2VBcmVhV2lkdGggPyByZXNwb25zZUFyZWFXaWR0aCA6IHdpZHRoV2l0aFBhZGRpbmc7XG4gICAgICBjb25zdCBhZGp1c3RlZEhlaWdodCA9IGhlaWdodFdpdGhQYWRkaW5nIDw9IHJlc3BvbnNlQXJlYUhlaWdodCA/IHJlc3BvbnNlQXJlYUhlaWdodCA6IGhlaWdodFdpdGhQYWRkaW5nO1xuXG4gICAgICBzZXREaW1lbnNpb25zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIHdpZHRoOiBhZGp1c3RlZFdpZHRoID4gcmVzcG9uc2VBcmVhV2lkdGggPyBhZGp1c3RlZFdpZHRoIDogcHJldlN0YXRlLndpZHRoLFxuICAgICAgICBoZWlnaHQ6IGFkanVzdGVkSGVpZ2h0ID4gcmVzcG9uc2VBcmVhSGVpZ2h0ID8gYWRqdXN0ZWRIZWlnaHQgOiBwcmV2U3RhdGUuaGVpZ2h0LFxuICAgICAgfSkpO1xuXG4gICAgICByb290UmVmLmN1cnJlbnQuc3R5bGUud2lkdGggPSBgJHthZGp1c3RlZFdpZHRofXB4YDtcbiAgICAgIHJvb3RSZWYuY3VycmVudC5zdHlsZS5oZWlnaHQgPSBgJHthZGp1c3RlZEhlaWdodH1weGA7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldFJvb3REaW1lbnNpb25zID0gKCkgPT4ge1xuICAgIC8vIEhhbmRsZSBwb3RlbnRpYWwgbm9uLW51bWVyaWMgdmFsdWVzXG4gICAgY29uc3QgcmVzcG9uc2VBcmVhV2lkdGggPSAhaXNOYU4ocGFyc2VGbG9hdChlbXB0eVJlc3BvbnNlQXJlYVdpZHRoKSkgPyBwYXJzZUZsb2F0KGVtcHR5UmVzcG9uc2VBcmVhV2lkdGgpIDogMDtcbiAgICBjb25zdCByZXNwb25zZUFyZWFIZWlnaHQgPSAhaXNOYU4ocGFyc2VGbG9hdChlbXB0eVJlc3BvbnNlQXJlYUhlaWdodCkpID8gcGFyc2VGbG9hdChlbXB0eVJlc3BvbnNlQXJlYUhlaWdodCkgOiAwO1xuXG4gICAgY29uc3Qgcm9vdFN0eWxlID0ge1xuICAgICAgaGVpZ2h0OiBkaW1lbnNpb25zLmhlaWdodCB8fCByZXNwb25zZUFyZWFIZWlnaHQsXG4gICAgICB3aWR0aDogZGltZW5zaW9ucy53aWR0aCB8fCByZXNwb25zZUFyZWFXaWR0aCxcbiAgICB9O1xuXG4gICAgLy8gYWRkIG1pbldpZHRoLCBtaW5IZWlnaHQgaWYgd2lkdGggYW5kIGhlaWdodCBhcmUgbm90IGRlZmluZWRcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucm9vdFN0eWxlLFxuICAgICAgLi4uKHJlc3BvbnNlQXJlYVdpZHRoID8ge30gOiB7IG1pbldpZHRoOiA5MCB9KSxcbiAgICAgIC4uLihyZXNwb25zZUFyZWFIZWlnaHQgPyB7fSA6IHsgbWluSGVpZ2h0OiAzMiB9KSxcbiAgICB9O1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaGFuZGxlRWxlbWVudHMoKTtcbiAgfSwgW10pO1xuXG4gIC8vIFJlbmRlciBtYXRoIGZvciB0aGUgcGxhY2Vob2xkZXIvcHJldmlldyB3aGVuIGRyYWdnaW5nIG92ZXJcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocm9vdFJlZi5jdXJyZW50KSB7XG4gICAgICByZW5kZXJNYXRoKHJvb3RSZWYuY3VycmVudCk7XG4gICAgfVxuICB9LCBbaXNPdmVyLCBkcmFnSXRlbT8uY2hvaWNlPy52YWx1ZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjaG9pY2UpIHtcbiAgICAgIHNldERpbWVuc2lvbnMoeyBoZWlnaHQ6IDAsIHdpZHRoOiAwIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBoYW5kbGVFbGVtZW50cygpO1xuICB9LCBbY2hvaWNlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzT3ZlciAmJiAhaXNEcmFnZ2luZykge1xuICAgICAgZnJvemVuUmVmLmN1cnJlbnQgPSB7XG4gICAgICAgIHdpZHRoOiByb290UmVmLmN1cnJlbnQub2Zmc2V0V2lkdGgsXG4gICAgICAgIGhlaWdodDogcm9vdFJlZi5jdXJyZW50Lm9mZnNldEhlaWdodCxcbiAgICAgIH07XG4gICAgfVxuICB9LCBbY2hvaWNlLCBpc092ZXIsIGlzRHJhZ2dpbmddKTtcblxuICBjb25zdCBkcmFnZ2VkTGFiZWwgPSBkcmFnSXRlbSAmJiBpc092ZXIgJiYgZHJhZ0l0ZW0uY2hvaWNlICYmIGRyYWdJdGVtLmNob2ljZS52YWx1ZTtcbiAgY29uc3QgbGFiZWwgPSBjaG9pY2UgJiYgY2hvaWNlLnZhbHVlO1xuICBjb25zdCBzdHlsZSA9XG4gICAgaXNPdmVyIHx8IGlzRHJhZ2dpbmdcbiAgICAgID8ge1xuICAgICAgICAgIHdpZHRoOiBmcm96ZW5SZWYuY3VycmVudD8ud2lkdGgsXG4gICAgICAgICAgaGVpZ2h0OiBmcm96ZW5SZWYuY3VycmVudD8uaGVpZ2h0LFxuICAgICAgICB9XG4gICAgICA6IGdldFJvb3REaW1lbnNpb25zKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hpcFxuICAgICAgY2xpY2thYmxlPXtmYWxzZX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIHJlZj17cm9vdFJlZn1cbiAgICAgIGNvbXBvbmVudD1cInNwYW5cIlxuICAgICAgbGFiZWw9e1xuICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgPFN0eWxlZENoaXBMYWJlbFxuICAgICAgICAgICAgcmVmPXtzcGFuUmVmfVxuICAgICAgICAgICAgZHJhZ2dhYmxlPXt0cnVlfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHtcbiAgICAgICAgICAgICAgb3ZlcjogaXNPdmVyLFxuICAgICAgICAgICAgICBoaWRkZW46IGRyYWdnZWRMYWJlbCxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBsYWJlbCB8fCAnJyB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2RyYWdnZWRMYWJlbCAmJiAoXG4gICAgICAgICAgICA8U3R5bGVkQ2hpcExhYmVsXG4gICAgICAgICAgICAgIGRyYWdnYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHtcbiAgICAgICAgICAgICAgICBvdmVyOiBpc092ZXIsXG4gICAgICAgICAgICAgICAgZHJhZ2dlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogZHJhZ2dlZExhYmVsIHx8ICcnIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoe1xuICAgICAgICBvdmVyOiBpc092ZXIsXG4gICAgICAgIHBhcmVudE92ZXI6IGlzT3ZlcixcbiAgICAgICAgY29ycmVjdDogY29ycmVjdCAhPT0gdW5kZWZpbmVkICYmIGNvcnJlY3QsXG4gICAgICAgIGluY29ycmVjdDogY29ycmVjdCAhPT0gdW5kZWZpbmVkICYmICFjb3JyZWN0LFxuICAgICAgfSl9XG4gICAgICB2YXJpYW50PXtkaXNhYmxlZCA/ICdvdXRsaW5lZCcgOiB1bmRlZmluZWR9XG4gICAgICBzdHlsZT17c3R5bGV9XG4gICAgLz5cbiAgKTtcbn1cblxuQmxhbmtDb250ZW50LmRlZmF1bHRQcm9wcyA9IHtcbiAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aDogMCxcbiAgZW1wdHlSZXNwb25zZUFyZWFIZWlnaHQ6IDAsXG59O1xuXG5CbGFua0NvbnRlbnQucHJvcFR5cGVzID0ge1xuICBpZDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGR1cGxpY2F0ZXM6IFByb3BUeXBlcy5ib29sLFxuICBjaG9pY2U6IFByb3BUeXBlcy5vYmplY3QsXG4gIGlzT3ZlcjogUHJvcFR5cGVzLmJvb2wsXG4gIGRyYWdJdGVtOiBQcm9wVHlwZXMub2JqZWN0LFxuICBjb3JyZWN0OiBQcm9wVHlwZXMuYm9vbCxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICBlbXB0eVJlc3BvbnNlQXJlYVdpZHRoOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gIGluc3RhbmNlSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG4vLyBOZXcgZnVuY3Rpb25hbCBjb21wb25lbnQgdXNpbmcgQGRuZC1raXQgaG9va3NcbmZ1bmN0aW9uIERyYWdEcm9wQmxhbmsoe1xuICBpZCxcbiAgZGlzYWJsZWQsXG4gIGR1cGxpY2F0ZXMsXG4gIGNob2ljZSxcbiAgY29ycmVjdCxcbiAgb25DaGFuZ2UsXG4gIGVtcHR5UmVzcG9uc2VBcmVhV2lkdGgsXG4gIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0LFxuICBpbnN0YW5jZUlkLFxufSkge1xuICAvLyBTZXR1cCBkcmFnZ2FibGUgZnVuY3Rpb25hbGl0eVxuICBjb25zdCB7XG4gICAgYXR0cmlidXRlczogZHJhZ0F0dHJpYnV0ZXMsXG4gICAgbGlzdGVuZXJzOiBkcmFnTGlzdGVuZXJzLFxuICAgIHNldE5vZGVSZWY6IHNldERyYWdOb2RlUmVmLFxuICAgIHRyYW5zZm9ybSxcbiAgICBpc0RyYWdnaW5nLFxuICB9ID0gdXNlRHJhZ2dhYmxlKHtcbiAgICBpZDogYG1hc2stYmxhbmstZHJhZy0ke2lkfWAsXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkIHx8ICFjaG9pY2UsXG4gICAgZGF0YToge1xuICAgICAgaWQ6IGlkLFxuICAgICAgY2hvaWNlOiBjaG9pY2UsXG4gICAgICBpbnN0YW5jZUlkOiBpbnN0YW5jZUlkLFxuICAgICAgZnJvbUNob2ljZTogZmFsc2UsIC8vIFRoaXMgaXMgZnJvbSBhIGJsYW5rLCBub3QgZnJvbSBjaG9pY2VzXG4gICAgICB0eXBlOiAnTWFza0JsYW5rJyxcbiAgICB9LFxuICB9KTtcblxuICAvLyBTZXR1cCBkcm9wcGFibGUgZnVuY3Rpb25hbGl0eVxuICBjb25zdCB7IHNldE5vZGVSZWY6IHNldERyb3BOb2RlUmVmLCBpc092ZXIsIGFjdGl2ZTogZHJhZ0l0ZW0gfSA9IHVzZURyb3BwYWJsZSh7XG4gICAgaWQ6IGBtYXNrLWJsYW5rLWRyb3AtJHtpZH1gLFxuICAgIGRhdGE6IHtcbiAgICAgIGlkOiBpZCxcbiAgICAgIGFjY2VwdHM6IFsnTWFza0JsYW5rJ10sXG4gICAgICBpbnN0YW5jZUlkOiBpbnN0YW5jZUlkLFxuICAgIH0sXG4gIH0pO1xuXG4gIC8vIENvbWJpbmUgcmVmcyBmb3IgYm90aCBkcmFnIGFuZCBkcm9wXG4gIGNvbnN0IHNldE5vZGVSZWYgPSAobm9kZSkgPT4ge1xuICAgIHNldERyYWdOb2RlUmVmKG5vZGUpO1xuICAgIHNldERyb3BOb2RlUmVmKG5vZGUpO1xuICB9O1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zbGF0ZS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRlbnRcbiAgICAgIHJlZj17c2V0Tm9kZVJlZn1cbiAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgIGRyYWdnZWQ9e2lzRHJhZ2dpbmd9XG4gICAgICBvdmVyPXtpc092ZXJ9XG4gICAgICB7Li4uZHJhZ0F0dHJpYnV0ZXN9XG4gICAgICB7Li4uZHJhZ0xpc3RlbmVyc31cbiAgICA+XG4gICAgICA8QmxhbmtDb250ZW50XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkdXBsaWNhdGVzPXtkdXBsaWNhdGVzfVxuICAgICAgICBjaG9pY2U9e2Nob2ljZX1cbiAgICAgICAgaXNPdmVyPXtpc092ZXJ9XG4gICAgICAgIGRyYWdJdGVtPXtkcmFnSXRlbT8uZGF0YT8uY3VycmVudH1cbiAgICAgICAgY29ycmVjdD17Y29ycmVjdH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBlbXB0eVJlc3BvbnNlQXJlYVdpZHRoPXtlbXB0eVJlc3BvbnNlQXJlYVdpZHRofVxuICAgICAgICBlbXB0eVJlc3BvbnNlQXJlYUhlaWdodD17ZW1wdHlSZXNwb25zZUFyZWFIZWlnaHR9XG4gICAgICAgIGluc3RhbmNlSWQ9e2luc3RhbmNlSWR9XG4gICAgICAvPlxuICAgIDwvU3R5bGVkQ29udGVudD5cbiAgKTtcbn1cblxuRHJhZ0Ryb3BCbGFuay5kZWZhdWx0UHJvcHMgPSB7XG4gIGVtcHR5UmVzcG9uc2VBcmVhV2lkdGg6IDAsXG4gIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0OiAwLFxufTtcblxuRHJhZ0Ryb3BCbGFuay5wcm9wVHlwZXMgPSB7XG4gIGlkOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgZHVwbGljYXRlczogUHJvcFR5cGVzLmJvb2wsXG4gIGNob2ljZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgY29ycmVjdDogUHJvcFR5cGVzLmJvb2wsXG4gIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICBlbXB0eVJlc3BvbnNlQXJlYUhlaWdodDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICBpbnN0YW5jZUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRHJhZ0Ryb3BCbGFuaztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxLQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxXQUFBLEdBQUFQLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBVSxTQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxPQUFBLEdBQUFYLE9BQUE7QUFBNEMsU0FBQUQsd0JBQUFhLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFmLHVCQUFBLFlBQUFBLHdCQUFBYSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsbUJBQUFULENBQUEsaUJBQUFBLENBQUEsZ0JBQUFVLE9BQUEsQ0FBQVYsQ0FBQSwwQkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxjQUFBTSxFQUFBLElBQUFkLENBQUEsZ0JBQUFjLEVBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxJQUFBRCxDQUFBLEdBQUFXLE1BQUEsQ0FBQUMsY0FBQSxLQUFBRCxNQUFBLENBQUFFLHdCQUFBLENBQUFuQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxDQUFBSyxHQUFBLElBQUFMLENBQUEsQ0FBQU0sR0FBQSxJQUFBUCxDQUFBLENBQUFFLENBQUEsRUFBQU0sRUFBQSxFQUFBUCxDQUFBLElBQUFDLENBQUEsQ0FBQU0sRUFBQSxJQUFBZCxDQUFBLENBQUFjLEVBQUEsV0FBQU4sQ0FBQSxLQUFBUixDQUFBLEVBQUFDLENBQUE7QUFBQSxTQUFBbUIsUUFBQXBCLENBQUEsRUFBQUcsQ0FBQSxRQUFBRixDQUFBLEdBQUFnQixNQUFBLENBQUFJLElBQUEsQ0FBQXJCLENBQUEsT0FBQWlCLE1BQUEsQ0FBQUsscUJBQUEsUUFBQWhCLENBQUEsR0FBQVcsTUFBQSxDQUFBSyxxQkFBQSxDQUFBdEIsQ0FBQSxHQUFBRyxDQUFBLEtBQUFHLENBQUEsR0FBQUEsQ0FBQSxDQUFBaUIsTUFBQSxXQUFBcEIsQ0FBQSxXQUFBYyxNQUFBLENBQUFFLHdCQUFBLENBQUFuQixDQUFBLEVBQUFHLENBQUEsRUFBQXFCLFVBQUEsT0FBQXZCLENBQUEsQ0FBQXdCLElBQUEsQ0FBQUMsS0FBQSxDQUFBekIsQ0FBQSxFQUFBSyxDQUFBLFlBQUFMLENBQUE7QUFBQSxTQUFBMEIsY0FBQTNCLENBQUEsYUFBQUcsQ0FBQSxNQUFBQSxDQUFBLEdBQUF5QixTQUFBLENBQUFDLE1BQUEsRUFBQTFCLENBQUEsVUFBQUYsQ0FBQSxXQUFBMkIsU0FBQSxDQUFBekIsQ0FBQSxJQUFBeUIsU0FBQSxDQUFBekIsQ0FBQSxRQUFBQSxDQUFBLE9BQUFpQixPQUFBLENBQUFILE1BQUEsQ0FBQWhCLENBQUEsT0FBQTZCLE9BQUEsV0FBQTNCLENBQUEsUUFBQTRCLGdCQUFBLGFBQUEvQixDQUFBLEVBQUFHLENBQUEsRUFBQUYsQ0FBQSxDQUFBRSxDQUFBLFNBQUFjLE1BQUEsQ0FBQWUseUJBQUEsR0FBQWYsTUFBQSxDQUFBZ0IsZ0JBQUEsQ0FBQWpDLENBQUEsRUFBQWlCLE1BQUEsQ0FBQWUseUJBQUEsQ0FBQS9CLENBQUEsS0FBQW1CLE9BQUEsQ0FBQUgsTUFBQSxDQUFBaEIsQ0FBQSxHQUFBNkIsT0FBQSxXQUFBM0IsQ0FBQSxJQUFBYyxNQUFBLENBQUFDLGNBQUEsQ0FBQWxCLENBQUEsRUFBQUcsQ0FBQSxFQUFBYyxNQUFBLENBQUFFLHdCQUFBLENBQUFsQixDQUFBLEVBQUFFLENBQUEsaUJBQUFILENBQUE7QUFFNUMsSUFBTWtDLEdBQUcsR0FBRyxJQUFBQyxpQkFBSyxFQUFDLDJCQUEyQixDQUFDO0FBRTlDLElBQU1DLGFBQWEsR0FBRyxJQUFBQyxjQUFNLEVBQUMsTUFBTSxDQUFDLENBQUMsVUFBQUMsSUFBQTtFQUFBLElBQUdDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0lBQUVDLElBQUksR0FBQUYsSUFBQSxDQUFKRSxJQUFJO0VBQUEsT0FBQWIsYUFBQSxDQUFBQSxhQUFBO0lBQ25EYyxNQUFNLGVBQUFDLE1BQUEsQ0FBZUMsZUFBSyxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFFO0lBQ3RDQyxRQUFRLEVBQUUsT0FBTztJQUNqQkMsV0FBVyxFQUFFLE1BQU07SUFDbkJDLFFBQVEsRUFBRSxRQUFRO0lBQ2xCQyxVQUFVLEVBQUUsUUFBUTtJQUNwQkMsT0FBTyxFQUFFO0VBQUMsR0FDTlQsSUFBSSxJQUFJO0lBQ1ZRLFVBQVUsRUFBRSxRQUFRO0lBQ3BCRCxRQUFRLEVBQUU7RUFDWixDQUFDLEdBQ0dSLE9BQU8sSUFBSTtJQUNiVSxPQUFPLEVBQUU7RUFDWCxDQUFDO0FBQUEsQ0FDRCxDQUFDO0FBRUgsSUFBTUMsVUFBVSxHQUFHLElBQUFiLGNBQU0sRUFBQ2MsZ0JBQUksQ0FBQyxDQUFDO0VBQUEsT0FBTztJQUNyQ0MsZUFBZSxFQUFFVCxlQUFLLENBQUNVLFVBQVUsQ0FBQyxDQUFDO0lBQ25DWixNQUFNLGdCQUFBQyxNQUFBLENBQWdCQyxlQUFLLENBQUNXLElBQUksQ0FBQyxDQUFDLENBQUU7SUFDcENYLEtBQUssRUFBRUEsZUFBSyxDQUFDVyxJQUFJLENBQUMsQ0FBQztJQUNuQkMsUUFBUSxFQUFFLFNBQVM7SUFDbkJDLFFBQVEsRUFBRSxPQUFPO0lBQ2pCQyxRQUFRLEVBQUUsVUFBVTtJQUNwQkMsWUFBWSxFQUFFLEtBQUs7SUFDbkIsUUFBUSxFQUFFO01BQ1JWLFVBQVUsRUFBRSxRQUFRO01BQ3BCRCxRQUFRLEVBQUU7SUFDWixDQUFDO0lBQ0QsY0FBYyxFQUFFO01BQ2ROLE1BQU0sZUFBQUMsTUFBQSxDQUFlaUIsWUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFFO01BQ2hDUCxlQUFlLEtBQUFWLE1BQUEsQ0FBS2lCLFlBQUksQ0FBQyxHQUFHLENBQUM7SUFDL0IsQ0FBQztJQUNELFdBQVcsRUFBRTtNQUNYbEIsTUFBTSxlQUFBQyxNQUFBLENBQWVDLGVBQUssQ0FBQ2lCLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxhQUFhLEVBQUU7TUFDYm5CLE1BQU0sZUFBQUMsTUFBQSxDQUFlQyxlQUFLLENBQUNrQixTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsZ0JBQWdCLEVBQUU7TUFDaEJaLE9BQU8sRUFBRTtJQUNYO0VBQ0YsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVILElBQU1hLGVBQWUsR0FBRyxJQUFBekIsY0FBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0VBQUEsT0FBTztJQUM1Q1csVUFBVSxFQUFFLFFBQVE7SUFDcEI7SUFDQTtJQUNBO0lBQ0FlLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLE9BQU8sRUFBRTtNQUNQQyxPQUFPLEVBQUUsT0FBTztNQUNoQkMsT0FBTyxFQUFFO0lBQ1gsQ0FBQztJQUNEO0lBQ0E7SUFDQTtJQUNBLEtBQUssRUFBRTtNQUNMQyxTQUFTLEVBQUUsR0FBRztNQUNkQyxZQUFZLEVBQUU7SUFDaEIsQ0FBQztJQUNELFlBQVksRUFBRTtNQUNaWixRQUFRLEVBQUU7SUFDWixDQUFDO0lBQ0QsUUFBUSxFQUFFO01BQ1JQLFVBQVUsRUFBRSxRQUFRO01BQ3BCRCxRQUFRLEVBQUU7SUFDWixDQUFDO0lBQ0QsVUFBVSxFQUFFO01BQ1ZKLEtBQUssRUFBRSxhQUFhO01BQ3BCTSxPQUFPLEVBQUU7SUFDWCxDQUFDO0lBQ0QsV0FBVyxFQUFFO01BQ1hRLFFBQVEsRUFBRSxVQUFVO01BQ3BCVyxJQUFJLEVBQUUsRUFBRTtNQUNSWixRQUFRLEVBQUU7SUFDWjtFQUNGLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxTQUFTYSxZQUFZQSxDQUFBQyxLQUFBLEVBU2xCO0VBQUEsSUFBQUMsZ0JBQUEsRUFBQUMsa0JBQUEsRUFBQUMsbUJBQUE7RUFBQSxJQVJEQyxRQUFRLEdBQUFKLEtBQUEsQ0FBUkksUUFBUTtJQUNSQyxNQUFNLEdBQUFMLEtBQUEsQ0FBTkssTUFBTTtJQUNOQyxNQUFNLEdBQUFOLEtBQUEsQ0FBTk0sTUFBTTtJQUNOQyxVQUFVLEdBQUFQLEtBQUEsQ0FBVk8sVUFBVTtJQUNWQyxRQUFRLEdBQUFSLEtBQUEsQ0FBUlEsUUFBUTtJQUNSbEIsT0FBTyxHQUFBVSxLQUFBLENBQVBWLE9BQU87SUFDUG1CLHNCQUFzQixHQUFBVCxLQUFBLENBQXRCUyxzQkFBc0I7SUFDdEJDLHVCQUF1QixHQUFBVixLQUFBLENBQXZCVSx1QkFBdUI7RUFFdkIsSUFBTUMsT0FBTyxHQUFHLElBQUFDLGFBQU0sRUFBQyxJQUFJLENBQUM7RUFDNUIsSUFBTUMsT0FBTyxHQUFHLElBQUFELGFBQU0sRUFBQyxJQUFJLENBQUM7RUFDNUIsSUFBTUUsU0FBUyxHQUFHLElBQUFGLGFBQU0sRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQ2hDLElBQUFHLFNBQUEsR0FBb0MsSUFBQUMsZUFBUSxFQUFDO01BQUVDLE1BQU0sRUFBRSxDQUFDO01BQUVDLEtBQUssRUFBRTtJQUFFLENBQUMsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsYUFBQUwsU0FBQTtJQUE5RE0sVUFBVSxHQUFBRixVQUFBO0lBQUVHLGFBQWEsR0FBQUgsVUFBQTtFQUVoQyxJQUFNSSxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUEsRUFBUztJQUM1QkMsZ0JBQWdCLENBQUMsQ0FBQztFQUNwQixDQUFDO0VBRUQsSUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFBLEVBQVM7SUFBQSxJQUFBQyxnQkFBQTtJQUMzQixJQUFNQyxZQUFZLElBQUFELGdCQUFBLEdBQUdiLE9BQU8sQ0FBQ2UsT0FBTyxjQUFBRixnQkFBQSx1QkFBZkEsZ0JBQUEsQ0FBaUJHLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDMUQsSUFBSUYsWUFBWSxFQUFFO01BQ2hCQSxZQUFZLENBQUNHLE1BQU0sR0FBR1AsZUFBZTtJQUN2QyxDQUFDLE1BQU07TUFDTFEsVUFBVSxDQUFDLFlBQU07UUFDZlAsZ0JBQWdCLENBQUMsQ0FBQztNQUNwQixDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ1Q7RUFDRixDQUFDO0VBRUQsSUFBTUEsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBQSxFQUFTO0lBQzdCLElBQUlYLE9BQU8sQ0FBQ2UsT0FBTyxJQUFJakIsT0FBTyxDQUFDaUIsT0FBTyxFQUFFO01BQ3RDO01BQ0FqQixPQUFPLENBQUNpQixPQUFPLENBQUNJLEtBQUssQ0FBQ2QsS0FBSyxHQUFHLE1BQU07O01BRXBDO01BQ0EsSUFBTUEsS0FBSyxHQUFHTCxPQUFPLENBQUNlLE9BQU8sQ0FBQ0ssV0FBVyxJQUFJLENBQUM7TUFDOUMsSUFBTWhCLE1BQU0sR0FBR0osT0FBTyxDQUFDZSxPQUFPLENBQUNNLFlBQVksSUFBSSxDQUFDO01BRWhELElBQU1DLGdCQUFnQixHQUFHakIsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO01BQ3JDLElBQU1rQixpQkFBaUIsR0FBR25CLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQzs7TUFFdkMsSUFBTW9CLGlCQUFpQixHQUFHQyxVQUFVLENBQUM3QixzQkFBc0IsQ0FBQyxJQUFJLENBQUM7TUFDakUsSUFBTThCLGtCQUFrQixHQUFHRCxVQUFVLENBQUM1Qix1QkFBdUIsQ0FBQyxJQUFJLENBQUM7TUFFbkUsSUFBTThCLGFBQWEsR0FBR0wsZ0JBQWdCLElBQUlFLGlCQUFpQixHQUFHQSxpQkFBaUIsR0FBR0YsZ0JBQWdCO01BQ2xHLElBQU1NLGNBQWMsR0FBR0wsaUJBQWlCLElBQUlHLGtCQUFrQixHQUFHQSxrQkFBa0IsR0FBR0gsaUJBQWlCO01BRXZHZCxhQUFhLENBQUMsVUFBQ29CLFNBQVM7UUFBQSxPQUFNO1VBQzVCeEIsS0FBSyxFQUFFc0IsYUFBYSxHQUFHSCxpQkFBaUIsR0FBR0csYUFBYSxHQUFHRSxTQUFTLENBQUN4QixLQUFLO1VBQzFFRCxNQUFNLEVBQUV3QixjQUFjLEdBQUdGLGtCQUFrQixHQUFHRSxjQUFjLEdBQUdDLFNBQVMsQ0FBQ3pCO1FBQzNFLENBQUM7TUFBQSxDQUFDLENBQUM7TUFFSE4sT0FBTyxDQUFDaUIsT0FBTyxDQUFDSSxLQUFLLENBQUNkLEtBQUssTUFBQTlDLE1BQUEsQ0FBTW9FLGFBQWEsT0FBSTtNQUNsRDdCLE9BQU8sQ0FBQ2lCLE9BQU8sQ0FBQ0ksS0FBSyxDQUFDZixNQUFNLE1BQUE3QyxNQUFBLENBQU1xRSxjQUFjLE9BQUk7SUFDdEQ7RUFDRixDQUFDO0VBRUQsSUFBTUUsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQSxFQUFTO0lBQzlCO0lBQ0EsSUFBTU4saUJBQWlCLEdBQUcsQ0FBQ08sS0FBSyxDQUFDTixVQUFVLENBQUM3QixzQkFBc0IsQ0FBQyxDQUFDLEdBQUc2QixVQUFVLENBQUM3QixzQkFBc0IsQ0FBQyxHQUFHLENBQUM7SUFDN0csSUFBTThCLGtCQUFrQixHQUFHLENBQUNLLEtBQUssQ0FBQ04sVUFBVSxDQUFDNUIsdUJBQXVCLENBQUMsQ0FBQyxHQUFHNEIsVUFBVSxDQUFDNUIsdUJBQXVCLENBQUMsR0FBRyxDQUFDO0lBRWhILElBQU1tQyxTQUFTLEdBQUc7TUFDaEI1QixNQUFNLEVBQUVJLFVBQVUsQ0FBQ0osTUFBTSxJQUFJc0Isa0JBQWtCO01BQy9DckIsS0FBSyxFQUFFRyxVQUFVLENBQUNILEtBQUssSUFBSW1CO0lBQzdCLENBQUM7O0lBRUQ7SUFDQSxPQUFBaEYsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsS0FDS3dGLFNBQVMsR0FDUlIsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEdBQUc7TUFBRTlELFFBQVEsRUFBRTtJQUFHLENBQUMsR0FDekNnRSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsR0FBRztNQUFFTyxTQUFTLEVBQUU7SUFBRyxDQUFDO0VBRW5ELENBQUM7RUFFRCxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZHRCLGNBQWMsQ0FBQyxDQUFDO0VBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUM7O0VBRU47RUFDQSxJQUFBc0IsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSXBDLE9BQU8sQ0FBQ2lCLE9BQU8sRUFBRTtNQUNuQixJQUFBb0IseUJBQVUsRUFBQ3JDLE9BQU8sQ0FBQ2lCLE9BQU8sQ0FBQztJQUM3QjtFQUNGLENBQUMsRUFBRSxDQUFDdEIsTUFBTSxFQUFFRSxRQUFRLGFBQVJBLFFBQVEsZ0JBQUFQLGdCQUFBLEdBQVJPLFFBQVEsQ0FBRUgsTUFBTSxjQUFBSixnQkFBQSx1QkFBaEJBLGdCQUFBLENBQWtCZ0QsS0FBSyxDQUFDLENBQUM7RUFFckMsSUFBQUYsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSSxDQUFDMUMsTUFBTSxFQUFFO01BQ1hpQixhQUFhLENBQUM7UUFBRUwsTUFBTSxFQUFFLENBQUM7UUFBRUMsS0FBSyxFQUFFO01BQUUsQ0FBQyxDQUFDO01BQ3RDO0lBQ0Y7SUFDQU8sY0FBYyxDQUFDLENBQUM7RUFDbEIsQ0FBQyxFQUFFLENBQUNwQixNQUFNLENBQUMsQ0FBQztFQUVaLElBQUEwQyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJLENBQUN6QyxNQUFNLElBQUksQ0FBQ0MsVUFBVSxFQUFFO01BQzFCTyxTQUFTLENBQUNjLE9BQU8sR0FBRztRQUNsQlYsS0FBSyxFQUFFUCxPQUFPLENBQUNpQixPQUFPLENBQUNLLFdBQVc7UUFDbENoQixNQUFNLEVBQUVOLE9BQU8sQ0FBQ2lCLE9BQU8sQ0FBQ007TUFDMUIsQ0FBQztJQUNIO0VBQ0YsQ0FBQyxFQUFFLENBQUM3QixNQUFNLEVBQUVDLE1BQU0sRUFBRUMsVUFBVSxDQUFDLENBQUM7RUFFaEMsSUFBTTJDLFlBQVksR0FBRzFDLFFBQVEsSUFBSUYsTUFBTSxJQUFJRSxRQUFRLENBQUNILE1BQU0sSUFBSUcsUUFBUSxDQUFDSCxNQUFNLENBQUM0QyxLQUFLO0VBQ25GLElBQU1FLEtBQUssR0FBRzlDLE1BQU0sSUFBSUEsTUFBTSxDQUFDNEMsS0FBSztFQUNwQyxJQUFNakIsS0FBSyxHQUNUMUIsTUFBTSxJQUFJQyxVQUFVLEdBQ2hCO0lBQ0VXLEtBQUssR0FBQWhCLGtCQUFBLEdBQUVZLFNBQVMsQ0FBQ2MsT0FBTyxjQUFBMUIsa0JBQUEsdUJBQWpCQSxrQkFBQSxDQUFtQmdCLEtBQUs7SUFDL0JELE1BQU0sR0FBQWQsbUJBQUEsR0FBRVcsU0FBUyxDQUFDYyxPQUFPLGNBQUF6QixtQkFBQSx1QkFBakJBLG1CQUFBLENBQW1CYztFQUM3QixDQUFDLEdBQ0QwQixpQkFBaUIsQ0FBQyxDQUFDO0VBRXpCLG9CQUNFL0gsTUFBQSxZQUFBd0ksYUFBQSxDQUFDeEUsVUFBVTtJQUNUeUUsU0FBUyxFQUFFLEtBQU07SUFDakJqRCxRQUFRLEVBQUVBLFFBQVM7SUFDbkJrRCxHQUFHLEVBQUUzQyxPQUFRO0lBQ2I0QyxTQUFTLEVBQUMsTUFBTTtJQUNoQkosS0FBSyxlQUNIdkksTUFBQSxZQUFBd0ksYUFBQSxDQUFDeEksTUFBQSxXQUFLLENBQUM0SSxRQUFRLHFCQUNiNUksTUFBQSxZQUFBd0ksYUFBQSxDQUFDNUQsZUFBZTtNQUNkOEQsR0FBRyxFQUFFekMsT0FBUTtNQUNiNEMsU0FBUyxFQUFFLElBQUs7TUFDaEJDLFNBQVMsRUFBRSxJQUFBQyxzQkFBVSxFQUFDO1FBQ3BCekYsSUFBSSxFQUFFb0MsTUFBTTtRQUNac0QsTUFBTSxFQUFFVjtNQUNWLENBQUMsQ0FBRTtNQUNIVyx1QkFBdUIsRUFBRTtRQUFFQyxNQUFNLEVBQUVYLEtBQUssSUFBSTtNQUFHO0lBQUUsQ0FDbEQsQ0FBQyxFQUNERCxZQUFZLGlCQUNYdEksTUFBQSxZQUFBd0ksYUFBQSxDQUFDNUQsZUFBZTtNQUNkaUUsU0FBUyxFQUFFLElBQUs7TUFDaEJDLFNBQVMsRUFBRSxJQUFBQyxzQkFBVSxFQUFDO1FBQ3BCekYsSUFBSSxFQUFFb0MsTUFBTTtRQUNackMsT0FBTyxFQUFFO01BQ1gsQ0FBQyxDQUFFO01BQ0g0Rix1QkFBdUIsRUFBRTtRQUFFQyxNQUFNLEVBQUVaLFlBQVksSUFBSTtNQUFHO0lBQUUsQ0FDekQsQ0FFVyxDQUNqQjtJQUNEUSxTQUFTLEVBQUUsSUFBQUMsc0JBQVUsRUFBQztNQUNwQnpGLElBQUksRUFBRW9DLE1BQU07TUFDWnlELFVBQVUsRUFBRXpELE1BQU07TUFDbEJoQixPQUFPLEVBQUVBLE9BQU8sS0FBSzBFLFNBQVMsSUFBSTFFLE9BQU87TUFDekNDLFNBQVMsRUFBRUQsT0FBTyxLQUFLMEUsU0FBUyxJQUFJLENBQUMxRTtJQUN2QyxDQUFDLENBQUU7SUFDSDJFLE9BQU8sRUFBRTdELFFBQVEsR0FBRyxVQUFVLEdBQUc0RCxTQUFVO0lBQzNDaEMsS0FBSyxFQUFFQTtFQUFNLENBQ2QsQ0FBQztBQUVOO0FBRUFqQyxZQUFZLENBQUNtRSxZQUFZLEdBQUc7RUFDMUJ6RCxzQkFBc0IsRUFBRSxDQUFDO0VBQ3pCQyx1QkFBdUIsRUFBRTtBQUMzQixDQUFDO0FBRURYLFlBQVksQ0FBQ29FLFNBQVMsR0FBRztFQUN2QkMsRUFBRSxFQUFFQyxxQkFBUyxDQUFDQyxTQUFTLENBQUMsQ0FBQ0QscUJBQVMsQ0FBQ0UsTUFBTSxFQUFFRixxQkFBUyxDQUFDRyxNQUFNLENBQUMsQ0FBQztFQUM3RHBFLFFBQVEsRUFBRWlFLHFCQUFTLENBQUNJLElBQUk7RUFDeEJDLFVBQVUsRUFBRUwscUJBQVMsQ0FBQ0ksSUFBSTtFQUMxQnBFLE1BQU0sRUFBRWdFLHFCQUFTLENBQUNNLE1BQU07RUFDeEJyRSxNQUFNLEVBQUUrRCxxQkFBUyxDQUFDSSxJQUFJO0VBQ3RCakUsUUFBUSxFQUFFNkQscUJBQVMsQ0FBQ00sTUFBTTtFQUMxQnJGLE9BQU8sRUFBRStFLHFCQUFTLENBQUNJLElBQUk7RUFDdkJHLFFBQVEsRUFBRVAscUJBQVMsQ0FBQ1EsSUFBSTtFQUN4QnBFLHNCQUFzQixFQUFFNEQscUJBQVMsQ0FBQ0MsU0FBUyxDQUFDLENBQUNELHFCQUFTLENBQUNFLE1BQU0sRUFBRUYscUJBQVMsQ0FBQ0csTUFBTSxDQUFDLENBQUM7RUFDakY5RCx1QkFBdUIsRUFBRTJELHFCQUFTLENBQUNDLFNBQVMsQ0FBQyxDQUFDRCxxQkFBUyxDQUFDRSxNQUFNLEVBQUVGLHFCQUFTLENBQUNHLE1BQU0sQ0FBQyxDQUFDO0VBQ2xGTSxVQUFVLEVBQUVULHFCQUFTLENBQUNFO0FBQ3hCLENBQUM7O0FBRUQ7QUFDQSxTQUFTUSxhQUFhQSxDQUFBQyxLQUFBLEVBVW5CO0VBQUEsSUFBQUMsY0FBQTtFQUFBLElBVERiLEVBQUUsR0FBQVksS0FBQSxDQUFGWixFQUFFO0lBQ0ZoRSxRQUFRLEdBQUE0RSxLQUFBLENBQVI1RSxRQUFRO0lBQ1JzRSxVQUFVLEdBQUFNLEtBQUEsQ0FBVk4sVUFBVTtJQUNWckUsTUFBTSxHQUFBMkUsS0FBQSxDQUFOM0UsTUFBTTtJQUNOZixPQUFPLEdBQUEwRixLQUFBLENBQVAxRixPQUFPO0lBQ1BzRixRQUFRLEdBQUFJLEtBQUEsQ0FBUkosUUFBUTtJQUNSbkUsc0JBQXNCLEdBQUF1RSxLQUFBLENBQXRCdkUsc0JBQXNCO0lBQ3RCQyx1QkFBdUIsR0FBQXNFLEtBQUEsQ0FBdkJ0RSx1QkFBdUI7SUFDdkJvRSxVQUFVLEdBQUFFLEtBQUEsQ0FBVkYsVUFBVTtFQUVWO0VBQ0EsSUFBQUksYUFBQSxHQU1JLElBQUFDLGtCQUFZLEVBQUM7TUFDZmYsRUFBRSxxQkFBQWhHLE1BQUEsQ0FBcUJnRyxFQUFFLENBQUU7TUFDM0JoRSxRQUFRLEVBQUVBLFFBQVEsSUFBSSxDQUFDQyxNQUFNO01BQzdCK0UsSUFBSSxFQUFFO1FBQ0poQixFQUFFLEVBQUVBLEVBQUU7UUFDTi9ELE1BQU0sRUFBRUEsTUFBTTtRQUNkeUUsVUFBVSxFQUFFQSxVQUFVO1FBQ3RCTyxVQUFVLEVBQUUsS0FBSztRQUFFO1FBQ25CQyxJQUFJLEVBQUU7TUFDUjtJQUNGLENBQUMsQ0FBQztJQWZZQyxjQUFjLEdBQUFMLGFBQUEsQ0FBMUJNLFVBQVU7SUFDQ0MsYUFBYSxHQUFBUCxhQUFBLENBQXhCUSxTQUFTO0lBQ0dDLGNBQWMsR0FBQVQsYUFBQSxDQUExQlUsVUFBVTtJQUNWQyxTQUFTLEdBQUFYLGFBQUEsQ0FBVFcsU0FBUztJQUNUdEYsVUFBVSxHQUFBMkUsYUFBQSxDQUFWM0UsVUFBVTs7RUFhWjtFQUNBLElBQUF1RixhQUFBLEdBQWlFLElBQUFDLGtCQUFZLEVBQUM7TUFDNUUzQixFQUFFLHFCQUFBaEcsTUFBQSxDQUFxQmdHLEVBQUUsQ0FBRTtNQUMzQmdCLElBQUksRUFBRTtRQUNKaEIsRUFBRSxFQUFFQSxFQUFFO1FBQ040QixPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUM7UUFDdEJsQixVQUFVLEVBQUVBO01BQ2Q7SUFDRixDQUFDLENBQUM7SUFQa0JtQixjQUFjLEdBQUFILGFBQUEsQ0FBMUJGLFVBQVU7SUFBa0J0RixNQUFNLEdBQUF3RixhQUFBLENBQU54RixNQUFNO0lBQVVFLFFBQVEsR0FBQXNGLGFBQUEsQ0FBaEJJLE1BQU07O0VBU2xEO0VBQ0EsSUFBTU4sVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlPLElBQUksRUFBSztJQUMzQlIsY0FBYyxDQUFDUSxJQUFJLENBQUM7SUFDcEJGLGNBQWMsQ0FBQ0UsSUFBSSxDQUFDO0VBQ3RCLENBQUM7RUFFRCxJQUFNbkUsS0FBSyxHQUFHO0lBQ1o2RCxTQUFTLEVBQUVPLGNBQUcsQ0FBQ0MsU0FBUyxDQUFDQyxRQUFRLENBQUNULFNBQVM7RUFDN0MsQ0FBQztFQUVELG9CQUNFakwsTUFBQSxZQUFBd0ksYUFBQSxDQUFDdEYsYUFBYSxNQUFBeUksU0FBQTtJQUNaakQsR0FBRyxFQUFFc0MsVUFBVztJQUNoQjVELEtBQUssRUFBRUEsS0FBTTtJQUNiL0QsT0FBTyxFQUFFc0MsVUFBVztJQUNwQnJDLElBQUksRUFBRW9DO0VBQU8sR0FDVGlGLGNBQWMsRUFDZEUsYUFBYSxnQkFFakI3SyxNQUFBLFlBQUF3SSxhQUFBLENBQUNyRCxZQUFZO0lBQ1hxRSxFQUFFLEVBQUVBLEVBQUc7SUFDUGhFLFFBQVEsRUFBRUEsUUFBUztJQUNuQnNFLFVBQVUsRUFBRUEsVUFBVztJQUN2QnJFLE1BQU0sRUFBRUEsTUFBTztJQUNmQyxNQUFNLEVBQUVBLE1BQU87SUFDZkUsUUFBUSxFQUFFQSxRQUFRLGFBQVJBLFFBQVEsZ0JBQUF5RSxjQUFBLEdBQVJ6RSxRQUFRLENBQUU0RSxJQUFJLGNBQUFILGNBQUEsdUJBQWRBLGNBQUEsQ0FBZ0JyRCxPQUFRO0lBQ2xDdEMsT0FBTyxFQUFFQSxPQUFRO0lBQ2pCc0YsUUFBUSxFQUFFQSxRQUFTO0lBQ25CbkUsc0JBQXNCLEVBQUVBLHNCQUF1QjtJQUMvQ0MsdUJBQXVCLEVBQUVBLHVCQUF3QjtJQUNqRG9FLFVBQVUsRUFBRUE7RUFBVyxDQUN4QixDQUNZLENBQUM7QUFFcEI7QUFFQUMsYUFBYSxDQUFDYixZQUFZLEdBQUc7RUFDM0J6RCxzQkFBc0IsRUFBRSxDQUFDO0VBQ3pCQyx1QkFBdUIsRUFBRTtBQUMzQixDQUFDO0FBRURxRSxhQUFhLENBQUNaLFNBQVMsR0FBRztFQUN4QkMsRUFBRSxFQUFFQyxxQkFBUyxDQUFDQyxTQUFTLENBQUMsQ0FBQ0QscUJBQVMsQ0FBQ0UsTUFBTSxFQUFFRixxQkFBUyxDQUFDRyxNQUFNLENBQUMsQ0FBQztFQUM3RHBFLFFBQVEsRUFBRWlFLHFCQUFTLENBQUNJLElBQUk7RUFDeEJDLFVBQVUsRUFBRUwscUJBQVMsQ0FBQ0ksSUFBSTtFQUMxQnBFLE1BQU0sRUFBRWdFLHFCQUFTLENBQUNNLE1BQU07RUFDeEJyRixPQUFPLEVBQUUrRSxxQkFBUyxDQUFDSSxJQUFJO0VBQ3ZCRyxRQUFRLEVBQUVQLHFCQUFTLENBQUNRLElBQUk7RUFDeEJwRSxzQkFBc0IsRUFBRTRELHFCQUFTLENBQUNDLFNBQVMsQ0FBQyxDQUFDRCxxQkFBUyxDQUFDRSxNQUFNLEVBQUVGLHFCQUFTLENBQUNHLE1BQU0sQ0FBQyxDQUFDO0VBQ2pGOUQsdUJBQXVCLEVBQUUyRCxxQkFBUyxDQUFDQyxTQUFTLENBQUMsQ0FBQ0QscUJBQVMsQ0FBQ0UsTUFBTSxFQUFFRixxQkFBUyxDQUFDRyxNQUFNLENBQUMsQ0FBQztFQUNsRk0sVUFBVSxFQUFFVCxxQkFBUyxDQUFDRTtBQUN4QixDQUFDO0FBQUMsSUFBQWlDLFFBQUEsR0FBQUMsT0FBQSxjQUVhMUIsYUFBYSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -91,4 +91,4 @@ var CorrectInput = function CorrectInput(props) {
91
91
  }, rest));
92
92
  };
93
93
  var _default = exports["default"] = CorrectInput;
94
- //# sourceMappingURL=correct-input.js.map
94
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9PdXRsaW5lZElucHV0IiwiX2NsYXNzbmFtZXMyIiwiX3N0eWxlcyIsIl9yZW5kZXJVaSIsIl9leGNsdWRlZCIsIlN0eWxlZE91dGxpbmVkSW5wdXQiLCJzdHlsZWQiLCJPdXRsaW5lZElucHV0IiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsImZvbnRTaXplIiwiZGlzcGxheSIsInZlcnRpY2FsQWxpZ24iLCJib3JkZXIiLCJjb2xvciIsInRleHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyV2lkdGgiLCJib3JkZXJTdHlsZSIsIm9wYWNpdHkiLCJjdXJzb3IiLCJib3JkZXJDb2xvciIsInByaW1hcnkiLCJwcmltYXJ5RGFyayIsImNvbmNhdCIsImNvcnJlY3QiLCJpbmNvcnJlY3QiLCJDb3JyZWN0SW5wdXQiLCJwcm9wcyIsImNoYXJhY3RlcnNMaW1pdCIsImRpc2FibGVkIiwiaXNCb3giLCJpc0NvbnN0cnVjdGVkUmVzcG9uc2UiLCJ3aWR0aCIsInNwZWxsQ2hlY2siLCJyZXN0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsImxhYmVsIiwidW5kZWZpbmVkIiwiaW5wdXRQcm9wcyIsIm1heExlbmd0aCIsInN0eWxlIiwiTWF0aCIsInJvdW5kIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsImNsYXNzTmFtZSIsImNsYXNzbmFtZXMiLCJkaXNhYmxlZElucHV0IiwiYm94IiwiY2xhc3NlcyIsImlucHV0IiwiX2RlZmluZVByb3BlcnR5MiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NvcnJlY3QtaW5wdXQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgT3V0bGluZWRJbnB1dCBmcm9tICdAbXVpL21hdGVyaWFsL091dGxpbmVkSW5wdXQnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5cbmNvbnN0IFN0eWxlZE91dGxpbmVkSW5wdXQgPSBzdHlsZWQoT3V0bGluZWRJbnB1dCkoKCkgPT4gKHtcbiAgcGFkZGluZzogJzJweCcsXG4gIGJvcmRlclJhZGl1czogJzRweCcsXG4gIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgJyYgZmllbGRzZXQnOiB7XG4gICAgYm9yZGVyOiAwLFxuICB9LFxuICAnJiAuTXVpT3V0bGluZWRJbnB1dC1pbnB1dCc6IHtcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAgIGJvcmRlclJhZGl1czogJzRweCAhaW1wb3J0YW50JyxcbiAgICBib3JkZXJXaWR0aDogJzFweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgcGFkZGluZzogJzEwcHggMjBweCAxMHB4IDEwcHgnLFxuICAgICcmOmRpc2FibGVkJzoge1xuICAgICAgb3BhY2l0eTogMC44LFxuICAgICAgY3Vyc29yOiAnbm90LWFsbG93ZWQgIWltcG9ydGFudCcsXG4gICAgfSxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGJvcmRlckNvbG9yOiBjb2xvci5wcmltYXJ5KCksXG4gICAgICAnJjpkaXNhYmxlZCc6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6ICdpbml0aWFsJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICAnJi5NdWktZm9jdXNlZCc6IHtcbiAgICAgIGJvcmRlckNvbG9yOiBjb2xvci5wcmltYXJ5RGFyaygpLFxuICAgIH0sXG4gICAgJyYuY3JJbnB1dCc6IHtcbiAgICAgIHBhZGRpbmc6ICc4cHggIWltcG9ydGFudCcsXG4gICAgfSxcbiAgICAnJi5jb3JyZWN0Jzoge1xuICAgICAgYm9yZGVyQ29sb3I6IGAke2NvbG9yLmNvcnJlY3QoKX0gIWltcG9ydGFudGAsXG4gICAgfSxcbiAgICAnJi5pbmNvcnJlY3QnOiB7XG4gICAgICBib3JkZXJDb2xvcjogYCR7Y29sb3IuaW5jb3JyZWN0KCl9ICFpbXBvcnRhbnRgLFxuICAgIH0sXG4gIH0sXG59KSk7XG5cbmNvbnN0IENvcnJlY3RJbnB1dCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgY29ycmVjdCxcbiAgICBjaGFyYWN0ZXJzTGltaXQsXG4gICAgZGlzYWJsZWQsXG4gICAgaXNCb3gsXG4gICAgaXNDb25zdHJ1Y3RlZFJlc3BvbnNlLFxuICAgIHdpZHRoLFxuICAgIHNwZWxsQ2hlY2ssXG4gICAgLi4ucmVzdFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgbGFiZWwgPSB0eXBlb2YgY29ycmVjdCA9PT0gJ2Jvb2xlYW4nID8gKGNvcnJlY3QgPyAnY29ycmVjdCcgOiAnaW5jb3JyZWN0JykgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGlucHV0UHJvcHMgPSBjaGFyYWN0ZXJzTGltaXRcbiAgICA/IHsgbWF4TGVuZ3RoOiBjaGFyYWN0ZXJzTGltaXQsICdhcmlhLWxhYmVsJzogJ0VudGVyIGFuc3dlcicgfVxuICAgIDogeyAnYXJpYS1sYWJlbCc6ICdFbnRlciBhbnN3ZXInIH07XG5cbiAgaWYgKHdpZHRoKSB7XG4gICAgaW5wdXRQcm9wcy5zdHlsZSA9IHtcbiAgICAgIHdpZHRoOiBgJHt3aWR0aCArIE1hdGgucm91bmQod2lkdGggLyAxMCkgKyAxfWNoYCwgLy8gYWRkZWQgc29tZSBleHRyYSBzcGFjZSBmb3IgY2FwaXRhbCBsZXR0ZXJzXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE91dGxpbmVkSW5wdXRcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyh7XG4gICAgICAgIGRpc2FibGVkSW5wdXQ6IGRpc2FibGVkLFxuICAgICAgICBib3g6IGlzQm94LFxuICAgICAgfSl9XG4gICAgICBjbGFzc2VzPXt7XG4gICAgICAgIGlucHV0OiBjbGFzc25hbWVzKHtcbiAgICAgICAgICBbbGFiZWxdOiBsYWJlbCxcbiAgICAgICAgICBjcklucHV0OiBpc0NvbnN0cnVjdGVkUmVzcG9uc2UsXG4gICAgICAgIH0pLFxuICAgICAgfX1cbiAgICAgIGlucHV0UHJvcHM9e2lucHV0UHJvcHN9XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrfVxuICAgICAgey4uLnJlc3R9XG4gICAgLz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvcnJlY3RJbnB1dDtcblxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsWUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQTJDLElBQUFLLFNBQUE7QUFFM0MsSUFBTUMsbUJBQW1CLEdBQUcsSUFBQUMsY0FBTSxFQUFDQyx5QkFBYSxDQUFDLENBQUM7RUFBQSxPQUFPO0lBQ3ZEQyxPQUFPLEVBQUUsS0FBSztJQUNkQyxZQUFZLEVBQUUsS0FBSztJQUNuQkMsUUFBUSxFQUFFLFNBQVM7SUFDbkJDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCQyxhQUFhLEVBQUUsUUFBUTtJQUN2QixZQUFZLEVBQUU7TUFDWkMsTUFBTSxFQUFFO0lBQ1YsQ0FBQztJQUNELDJCQUEyQixFQUFFO01BQzNCQyxLQUFLLEVBQUVBLGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUM7TUFDbkJDLGVBQWUsRUFBRUYsZUFBSyxDQUFDRyxVQUFVLENBQUMsQ0FB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
@@ -456,4 +456,4 @@ var Dropdown = /*#__PURE__*/function (_React$Component) {
456
456
  correctValue: _propTypes["default"].string
457
457
  });
458
458
  var _default = exports["default"] = Dropdown;
459
- //# sourceMappingURL=dropdown.js.map
459
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfQnV0dG9uIiwiX0lucHV0TGFiZWwiLCJfTWVudSIsIl9NZW51SXRlbSIsIl9BcnJvd0Ryb3BEb3duIiwiX0Fycm93RHJvcFVwIiwiX0Nsb3NlIiwiX0NoZWNrIiwiX3N0eWxlcyIsIl9yZW5kZXJVaSIsIl9tYXRoUmVuZGVyaW5nIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJTdHlsZWRCdXR0b24iLCJzdHlsZWQiLCJCdXR0b24iLCJjb2xvciIsInRleHQiLCJib3JkZXIiLCJjb25jYXQiLCJib3JkZXJHcmF5IiwiYm9yZGVyUmFkaXVzIiwianVzdGlmeUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwicG9zaXRpb24iLCJoZWlnaHQiLCJ3aWR0aCIsIm1hcmdpbiIsInRleHRUcmFuc2Zvcm0iLCJwYWRkaW5nUmlnaHQiLCJyaWdodCIsInRvcCIsInBvaW50ZXJFdmVudHMiLCJtYXJnaW5MZWZ0Iiwib3V0bGluZSIsInRlcnRpYXJ5Iiwib3V0bGluZU9mZnNldCIsImJvcmRlcldpZHRoIiwiYm9yZGVyQ29sb3IiLCJjb3JyZWN0IiwiaW5jb3JyZWN0V2l0aEljb24iLCJTdHlsZWRNZW51IiwiTWVudSIsInBhZGRpbmciLCJTdHlsZWRNZW51SXRlbSIsIk1lbnVJdGVtIiwiZHJvcGRvd25CYWNrZ3JvdW5kIiwiYm94U2l6aW5nIiwiU3R5bGVkTGFiZWwiLCJmb250U2l6ZSIsIlN0eWxlZFNlbGVjdGVkSW5kaWNhdG9yIiwiU3R5bGVkSW5wdXRMYWJlbCIsIklucHV0TGFiZWwiLCJsZWZ0Iiwib3ZlcmZsb3ciLCJTdHlsZWRDb3JyZWN0bmVzc0ljb24iLCJDaGVjayIsIndoaXRlIiwiU3R5bGVkSW5jb3JyZWN0bmVzc0ljb24iLCJDbG9zZSIsIkRyb3Bkb3duIiwiX1JlYWN0JENvbXBvbmVudCIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiZXZlbnQiLCJzZXRTdGF0ZSIsImFuY2hvckVsIiwiY3VycmVudFRhcmdldCIsInZhbHVlIiwicHJldmlld1ZhbHVlIiwiaGlnaGxpZ2h0ZWRPcHRpb25JZCIsInByZXZpZXdSZWYiLCJjdXJyZW50IiwiaW5uZXJIVE1MIiwiaW5kZXgiLCJpZCIsInN0YXRlVXBkYXRlIiwiY2hvaWNlcyIsIm9uQ2hhbmdlIiwiaGFuZGxlSGlnaGxpZ2h0IiwiaGFuZGxlQ2xvc2UiLCJzZWxlY3RlZFZhbHVlIiwic3RhdGUiLCJyZWYiLCJlbGVtZW50UmVmcyIsInByZXZpZXciLCJtZW51V2lkdGgiLCJoaWRkZW5SZWYiLCJSZWFjdCIsImNyZWF0ZVJlZiIsImJ1dHRvblJlZiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwiY29tcG9uZW50RGlkTW91bnQiLCJjbGllbnRXaWR0aCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZTdGF0ZSIsImhpZGRlbkVsIiwiZHJvcGRvd25KdXN0T3BlbmVkIiwiY29udGFpbnNMYXRleCIsInF1ZXJ5U2VsZWN0b3IiLCJoYXNNYXRoSmF4IiwibWF0aEhhbmRsZWQiLCJyZW5kZXJNYXRoIiwibmV3V2lkdGgiLCJnZXRMYWJlbCIsImZvdW5kIiwiZmluZCIsImNob2ljZSIsImxhYmVsIiwidHJpbSIsInVuZGVmaW5lZCIsInJlbmRlciIsIl90aGlzMiIsIl90aGlzJHByb3BzIiwiZGlzYWJsZWQiLCJzaG93Q29ycmVjdEFuc3dlciIsInNpbmdsZVF1ZXJ5IiwiY29ycmVjdFZhbHVlIiwib3BlbiIsImJ1dHRvbklkIiwibWVudUlkIiwidmFsdWVEaXNwbGF5SWQiLCJkaXNhYmxlZENsYXNzIiwiaW5jcmVtZW50ZWRJZCIsInBhcnNlSW50IiwibGFiZWxJZCIsImxhYmVsVGV4dCIsImNvcnJlY3RuZXNzSWNvbiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJGcmFnbWVudCIsInN0eWxlIiwidmlzaWJpbGl0eSIsInRhYkluZGV4IiwibWFwIiwiYyIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibWluV2lkdGgiLCJ0cmFuc2l0aW9uIiwib25DbGljayIsImhhbmRsZUNsaWNrIiwicm9sZSIsImtlZXBNb3VudGVkIiwib25DbG9zZSIsImdldENvbnRlbnRBbmNob3JFbCIsImFuY2hvck9yaWdpbiIsInZlcnRpY2FsIiwiaG9yaXpvbnRhbCIsInRyYW5zZm9ybU9yaWdpbiIsInRyYW5zaXRpb25EdXJhdGlvbiIsImVudGVyIiwiZXhpdCIsInNsb3RQcm9wcyIsInBhcGVyIiwibGlzdCIsImRpc2FibGVQYWRkaW5nIiwib3B0aW9uSWQiLCJoYW5kbGVTZWxlY3QiLCJvbk1vdXNlT3ZlciIsImhhbmRsZUhvdmVyIiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsImZ1bmMiLCJhcnJheU9mIiwic2hhcGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9kcm9wZG93bi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQnV0dG9uJztcbmltcG9ydCBJbnB1dExhYmVsIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSW5wdXRMYWJlbCc7XG5pbXBvcnQgTWVudSBmcm9tICdAbXVpL21hdGVyaWFsL01lbnUnO1xuaW1wb3J0IE1lbnVJdGVtIGZyb20gJ0BtdWkvbWF0ZXJpYWwvTWVudUl0ZW0nO1xuaW1wb3J0IEFycm93RHJvcERvd25JY29uIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQXJyb3dEcm9wRG93bic7XG5pbXBvcnQgQXJyb3dEcm9wVXBJY29uIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQXJyb3dEcm9wVXAnO1xuaW1wb3J0IENsb3NlIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvc2UnO1xuaW1wb3J0IENoZWNrIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQ2hlY2snO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuXG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuXG5jb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQoQnV0dG9uKSgoKSA9PiAoe1xuICBjb2xvcjogY29sb3IudGV4dCgpLFxuICBib3JkZXI6IGAxcHggc29saWQgJHtjb2xvci5ib3JkZXJHcmF5KCl9YCxcbiAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBoZWlnaHQ6ICc0NXB4JyxcbiAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gIG1hcmdpbjogJzJweCcsXG4gIHRleHRUcmFuc2Zvcm06ICdub25lJyxcbiAgJyYgc3Bhbic6IHtcbiAgICBwYWRkaW5nUmlnaHQ6ICc1cHgnLFxuICB9LFxuICAnJiBzdmcnOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6IDAsXG4gICAgdG9wOiAnY2FsYyg1MCUgLSAxMnB4KScsXG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gICAgbWFyZ2luTGVmdDogJzVweCcsXG4gIH0sXG4gICcmLk11aS1mb2N1c2VkJzoge1xuICAgIG91dGxpbmU6IGAzcHggc29saWQgJHtjb2xvci50ZXJ0aWFyeSgpfWAsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gICAgYm9yZGVyV2lkdGg6ICczcHgnLFxuICB9LFxuICAnJi5kaXNhYmxlZENvcnJlY3QnOiB7XG4gICAgYm9yZGVyV2lkdGg6ICcycHgnLFxuICAgIGJvcmRlckNvbG9yOiBjb2xvci5jb3JyZWN0KCksXG4gICAgY29sb3I6IGAke2NvbG9yLnRleHQoKX0gIWltcG9ydGFudGAsXG4gIH0sXG4gICcmLmRpc2FibGVkSW5jb3JyZWN0Jzoge1xuICAgIGJvcmRlcldpZHRoOiAnMnB4JyxcbiAgICBib3JkZXJDb2xvcjogY29sb3IuaW5jb3JyZWN0V2l0aEljb24oKSxcbiAgICBjb2xvcjogYCR7Y29sb3IudGV4dCgpfSAhaW1wb3J0YW50YCxcbiAgfSxcbn0pKTtcblxuY29uc3QgU3R5bGVkTWVudSA9IHN0eWxlZChNZW51KSgoKSA9PiAoe1xuICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Y29sb3IuY29ycmVjdCgpfSAhaW1wb3J0YW50YCxcbiAgJyY6aG92ZXInOiB7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Y29sb3IudGV4dCgpfSBgLFxuICAgIGJvcmRlckNvbG9yOiAnaW5pdGlhbCcsXG4gIH0sXG4gICcmOmZvY3VzJzoge1xuICAgIGJvcmRlcjogYDFweCBzb2xpZCAke2NvbG9yLnRleHQoKX1gLFxuICAgIGJvcmRlckNvbG9yOiAnaW5pdGlhbCcsXG4gIH0sXG4gIC8vIHJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgb24gdGhlIGlubmVyIGxpc3RcbiAgJyYgLk11aUxpc3Qtcm9vdCc6IHtcbiAgICBwYWRkaW5nOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRNZW51SXRlbSA9IHN0eWxlZChNZW51SXRlbSkoKCkgPT4gKHtcbiAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICcmLk11aS1mb2N1c2VkJzoge1xuICAgIG91dGxpbmU6IGAzcHggc29saWQgJHtjb2xvci50ZXJ0aWFyeSgpfWAsXG4gICAgb3V0bGluZU9mZnNldDogJy0xcHgnLCAvLyBrZWVwcyBpdCBpbnNpZGUgdGhlIGl0ZW1cbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICB9LFxuICAnJjpob3Zlcic6IHtcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuZHJvcGRvd25CYWNrZ3JvdW5kKCksXG4gIH0sXG4gIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICBwYWRkaW5nOiAnMjVweCcsXG4gIGJvcmRlclJhZGl1czogJzRweCcsXG4gICcmLnNlbGVjdGVkJzoge1xuICAgIGNvbG9yOiBgJHtjb2xvci50ZXh0KCl9ICFpbXBvcnRhbnRgLFxuICAgIGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3IuYmFja2dyb3VuZCgpfSAhaW1wb3J0YW50YCxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9yLmRyb3Bkb3duQmFja2dyb3VuZCgpfSAhaW1wb3J0YW50YCxcbiAgICB9LFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZCgnc3BhbicpKCgpID0+ICh7XG4gIGZvbnRTaXplOiAnbWF4KDFyZW0sIDE0cHgpJyxcbn0pKTtcblxuY29uc3QgU3R5bGVkU2VsZWN0ZWRJbmRpY2F0b3IgPSBzdHlsZWQoJ3NwYW4nKSgoKSA9PiAoe1xuICBmb250U2l6ZTogJ21heCgxcmVtLCAxNHB4KScsXG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICByaWdodDogJzEwcHgnLFxufSkpO1xuXG5jb25zdCBTdHlsZWRJbnB1dExhYmVsID0gc3R5bGVkKElucHV0TGFiZWwpKCgpID0+ICh7XG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICBsZWZ0OiAnLTEwMDAwcHgnLFxuICB0b3A6ICdhdXRvJyxcbiAgd2lkdGg6ICcxcHgnLFxuICBoZWlnaHQ6ICcxcHgnLFxuICBvdmVyZmxvdzogJ2hpZGRlbicsXG59KSk7XG5cbmNvbnN0IFN0eWxlZENvcnJlY3RuZXNzSWNvbiA9IHN0eWxlZChDaGVjaykoKCkgPT4gKHtcbiAgY29sb3I6IGAke2NvbG9yLndoaXRlKCl9ICFpbXBvcnRhbnRgLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgdG9wOiAnLThweCAhaW1wb3J0YW50JyxcbiAgbGVmdDogJy04cHgnLFxuICBtYXJnaW5MZWZ0OiAnMCAhaW1wb3J0YW50JyxcbiAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgZm9udFNpemU6ICcxNnB4JyxcbiAgcGFkZGluZzogJzJweCcsXG4gICcmLmNvcnJlY3QnOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5jb3JyZWN0KCksXG4gIH0sXG4gICcmLmluY29ycmVjdCc6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmluY29ycmVjdFdpdGhJY29uKCksXG4gIH0sXG59KSk7XG5cbmNvbnN0IFN0eWxlZEluY29ycmVjdG5lc3NJY29uID0gc3R5bGVkKENsb3NlKSgoKSA9PiAoe1xuICBjb2xvcjogYCR7Y29sb3Iud2hpdGUoKX0gIWltcG9ydGFudGAsXG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB0b3A6ICctOHB4ICFpbXBvcnRhbnQnLFxuICBsZWZ0OiAnLThweCcsXG4gIG1hcmdpbkxlZnQ6ICcwICFpbXBvcnRhbnQnLFxuICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICBmb250U2l6ZTogJzE2cHgnLFxuICBwYWRkaW5nOiAnMnB4JyxcbiAgJyYuY29ycmVjdCc6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmNvcnJlY3QoKSxcbiAgfSxcbiAgJyYuaW5jb3JyZWN0Jzoge1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuaW5jb3JyZWN0V2l0aEljb24oKSxcbiAgfSxcbn0pKTtcblxuY2xhc3MgRHJvcGRvd24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY29ycmVjdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2hvaWNlczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnNoYXBlKHsgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nIH0pKSxcbiAgICBzaG93Q29ycmVjdEFuc3dlcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2luZ2xlUXVlcnk6IFByb3BUeXBlcy5ib29sLFxuICAgIGNvcnJlY3RWYWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBhbmNob3JFbDogbnVsbCxcbiAgICAgIGhpZ2hsaWdodGVkT3B0aW9uSWQ6IG51bGwsXG4gICAgICBtZW51V2lkdGg6IG51bGwsXG4gICAgICBwcmV2aWV3VmFsdWU6IG51bGwsXG4gICAgfTtcbiAgICB0aGlzLmhpZGRlblJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuICAgIHRoaXMuYnV0dG9uUmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7XG4gICAgdGhpcy5wcmV2aWV3UmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7XG4gICAgdGhpcy5lbGVtZW50UmVmcyA9IFtdO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gbWVhc3VyZSBoaWRkZW4gbWVudSB3aWR0aCBvbmNlXG4gICAgaWYgKHRoaXMuaGlkZGVuUmVmLmN1cnJlbnQgJiYgdGhpcy5zdGF0ZS5tZW51V2lkdGggPT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBtZW51V2lkdGg6IHRoaXMuaGlkZGVuUmVmLmN1cnJlbnQuY2xpZW50V2lkdGggfSk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XG4gICAgY29uc3QgaGlkZGVuRWwgPSB0aGlzLmhpZGRlblJlZi5jdXJyZW50O1xuXG4gICAgY29uc3QgZHJvcGRvd25KdXN0T3BlbmVkID0gIXByZXZTdGF0ZS5hbmNob3JFbCAmJiB0aGlzLnN0YXRlLmFuY2hvckVsO1xuICAgIGlmIChkcm9wZG93bkp1c3RPcGVuZWQpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZnMuZm9yRWFjaCgocmVmKSA9PiB7XG4gICAgICAgIGlmICghcmVmKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgY29udGFpbnNMYXRleCA9IHJlZi5xdWVyeVNlbGVjdG9yKCdbZGF0YS1sYXRleF0sIFtkYXRhLXJhd10nKTtcbiAgICAgICAgY29uc3QgaGFzTWF0aEpheCA9IHJlZi5xdWVyeVNlbGVjdG9yKCdtangtY29udGFpbmVyJyk7XG4gICAgICAgIGNvbnN0IG1hdGhIYW5kbGVkID0gcmVmLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1hdGgtaGFuZGxlZD1cInRydWVcIl0nKTtcblxuICAgICAgICBpZiAoY29udGFpbnNMYXRleCAmJiAoIW1hdGhIYW5kbGVkIHx8ICFoYXNNYXRoSmF4KSkge1xuICAgICAgICAgIHJlbmRlck1hdGgocmVmKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGhpZGRlbkVsKSB7XG4gICAgICBjb25zdCBuZXdXaWR0aCA9IGhpZGRlbkVsLmNsaWVudFdpZHRoO1xuICAgICAgaWYgKG5ld1dpZHRoICE9PSB0aGlzLnN0YXRlLm1lbnVXaWR0aCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWZzLmZvckVhY2goKHJlZikgPT4ge1xuICAgICAgICAgIGlmIChyZWYpIHJlbmRlck1hdGgocmVmKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmVuZGVyTWF0aChoaWRkZW5FbCk7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBtZW51V2lkdGg6IG5ld1dpZHRoIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNsaWNrID0gKGV2ZW50KSA9PiB0aGlzLnNldFN0YXRlKHsgYW5jaG9yRWw6IGV2ZW50LmN1cnJlbnRUYXJnZXQgfSk7XG5cbiAgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICB0aGlzLnNldFN0YXRlKHsgYW5jaG9yRWw6IG51bGwsIHByZXZpZXdWYWx1ZTogbnVsbCwgaGlnaGxpZ2h0ZWRPcHRpb25JZDogbnVsbCB9KTtcbiAgICAvLyBjbGVhciBkaXNwbGF5ZWQgcHJldmlldyBpZiBubyBzZWxlY3Rpb25cbiAgICBpZiAoIXZhbHVlICYmIHRoaXMucHJldmlld1JlZi5jdXJyZW50KSB7XG4gICAgICB0aGlzLnByZXZpZXdSZWYuY3VycmVudC5pbm5lckhUTUwgPSAnJztcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlSGlnaGxpZ2h0ID0gKGluZGV4KSA9PiB7XG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRPcHRpb25JZCA9IGBkcm9wZG93bi1vcHRpb24tJHt0aGlzLnByb3BzLmlkfS0ke2luZGV4fWA7XG5cbiAgICAvLyBwcmV2aWV3IG9uIGhvdmVyIGlmIG5vdGhpbmcgc2VsZWN0ZWRcbiAgICBjb25zdCBzdGF0ZVVwZGF0ZSA9IHsgaGlnaGxpZ2h0ZWRPcHRpb25JZCB9O1xuICAgIGlmICghdGhpcy5wcm9wcy52YWx1ZSkge1xuICAgICAgc3RhdGVVcGRhdGUucHJldmlld1ZhbHVlID0gdGhpcy5wcm9wcy5jaG9pY2VzW2luZGV4XS52YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZShzdGF0ZVVwZGF0ZSk7XG4gIH07XG5cbiAgaGFuZGxlU2VsZWN0ID0gKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UodGhpcy5wcm9wcy5pZCwgdmFsdWUpO1xuICAgIHRoaXMuaGFuZGxlSGlnaGxpZ2h0KGluZGV4KTtcbiAgICB0aGlzLmhhbmRsZUNsb3NlKCk7XG4gIH07XG5cbiAgaGFuZGxlSG92ZXIgPSAoaW5kZXgpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gdGhpcy5wcm9wcy52YWx1ZTtcblxuICAgIGlmIChzZWxlY3RlZFZhbHVlKSByZXR1cm47XG5cbiAgICBjb25zdCBoaWdobGlnaHRlZE9wdGlvbklkID0gYGRyb3Bkb3duLW9wdGlvbi0ke3RoaXMucHJvcHMuaWR9LSR7aW5kZXh9YDtcbiAgICBjb25zdCBwcmV2aWV3VmFsdWUgPSB0aGlzLnN0YXRlLnByZXZpZXdWYWx1ZTtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBoaWdobGlnaHRlZE9wdGlvbklkLCBwcmV2aWV3VmFsdWUgfSwgKCkgPT4ge1xuICAgICAgLy8gT24gaG92ZXIsIHByZXZpZXcgdGhlIG1hdGgtcmVuZGVyZWQgY29udGVudCBpbnNpZGUgdGhlIGJ1dHRvbiBpZiBubyB2YWx1ZSBpcyBzZWxlY3RlZC5cbiAgICAgIGNvbnN0IHJlZiA9IHRoaXMuZWxlbWVudFJlZnNbaW5kZXhdO1xuICAgICAgY29uc3QgcHJldmlldyA9IHRoaXMucHJldmlld1JlZi5jdXJyZW50O1xuXG4gICAgICBpZiAocmVmICYmIHByZXZpZXcpIHtcbiAgICAgICAgcHJldmlldy5pbm5lckhUTUwgPSByZWYuaW5uZXJIVE1MO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGdldExhYmVsKGNob2ljZXMsIHZhbHVlKSB7XG4gICAgY29uc3QgZm91bmQgPSAoY2hvaWNlcyB8fCBbXSkuZmluZCgoY2hvaWNlKSA9PiBjaG9pY2UudmFsdWUgPT09IHZhbHVlKTtcblxuICAgIHJldHVybiBmb3VuZCA/IGZvdW5kLmxhYmVsLnRyaW0oKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGlkLCBjb3JyZWN0LCBkaXNhYmxlZCwgdmFsdWUsIGNob2ljZXMsIHNob3dDb3JyZWN0QW5zd2VyLCBzaW5nbGVRdWVyeSwgY29ycmVjdFZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgYW5jaG9yRWwgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3Qgb3BlbiA9IEJvb2xlYW4oYW5jaG9yRWwpO1xuICAgIGNvbnN0IGJ1dHRvbklkID0gYGRyb3Bkb3duLWJ1dHRvbi0ke2lkfWA7XG4gICAgY29uc3QgbWVudUlkID0gYGRyb3Bkb3duLW1lbnUtJHtpZH1gO1xuICAgIGNvbnN0IHZhbHVlRGlzcGxheUlkID0gYGRyb3Bkb3duLXZhbHVlLSR7aWR9YDtcblxuICAgIC8vIERldGVybWluZSB0aGUgY2xhc3MgZm9yIGRpc2FibGVkIHN0YXRlLCB2aWV3IG1vZGUgYW5kIGV2YWx1YXRlIG1vZGVcbiAgICBsZXQgZGlzYWJsZWRDbGFzcztcbiAgICAvLyBSZXNldCBlbGVtZW50UmVmcyBiZWZvcmUgZWFjaCByZW5kZXIgdG8gYXZvaWQgc3RhbGUgcmVmZXJlbmNlc1xuICAgIHRoaXMuZWxlbWVudFJlZnMgPSBbXTtcblxuICAgIGlmIChkaXNhYmxlZCAmJiBjb3JyZWN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRpc2FibGVkQ2xhc3MgPSBjb3JyZWN0IHx8IHNob3dDb3JyZWN0QW5zd2VyID8gJ2Rpc2FibGVkQ29ycmVjdCcgOiAnZGlzYWJsZWRJbmNvcnJlY3QnO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBkaXN0aW5jdCwgdmlzdWFsbHkgaGlkZGVuIGxhYmVscyBmb3IgZWFjaCBkcm9wZG93blxuICAgIGNvbnN0IGluY3JlbWVudGVkSWQgPSBwYXJzZUludChpZCwgMTApICsgMTtcbiAgICBjb25zdCBsYWJlbElkID0gc2luZ2xlUXVlcnkgPyAnUXVlcnktbGFiZWwnIDogYFF1ZXJ5LWxhYmVsLSR7aW5jcmVtZW50ZWRJZH1gO1xuICAgIGNvbnN0IGxhYmVsVGV4dCA9IHNpbmdsZVF1ZXJ5ID8gJ1F1ZXJ5JyA6IGBRdWVyeSAke2luY3JlbWVudGVkSWR9YDtcblxuICAgIC8vIENoYW5nZWQgZnJvbSBTZWxlY3QgdG8gQnV0dG9uIGZvciBkcm9wZG93biB0byBlbmhhbmNlIGFjY2Vzc2liaWxpdHkuIFRoaXMgbW9kaWZpY2F0aW9uIG9mZmVycyBleHBsaWNpdCBjb250cm9sIG92ZXIgYXJpYSBhdHRyaWJ1dGVzIGFuZCBmb2N1c2VzIG1hbmFnZW1lbnQsIGVuc3VyaW5nIHRoZSBkcm9wZG93biBpcyBjb21wbGlhbnQgd2l0aCBhY2Nlc3NpYmlsaXR5IHN0YW5kYXJkcy4gVGhlIHVzZSBvZiBCdXR0b24gYW5kIE1lbnUgY29tcG9uZW50cyBhbGxvd3MgZm9yIGJldHRlciBoYW5kbGluZyBvZiBrZXlib2FyZCBpbnRlcmFjdGlvbnMgYW5kIHByb3ZpZGVzIGFjY2Vzc2libGUgbGFiZWxzIGFuZCBtZW51cywgYWxpZ25pbmcgd2l0aCBXQ0FHIGd1aWRlbGluZXMgYW5kIGltcHJvdmluZyB1c2FiaWxpdHkgZm9yIGFzc2lzdGl2ZSB0ZWNobm9sb2d5IHVzZXJzLlxuICAgIGxldCBjb3JyZWN0bmVzc0ljb24gPSBudWxsO1xuICAgIGlmIChkaXNhYmxlZCAmJiBjb3JyZWN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvcnJlY3RuZXNzSWNvbiA9XG4gICAgICAgIGNvcnJlY3QgfHwgc2hvd0NvcnJlY3RBbnN3ZXIgPyAoXG4gICAgICAgICAgPFN0eWxlZENvcnJlY3RuZXNzSWNvbiBjbGFzc05hbWU9XCJjb3JyZWN0XCIgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8U3R5bGVkSW5jb3JyZWN0bmVzc0ljb24gY2xhc3NOYW1lPVwiaW5jb3JyZWN0XCIgLz5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHJlZj17dGhpcy5oaWRkZW5SZWZ9XG4gICAgICAgICAgc3R5bGU9e3sgcG9zaXRpb246ICdhYnNvbHV0ZScsIHZpc2liaWxpdHk6ICdoaWRkZW4nLCB0b3A6IDAsIGxlZnQ6IDAgfX1cbiAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHsoY2hvaWNlcyB8fCBbXSkubWFwKChjLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPFN0eWxlZE1lbnVJdGVtXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZExhYmVsIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogYy5sYWJlbCB9fSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxTdHlsZWRJbnB1dExhYmVsIGlkPXtsYWJlbElkfSB0YWJJbmRleD17LTF9IGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIHtsYWJlbFRleHR9XG4gICAgICAgIDwvU3R5bGVkSW5wdXRMYWJlbD5cbiAgICAgICAgPFN0eWxlZEJ1dHRvblxuICAgICAgICAgIHJlZj17dGhpcy5idXR0b25SZWZ9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIC4uLih0aGlzLnN0YXRlLm1lbnVXaWR0aCAmJiB7IG1pbldpZHRoOiBgY2FsYygke3RoaXMuc3RhdGUubWVudVdpZHRofXB4ICsgOHB4KWAgfSksXG4gICAgICAgICAgICBib3JkZXJXaWR0aDogb3BlbiA/ICcycHgnIDogJzFweCcsXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLXdpZHRoIDAuMnMgZWFzZS1pbi1vdXQnLFxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1jb250cm9scz17b3BlbiA/IG1lbnVJZCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17b3BlbiA/ICd0cnVlJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQ9e3RoaXMuc3RhdGUuaGlnaGxpZ2h0ZWRPcHRpb25JZH1cbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZUNsaWNrfVxuICAgICAgICAgIGNsYXNzTmFtZT17ZGlzYWJsZWRDbGFzc31cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2J1dHRvbklkfVxuICAgICAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICAgICAgYXJpYS1sYWJlbD17YFNlbGVjdCBhbiBvcHRpb24gZm9yICR7bGFiZWxUZXh0fWB9XG4gICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXt2YWx1ZURpc3BsYXlJZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjb3JyZWN0bmVzc0ljb259XG4gICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICBpZD17dmFsdWVEaXNwbGF5SWR9XG4gICAgICAgICAgICByZWY9e3RoaXMucHJldmlld1JlZn1cbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgIF9faHRtbDogY29ycmVjdFZhbHVlXG4gICAgICAgICAgICAgICAgPyBjb3JyZWN0VmFsdWVcbiAgICAgICAgICAgICAgICA6IG9wZW4gJiYgdGhpcy5zdGF0ZS5wcmV2aWV3VmFsdWVcbiAgICAgICAgICAgICAgICA/IHRoaXMuZ2V0TGFiZWwoY2hvaWNlcywgdGhpcy5zdGF0ZS5wcmV2aWV3VmFsdWUpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmdldExhYmVsKGNob2ljZXMsIHZhbHVlKSB8fCAnJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7b3BlbiA/IDxBcnJvd0Ryb3BVcEljb24gLz4gOiA8QXJyb3dEcm9wRG93bkljb24gLz59XG4gICAgICAgIDwvU3R5bGVkQnV0dG9uPlxuICAgICAgICA8U3R5bGVkTWVudVxuICAgICAgICAgIGlkPXttZW51SWR9XG4gICAgICAgICAgYW5jaG9yRWw9e2FuY2hvckVsfVxuICAgICAgICAgIGtlZXBNb3VudGVkXG4gICAgICAgICAgb3Blbj17b3Blbn1cbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhhbmRsZUNsb3NlfVxuICAgICAgICAgIGdldENvbnRlbnRBbmNob3JFbD17bnVsbH1cbiAgICAgICAgICBhbmNob3JPcmlnaW49e3sgdmVydGljYWw6ICdib3R0b20nLCBob3Jpem9udGFsOiAnbGVmdCcgfX1cbiAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW49e3sgdmVydGljYWw6ICd0b3AnLCBob3Jpem9udGFsOiAnbGVmdCcgfX1cbiAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb249e3sgZW50ZXI6IDIyNSwgZXhpdDogMTk1IH19XG4gICAgICAgICAgc2xvdFByb3BzPXt7XG4gICAgICAgICAgICBwYXBlcjogdGhpcy5zdGF0ZS5tZW51V2lkdGggPyB7IHN0eWxlOiB7IG1pbldpZHRoOiB0aGlzLnN0YXRlLm1lbnVXaWR0aCwgcGFkZGluZzogJzRweCcgfSB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgbGlzdDoge1xuICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogYnV0dG9uSWQsXG4gICAgICAgICAgICAgIHJvbGU6ICdsaXN0Ym94JyxcbiAgICAgICAgICAgICAgZGlzYWJsZVBhZGRpbmc6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7KGNob2ljZXMgfHwgW10pLm1hcCgoYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbklkID0gYGRyb3Bkb3duLW9wdGlvbi0ke2lkfS0ke2luZGV4fWA7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICAgICAgICAgIGlkPXtvcHRpb25JZH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2MudmFsdWUgPT09IHZhbHVlID8gJ3NlbGVjdGVkJyA6ICcnfVxuICAgICAgICAgICAgICAgIGtleT17YCR7Yy5sYWJlbH0tJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtjLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRoaXMuaGFuZGxlU2VsZWN0KGMudmFsdWUsIGluZGV4KX1cbiAgICAgICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXt0aGlzLnN0YXRlLmhpZ2hsaWdodGVkT3B0aW9uSWQgPT09IG9wdGlvbklkID8gJ3RydWUnIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiB0aGlzLmhhbmRsZUhvdmVyKGluZGV4KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRMYWJlbFxuICAgICAgICAgICAgICAgICAgcmVmPXsocmVmKSA9PiAodGhpcy5lbGVtZW50UmVmc1tpbmRleF0gPSByZWYpfVxuICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBjLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8U3R5bGVkU2VsZWN0ZWRJbmRpY2F0b3JcbiAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogYy52YWx1ZSA9PT0gdmFsdWUgPyAnICZjaGVjazsnIDogJycgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZE1lbnVJdGVtPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9TdHlsZWRNZW51PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBEcm9wZG93bjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLGNBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLFlBQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLE1BQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFTLE1BQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFVLE9BQUEsR0FBQVYsT0FB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
@@ -47,4 +47,4 @@ Input.propTypes = {
47
47
  isConstructedResponse: _propTypes["default"].bool
48
48
  };
49
49
  var _default = exports["default"] = Input;
50
- //# sourceMappingURL=input.js.map
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfY29ycmVjdElucHV0IiwiSW5wdXQiLCJfcmVmIiwiZGlzYWJsZWQiLCJjb3JyZWN0IiwiY2hhcmFjdGVyc0xpbWl0IiwiaWQiLCJpc0NvbnN0cnVjdGVkUmVzcG9uc2UiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwic2hvd0NvcnJlY3RBbnN3ZXIiLCJzcGVsbENoZWNrIiwid2lkdGgiLCJjcmVhdGVFbGVtZW50IiwidmFyaWFudCIsImlzQm94IiwiZSIsInRhcmdldCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImZ1bmMiLCJib29sIiwibnVtYmVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvaW5wdXQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IENvcnJlY3RJbnB1dCBmcm9tICcuL2NvcnJlY3QtaW5wdXQnO1xuXG5jb25zdCBJbnB1dCA9ICh7XG4gIGRpc2FibGVkLFxuICBjb3JyZWN0LFxuICBjaGFyYWN0ZXJzTGltaXQsXG4gIGlkLFxuICBpc0NvbnN0cnVjdGVkUmVzcG9uc2UsXG4gIHZhbHVlLFxuICBvbkNoYW5nZSxcbiAgc2hvd0NvcnJlY3RBbnN3ZXIsXG4gIHNwZWxsQ2hlY2ssXG4gIHdpZHRoLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxDb3JyZWN0SW5wdXRcbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIGNvcnJlY3Q9e3Nob3dDb3JyZWN0QW5zd2VyIHx8IGNvcnJlY3R9XG4gICAgICBjaGFyYWN0ZXJzTGltaXQ9e2NoYXJhY3RlcnNMaW1pdH1cbiAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICBpc0NvbnN0cnVjdGVkUmVzcG9uc2U9e2lzQ29uc3RydWN0ZWRSZXNwb25zZX1cbiAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2t9XG4gICAgICBpc0JveD17dHJ1ZX1cbiAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICBvbkNoYW5nZShpZCwgZS50YXJnZXQudmFsdWUpO1xuICAgICAgfX1cbiAgICAvPlxuICApO1xufTtcblxuSW5wdXQucHJvcFR5cGVzID0ge1xuICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICBzcGVsbENoZWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgY29ycmVjdDogUHJvcFR5cGVzLmJvb2wsXG4gIHNob3dDb3JyZWN0QW5zd2VyOiBQcm9wVHlwZXMuYm9vbCxcbiAgY2hhcmFjdGVyc0xpbWl0OiBQcm9wVHlwZXMubnVtYmVyLFxuICB3aWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgaXNDb25zdHJ1Y3RlZFJlc3BvbnNlOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IElucHV0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBTUcsS0FBSyxHQUFHLFNBQVJBLEtBQUtBLENBQUFDLElBQUEsRUFXTDtFQUFBLElBVkpDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0lBQ1JDLE9BQU8sR0FBQUYsSUFBQSxDQUFQRSxPQUFPO0lBQ1BDLGVBQWUsR0FBQUgsSUFBQSxDQUFmRyxlQUFlO0lBQ2ZDLEVBQUUsR0FBQUosSUFBQSxDQUFGSSxFQUFFO0lBQ0ZDLHFCQUFxQixHQUFBTCxJQUFBLENBQXJCSyxxQkFBcUI7SUFDckJDLEtBQUssR0FBQU4sSUFBQSxDQUFMTSxLQUFLO0lBQ0xDLFNBQVEsR0FBQVAsSUFBQSxDQUFSTyxRQUFRO0lBQ1JDLGlCQUFpQixHQUFBUixJQUFBLENBQWpCUSxpQkFBaUI7SUFDakJDLFVBQVUsR0FBQVQsSUFBQSxDQUFWUyxVQUFVO0lBQ1ZDLEtBQUssR0FBQVYsSUFBQSxDQUFMVSxLQUFLO0VBRUwsb0JBQ0VoQixNQUFBLFlBQUFpQixhQUFBLENBQUNiLGFBQUEsV0FBWTtJQUNYRyxRQUFRLEVBQUVBLFFBQVM7SUFDbkJDLE9BQU8sRUFBRU0saUJBQWlCLElBQUlOLE9BQVE7SUFDdENDLGVBQWUsRUFBRUEsZUFBZ0I7SUFDakNTLE9BQU8sRUFBQyxVQUFVO0lBQ2xCTixLQUFLLEVBQUVBLEtBQU07SUFDYkQscUJBQXFCLEVBQUVBLHFCQUFzQjtJQUM3Q0ksVUFBVSxFQUFFQSxVQUFXO0lBQ3ZCSSxLQUFLLEVBQUUsSUFBSztJQUNaSCxLQUFLLEVBQUVBLEtBQU07SUFDYkgsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdPLENBQUMsRUFBSztNQUNmUCxTQUFRLENBQUNILEVBQUUsRUFBRVUsQ0FBQyxDQUFDQyxNQUFNLENBQUNULEtBQUssQ0FBQztJQUM5QjtFQUFFLENBQ0gsQ0FBQztBQUVOLENBQUM7QUFFRFAsS0FBSyxDQUFDaUIsU0FBUyxHQUFHO0VBQ2hCWixFQUFFLEVBQUVhLHFCQUFTLENBQUNDLE1BQU07RUFDcEJaLEtBQUssRUFBRVcscUJBQVMsQ0FBQ0MsTUFBTTtFQUN2QlgsUUFBUSxFQUFFVSxxQkFBUyxDQUFDRSxJQUFJO0VBQ3hCbEIsUUFBUSxFQUFFZ0IscUJBQVMsQ0FBQ0csSUFBSTtFQUN4QlgsVUFBVSxFQUFFUSxxQkFBUyxDQUFDRyxJQUFJO0VBQzFCbEIsT0FBTyxFQUFFZSxxQkFBUyxDQUFDRyxJQUFJO0VBQ3ZCWixpQkFBaUIsRUFBRVMscUJBQVMsQ0FBQ0csSUFBSTtFQUNqQ2pCLGVBQWUsRUFBRWMscUJBQVMsQ0FBQ0ksTUFBTTtFQUNqQ1gsS0FBSyxFQUFFTyxxQkFBUyxDQUFDSSxNQUFNO0VBQ3ZCaEIscUJBQXFCLEVBQUVZLHFCQUFTLENBQUNHO0FBQ25DLENBQUM7QUFBQyxJQUFBRSxRQUFBLEdBQUFDLE9BQUEsY0FFYXhCLEtBQUsiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -13,14 +13,14 @@ var _renderUi = require("@pie-lib/render-ui");
13
13
  var _withMask = require("./with-mask");
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
- //import EditableHtml from '@pie-lib/editable-html';
16
+ //import EditableHtml from '@pie-lib/editable-html-tip-tap';
17
17
 
18
18
  var EditableHtml;
19
19
  var StyledEditableHtml;
20
20
 
21
21
  // - mathquill error window not defined
22
22
  if (typeof window !== 'undefined') {
23
- EditableHtml = require('@pie-lib/editable-html')['default'];
23
+ EditableHtml = require('@pie-lib/editable-html-tip-tap')['default'];
24
24
  StyledEditableHtml = (0, _styles.styled)(EditableHtml)(function () {
25
25
  return {
26
26
  display: 'inline-block',
@@ -64,7 +64,7 @@ var MaskedInput = function MaskedInput(props) {
64
64
  var handleKeyDown = function handleKeyDown(event) {
65
65
  // the keyCode value for the Enter/Return key is 13
66
66
  if (event.key === 'Enter' || event.keyCode === 13) {
67
- return false;
67
+ return true;
68
68
  }
69
69
  };
70
70
  return /*#__PURE__*/_react["default"].createElement(StyledEditableHtml, {
@@ -81,7 +81,7 @@ var MaskedInput = function MaskedInput(props) {
81
81
  language: 'spanish'
82
82
  }],
83
83
  spellCheck: spellCheck,
84
- width: "calc(".concat(width, "em + 42px)") // added 42px for left and right padding of editable-html
84
+ width: "calc(".concat(width, "em + 32px)") // added 32px for left and right padding of editable-html
85
85
  ,
86
86
  onKeyDown: handleKeyDown,
87
87
  autoWidthToolbar: true,
@@ -99,4 +99,4 @@ var MaskedInput = function MaskedInput(props) {
99
99
  };
100
100
  };
101
101
  var _default = exports["default"] = (0, _withMask.withMask)('input', MaskedInput);
102
- //# sourceMappingURL=constructed-response.js.map
102
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJfY2xhc3NuYW1lcyIsIl9yZW5kZXJVaSIsIl93aXRoTWFzayIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiRWRpdGFibGVIdG1sIiwiU3R5bGVkRWRpdGFibGVIdG1sIiwid2luZG93Iiwic3R5bGVkIiwiZGlzcGxheSIsInZlcnRpY2FsQWxpZ24iLCJtYXJnaW4iLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJjb25jYXQiLCJjb2xvciIsImJsYWNrIiwiY29ycmVjdCIsImluY29ycmVjdCIsIk1hc2tlZElucHV0IiwicHJvcHMiLCJub2RlIiwiZGF0YSIsIl9ub2RlJGRhdGEiLCJhZGp1c3RlZExpbWl0IiwiZGlzYWJsZWQiLCJmZWVkYmFjayIsInNob3dDb3JyZWN0QW5zd2VyIiwibWF4TGVuZ3RoIiwic3BlbGxDaGVjayIsInBsdWdpblByb3BzIiwib25DaGFuZ2UiLCJkYXRhc2V0IiwiY29tcG9uZW50IiwiX3BsdWdpblByb3BzJGNoYXJhY3RlIiwiY29ycmVjdEFuc3dlciIsImNob2ljZXMiLCJpZCIsImZpbmFsVmFsdWUiLCJsYWJlbCIsIndpZHRoIiwiZmVlZGJhY2tTdGF0dXMiLCJpc0NvcnJlY3QiLCJpc0luY29ycmVjdCIsImhhbmRsZUlucHV0Q2hhbmdlIiwibmV3VmFsdWUiLCJ1cGRhdGVkVmFsdWUiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJrZXkiLCJrZXlDb2RlIiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJkaXNhYmxlVW5kZXJsaW5lIiwibWFya3VwIiwiY2hhcmFjdGVyc0xpbWl0IiwiYWN0aXZlUGx1Z2lucyIsImxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzIiwibGFuZ3VhZ2UiLCJvbktleURvd24iLCJhdXRvV2lkdGhUb29sYmFyIiwidG9vbGJhck9wdHMiLCJtaW5XaWR0aCIsIm5vQm9yZGVyIiwiaXNIaWRkZW4iLCJjaGFyYWN0ZXJzIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIndpdGhNYXNrIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0cnVjdGVkLXJlc3BvbnNlLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IHdpdGhNYXNrIH0gZnJvbSAnLi93aXRoLW1hc2snO1xuLy9pbXBvcnQgRWRpdGFibGVIdG1sIGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCc7XG5cbmxldCBFZGl0YWJsZUh0bWw7XG5sZXQgU3R5bGVkRWRpdGFibGVIdG1sO1xuXG4vLyAtIG1hdGhxdWlsbCBlcnJvciB3aW5kb3cgbm90IGRlZmluZWRcbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICBFZGl0YWJsZUh0bWwgPSByZXF1aXJlKCdAcGllLWxpYi9lZGl0YWJsZS1odG1sLXRpcC10YXAnKVsnZGVmYXVsdCddO1xuICBTdHlsZWRFZGl0YWJsZUh0bWwgPSBzdHlsZWQoRWRpdGFibGVIdG1sKSgoKSA9PiAoe1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICAgIG1hcmdpbjogJzRweCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3JkZXI6IGAxcHggc29saWQgJHtjb2xvci5ibGFjaygpfWAsXG4gICAgJyYuY29ycmVjdCc6IHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke2NvbG9yLmNvcnJlY3QoKX1gLFxuICAgIH0sXG4gICAgJyYuaW5jb3JyZWN0Jzoge1xuICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Y29sb3IuaW5jb3JyZWN0KCl9YCxcbiAgICB9LFxuICB9KSk7XG59XG5cbmNvbnN0IE1hc2tlZElucHV0ID0gKHByb3BzKSA9PiAobm9kZSwgZGF0YSkgPT4ge1xuICBjb25zdCB7IGFkanVzdGVkTGltaXQsIGRpc2FibGVkLCBmZWVkYmFjaywgc2hvd0NvcnJlY3RBbnN3ZXIsIG1heExlbmd0aCwgc3BlbGxDaGVjaywgcGx1Z2luUHJvcHMsIG9uQ2hhbmdlIH0gPSBwcm9wcztcbiAgY29uc3QgZGF0YXNldCA9IG5vZGUuZGF0YT8uZGF0YXNldCB8fCB7fTtcblxuICBpZiAoZGF0YXNldC5jb21wb25lbnQgPT09ICdpbnB1dCcpIHtcbiAgICBjb25zdCBjb3JyZWN0QW5zd2VyID0gKChwcm9wcy5jaG9pY2VzICYmIGRhdGFzZXQgJiYgcHJvcHMuY2hvaWNlc1tkYXRhc2V0LmlkXSkgfHwgW10pWzBdO1xuICAgIGNvbnN0IGZpbmFsVmFsdWUgPSBzaG93Q29ycmVjdEFuc3dlciA/IGNvcnJlY3RBbnN3ZXIgJiYgY29ycmVjdEFuc3dlci5sYWJlbCA6IGRhdGFbZGF0YXNldC5pZF0gfHwgJyc7XG4gICAgY29uc3Qgd2lkdGggPSBtYXhMZW5ndGggJiYgbWF4TGVuZ3RoW2RhdGFzZXQuaWRdO1xuICAgIGNvbnN0IGZlZWRiYWNrU3RhdHVzID0gZmVlZGJhY2sgJiYgZmVlZGJhY2tbZGF0YXNldC5pZF07XG4gICAgY29uc3QgaXNDb3JyZWN0ID0gc2hvd0NvcnJlY3RBbnN3ZXIgfHwgZmVlZGJhY2tTdGF0dXMgPT09ICdjb3JyZWN0JztcbiAgICBjb25zdCBpc0luY29ycmVjdCA9ICFzaG93Q29ycmVjdEFuc3dlciAmJiBmZWVkYmFja1N0YXR1cyA9PT0gJ2luY29ycmVjdCc7XG5cbiAgICBjb25zdCBoYW5kbGVJbnB1dENoYW5nZSA9IChuZXdWYWx1ZSkgPT4ge1xuICAgICAgY29uc3QgdXBkYXRlZFZhbHVlID0ge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBbZGF0YXNldC5pZF06IG5ld1ZhbHVlLFxuICAgICAgfTtcbiAgICAgIG9uQ2hhbmdlKHVwZGF0ZWRWYWx1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgIC8vIHRoZSBrZXlDb2RlIHZhbHVlIGZvciB0aGUgRW50ZXIvUmV0dXJuIGtleSBpcyAxM1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRFZGl0YWJsZUh0bWxcbiAgICAgICAgaWQ9e2RhdGFzZXQuaWR9XG4gICAgICAgIGtleT17YCR7bm9kZS50eXBlfS1pbnB1dC0ke2RhdGFzZXQuaWR9YH1cbiAgICAgICAgZGlzYWJsZWQ9e3Nob3dDb3JyZWN0QW5zd2VyIHx8IGRpc2FibGVkfVxuICAgICAgICBkaXNhYmxlVW5kZXJsaW5lXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVJbnB1dENoYW5nZX1cbiAgICAgICAgbWFya3VwPXtmaW5hbFZhbHVlIHx8ICcnfVxuICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9e2FkanVzdGVkTGltaXQgPyB3aWR0aCA6IDI1fVxuICAgICAgICBhY3RpdmVQbHVnaW5zPXtbJ2xhbmd1YWdlQ2hhcmFjdGVycyddfVxuICAgICAgICBwbHVnaW5Qcm9wcz17cGx1Z2luUHJvcHN9XG4gICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH1dfVxuICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrfVxuICAgICAgICB3aWR0aD17YGNhbGMoJHt3aWR0aH1lbSArIDMycHgpYH0gLy8gYWRkZWQgMzJweCBmb3IgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvZiBlZGl0YWJsZS1odG1sXG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgYXV0b1dpZHRoVG9vbGJhclxuICAgICAgICB0b29sYmFyT3B0cz17e1xuICAgICAgICAgIG1pbldpZHRoOiAnYXV0bycsXG4gICAgICAgICAgbm9Cb3JkZXI6IHRydWUsXG4gICAgICAgICAgaXNIaWRkZW46ICEhcGx1Z2luUHJvcHM/LmNoYXJhY3RlcnM/LmRpc2FibGVkLFxuICAgICAgICB9fVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoe1xuICAgICAgICAgIGNvcnJlY3Q6IGlzQ29ycmVjdCxcbiAgICAgICAgICBpbmNvcnJlY3Q6IGlzSW5jb3JyZWN0LFxuICAgICAgICB9KX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aE1hc2soJ2lucHV0JywgTWFza2VkSW5wdXQpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUF1QyxTQUFBSyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FB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