@pie-lib/mask-markup 1.33.3-next.2 → 1.33.4-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.
- package/CHANGELOG.md +6 -76
- package/lib/__tests__/drag-in-the-blank.test.js +129 -0
- package/lib/__tests__/index.test.js +42 -0
- package/lib/__tests__/mask.test.js +163 -0
- package/lib/__tests__/serialization.test.js +44 -0
- package/lib/__tests__/utils.js +14 -0
- package/lib/__tests__/with-mask.test.js +110 -0
- package/lib/choices/__tests__/index.test.js +101 -0
- package/lib/choices/choice.js +99 -204
- package/lib/choices/choice.js.map +1 -1
- package/lib/choices/index.js +22 -54
- package/lib/choices/index.js.map +1 -1
- package/lib/componentize.js +2 -6
- package/lib/componentize.js.map +1 -1
- package/lib/components/__tests__/blank.test.js +189 -0
- package/lib/components/__tests__/correct-input.test.js +132 -0
- package/lib/components/__tests__/dropdown.test.js +134 -0
- package/lib/components/__tests__/input.test.js +129 -0
- package/lib/components/blank.js +304 -362
- package/lib/components/blank.js.map +1 -1
- package/lib/components/correct-input.js +42 -66
- package/lib/components/correct-input.js.map +1 -1
- package/lib/components/dropdown.js +219 -258
- package/lib/components/dropdown.js.map +1 -1
- package/lib/components/input.js +11 -18
- package/lib/components/input.js.map +1 -1
- package/lib/constructed-response.js +39 -53
- package/lib/constructed-response.js.map +1 -1
- package/lib/customizable.js +6 -10
- package/lib/customizable.js.map +1 -1
- package/lib/drag-in-the-blank.js +141 -106
- package/lib/drag-in-the-blank.js.map +1 -1
- package/lib/index.js +1 -8
- package/lib/index.js.map +1 -1
- package/lib/inline-dropdown.js +5 -13
- package/lib/inline-dropdown.js.map +1 -1
- package/lib/mask.js +61 -119
- package/lib/mask.js.map +1 -1
- package/lib/serialization.js +9 -49
- package/lib/serialization.js.map +1 -1
- package/lib/with-mask.js +31 -59
- package/lib/with-mask.js.map +1 -1
- package/package.json +12 -20
- package/src/__tests__/drag-in-the-blank.test.js +66 -26
- package/src/__tests__/mask.test.js +147 -112
- package/src/__tests__/with-mask.test.js +44 -19
- package/src/choices/__tests__/index.test.js +38 -25
- package/src/choices/choice.jsx +86 -153
- package/src/choices/index.jsx +9 -3
- package/src/components/__tests__/blank.test.js +92 -156
- package/src/components/__tests__/correct-input.test.js +60 -19
- package/src/components/__tests__/dropdown.test.js +61 -19
- package/src/components/__tests__/input.test.js +72 -20
- package/src/components/blank.jsx +273 -272
- package/src/components/correct-input.jsx +33 -39
- package/src/components/dropdown.jsx +173 -161
- package/src/constructed-response.jsx +22 -18
- package/src/drag-in-the-blank.jsx +131 -42
- package/src/mask.jsx +38 -29
- package/src/with-mask.jsx +7 -4
- package/esm/index.css +0 -847
- package/esm/index.js +0 -195939
- package/esm/index.js.map +0 -1
- package/esm/package.json +0 -3
- package/src/__tests__/__snapshots__/drag-in-the-blank.test.js.snap +0 -316
- package/src/__tests__/__snapshots__/mask.test.js.snap +0 -55
- package/src/__tests__/__snapshots__/with-mask.test.js.snap +0 -62
- package/src/choices/__tests__/__snapshots__/index.test.js.snap +0 -209
- package/src/components/__tests__/__snapshots__/blank.test.js.snap +0 -111
- package/src/components/__tests__/__snapshots__/correct-input.test.js.snap +0 -64
- package/src/components/__tests__/__snapshots__/dropdown.test.js.snap +0 -136
- package/src/components/__tests__/__snapshots__/input.test.js.snap +0 -34
package/lib/mask.js
CHANGED
|
@@ -1,131 +1,86 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.renderChildren = exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
10
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
11
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
22
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
14
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
25
|
-
|
|
26
15
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
17
|
var _get = _interopRequireDefault(require("lodash/get"));
|
|
31
|
-
|
|
32
|
-
var
|
|
33
|
-
|
|
18
|
+
var _styles = require("@mui/material/styles");
|
|
19
|
+
var _mathRendering = require("@pie-lib/math-rendering");
|
|
34
20
|
var _serialization = require("./serialization");
|
|
35
|
-
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
43
|
-
|
|
44
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
45
|
-
|
|
46
|
-
var Paragraph = (0, _styles.withStyles)(function (theme) {
|
|
21
|
+
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; }
|
|
22
|
+
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; }
|
|
23
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
24
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
|
+
var Paragraph = (0, _styles.styled)('div')(function (_ref) {
|
|
26
|
+
var theme = _ref.theme;
|
|
47
27
|
return {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
paddingBottom: 2 * theme.spacing.unit
|
|
51
|
-
}
|
|
28
|
+
paddingTop: theme.spacing(2),
|
|
29
|
+
paddingBottom: theme.spacing(2)
|
|
52
30
|
};
|
|
53
|
-
})(function (props) {
|
|
54
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
55
|
-
className: props.classes.para
|
|
56
|
-
}, props.children);
|
|
57
31
|
});
|
|
58
|
-
var Spacer = (0, _styles.
|
|
32
|
+
var Spacer = (0, _styles.styled)('span')(function () {
|
|
59
33
|
return {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
width: '.75em'
|
|
63
|
-
}
|
|
34
|
+
display: 'inline-block',
|
|
35
|
+
width: '.75em'
|
|
64
36
|
};
|
|
65
|
-
})(function (props) {
|
|
66
|
-
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
67
|
-
className: props.classes.spacer
|
|
68
|
-
});
|
|
69
37
|
});
|
|
70
38
|
var restrictWhitespaceTypes = ['tbody', 'tr'];
|
|
71
|
-
|
|
72
39
|
var addText = function addText(parentNode, text) {
|
|
73
40
|
var isWhitespace = text.trim() === '';
|
|
74
41
|
var parentType = parentNode && parentNode.type;
|
|
75
|
-
|
|
76
42
|
if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {
|
|
77
43
|
return undefined;
|
|
78
44
|
} else {
|
|
79
45
|
return text;
|
|
80
46
|
}
|
|
81
47
|
};
|
|
82
|
-
|
|
83
48
|
var getMark = function getMark(n) {
|
|
84
49
|
var mark = n.leaves.find(function (leave) {
|
|
85
50
|
return (0, _get["default"])(leave, 'marks', []).length;
|
|
86
51
|
});
|
|
87
|
-
|
|
88
52
|
if (mark) {
|
|
89
53
|
return mark.marks[0];
|
|
90
54
|
}
|
|
91
|
-
|
|
92
55
|
return null;
|
|
93
56
|
};
|
|
94
|
-
|
|
95
|
-
var renderChildren = function renderChildren(layout, value, onChange, rootRenderChildren, parentNode, elementType) {
|
|
57
|
+
var _renderChildren = exports.renderChildren = function renderChildren(layout, value, onChange, rootRenderChildren, parentNode, elementType) {
|
|
96
58
|
if (!value) {
|
|
97
59
|
return null;
|
|
98
60
|
}
|
|
99
|
-
|
|
100
61
|
var children = [];
|
|
101
62
|
(layout.nodes || []).forEach(function (n, index) {
|
|
102
63
|
var key = n.type ? "".concat(n.type, "-").concat(index) : "".concat(index);
|
|
103
|
-
|
|
104
64
|
if (n.isMath) {
|
|
105
|
-
children.push(
|
|
65
|
+
children.push(/*#__PURE__*/_react["default"].createElement("span", {
|
|
106
66
|
dangerouslySetInnerHTML: {
|
|
107
67
|
__html: "<math displaystyle=\"true\">".concat(n.nodes[0].innerHTML, "</math>")
|
|
108
68
|
}
|
|
109
69
|
}));
|
|
110
70
|
return children;
|
|
111
71
|
}
|
|
112
|
-
|
|
113
72
|
if (rootRenderChildren) {
|
|
114
73
|
var c = rootRenderChildren(n, value, onChange);
|
|
115
|
-
|
|
116
74
|
if (c) {
|
|
117
75
|
children.push(c);
|
|
118
|
-
|
|
119
76
|
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== 'td' && elementType === 'drag-in-the-blank') {
|
|
120
|
-
children.push(
|
|
77
|
+
children.push(/*#__PURE__*/_react["default"].createElement(Spacer, {
|
|
121
78
|
key: "spacer-".concat(index)
|
|
122
79
|
}));
|
|
123
80
|
}
|
|
124
|
-
|
|
125
81
|
return;
|
|
126
82
|
}
|
|
127
83
|
}
|
|
128
|
-
|
|
129
84
|
if (n.object === 'text') {
|
|
130
85
|
var content = n.leaves.reduce(function (acc, l) {
|
|
131
86
|
var t = l.text;
|
|
@@ -133,14 +88,12 @@ var renderChildren = function renderChildren(layout, value, onChange, rootRender
|
|
|
133
88
|
return extraText ? acc + extraText : acc;
|
|
134
89
|
}, '');
|
|
135
90
|
var mark = getMark(n);
|
|
136
|
-
|
|
137
91
|
if (mark) {
|
|
138
92
|
var markKey;
|
|
139
|
-
|
|
140
93
|
for (markKey in _serialization.MARK_TAGS) {
|
|
141
94
|
if (_serialization.MARK_TAGS[markKey] === mark.type) {
|
|
142
95
|
var Tag = markKey;
|
|
143
|
-
children.push(
|
|
96
|
+
children.push(/*#__PURE__*/_react["default"].createElement(Tag, {
|
|
144
97
|
key: key
|
|
145
98
|
}, content));
|
|
146
99
|
break;
|
|
@@ -148,29 +101,26 @@ var renderChildren = function renderChildren(layout, value, onChange, rootRender
|
|
|
148
101
|
}
|
|
149
102
|
} else if (content.length > 0) {
|
|
150
103
|
children.push(content);
|
|
151
|
-
|
|
152
104
|
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== 'td' && elementType === 'drag-in-the-blank') {
|
|
153
|
-
children.push(
|
|
105
|
+
children.push(/*#__PURE__*/_react["default"].createElement(Spacer, {
|
|
154
106
|
key: "spacer-".concat(index)
|
|
155
107
|
}));
|
|
156
108
|
}
|
|
157
109
|
}
|
|
158
110
|
} else {
|
|
159
|
-
var subNodes =
|
|
160
|
-
|
|
111
|
+
var subNodes = _renderChildren(n, value, onChange, rootRenderChildren, n, elementType);
|
|
161
112
|
if (n.type === 'p' || n.type === 'paragraph') {
|
|
162
|
-
children.push(
|
|
113
|
+
children.push(/*#__PURE__*/_react["default"].createElement(Paragraph, {
|
|
163
114
|
key: key
|
|
164
115
|
}, subNodes));
|
|
165
116
|
} else {
|
|
166
117
|
var _Tag = n.type;
|
|
167
|
-
|
|
168
118
|
if (n.nodes && n.nodes.length > 0) {
|
|
169
|
-
children.push(
|
|
119
|
+
children.push(/*#__PURE__*/_react["default"].createElement(_Tag, (0, _extends2["default"])({
|
|
170
120
|
key: key
|
|
171
121
|
}, n.data.attributes), subNodes));
|
|
172
122
|
} else {
|
|
173
|
-
children.push(
|
|
123
|
+
children.push(/*#__PURE__*/_react["default"].createElement(_Tag, (0, _extends2["default"])({
|
|
174
124
|
key: key
|
|
175
125
|
}, n.data.attributes)));
|
|
176
126
|
}
|
|
@@ -179,76 +129,68 @@ var renderChildren = function renderChildren(layout, value, onChange, rootRender
|
|
|
179
129
|
});
|
|
180
130
|
return children;
|
|
181
131
|
};
|
|
182
|
-
|
|
183
|
-
exports.renderChildren = renderChildren;
|
|
184
|
-
var MaskContainer = (0, _styles.withStyles)(function () {
|
|
132
|
+
var MaskContainer = (0, _styles.styled)('div')(function () {
|
|
185
133
|
return {
|
|
186
|
-
|
|
187
|
-
|
|
134
|
+
display: 'initial',
|
|
135
|
+
'&:not(.MathJax) table': {
|
|
136
|
+
borderCollapse: 'collapse'
|
|
188
137
|
},
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
// align table content to left as per STAR requirement PD-3687
|
|
194
|
-
'&:not(.MathJax) table td, &:not(.MathJax) table th': {
|
|
195
|
-
padding: '8px 12px',
|
|
196
|
-
textAlign: 'left'
|
|
197
|
-
}
|
|
138
|
+
// align table content to left as per STAR requirement PD-3687
|
|
139
|
+
'&:not(.MathJax) table td, &:not(.MathJax) table th': {
|
|
140
|
+
padding: '8px 12px',
|
|
141
|
+
textAlign: 'left'
|
|
198
142
|
}
|
|
199
143
|
};
|
|
200
|
-
})(function (props) {
|
|
201
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
202
|
-
className: (0, _classnames["default"])(props.classes.main, props.classes.tableStyle)
|
|
203
|
-
}, props.children);
|
|
204
144
|
});
|
|
145
|
+
|
|
205
146
|
/**
|
|
206
147
|
* Renders a layout that uses the slate.js Value model structure.
|
|
207
148
|
*/
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
(0, _inherits2["default"])(Mask, _React$Component);
|
|
211
|
-
|
|
212
|
-
var _super = _createSuper(Mask);
|
|
213
|
-
|
|
214
|
-
function Mask() {
|
|
149
|
+
var Mask = exports["default"] = /*#__PURE__*/function (_React$Component) {
|
|
150
|
+
function Mask(props) {
|
|
215
151
|
var _this;
|
|
216
|
-
|
|
217
152
|
(0, _classCallCheck2["default"])(this, Mask);
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
args[_key] = arguments[_key];
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
224
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (id, value) {
|
|
153
|
+
_this = _callSuper(this, Mask, [props]);
|
|
154
|
+
(0, _defineProperty2["default"])(_this, "handleChange", function (id, value) {
|
|
225
155
|
var data = _objectSpread(_objectSpread({}, _this.props.value), {}, (0, _defineProperty2["default"])({}, id, value));
|
|
226
|
-
|
|
227
156
|
_this.props.onChange(data);
|
|
228
157
|
});
|
|
158
|
+
_this.internalContainerRef = /*#__PURE__*/_react["default"].createRef();
|
|
229
159
|
return _this;
|
|
230
160
|
}
|
|
231
|
-
|
|
232
|
-
(0, _createClass2["default"])(Mask, [{
|
|
161
|
+
(0, _inherits2["default"])(Mask, _React$Component);
|
|
162
|
+
return (0, _createClass2["default"])(Mask, [{
|
|
163
|
+
key: "componentDidMount",
|
|
164
|
+
value: function componentDidMount() {
|
|
165
|
+
var containerRef = this.props.containerRef || this.internalContainerRef;
|
|
166
|
+
if (containerRef.current && typeof _mathRendering.renderMath === 'function') {
|
|
167
|
+
(0, _mathRendering.renderMath)(containerRef.current);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}, {
|
|
233
171
|
key: "render",
|
|
234
172
|
value: function render() {
|
|
235
173
|
var _this$props = this.props,
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
174
|
+
value = _this$props.value,
|
|
175
|
+
layout = _this$props.layout,
|
|
176
|
+
elementType = _this$props.elementType,
|
|
177
|
+
containerRef = _this$props.containerRef;
|
|
178
|
+
var children = _renderChildren(layout, value, this.handleChange, this.props.renderChildren, null, elementType);
|
|
179
|
+
var ref = containerRef || this.internalContainerRef;
|
|
180
|
+
return /*#__PURE__*/_react["default"].createElement(MaskContainer, {
|
|
181
|
+
ref: ref
|
|
182
|
+
}, children);
|
|
241
183
|
}
|
|
242
184
|
}]);
|
|
243
|
-
return Mask;
|
|
244
185
|
}(_react["default"].Component);
|
|
245
|
-
|
|
246
|
-
exports["default"] = Mask;
|
|
247
186
|
(0, _defineProperty2["default"])(Mask, "propTypes", {
|
|
248
187
|
renderChildren: _propTypes["default"].func,
|
|
249
188
|
layout: _propTypes["default"].object,
|
|
250
189
|
value: _propTypes["default"].object,
|
|
251
190
|
onChange: _propTypes["default"].func,
|
|
252
|
-
elementType: _propTypes["default"].string
|
|
191
|
+
elementType: _propTypes["default"].string,
|
|
192
|
+
containerRef: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].shape({
|
|
193
|
+
current: _propTypes["default"].instanceOf(Element)
|
|
194
|
+
})])
|
|
253
195
|
});
|
|
254
|
-
//# sourceMappingURL=mask.js.map
|
|
196
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZ2V0IiwiX3N0eWxlcyIsIl9tYXRoUmVuZGVyaW5nIiwiX3NlcmlhbGl6YXRpb24iLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsIlBhcmFncmFwaCIsInN0eWxlZCIsIl9yZWYiLCJ0aGVtZSIsInBhZGRpbmdUb3AiLCJzcGFjaW5nIiwicGFkZGluZ0JvdHRvbSIsIlNwYWNlciIsImRpc3BsYXkiLCJ3aWR0aCIsInJlc3RyaWN0V2hpdGVzcGFjZVR5cGVzIiwiYWRkVGV4dCIsInBhcmVudE5vZGUiLCJ0ZXh0IiwiaXNXaGl0ZXNwYWNlIiwidHJpbSIsInBhcmVudFR5cGUiLCJ0eXBlIiwiaW5jbHVkZXMiLCJ1bmRlZmluZWQiLCJnZXRNYXJrIiwibiIsIm1hcmsiLCJsZWF2ZXMiLCJmaW5kIiwibGVhdmUiLCJnZXQiLCJtYXJrcyIsInJlbmRlckNoaWxkcmVuIiwiZXhwb3J0cyIsImxheW91dCIsInZhbHVlIiwib25DaGFuZ2UiLCJyb290UmVuZGVyQ2hpbGRyZW4iLCJlbGVtZW50VHlwZSIsImNoaWxkcmVuIiwibm9kZXMiLCJpbmRleCIsImtleSIsImNvbmNhdCIsImlzTWF0aCIsImNyZWF0ZUVsZW1lbnQiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImlubmVySFRNTCIsImMiLCJvYmplY3QiLCJjb250ZW50IiwicmVkdWNlIiwiYWNjIiwibCIsImV4dHJhVGV4dCIsIm1hcmtLZXkiLCJNQVJLX1RBR1MiLCJUYWciLCJzdWJOb2RlcyIsIl9UYWciLCJfZXh0ZW5kczIiLCJkYXRhIiwiYXR0cmlidXRlcyIsIk1hc2tDb250YWluZXIiLCJib3JkZXJDb2xsYXBzZSIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJNYXNrIiwiX1JlYWN0JENvbXBvbmVudCIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiaWQiLCJpbnRlcm5hbENvbnRhaW5lclJlZiIsIlJlYWN0IiwiY3JlYXRlUmVmIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJjb21wb25lbnREaWRNb3VudCIsImNvbnRhaW5lclJlZiIsImN1cnJlbnQiLCJyZW5kZXJNYXRoIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMiLCJoYW5kbGVDaGFuZ2UiLCJyZWYiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJmdW5jIiwic3RyaW5nIiwib25lT2ZUeXBlIiwic2hhcGUiLCJpbnN0YW5jZU9mIiwiRWxlbWVudCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXNrLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IHsgTUFSS19UQUdTIH0gZnJvbSAnLi9zZXJpYWxpemF0aW9uJztcblxuY29uc3QgUGFyYWdyYXBoID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBwYWRkaW5nVG9wOiB0aGVtZS5zcGFjaW5nKDIpLFxuICBwYWRkaW5nQm90dG9tOiB0aGVtZS5zcGFjaW5nKDIpLFxufSkpO1xuXG5jb25zdCBTcGFjZXIgPSBzdHlsZWQoJ3NwYW4nKSgoKSA9PiAoe1xuICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgd2lkdGg6ICcuNzVlbScsXG59KSk7XG5cbmNvbnN0IHJlc3RyaWN0V2hpdGVzcGFjZVR5cGVzID0gWyd0Ym9keScsICd0ciddO1xuXG5jb25zdCBhZGRUZXh0ID0gKHBhcmVudE5vZGUsIHRleHQpID0+IHtcbiAgY29uc3QgaXNXaGl0ZXNwYWNlID0gdGV4dC50cmltKCkgPT09ICcnO1xuICBjb25zdCBwYXJlbnRUeXBlID0gcGFyZW50Tm9kZSAmJiBwYXJlbnROb2RlLnR5cGU7XG5cbiAgaWYgKGlzV2hpdGVzcGFjZSAmJiByZXN0cmljdFdoaXRlc3BhY2VUeXBlcy5pbmNsdWRlcyhwYXJlbnRUeXBlKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cbn07XG5cbmNvbnN0IGdldE1hcmsgPSAobikgPT4ge1xuICBjb25zdCBtYXJrID0gbi5sZWF2ZXMuZmluZCgobGVhdmUpID0+IGdldChsZWF2ZSwgJ21hcmtzJywgW10pLmxlbmd0aCk7XG5cbiAgaWYgKG1hcmspIHtcbiAgICByZXR1cm4gbWFyay5tYXJrc1swXTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbmRlckNoaWxkcmVuID0gKGxheW91dCwgdmFsdWUsIG9uQ2hhbmdlLCByb290UmVuZGVyQ2hpbGRyZW4sIHBhcmVudE5vZGUsIGVsZW1lbnRUeXBlKSA9PiB7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGNoaWxkcmVuID0gW107XG5cbiAgKGxheW91dC5ub2RlcyB8fCBbXSkuZm9yRWFjaCgobiwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBrZXkgPSBuLnR5cGUgPyBgJHtuLnR5cGV9LSR7aW5kZXh9YCA6IGAke2luZGV4fWA7XG5cbiAgICBpZiAobi5pc01hdGgpIHtcbiAgICAgIGNoaWxkcmVuLnB1c2goXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgIF9faHRtbDogYDxtYXRoIGRpc3BsYXlzdHlsZT1cInRydWVcIj4ke24ubm9kZXNbMF0uaW5uZXJIVE1MfTwvbWF0aD5gLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICB9XG5cbiAgICBpZiAocm9vdFJlbmRlckNoaWxkcmVuKSB7XG4gICAgICBjb25zdCBjID0gcm9vdFJlbmRlckNoaWxkcmVuKG4sIHZhbHVlLCBvbkNoYW5nZSk7XG4gICAgICBpZiAoYykge1xuICAgICAgICBjaGlsZHJlbi5wdXNoKGMpO1xuICAgICAgICBpZiAocGFyZW50Tm9kZT8udHlwZSAhPT0gJ3RkJyAmJiBlbGVtZW50VHlwZSA9PT0gJ2RyYWctaW4tdGhlLWJsYW5rJykge1xuICAgICAgICAgIGNoaWxkcmVuLnB1c2goPFNwYWNlciBrZXk9e2BzcGFjZXItJHtpbmRleH1gfSAvPik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuLm9iamVjdCA9PT0gJ3RleHQnKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gbi5sZWF2ZXMucmVkdWNlKChhY2MsIGwpID0+IHtcbiAgICAgICAgY29uc3QgdCA9IGwudGV4dDtcbiAgICAgICAgY29uc3QgZXh0cmFUZXh0ID0gYWRkVGV4dChwYXJlbnROb2RlLCB0KTtcbiAgICAgICAgcmV0dXJuIGV4dHJhVGV4dCA/IGFjYyArIGV4dHJhVGV4dCA6IGFjYztcbiAgICAgIH0sICcnKTtcbiAgICAgIGNvbnN0IG1hcmsgPSBnZXRNYXJrKG4pO1xuXG4gICAgICBpZiAobWFyaykge1xuICAgICAgICBsZXQgbWFya0tleTtcblxuICAgICAgICBmb3IgKG1hcmtLZXkgaW4gTUFSS19UQUdTKSB7XG4gICAgICAgICAgaWYgKE1BUktfVEFHU1ttYXJrS2V5XSA9PT0gbWFyay50eXBlKSB7XG4gICAgICAgICAgICBjb25zdCBUYWcgPSBtYXJrS2V5O1xuXG4gICAgICAgICAgICBjaGlsZHJlbi5wdXNoKDxUYWcga2V5PXtrZXl9Pntjb250ZW50fTwvVGFnPik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY29udGVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNoaWxkcmVuLnB1c2goY29udGVudCk7XG4gICAgICAgIGlmIChwYXJlbnROb2RlPy50eXBlICE9PSAndGQnICYmIGVsZW1lbnRUeXBlID09PSAnZHJhZy1pbi10aGUtYmxhbmsnKSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaCg8U3BhY2VyIGtleT17YHNwYWNlci0ke2luZGV4fWB9IC8+KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdWJOb2RlcyA9IHJlbmRlckNoaWxkcmVuKG4sIHZhbHVlLCBvbkNoYW5nZSwgcm9vdFJlbmRlckNoaWxkcmVuLCBuLCBlbGVtZW50VHlwZSk7XG4gICAgICBpZiAobi50eXBlID09PSAncCcgfHwgbi50eXBlID09PSAncGFyYWdyYXBoJykge1xuICAgICAgICBjaGlsZHJlbi5wdXNoKDxQYXJhZ3JhcGgga2V5PXtrZXl9PntzdWJOb2Rlc308L1BhcmFncmFwaD4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgVGFnID0gbi50eXBlO1xuICAgICAgICBpZiAobi5ub2RlcyAmJiBuLm5vZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKFxuICAgICAgICAgICAgPFRhZyBrZXk9e2tleX0gey4uLm4uZGF0YS5hdHRyaWJ1dGVzfT5cbiAgICAgICAgICAgICAge3N1Yk5vZGVzfVxuICAgICAgICAgICAgPC9UYWc+LFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaCg8VGFnIGtleT17a2V5fSB7Li4ubi5kYXRhLmF0dHJpYnV0ZXN9IC8+KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBjaGlsZHJlbjtcbn07XG5cbmNvbnN0IE1hc2tDb250YWluZXIgPSBzdHlsZWQoJ2RpdicpKCgpID0+ICh7XG4gIGRpc3BsYXk6ICdpbml0aWFsJyxcbiAgJyY6bm90KC5NYXRoSmF4KSB0YWJsZSc6IHtcbiAgICBib3JkZXJDb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgfSxcbiAgLy8gYWxpZ24gdGFibGUgY29udGVudCB0byBsZWZ0IGFzIHBlciBTVEFSIHJlcXVpcmVtZW50IFBELTM2ODdcbiAgJyY6bm90KC5NYXRoSmF4KSB0YWJsZSB0ZCwgJjpub3QoLk1hdGhKYXgpIHRhYmxlIHRoJzoge1xuICAgIHBhZGRpbmc6ICc4cHggMTJweCcsXG4gICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gIH0sXG59KSk7XG5cbi8qKlxuICogUmVuZGVycyBhIGxheW91dCB0aGF0IHVzZXMgdGhlIHNsYXRlLmpzIFZhbHVlIG1vZGVsIHN0cnVjdHVyZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWFzayBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgICAgIHRoaXMuaW50ZXJuYWxDb250YWluZXJSZWYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgcmVuZGVyQ2hpbGRyZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxheW91dDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZWxlbWVudFR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY29udGFpbmVyUmVmOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5mdW5jLFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHsgY3VycmVudDogUHJvcFR5cGVzLmluc3RhbmNlT2YoRWxlbWVudCkgfSksXG4gICAgXSksXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdGhpcy5wcm9wcy5jb250YWluZXJSZWYgfHwgdGhpcy5pbnRlcm5hbENvbnRhaW5lclJlZjtcbiAgICBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQgJiYgdHlwZW9mIHJlbmRlck1hdGggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJlbmRlck1hdGgoY29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNoYW5nZSA9IChpZCwgdmFsdWUpID0+IHtcbiAgICBjb25zdCBkYXRhID0geyAuLi50aGlzLnByb3BzLnZhbHVlLCBbaWRdOiB2YWx1ZSB9O1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UoZGF0YSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUsIGxheW91dCwgZWxlbWVudFR5cGUsIGNvbnRhaW5lclJlZiB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjaGlsZHJlbiA9IHJlbmRlckNoaWxkcmVuKGxheW91dCwgdmFsdWUsIHRoaXMuaGFuZGxlQ2hhbmdlLCB0aGlzLnByb3BzLnJlbmRlckNoaWxkcmVuLCBudWxsLCBlbGVtZW50VHlwZSk7XG4gICAgY29uc3QgcmVmID0gY29udGFpbmVyUmVmIHx8IHRoaXMuaW50ZXJuYWxDb250YWluZXJSZWY7XG5cbiAgICByZXR1cm4gPE1hc2tDb250YWluZXIgcmVmPXtyZWZ9PntjaGlsZHJlbn08L01hc2tDb250YWluZXI+O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsSUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssY0FBQSxHQUFBTCxPQUFBO0FBQTRDLFNBQUFNLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxPQUFBYSxPQUFBLFdBQUFkLENBQUEsUUFBQWUsZ0JBQUEsYUFBQWhCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FBQUUsTUFBQSxDQUFBYyx5QkFBQSxHQUFBZCxNQUFBLENBQUFlLGdCQUFBLENBQUFsQixDQUFBLEVBQUFHLE1BQUEsQ0FBQWMseUJBQUEsQ0FBQWYsQ0FBQSxLQUFBSCxPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxHQUFBYSxPQUFBLFdBQUFkLENBQUEsSUFBQUUsTUFBQSxDQUFBZ0IsY0FBQSxDQUFBbkIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQU4sQ0FBQSxFQUFBRCxDQUFBLGlCQUFBRCxDQUFBO0FBQUEsU0FBQW9CLFdBQUFsQixDQUFBLEVBQUFJLENBQUEsRUFBQU4sQ0FBQSxXQUFBTSxDQUFBLE9BQUFlLGdCQUFBLGFBQUFmLENBQUEsT0FBQWdCLDJCQUFBLGFBQUFwQixDQUFBLEVBQUFxQix5QkFBQSxLQUFBQyxPQUFBLENBQUFDLFNBQUEsQ0FBQW5CLENBQUEsRUFBQU4sQ0FBQSxZQUFBcUIsZ0JBQUEsYUFBQW5CLENBQUEsRUFBQXdCLFdBQUEsSUFBQXBCLENBQUEsQ0FBQUssS0FBQSxDQUFBVCxDQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBdUIsMEJBQUEsY0FBQXJCLENBQUEsSUFBQXlCLE9BQUEsQ0FBQUMsU0FBQSxDQUFBQyxPQUFBLENBQUFDLElBQUEsQ0FBQU4sT0FBQSxDQUFBQyxTQUFBLENBQUFFLE9BQUEsaUNBQUF6QixDQUFBLGFBQUFxQix5QkFBQSxZQUFBQSwwQkFBQSxhQUFBckIsQ0FBQTtBQUU1QyxJQUFNNkIsU0FBUyxHQUFHLElBQUFDLGNBQU0sRUFBQyxLQUFLLENBQUMsQ0FBQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7RUFBQSxPQUFRO0lBQzlDQyxVQUFVLEVBQUVELEtBQUssQ0FBQ0UsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM1QkMsYUFBYSxFQUFFSCxLQUFLLENBQUNFLE9BQU8sQ0FBQyxDQUFDO0VBQ2hDLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxJQUFNRSxNQUFNLEdBQUcsSUFBQU4sY0FBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0VBQUEsT0FBTztJQUNuQ08sT0FBTyxFQUFFLGNBQWM7SUFDdkJDLEtBQUssRUFBRTtFQUNULENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxJQUFNQyx1QkFBdUIsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7QUFFL0MsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQUlDLFVBQVUsRUFBRUMsSUFBSSxFQUFLO0VBQ3BDLElBQU1DLFlBQVksR0FBR0QsSUFBSSxDQUFDRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7RUFDdkMsSUFBTUMsVUFBVSxHQUFHSixVQUFVLElBQUlBLFVBQVUsQ0FBQ0ssSUFBSTtFQUVoRCxJQUFJSCxZQUFZLElBQUlKLHVCQUF1QixDQUFDUSxRQUFRLENBQUNGLFVBQVUsQ0FBQyxFQUFFO0lBQ2hFLE9BQU9HLFNBQVM7RUFDbEIsQ0FBQyxNQUFNO0lBQ0wsT0FBT04sSUFBSTtFQUNiO0FBQ0YsQ0FBQztBQUVELElBQU1PLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFJQyxDQUFDLEVBQUs7RUFDckIsSUFBTUMsSUFBSSxHQUFHRCxDQUFDLENBQUNFLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLEtBQUs7SUFBQSxPQUFLLElBQUFDLGVBQUcsRUFBQ0QsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQzFDLE1BQU07RUFBQSxFQUFDO0VBRXJFLElBQUl1QyxJQUFJLEVBQUU7SUFDUixPQUFPQSxJQUFJLENBQUNLLEtBQUssQ0FBQyxDQUFDLENBQUM7RUFDdEI7RUFFQSxPQUFPLElBQUk7QUFDYixDQUFDO0FBRU0sSUFBTUMsZUFBYyxHQUFBQyxPQUFBLENBQUFELGNBQUEsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSUUsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsa0JBQWtCLEVBQUVyQixVQUFVLEVBQUVzQixXQUFXLEVBQUs7RUFDdEcsSUFBSSxDQUFDSCxLQUFLLEVBQUU7SUFDVixPQUFPLElBQUk7RUFDYjtFQUVBLElBQU1JLFFBQVEsR0FBRyxFQUFFO0VBRW5CLENBQUNMLE1BQU0sQ0FBQ00sS0FBSyxJQUFJLEVBQUUsRUFBRXBELE9BQU8sQ0FBQyxVQUFDcUMsQ0FBQyxFQUFFZ0IsS0FBSyxFQUFLO0lBQ3pDLElBQU1DLEdBQUcsR0FBR2pCLENBQUMsQ0FBQ0osSUFBSSxNQUFBc0IsTUFBQSxDQUFNbEIsQ0FBQyxDQUFDSixJQUFJLE9BQUFzQixNQUFBLENBQUlGLEtBQUssT0FBQUUsTUFBQSxDQUFRRixLQUFLLENBQUU7SUFFdEQsSUFBSWhCLENBQUMsQ0FBQ21CLE1BQU0sRUFBRTtNQUNaTCxRQUFRLENBQUN4RCxJQUFJLGNBQ1huQixNQUFBLFlBQUFpRixhQUFBO1FBQ0VDLHVCQUF1QixFQUFFO1VBQ3ZCQyxNQUFNLGlDQUFBSixNQUFBLENBQStCbEIsQ0FBQyxDQUFDZSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUNRLFNBQVM7UUFDM0Q7TUFBRSxDQUNILENBQ0gsQ0FBQztNQUNELE9BQU9ULFFBQVE7SUFDakI7SUFFQSxJQUFJRixrQkFBa0IsRUFBRTtNQUN0QixJQUFNWSxDQUFDLEdBQUdaLGtCQUFrQixDQUFDWixDQUFDLEVBQUVVLEtBQUssRUFBRUMsUUFBUSxDQUFDO01BQ2hELElBQUlhLENBQUMsRUFBRTtRQUNMVixRQUFRLENBQUN4RCxJQUFJLENBQUNrRSxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFBakMsVUFBVSxhQUFWQSxVQUFVLHVCQUFWQSxVQUFVLENBQUVLLElBQUksTUFBSyxJQUFJLElBQUlpQixXQUFXLEtBQUssbUJBQW1CLEVBQUU7VUFDcEVDLFFBQVEsQ0FBQ3hELElBQUksY0FBQ25CLE1BQUEsWUFBQWlGLGFBQUEsQ0FBQ2xDLE1BQU07WUFBQytCLEdBQUcsWUFBQUMsTUFBQSxDQUFZRixLQUFLO1VBQUcsQ0FBRSxDQUFDLENBQUM7UUFDbkQ7UUFDQTtNQUNGO0lBQ0Y7SUFFQSxJQUFJaEIsQ0FBQyxDQUFDeUIsTUFBTSxLQUFLLE1BQU0sRUFBRTtNQUN2QixJQUFNQyxPQUFPLEdBQUcxQixDQUFDLENBQUNFLE1BQU0sQ0FBQ3lCLE1BQU0sQ0FBQyxVQUFDQyxHQUFHLEVBQUVDLENBQUMsRUFBSztRQUMxQyxJQUFNL0UsQ0FBQyxHQUFHK0UsQ0FBQyxDQUFDckMsSUFBSTtRQUNoQixJQUFNc0MsU0FBUyxHQUFHeEMsT0FBTyxDQUFDQyxVQUFVLEVBQUV6QyxDQUFDLENBQUM7UUFDeEMsT0FBT2dGLFNBQVMsR0FBR0YsR0FBRyxHQUFHRSxTQUFTLEdBQUdGLEdBQUc7TUFDMUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztNQUNOLElBQU0zQixJQUFJLEdBQUdGLE9BQU8sQ0FBQ0MsQ0FBQyxDQUFDO01BRXZCLElBQUlDLElBQUksRUFBRTtRQUNSLElBQUk4QixPQUFPO1FBRVgsS0FBS0EsT0FBTyxJQUFJQyx3QkFBUyxFQUFFO1VBQ3pCLElBQUlBLHdCQUFTLENBQUNELE9BQU8sQ0FBQyxLQUFLOUIsSUFBSSxDQUFDTCxJQUFJLEVBQUU7WUFDcEMsSUFBTXFDLEdBQUcsR0FBR0YsT0FBTztZQUVuQmpCLFFBQVEsQ0FBQ3hELElBQUksY0FBQ25CLE1BQUEsWUFBQWlGLGFBQUEsQ0FBQ2EsR0FBRztjQUFDaEIsR0FBRyxFQUFFQTtZQUFJLEdBQUVTLE9BQWEsQ0FBQyxDQUFDO1lBQzdDO1VBQ0Y7UUFDRjtNQUNGLENBQUMsTUFBTSxJQUFJQSxPQUFPLENBQUNoRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzdCb0QsUUFBUSxDQUFDeEQsSUFBSSxDQUFDb0UsT0FBTyxDQUFDO1FBQ3RCLElBQUksQ0FBQW5DLFVBQVUsYUFBVkEsVUFBVSx1QkFBVkEsVUFBVSxDQUFFSyxJQUFJLE1BQUssSUFBSSxJQUFJaUIsV0FBVyxLQUFLLG1CQUFtQixFQUFFO1VBQ3BFQyxRQUFRLENBQUN4RCxJQUFJLGNBQUNuQixNQUFBLFlBQUFpRixhQUFBLENBQUNsQyxNQUFNO1lBQUMrQixHQUFHLFlBQUFDLE1BQUEsQ0FBWUYsS0FBSztVQUFHLENBQUUsQ0FBQyxDQUFDO1FBQ25EO01BQ0Y7SUFDRixDQUFDLE1BQU07TUFDTCxJQUFNa0IsUUFBUSxHQUFHM0IsZUFBYyxDQUFDUCxDQUFDLEVBQUVVLEtBQUssRUFBRUMsUUFBUSxFQUFFQyxrQkFBa0IsRUFBRVosQ0FBQyxFQUFFYSxXQUFXLENBQUM7TUFDdkYsSUFBSWIsQ0FBQyxDQUFDSixJQUFJLEtBQUssR0FBRyxJQUFJSSxDQUFDLENBQUNKLElBQUksS0FBSyxXQUFXLEVBQUU7UUFDNUNrQixRQUFRLENBQUN4RCxJQUFJLGNBQUNuQixNQUFBLFlBQUFpRixhQUFBLENBQUN6QyxTQUFTO1VBQUNzQyxHQUFHLEVBQUVBO1FBQUksR0FBRWlCLFFBQW9CLENBQUMsQ0FBQztNQUM1RCxDQUFDLE1BQU07UUFDTCxJQUFNRCxJQUFHLEdBQUdqQyxDQUFDLENBQUNKLElBQUk7UUFDbEIsSUFBSUksQ0FBQyxDQUFDZSxLQUFLLElBQUlmLENBQUMsQ0FBQ2UsS0FBSyxDQUFDckQsTUFBTSxHQUFHLENBQUMsRUFBRTtVQUNqQ29ELFFBQVEsQ0FBQ3hELElBQUksY0FDWG5CLE1BQUEsWUFBQWlGLGFBQUEsQ0FBQ2UsSUFBRyxNQUFBQyxTQUFBO1lBQUNuQixHQUFHLEVBQUVBO1VBQUksR0FBS2pCLENBQUMsQ0FBQ3FDLElBQUksQ0FBQ0MsVUFBVSxHQUNqQ0osUUFDRSxDQUNQLENBQUM7UUFDSCxDQUFDLE1BQU07VUFDTHBCLFFBQVEsQ0FBQ3hELElBQUksY0FBQ25CLE1BQUEsWUFBQWlGLGFBQUEsQ0FBQ2UsSUFBRyxNQUFBQyxTQUFBO1lBQUNuQixHQUFHLEVBQUVBO1VBQUksR0FBS2pCLENBQUMsQ0FBQ3FDLElBQUksQ0FBQ0MsVUFBVSxDQUFHLENBQUMsQ0FBQztRQUN6RDtNQUNGO0lBQ0Y7RUFDRixDQUFDLENBQUM7RUFDRixPQUFPeEIsUUFBUTtBQUNqQixDQUFDO0FBRUQsSUFBTXlCLGFBQWEsR0FBRyxJQUFBM0QsY0FBTSxFQUFDLEtBQUssQ0FBQyxDQUFDO0VBQUEsT0FBTztJQUN6Q08sT0FBTyxFQUFFLFNBQVM7SUFDbEIsdUJBQXVCLEVBQUU7TUFDdkJxRCxjQUFjLEVBQUU7SUFDbEIsQ0FBQztJQUNEO0lBQ0Esb0RBQW9ELEVBQUU7TUFDcERDLE9BQU8sRUFBRSxVQUFVO01BQ25CQyxTQUFTLEVBQUU7SUFDYjtFQUNGLENBQUM7QUFBQSxDQUFDLENBQUM7O0FBRUg7QUFDQTtBQUNBO0FBRkEsSUFHcUJDLElBQUksR0FBQW5DLE9BQUEscUNBQUFvQyxnQkFBQTtFQUN2QixTQUFBRCxLQUFZRSxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUEsSUFBQUMsZ0JBQUEsbUJBQUFKLElBQUE7SUFDakJHLEtBQUEsR0FBQTlFLFVBQUEsT0FBQTJFLElBQUEsR0FBTUUsS0FBSztJQUFFLElBQUFqRixnQkFBQSxhQUFBa0YsS0FBQSxrQkF1QkEsVUFBQ0UsRUFBRSxFQUFFdEMsS0FBSyxFQUFLO01BQzVCLElBQU0yQixJQUFJLEdBQUE3RSxhQUFBLENBQUFBLGFBQUEsS0FBUXNGLEtBQUEsQ0FBS0QsS0FBSyxDQUFDbkMsS0FBSyxXQUFBOUMsZ0JBQUEsaUJBQUdvRixFQUFFLEVBQUd0QyxLQUFLLEVBQUU7TUFDakRvQyxLQUFBLENBQUtELEtBQUssQ0FBQ2xDLFFBQVEsQ0FBQzBCLElBQUksQ0FBQztJQUMzQixDQUFDO0lBekJJUyxLQUFBLENBQUtHLG9CQUFvQixnQkFBR0MsaUJBQUssQ0FBQ0MsU0FBUyxDQUFDLENBQUM7SUFBQyxPQUFBTCxLQUFBO0VBQ25EO0VBQUMsSUFBQU0sVUFBQSxhQUFBVCxJQUFBLEVBQUFDLGdCQUFBO0VBQUEsV0FBQVMsYUFBQSxhQUFBVixJQUFBO0lBQUExQixHQUFBO0lBQUFQLEtBQUEsRUFjRCxTQUFBNEMsaUJBQWlCQSxDQUFBLEVBQUc7TUFDbEIsSUFBTUMsWUFBWSxHQUFHLElBQUksQ0FBQ1YsS0FBSyxDQUFDVSxZQUFZLElBQUksSUFBSSxDQUFDTixvQkFBb0I7TUFDekUsSUFBSU0sWUFBWSxDQUFDQyxPQUFPLElBQUksT0FBT0MseUJBQVUsS0FBSyxVQUFVLEVBQUU7UUFDNUQsSUFBQUEseUJBQVUsRUFBQ0YsWUFBWSxDQUFDQyxPQUFPLENBQUM7TUFDbEM7SUFDRjtFQUFDO0lBQUF2QyxHQUFBO0lBQUFQLEtBQUEsRUFPRCxTQUFBZ0QsTUFBTUEsQ0FBQSxFQUFHO01BQ1AsSUFBQUMsV0FBQSxHQUFxRCxJQUFJLENBQUNkLEtBQUs7UUFBdkRuQyxLQUFLLEdBQUFpRCxXQUFBLENBQUxqRCxLQUFLO1FBQUVELE1BQU0sR0FBQWtELFdBQUEsQ0FBTmxELE1BQU07UUFBRUksV0FBVyxHQUFBOEMsV0FBQSxDQUFYOUMsV0FBVztRQUFFMEMsWUFBWSxHQUFBSSxXQUFBLENBQVpKLFlBQVk7TUFDaEQsSUFBTXpDLFFBQVEsR0FBR1AsZUFBYyxDQUFDRSxNQUFNLEVBQUVDLEtBQUssRUFBRSxJQUFJLENBQUNrRCxZQUFZLEVBQUUsSUFBSSxDQUFDZixLQUFLLENBQUN0QyxjQUFjLEVBQUUsSUFBSSxFQUFFTSxXQUFXLENBQUM7TUFDL0csSUFBTWdELEdBQUcsR0FBR04sWUFBWSxJQUFJLElBQUksQ0FBQ04sb0JBQW9CO01BRXJELG9CQUFPOUcsTUFBQSxZQUFBaUYsYUFBQSxDQUFDbUIsYUFBYTtRQUFDc0IsR0FBRyxFQUFFQTtNQUFJLEdBQUUvQyxRQUF3QixDQUFDO0lBQzVEO0VBQUM7QUFBQSxFQXBDK0JvQyxpQkFBSyxDQUFDWSxTQUFTO0FBQUEsSUFBQWxHLGdCQUFBLGFBQTVCK0UsSUFBSSxlQU1KO0VBQ2pCcEMsY0FBYyxFQUFFd0QscUJBQVMsQ0FBQ0MsSUFBSTtFQUM5QnZELE1BQU0sRUFBRXNELHFCQUFTLENBQUN0QyxNQUFNO0VBQ3hCZixLQUFLLEVBQUVxRCxxQkFBUyxDQUFDdEMsTUFBTTtFQUN2QmQsUUFBUSxFQUFFb0QscUJBQVMsQ0FBQ0MsSUFBSTtFQUN4Qm5ELFdBQVcsRUFBRWtELHFCQUFTLENBQUNFLE1BQU07RUFDN0JWLFlBQVksRUFBRVEscUJBQVMsQ0FBQ0csU0FBUyxDQUFDLENBQ2hDSCxxQkFBUyxDQUFDQyxJQUFJLEVBQ2RELHFCQUFTLENBQUNJLEtBQUssQ0FBQztJQUFFWCxPQUFPLEVBQUVPLHFCQUFTLENBQUNLLFVBQVUsQ0FBQ0MsT0FBTztFQUFFLENBQUMsQ0FBQyxDQUM1RDtBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/mask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mask.jsx"],"names":["Paragraph","theme","para","paddingTop","spacing","unit","paddingBottom","props","classes","children","Spacer","spacer","display","width","restrictWhitespaceTypes","addText","parentNode","text","isWhitespace","trim","parentType","type","includes","undefined","getMark","n","mark","leaves","find","leave","length","marks","renderChildren","layout","value","onChange","rootRenderChildren","elementType","nodes","forEach","index","key","isMath","push","__html","innerHTML","c","object","content","reduce","acc","l","t","extraText","markKey","MARK_TAGS","Tag","subNodes","data","attributes","MaskContainer","main","tableStyle","borderCollapse","padding","textAlign","Mask","id","handleChange","React","Component","PropTypes","func","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MARK_TAGS } from './serialization';\nimport cx from 'classnames';\n\nconst Paragraph = withStyles((theme) => ({\n para: {\n paddingTop: 2 * theme.spacing.unit,\n paddingBottom: 2 * theme.spacing.unit,\n },\n}))((props) => <div className={props.classes.para}>{props.children}</div>);\n\nconst Spacer = withStyles(() => ({\n spacer: {\n display: 'inline-block',\n width: '.75em',\n },\n}))((props) => <span className={props.classes.spacer} />);\n\nconst restrictWhitespaceTypes = ['tbody', 'tr'];\n\nconst addText = (parentNode, text) => {\n const isWhitespace = text.trim() === '';\n const parentType = parentNode && parentNode.type;\n\n if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {\n return undefined;\n } else {\n return text;\n }\n};\n\nconst getMark = (n) => {\n const mark = n.leaves.find((leave) => get(leave, 'marks', []).length);\n\n if (mark) {\n return mark.marks[0];\n }\n\n return null;\n};\n\nexport const renderChildren = (layout, value, onChange, rootRenderChildren, parentNode, elementType) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = n.type ? `${n.type}-${index}` : `${index}`;\n\n if (n.isMath) {\n children.push(\n <span\n dangerouslySetInnerHTML={{\n __html: `<math displaystyle=\"true\">${n.nodes[0].innerHTML}</math>`,\n }}\n />,\n );\n return children;\n }\n\n if (rootRenderChildren) {\n const c = rootRenderChildren(n, value, onChange);\n if (c) {\n children.push(c);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n return;\n }\n }\n\n if (n.object === 'text') {\n const content = n.leaves.reduce((acc, l) => {\n const t = l.text;\n const extraText = addText(parentNode, t);\n return extraText ? acc + extraText : acc;\n }, '');\n const mark = getMark(n);\n\n if (mark) {\n let markKey;\n\n for (markKey in MARK_TAGS) {\n if (MARK_TAGS[markKey] === mark.type) {\n const Tag = markKey;\n\n children.push(<Tag key={key}>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n, elementType);\n if (n.type === 'p' || n.type === 'paragraph') {\n children.push(<Paragraph key={key}>{subNodes}</Paragraph>);\n } else {\n const Tag = n.type;\n if (n.nodes && n.nodes.length > 0) {\n children.push(\n <Tag key={key} {...n.data.attributes}>\n {subNodes}\n </Tag>,\n );\n } else {\n children.push(<Tag key={key} {...n.data.attributes} />);\n }\n }\n }\n });\n return children;\n};\n\nconst MaskContainer = withStyles(() => ({\n main: {\n display: 'initial',\n },\n tableStyle: {\n '&:not(.MathJax) table': {\n borderCollapse: 'collapse',\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '8px 12px',\n textAlign: 'left',\n },\n },\n}))((props) => <div className={cx(props.classes.main, props.classes.tableStyle)}>{props.children}</div>);\n\n/**\n * Renders a layout that uses the slate.js Value model structure.\n */\nexport default class Mask extends React.Component {\n static propTypes = {\n renderChildren: PropTypes.func,\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n elementType: PropTypes.string,\n };\n\n handleChange = (id, value) => {\n const data = { ...this.props.value, [id]: value };\n this.props.onChange(data);\n };\n\n render() {\n const { value, layout, elementType } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren, null, elementType);\n\n return <MaskContainer>{children}</MaskContainer>;\n }\n}\n"],"file":"mask.js"}
|
|
1
|
+
{"version":3,"file":"mask.js","names":["_react","_interopRequireDefault","require","_propTypes","_get","_styles","_mathRendering","_serialization","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","Paragraph","styled","_ref","theme","paddingTop","spacing","paddingBottom","Spacer","display","width","restrictWhitespaceTypes","addText","parentNode","text","isWhitespace","trim","parentType","type","includes","undefined","getMark","n","mark","leaves","find","leave","get","marks","renderChildren","exports","layout","value","onChange","rootRenderChildren","elementType","children","nodes","index","key","concat","isMath","createElement","dangerouslySetInnerHTML","__html","innerHTML","c","object","content","reduce","acc","l","extraText","markKey","MARK_TAGS","Tag","subNodes","_Tag","_extends2","data","attributes","MaskContainer","borderCollapse","padding","textAlign","Mask","_React$Component","props","_this","_classCallCheck2","id","internalContainerRef","React","createRef","_inherits2","_createClass2","componentDidMount","containerRef","current","renderMath","render","_this$props","handleChange","ref","Component","PropTypes","func","string","oneOfType","shape","instanceOf","Element"],"sources":["../src/mask.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport { styled } from '@mui/material/styles';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { MARK_TAGS } from './serialization';\n\nconst Paragraph = styled('div')(({ theme }) => ({\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n}));\n\nconst Spacer = styled('span')(() => ({\n display: 'inline-block',\n width: '.75em',\n}));\n\nconst restrictWhitespaceTypes = ['tbody', 'tr'];\n\nconst addText = (parentNode, text) => {\n const isWhitespace = text.trim() === '';\n const parentType = parentNode && parentNode.type;\n\n if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {\n return undefined;\n } else {\n return text;\n }\n};\n\nconst getMark = (n) => {\n const mark = n.leaves.find((leave) => get(leave, 'marks', []).length);\n\n if (mark) {\n return mark.marks[0];\n }\n\n return null;\n};\n\nexport const renderChildren = (layout, value, onChange, rootRenderChildren, parentNode, elementType) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = n.type ? `${n.type}-${index}` : `${index}`;\n\n if (n.isMath) {\n children.push(\n <span\n dangerouslySetInnerHTML={{\n __html: `<math displaystyle=\"true\">${n.nodes[0].innerHTML}</math>`,\n }}\n />,\n );\n return children;\n }\n\n if (rootRenderChildren) {\n const c = rootRenderChildren(n, value, onChange);\n if (c) {\n children.push(c);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n return;\n }\n }\n\n if (n.object === 'text') {\n const content = n.leaves.reduce((acc, l) => {\n const t = l.text;\n const extraText = addText(parentNode, t);\n return extraText ? acc + extraText : acc;\n }, '');\n const mark = getMark(n);\n\n if (mark) {\n let markKey;\n\n for (markKey in MARK_TAGS) {\n if (MARK_TAGS[markKey] === mark.type) {\n const Tag = markKey;\n\n children.push(<Tag key={key}>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n, elementType);\n if (n.type === 'p' || n.type === 'paragraph') {\n children.push(<Paragraph key={key}>{subNodes}</Paragraph>);\n } else {\n const Tag = n.type;\n if (n.nodes && n.nodes.length > 0) {\n children.push(\n <Tag key={key} {...n.data.attributes}>\n {subNodes}\n </Tag>,\n );\n } else {\n children.push(<Tag key={key} {...n.data.attributes} />);\n }\n }\n }\n });\n return children;\n};\n\nconst MaskContainer = styled('div')(() => ({\n display: 'initial',\n '&:not(.MathJax) table': {\n borderCollapse: 'collapse',\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '8px 12px',\n textAlign: 'left',\n },\n}));\n\n/**\n * Renders a layout that uses the slate.js Value model structure.\n */\nexport default class Mask extends React.Component {\n constructor(props) {\n super(props);\n this.internalContainerRef = React.createRef();\n }\n\n static propTypes = {\n renderChildren: PropTypes.func,\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n elementType: PropTypes.string,\n containerRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]),\n };\n\n componentDidMount() {\n const containerRef = this.props.containerRef || this.internalContainerRef;\n if (containerRef.current && typeof renderMath === 'function') {\n renderMath(containerRef.current);\n }\n }\n\n handleChange = (id, value) => {\n const data = { ...this.props.value, [id]: value };\n this.props.onChange(data);\n };\n\n render() {\n const { value, layout, elementType, containerRef } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren, null, elementType);\n const ref = containerRef || this.internalContainerRef;\n\n return <MaskContainer ref={ref}>{children}</MaskContainer>;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/serialization.js
CHANGED
|
@@ -1,126 +1,96 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.reactAttributes = exports.parseStyleString = exports.deserialize = exports.MARK_TAGS = void 0;
|
|
9
|
-
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
9
|
var _slateHtmlSerializer = _interopRequireDefault(require("slate-html-serializer"));
|
|
13
|
-
|
|
14
10
|
var _toStyle = require("to-style");
|
|
15
|
-
|
|
16
11
|
var _debug = _interopRequireDefault(require("debug"));
|
|
17
|
-
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
|
-
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
22
14
|
var log = (0, _debug["default"])('@pie-lib:mask-markup:serialization');
|
|
23
15
|
var INLINE = ['span'];
|
|
24
16
|
var MARK = ['em', 'strong', 'u'];
|
|
25
17
|
var TEXT_NODE = 3;
|
|
26
18
|
var COMMENT_NODE = 8;
|
|
27
|
-
|
|
28
19
|
var attr = function attr(el) {
|
|
29
20
|
if (!el.attributes || el.attributes.length <= 0) {
|
|
30
21
|
return undefined;
|
|
31
22
|
}
|
|
32
|
-
|
|
33
23
|
var out = {};
|
|
34
24
|
var i;
|
|
35
|
-
|
|
36
25
|
for (i = 0; i < el.attributes.length; i++) {
|
|
37
26
|
var a = el.attributes[i];
|
|
38
27
|
out[a.name] = a.value;
|
|
39
28
|
}
|
|
40
|
-
|
|
41
29
|
return out;
|
|
42
30
|
};
|
|
43
|
-
|
|
44
31
|
var getObject = function getObject(type) {
|
|
45
32
|
if (INLINE.includes(type)) {
|
|
46
33
|
return 'inline';
|
|
47
34
|
} else if (MARK.includes(type)) {
|
|
48
35
|
return 'mark';
|
|
49
36
|
}
|
|
50
|
-
|
|
51
37
|
return 'block';
|
|
52
38
|
};
|
|
53
|
-
|
|
54
|
-
var parseStyleString = function parseStyleString(s) {
|
|
39
|
+
var parseStyleString = exports.parseStyleString = function parseStyleString(s) {
|
|
55
40
|
var regex = /([\w-]*)\s*:\s*([^;]*)/g;
|
|
56
41
|
var match;
|
|
57
42
|
var result = {};
|
|
58
|
-
|
|
59
43
|
while (match = regex.exec(s)) {
|
|
60
44
|
result[match[1]] = match[2].trim();
|
|
61
45
|
}
|
|
62
|
-
|
|
63
46
|
return result;
|
|
64
47
|
};
|
|
65
|
-
|
|
66
|
-
exports.parseStyleString = parseStyleString;
|
|
67
|
-
|
|
68
|
-
var reactAttributes = function reactAttributes(o) {
|
|
48
|
+
var reactAttributes = exports.reactAttributes = function reactAttributes(o) {
|
|
69
49
|
return (0, _toStyle.object)(o, {
|
|
70
50
|
camelize: true,
|
|
71
51
|
addUnits: false
|
|
72
52
|
});
|
|
73
53
|
};
|
|
74
|
-
|
|
75
|
-
exports.reactAttributes = reactAttributes;
|
|
76
|
-
|
|
77
54
|
var handleStyles = function handleStyles(el, attribute) {
|
|
78
55
|
var styleString = el.getAttribute(attribute);
|
|
79
56
|
return reactAttributes(parseStyleString(styleString));
|
|
80
57
|
};
|
|
81
|
-
|
|
82
58
|
var handleClass = function handleClass(el, acc, attribute) {
|
|
83
59
|
var classNames = el.getAttribute(attribute);
|
|
84
60
|
delete acc["class"];
|
|
85
61
|
return classNames;
|
|
86
62
|
};
|
|
87
|
-
|
|
88
63
|
var attributesToMap = function attributesToMap(el) {
|
|
89
64
|
return function (acc, attribute) {
|
|
90
65
|
if (!el.getAttribute) {
|
|
91
66
|
return acc;
|
|
92
67
|
}
|
|
93
|
-
|
|
94
68
|
var value = el.getAttribute(attribute);
|
|
95
|
-
|
|
96
69
|
if (value) {
|
|
97
70
|
switch (attribute) {
|
|
98
71
|
case 'style':
|
|
99
72
|
acc.style = handleStyles(el, attribute);
|
|
100
73
|
break;
|
|
101
|
-
|
|
102
74
|
case 'class':
|
|
103
75
|
acc.className = handleClass(el, acc, attribute);
|
|
104
76
|
break;
|
|
105
|
-
|
|
106
77
|
default:
|
|
107
78
|
acc[attribute] = el.getAttribute(attribute);
|
|
108
79
|
break;
|
|
109
80
|
}
|
|
110
81
|
}
|
|
111
|
-
|
|
112
82
|
return acc;
|
|
113
83
|
};
|
|
114
84
|
};
|
|
115
|
-
|
|
116
85
|
var attributes = ['border', 'class', 'style'];
|
|
86
|
+
|
|
117
87
|
/**
|
|
118
88
|
* Tags to marks.
|
|
119
89
|
*
|
|
120
90
|
* @type {Object}
|
|
121
91
|
*/
|
|
122
92
|
|
|
123
|
-
var MARK_TAGS = {
|
|
93
|
+
var MARK_TAGS = exports.MARK_TAGS = {
|
|
124
94
|
b: 'bold',
|
|
125
95
|
em: 'italic',
|
|
126
96
|
u: 'underline',
|
|
@@ -128,7 +98,6 @@ var MARK_TAGS = {
|
|
|
128
98
|
code: 'code',
|
|
129
99
|
strong: 'strong'
|
|
130
100
|
};
|
|
131
|
-
exports.MARK_TAGS = MARK_TAGS;
|
|
132
101
|
var marks = {
|
|
133
102
|
deserialize: function deserialize(el, next) {
|
|
134
103
|
var mark = MARK_TAGS[el.tagName.toLowerCase()];
|
|
@@ -149,7 +118,6 @@ var rules = [marks, {
|
|
|
149
118
|
if (el.nodeType === COMMENT_NODE) {
|
|
150
119
|
return undefined;
|
|
151
120
|
}
|
|
152
|
-
|
|
153
121
|
if (el.nodeType === TEXT_NODE) {
|
|
154
122
|
return {
|
|
155
123
|
object: 'text',
|
|
@@ -158,24 +126,19 @@ var rules = [marks, {
|
|
|
158
126
|
}]
|
|
159
127
|
};
|
|
160
128
|
}
|
|
161
|
-
|
|
162
129
|
var type = el.tagName.toLowerCase();
|
|
163
130
|
var normalAttrs = attr(el) || {};
|
|
164
|
-
|
|
165
131
|
if (type == 'audio' && normalAttrs.controls == '') {
|
|
166
132
|
normalAttrs.controls = true;
|
|
167
133
|
}
|
|
168
|
-
|
|
169
134
|
var allAttrs = attributes.reduce(attributesToMap(el), _objectSpread({}, normalAttrs));
|
|
170
135
|
var object = getObject(type);
|
|
171
|
-
|
|
172
136
|
if (el.tagName.toLowerCase() === 'math') {
|
|
173
137
|
return {
|
|
174
138
|
isMath: true,
|
|
175
139
|
nodes: [el]
|
|
176
140
|
};
|
|
177
141
|
}
|
|
178
|
-
|
|
179
142
|
return {
|
|
180
143
|
object: object,
|
|
181
144
|
type: type,
|
|
@@ -187,21 +150,18 @@ var rules = [marks, {
|
|
|
187
150
|
};
|
|
188
151
|
}
|
|
189
152
|
}];
|
|
153
|
+
|
|
190
154
|
/**
|
|
191
155
|
* Create a new serializer instance with our `rules` from above.
|
|
192
156
|
* Having a default div block will just put every div on it's own line, which is not ideal.
|
|
193
157
|
*/
|
|
194
|
-
|
|
195
158
|
var html = new _slateHtmlSerializer["default"]({
|
|
196
159
|
rules: rules,
|
|
197
160
|
defaultBlock: 'span'
|
|
198
161
|
});
|
|
199
|
-
|
|
200
|
-
var deserialize = function deserialize(s) {
|
|
162
|
+
var deserialize = exports.deserialize = function deserialize(s) {
|
|
201
163
|
return html.deserialize(s, {
|
|
202
164
|
toJSON: true
|
|
203
165
|
});
|
|
204
166
|
};
|
|
205
|
-
|
|
206
|
-
exports.deserialize = deserialize;
|
|
207
|
-
//# sourceMappingURL=serialization.js.map
|
|
167
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2xhdGVIdG1sU2VyaWFsaXplciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3RvU3R5bGUiLCJfZGVidWciLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImxvZyIsImRlYnVnIiwiSU5MSU5FIiwiTUFSSyIsIlRFWFRfTk9ERSIsIkNPTU1FTlRfTk9ERSIsImF0dHIiLCJlbCIsImF0dHJpYnV0ZXMiLCJ1bmRlZmluZWQiLCJvdXQiLCJpIiwiYSIsIm5hbWUiLCJ2YWx1ZSIsImdldE9iamVjdCIsInR5cGUiLCJpbmNsdWRlcyIsInBhcnNlU3R5bGVTdHJpbmciLCJleHBvcnRzIiwicyIsInJlZ2V4IiwibWF0Y2giLCJyZXN1bHQiLCJleGVjIiwidHJpbSIsInJlYWN0QXR0cmlidXRlcyIsInRvU3R5bGVPYmplY3QiLCJjYW1lbGl6ZSIsImFkZFVuaXRzIiwiaGFuZGxlU3R5bGVzIiwiYXR0cmlidXRlIiwic3R5bGVTdHJpbmciLCJnZXRBdHRyaWJ1dGUiLCJoYW5kbGVDbGFzcyIsImFjYyIsImNsYXNzTmFtZXMiLCJhdHRyaWJ1dGVzVG9NYXAiLCJzdHlsZSIsImNsYXNzTmFtZSIsIk1BUktfVEFHUyIsImIiLCJlbSIsInUiLCJjb2RlIiwic3Ryb25nIiwibWFya3MiLCJkZXNlcmlhbGl6ZSIsIm5leHQiLCJtYXJrIiwidGFnTmFtZSIsInRvTG93ZXJDYXNlIiwib2JqZWN0Iiwibm9kZXMiLCJjaGlsZE5vZGVzIiwicnVsZXMiLCJub2RlVHlwZSIsImxlYXZlcyIsInRleHQiLCJ0ZXh0Q29udGVudCIsIm5vcm1hbEF0dHJzIiwiY29udHJvbHMiLCJhbGxBdHRycyIsInJlZHVjZSIsImlzTWF0aCIsImRhdGEiLCJkYXRhc2V0IiwiaHRtbCIsIkh0bWwiLCJkZWZhdWx0QmxvY2siLCJ0b0pTT04iXSwic291cmNlcyI6WyIuLi9zcmMvc2VyaWFsaXphdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSHRtbCBmcm9tICdzbGF0ZS1odG1sLXNlcmlhbGl6ZXInO1xuaW1wb3J0IHsgb2JqZWN0IGFzIHRvU3R5bGVPYmplY3QgfSBmcm9tICd0by1zdHlsZSc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6bWFzay1tYXJrdXA6c2VyaWFsaXphdGlvbicpO1xuXG5jb25zdCBJTkxJTkUgPSBbJ3NwYW4nXTtcbmNvbnN0IE1BUksgPSBbJ2VtJywgJ3N0cm9uZycsICd1J107XG5jb25zdCBURVhUX05PREUgPSAzO1xuY29uc3QgQ09NTUVOVF9OT0RFID0gODtcblxuY29uc3QgYXR0ciA9IChlbCkgPT4ge1xuICBpZiAoIWVsLmF0dHJpYnV0ZXMgfHwgZWwuYXR0cmlidXRlcy5sZW5ndGggPD0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBvdXQgPSB7fTtcbiAgbGV0IGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IGVsLmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBhID0gZWwuYXR0cmlidXRlc1tpXTtcblxuICAgIG91dFthLm5hbWVdID0gYS52YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBvdXQ7XG59O1xuXG5jb25zdCBnZXRPYmplY3QgPSAodHlwZSkgPT4ge1xuICBpZiAoSU5MSU5FLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgcmV0dXJuICdpbmxpbmUnO1xuICB9IGVsc2UgaWYgKE1BUksuaW5jbHVkZXModHlwZSkpIHtcbiAgICByZXR1cm4gJ21hcmsnO1xuICB9XG4gIHJldHVybiAnYmxvY2snO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlU3R5bGVTdHJpbmcgPSAocykgPT4ge1xuICBjb25zdCByZWdleCA9IC8oW1xcdy1dKilcXHMqOlxccyooW147XSopL2c7XG4gIGxldCBtYXRjaDtcbiAgY29uc3QgcmVzdWx0ID0ge307XG4gIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKHMpKSkge1xuICAgIHJlc3VsdFttYXRjaFsxXV0gPSBtYXRjaFsyXS50cmltKCk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCByZWFjdEF0dHJpYnV0ZXMgPSAobykgPT4gdG9TdHlsZU9iamVjdChvLCB7IGNhbWVsaXplOiB0cnVlLCBhZGRVbml0czogZmFsc2UgfSk7XG5cbmNvbnN0IGhhbmRsZVN0eWxlcyA9IChlbCwgYXR0cmlidXRlKSA9PiB7XG4gIGNvbnN0IHN0eWxlU3RyaW5nID0gZWwuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSk7XG5cbiAgcmV0dXJuIHJlYWN0QXR0cmlidXRlcyhwYXJzZVN0eWxlU3RyaW5nKHN0eWxlU3RyaW5nKSk7XG59O1xuXG5jb25zdCBoYW5kbGVDbGFzcyA9IChlbCwgYWNjLCBhdHRyaWJ1dGUpID0+IHtcbiAgY29uc3QgY2xhc3NOYW1lcyA9IGVsLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuXG4gIGRlbGV0ZSBhY2MuY2xhc3M7XG5cbiAgcmV0dXJuIGNsYXNzTmFtZXM7XG59O1xuXG5jb25zdCBhdHRyaWJ1dGVzVG9NYXAgPSAoZWwpID0+IChhY2MsIGF0dHJpYnV0ZSkgPT4ge1xuICBpZiAoIWVsLmdldEF0dHJpYnV0ZSkge1xuICAgIHJldHVybiBhY2M7XG4gIH1cblxuICBjb25zdCB2YWx1ZSA9IGVsLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuXG4gIGlmICh2YWx1ZSkge1xuICAgIHN3aXRjaCAoYXR0cmlidXRlKSB7XG4gICAgICBjYXNlICdzdHlsZSc6XG4gICAgICAgIGFjYy5zdHlsZSA9IGhhbmRsZVN0eWxlcyhlbCwgYXR0cmlidXRlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjbGFzcyc6XG4gICAgICAgIGFjYy5jbGFzc05hbWUgPSBoYW5kbGVDbGFzcyhlbCwgYWNjLCBhdHRyaWJ1dGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFjY1thdHRyaWJ1dGVdID0gZWwuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhY2M7XG59O1xuXG5jb25zdCBhdHRyaWJ1dGVzID0gWydib3JkZXInLCAnY2xhc3MnLCAnc3R5bGUnXTtcblxuLyoqXG4gKiBUYWdzIHRvIG1hcmtzLlxuICpcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cblxuZXhwb3J0IGNvbnN0IE1BUktfVEFHUyA9IHtcbiAgYjogJ2JvbGQnLFxuICBlbTogJ2l0YWxpYycsXG4gIHU6ICd1bmRlcmxpbmUnLFxuICBzOiAnc3RyaWtldGhyb3VnaCcsXG4gIGNvZGU6ICdjb2RlJyxcbiAgc3Ryb25nOiAnc3Ryb25nJyxcbn07XG5cbmNvbnN0IG1hcmtzID0ge1xuICBkZXNlcmlhbGl6ZShlbCwgbmV4dCkge1xuICAgIGNvbnN0IG1hcmsgPSBNQVJLX1RBR1NbZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpXTtcbiAgICBpZiAoIW1hcmspIHJldHVybjtcbiAgICBsb2coJ1tkZXNlcmlhbGl6ZV0gbWFyazogJywgbWFyayk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9iamVjdDogJ21hcmsnLFxuICAgICAgdHlwZTogbWFyayxcbiAgICAgIG5vZGVzOiBuZXh0KGVsLmNoaWxkTm9kZXMpLFxuICAgIH07XG4gIH0sXG59O1xuXG5jb25zdCBydWxlcyA9IFtcbiAgbWFya3MsXG4gIHtcbiAgICAvKipcbiAgICAgKiBkZXNlcmlhbGl6ZSBldmVyeXRoaW5nLCB3ZSdyZSBub3QgZnVzc3kgYWJvdXQgdGhlIGRvbSBzdHJ1Y3R1cmUgZm9yIG5vdy5cbiAgICAgKi9cbiAgICBkZXNlcmlhbGl6ZTogKGVsLCBuZXh0KSA9PiB7XG4gICAgICBpZiAoZWwubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBpZiAoZWwubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIGxlYXZlczogW3sgdGV4dDogZWwudGV4dENvbnRlbnQgfV0sXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHR5cGUgPSBlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIGNvbnN0IG5vcm1hbEF0dHJzID0gYXR0cihlbCkgfHwge307XG5cbiAgICAgIGlmICh0eXBlID09ICdhdWRpbycgJiYgbm9ybWFsQXR0cnMuY29udHJvbHMgPT0gJycpIHtcbiAgICAgICAgbm9ybWFsQXR0cnMuY29udHJvbHMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhbGxBdHRycyA9IGF0dHJpYnV0ZXMucmVkdWNlKGF0dHJpYnV0ZXNUb01hcChlbCksIHsgLi4ubm9ybWFsQXR0cnMgfSk7XG4gICAgICBjb25zdCBvYmplY3QgPSBnZXRPYmplY3QodHlwZSk7XG5cbiAgICAgIGlmIChlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdtYXRoJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlzTWF0aDogdHJ1ZSxcbiAgICAgICAgICBub2RlczogW2VsXSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb2JqZWN0LFxuICAgICAgICB0eXBlLFxuICAgICAgICBkYXRhOiB7IGRhdGFzZXQ6IHsgLi4uZWwuZGF0YXNldCB9LCBhdHRyaWJ1dGVzOiB7IC4uLmFsbEF0dHJzIH0gfSxcbiAgICAgICAgbm9kZXM6IG5leHQoZWwuY2hpbGROb2RlcyksXG4gICAgICB9O1xuICAgIH0sXG4gIH0sXG5dO1xuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBzZXJpYWxpemVyIGluc3RhbmNlIHdpdGggb3VyIGBydWxlc2AgZnJvbSBhYm92ZS5cbiAqIEhhdmluZyBhIGRlZmF1bHQgZGl2IGJsb2NrIHdpbGwganVzdCBwdXQgZXZlcnkgZGl2IG9uIGl0J3Mgb3duIGxpbmUsIHdoaWNoIGlzIG5vdCBpZGVhbC5cbiAqL1xuY29uc3QgaHRtbCA9IG5ldyBIdG1sKHsgcnVsZXMsIGRlZmF1bHRCbG9jazogJ3NwYW4nIH0pO1xuXG5leHBvcnQgY29uc3QgZGVzZXJpYWxpemUgPSAocykgPT4gaHRtbC5kZXNlcmlhbGl6ZShzLCB7IHRvSlNPTjogdHJ1ZSB9KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxvQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQTBCLFNBQUFHLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1B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LElBQUksRUFBRW5ELEVBQUUsQ0FBQ29EO1FBQVksQ0FBQztNQUNuQyxDQUFDO0lBQ0g7SUFFQSxJQUFNM0MsSUFBSSxHQUFHVCxFQUFFLENBQUMyQyxPQUFPLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0lBRXJDLElBQU1TLFdBQVcsR0FBR3RELElBQUksQ0FBQ0MsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxDLElBQUlTLElBQUksSUFBSSxPQUFPLElBQUk0QyxXQUFXLENBQUNDLFFBQVEsSUFBSSxFQUFFLEVBQUU7TUFDakRELFdBQVcsQ0FBQ0MsUUFBUSxHQUFHLElBQUk7SUFDN0I7SUFFQSxJQUFNQyxRQUFRLEdBQUd0RCxVQUFVLENBQUN1RCxNQUFNLENBQUMxQixlQUFlLENBQUM5QixFQUFFLENBQUMsRUFBQWYsYUFBQSxLQUFPb0UsV0FBVyxDQUFFLENBQUM7SUFDM0UsSUFBTVIsTUFBTSxHQUFHckMsU0FBUyxDQUFDQyxJQUFJLENBQUM7SUFFOUIsSUFBSVQsRUFBRSxDQUFDMkMsT0FBTyxDQUFDQyxXQUFXLENBQUMsQ0FBQyxLQUFLLE1BQU0sRUFBRTtNQUN2QyxPQUFPO1FBQ0xhLE1BQU0sRUFBRSxJQUFJO1FBQ1pYLEtBQUssRUFBRSxDQUFDOUMsRUFBRTtNQUNaLENBQUM7SUFDSDtJQUVBLE9BQU87TUFDTDZDLE1BQU0sRUFBTkEsTUFBTTtNQUNOcEMsSUFBSSxFQUFKQSxJQUFJO01BQ0ppRCxJQUFJLEVBQUU7UUFBRUMsT0FBTyxFQUFBMUUsYUFBQSxLQUFPZSxFQUFFLENBQUMyRCxPQUFPLENBQUU7UUFBRTFELFVBQVUsRUFBQWhCLGFBQUEsS0FBT3NFLFFBQVE7TUFBRyxDQUFDO01BQ2pFVCxLQUFLLEVBQUVMLElBQUksQ0FBQ3pDLEVBQUUsQ0FBQytDLFVBQVU7SUFDM0IsQ0FBQztFQUNIO0FBQ0YsQ0FBQyxDQUNGOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTWEsSUFBSSxHQUFHLElBQUlDLCtCQUFJLENBQUM7RUFBRWIsS0FBSyxFQUFMQSxLQUFLO0VBQUVjLFlBQVksRUFBRTtBQUFPLENBQUMsQ0FBQztBQUUvQyxJQUFNdEIsV0FBVyxHQUFBNUIsT0FBQSxDQUFBNEIsV0FBQSxHQUFHLFNBQWRBLFdBQVdBLENBQUkzQixDQUFDO0VBQUEsT0FBSytDLElBQUksQ0FBQ3BCLFdBQVcsQ0FBQzNCLENBQUMsRUFBRTtJQUFFa0QsTUFBTSxFQUFFO0VBQUssQ0FBQyxDQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|