@pie-element/select-text 9.6.2-beta.1 → 9.6.2-beta.2

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/package.json CHANGED
@@ -4,12 +4,15 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "9.6.2-beta.1",
7
+ "version": "9.6.2-beta.2",
8
8
  "description": "",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-player-events": "^0.1.0",
12
- "@pie-lib/pie-toolbox": "2.20.0",
12
+ "@pie-lib/correct-answer-toggle": "^2.14.1",
13
+ "@pie-lib/math-rendering": "^3.11.1",
14
+ "@pie-lib/render-ui": "^4.24.1",
15
+ "@pie-lib/text-select": "^1.21.1",
13
16
  "prop-types": "^15.6.1",
14
17
  "react": "^16.8.1",
15
18
  "react-dom": "^16.8.1"
@@ -1,214 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
-
7
- var _enzyme = require("enzyme");
8
-
9
- var _react = _interopRequireDefault(require("react"));
10
-
11
- var _design = require("../design");
12
-
13
- var _defaultConfiguration = _interopRequireDefault(require("../defaultConfiguration"));
14
-
15
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
-
17
- 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; }
18
-
19
- jest.mock('@pie-lib/pie-toolbox/config-ui', function () {
20
- return {
21
- layout: {
22
- ConfigLayout: function ConfigLayout(props) {
23
- return /*#__PURE__*/_react["default"].createElement("div", null, props.children);
24
- }
25
- },
26
- settings: {
27
- Panel: function Panel(props) {
28
- return /*#__PURE__*/_react["default"].createElement("div", {
29
- oChangeModel: props.onChange
30
- });
31
- },
32
- toggle: jest.fn(),
33
- radio: jest.fn()
34
- }
35
- };
36
- });
37
- jest.mock('lodash/debounce', function () {
38
- return function (fn) {
39
- return fn;
40
- };
41
- });
42
- describe('design', function () {
43
- var w;
44
- var onChange;
45
- var onPromptChanged;
46
- var onRationaleChanged;
47
-
48
- var getModel = function getModel() {
49
- return {
50
- tokens: []
51
- };
52
- };
53
-
54
- beforeEach(function () {
55
- onChange = jest.fn();
56
- onPromptChanged = jest.fn();
57
- onRationaleChanged = jest.fn();
58
- w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_design.Design, {
59
- model: getModel(),
60
- configuration: _defaultConfiguration["default"].configuration,
61
- classes: {},
62
- className: 'foo',
63
- onModelChanged: onChange,
64
- onPromptChanged: onPromptChanged,
65
- onRationaleChanged: onRationaleChanged
66
- }));
67
- });
68
- describe('snapshot', function () {
69
- it('renders all items with defaultProps', function () {
70
- expect(w).toMatchSnapshot();
71
- });
72
- it('tokenizer renders with html entities', function () {
73
- expect((0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_design.Design, {
74
- model: {
75
- text: '<p>&#8220;Lucy?&#63; Are you using your time wisely to plan your project?&#33;&#33;&#33;&#8221; Mr. Wilson asked.</p><p>Lucy looked a little confused at first. &#195; Then she grinned and proudly stated, &#8220;Why, yes I am! I plan to make a bird feeder for that tree out our window!&#8221;</p>',
76
- tokens: []
77
- },
78
- configuration: _defaultConfiguration["default"].configuration,
79
- classes: {},
80
- className: 'foo',
81
- onModelChanged: onChange,
82
- onPromptChanged: onPromptChanged,
83
- onRationaleChanged: onRationaleChanged
84
- }))).toMatchSnapshot();
85
- });
86
- it('renders all items except feedback', function () {
87
- var defaultConfiguration = _defaultConfiguration["default"].configuration;
88
- defaultConfiguration.feedback.settings = false;
89
- var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_design.Design, {
90
- model: getModel(),
91
- configuration: defaultConfiguration,
92
- classes: {},
93
- className: 'foo',
94
- onModelChanged: onChange,
95
- onPromptChanged: onPromptChanged,
96
- onRationaleChanged: onRationaleChanged
97
- }));
98
- expect(wrapper).toMatchSnapshot();
99
- });
100
- it('renders all items except the content input', function () {
101
- var defaultConfiguration = _defaultConfiguration["default"].configuration;
102
- defaultConfiguration.text.settings = false;
103
- var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_design.Design, {
104
- model: getModel(),
105
- configuration: defaultConfiguration,
106
- classes: {},
107
- className: 'foo',
108
- onModelChanged: onChange,
109
- onPromptChanged: onPromptChanged,
110
- onRationaleChanged: onRationaleChanged
111
- }));
112
- expect(wrapper).toMatchSnapshot();
113
- });
114
- });
115
- describe('logic', function () {
116
- var assert = function assert(fn, args, expected) {
117
- var e = expected(getModel());
118
- it("".concat(fn, " ").concat(JSON.stringify(args), " => ").concat(JSON.stringify(e)), function () {
119
- var instance = w.instance();
120
- instance[fn].apply(instance, args); //jest.runAllTimers();
121
-
122
- expect(onChange).toBeCalledWith(e);
123
- });
124
- }; // describe('changeText', () => {
125
- // assert('changeText', [{ target: { value: 'foo' } }], (m) => ({
126
- // ...m,
127
- // text: 'foo',
128
- // }));
129
- // });
130
-
131
-
132
- describe('changeTokens', function () {
133
- assert('changeTokens', [[{
134
- start: 0,
135
- end: 1,
136
- text: 'f'
137
- }], 'words'], function (m) {
138
- return _objectSpread(_objectSpread({}, m), {}, {
139
- maxSelections: 0,
140
- tokens: [{
141
- start: 0,
142
- end: 1,
143
- text: 'f'
144
- }],
145
- mode: 'words'
146
- });
147
- });
148
- assert('changeTokens', [[{
149
- start: 0,
150
- end: 8,
151
- text: 'Foo bar.',
152
- correct: true
153
- }], 'sentences'], function (m) {
154
- return _objectSpread(_objectSpread({}, m), {}, {
155
- maxSelections: 1,
156
- tokens: [{
157
- start: 0,
158
- end: 8,
159
- text: 'Foo bar.',
160
- correct: true
161
- }],
162
- mode: 'sentences'
163
- });
164
- });
165
- });
166
- describe('changeMaxSelections', function () {
167
- assert('changeMaxSelections', [{}, 4], function (m) {
168
- return _objectSpread(_objectSpread({}, m), {}, {
169
- maxSelections: 4
170
- });
171
- });
172
- });
173
- describe('changeFeedback', function () {
174
- assert('changeFeedback', [{
175
- correctFeedbackType: 'none'
176
- }], function (m) {
177
- return _objectSpread(_objectSpread({}, m), {}, {
178
- feedback: {
179
- correctFeedbackType: 'none'
180
- }
181
- });
182
- });
183
- });
184
- describe('changePartialScoring', function () {
185
- assert('changePartialScoring', [true], function (m) {
186
- return _objectSpread(_objectSpread({}, m), {}, {
187
- partialScoring: true
188
- });
189
- });
190
- });
191
- describe('changePrompt', function () {
192
- assert('onPromptChanged', ['New Prompt'], function (m) {
193
- return _objectSpread(_objectSpread({}, m), {}, {
194
- prompt: 'New Prompt'
195
- });
196
- });
197
- });
198
- describe('changeTeacherInstructions', function () {
199
- assert('onTeacherInstructionsChanged', ['New Teacher Instructions'], function (m) {
200
- return _objectSpread(_objectSpread({}, m), {}, {
201
- teacherInstructions: 'New Teacher Instructions'
202
- });
203
- });
204
- });
205
- describe('changeRationale', function () {
206
- assert('onRationaleChanged', ['New Rationale'], function (m) {
207
- return _objectSpread(_objectSpread({}, m), {}, {
208
- rationale: 'New Rationale'
209
- });
210
- });
211
- });
212
- });
213
- });
214
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZGVzaWduLnRlc3QuanN4Il0sIm5hbWVzIjpbImplc3QiLCJtb2NrIiwibGF5b3V0IiwiQ29uZmlnTGF5b3V0IiwicHJvcHMiLCJjaGlsZHJlbiIsInNldHRpbmdzIiwiUGFuZWwiLCJvbkNoYW5nZSIsInRvZ2dsZSIsImZuIiwicmFkaW8iLCJkZXNjcmliZSIsInciLCJvblByb21wdENoYW5nZWQiLCJvblJhdGlvbmFsZUNoYW5nZWQiLCJnZXRNb2RlbCIsInRva2VucyIsImJlZm9yZUVhY2giLCJkZWZhdWx0VmFsdWVzIiwiY29uZmlndXJhdGlvbiIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwidGV4dCIsImRlZmF1bHRDb25maWd1cmF0aW9uIiwiZmVlZGJhY2siLCJ3cmFwcGVyIiwiYXNzZXJ0IiwiYXJncyIsImV4cGVjdGVkIiwiZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJpbnN0YW5jZSIsImFwcGx5IiwidG9CZUNhbGxlZFdpdGgiLCJzdGFydCIsImVuZCIsIm0iLCJtYXhTZWxlY3Rpb25zIiwibW9kZSIsImNvcnJlY3QiLCJjb3JyZWN0RmVlZGJhY2tUeXBlIiwicGFydGlhbFNjb3JpbmciLCJwcm9tcHQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwicmF0aW9uYWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUFBLElBQUksQ0FBQ0MsSUFBTCxDQUFVLGdDQUFWLEVBQTRDO0FBQUEsU0FBTztBQUNqREMsSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLFlBQVksRUFBRSxzQkFBQ0MsS0FBRDtBQUFBLDRCQUFXLDZDQUFNQSxLQUFLLENBQUNDLFFBQVosQ0FBWDtBQUFBO0FBRFIsS0FEeUM7QUFJakRDLElBQUFBLFFBQVEsRUFBRTtBQUNSQyxNQUFBQSxLQUFLLEVBQUUsZUFBQ0gsS0FBRDtBQUFBLDRCQUFXO0FBQUssVUFBQSxZQUFZLEVBQUVBLEtB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LEtBTE8sQ0FBUjtBQU9BakMsSUFBQUEsUUFBUSxDQUFDLDJCQUFELEVBQThCLFlBQU07QUFDMUNnQixNQUFBQSxNQUFNLENBQUMsOEJBQUQsRUFBaUMsQ0FBQywwQkFBRCxDQUFqQyxFQUErRCxVQUFDVyxDQUFEO0FBQUEsK0NBQ2hFQSxDQURnRTtBQUVuRU8sVUFBQUEsbUJBQW1CLEVBQUU7QUFGOEM7QUFBQSxPQUEvRCxDQUFOO0FBSUQsS0FMTyxDQUFSO0FBT0FsQyxJQUFBQSxRQUFRLENBQUMsaUJBQUQsRUFBb0IsWUFBTTtBQUNoQ2dCLE1BQUFBLE1BQU0sQ0FBQyxvQkFBRCxFQUF1QixDQUFDLGVBQUQsQ0FBdkIsRUFBMEMsVUFBQ1csQ0FBRDtBQUFBLCtDQUMzQ0EsQ0FEMkM7QUFFOUNRLFVBQUFBLFNBQVMsRUFBRTtBQUZtQztBQUFBLE9BQTFDLENBQU47QUFJRCxLQUxPLENBQVI7QUFNRCxHQTdFTyxDQUFSO0FBOEVELENBektPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBEZXNpZ24gfSBmcm9tICcuLi9kZXNpZ24nO1xuaW1wb3J0IGRlZmF1bHRWYWx1ZXMgZnJvbSAnLi4vZGVmYXVsdENvbmZpZ3VyYXRpb24nO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL3BpZS10b29sYm94L2NvbmZpZy11aScsICgpID0+ICh7XG4gIGxheW91dDoge1xuICAgIENvbmZpZ0xheW91dDogKHByb3BzKSA9PiA8ZGl2Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj4sXG4gIH0sXG4gIHNldHRpbmdzOiB7XG4gICAgUGFuZWw6IChwcm9wcykgPT4gPGRpdiBvQ2hhbmdlTW9kZWw9e3Byb3BzLm9uQ2hhbmdlfSAvPixcbiAgICB0b2dnbGU6IGplc3QuZm4oKSxcbiAgICByYWRpbzogamVzdC5mbigpLFxuICB9LFxufSkpO1xuXG5qZXN0Lm1vY2soJ2xvZGFzaC9kZWJvdW5jZScsICgpID0+IChmbikgPT4gZm4pO1xuXG5kZXNjcmliZSgnZGVzaWduJywgKCkgPT4ge1xuICBsZXQgdztcbiAgbGV0IG9uQ2hhbmdlO1xuICBsZXQgb25Qcm9tcHRDaGFuZ2VkO1xuICBsZXQgb25SYXRpb25hbGVDaGFuZ2VkO1xuXG4gIGNvbnN0IGdldE1vZGVsID0gKCkgPT4gKHtcbiAgICB0b2tlbnM6IFtdLFxuICB9KTtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgb25Qcm9tcHRDaGFuZ2VkID0gamVzdC5mbigpO1xuICAgIG9uUmF0aW9uYWxlQ2hhbmdlZCA9IGplc3QuZm4oKTtcbiAgICB3ID0gc2hhbGxvdyhcbiAgICAgIDxEZXNpZ25cbiAgICAgICAgbW9kZWw9e2dldE1vZGVsKCl9XG4gICAgICAgIGNvbmZpZ3VyYXRpb249e2RlZmF1bHRWYWx1ZXMuY29uZmlndXJhdGlvbn1cbiAgICAgICAgY2xhc3Nlcz17e319XG4gICAgICAgIGNsYXNzTmFtZT17J2Zvbyd9XG4gICAgICAgIG9uTW9kZWxDaGFuZ2VkPXtvbkNoYW5nZX1cbiAgICAgICAgb25Qcm9tcHRDaGFuZ2VkPXtvblByb21wdENoYW5nZWR9XG4gICAgICAgIG9uUmF0aW9uYWxlQ2hhbmdlZD17b25SYXRpb25hbGVDaGFuZ2VkfVxuICAgICAgLz4sXG4gICAgKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIGFsbCBpdGVtcyB3aXRoIGRlZmF1bHRQcm9wcycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCd0b2tlbml6ZXIgcmVuZGVycyB3aXRoIGh0bWwgZW50aXRpZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHNoYWxsb3coXG4gICAgICAgICAgPERlc2lnblxuICAgICAgICAgICAgbW9kZWw9e3tcbiAgICAgICAgICAgICAgdGV4dDogJzxwPiYjODIyMDtMdWN5PyYjNjM7IEFyZSB5b3UgdXNpbmcgeW91ciB0aW1lIHdpc2VseSB0byBwbGFuIHlvdXIgcHJvamVjdD8mIzMzOyYjMzM7JiMzMzsmIzgyMjE7IE1yLiBXaWxzb24gYXNrZWQuPC9wPjxwPkx1Y3kgbG9va2VkIGEgbGl0dGxlIGNvbmZ1c2VkIGF0IGZpcnN0LiAmIzE5NTsgVGhlbiBzaGUgZ3Jpbm5lZCBhbmQgcHJvdWRseSBzdGF0ZWQsICYjODIyMDtXaHksIHllcyBJIGFtISBJIHBsYW4gdG8gbWFrZSBhIGJpcmQgZmVlZGVyIGZvciB0aGF0IHRyZWUgb3V0IG91ciB3aW5kb3chJiM4MjIxOzwvcD4nLFxuICAgICAgICAgICAgICB0b2tlbnM6IFtdLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb249e2RlZmF1bHRWYWx1ZXMuY29uZmlndXJhdGlvbn1cbiAgICAgICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICAgICAgY2xhc3NOYW1lPXsnZm9vJ31cbiAgICAgICAgICAgIG9uTW9kZWxDaGFuZ2VkPXtvbkNoYW5nZX1cbiAgICAgICAgICAgIG9uUHJvbXB0Q2hhbmdlZD17b25Qcm9tcHRDaGFuZ2VkfVxuICAgICAgICAgICAgb25SYXRpb25hbGVDaGFuZ2VkPXtvblJhdGlvbmFsZUNoYW5nZWR9XG4gICAgICAgICAgLz4sXG4gICAgICAgICksXG4gICAgICApLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgYWxsIGl0ZW1zIGV4Y2VwdCBmZWVkYmFjaycsICgpID0+IHtcbiAgICAgIGNvbnN0IGRlZmF1bHRDb25maWd1cmF0aW9uID0gZGVmYXVsdFZhbHVlcy5jb25maWd1cmF0aW9uO1xuXG4gICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbi5mZWVkYmFjay5zZXR0aW5ncyA9IGZhbHNlO1xuXG4gICAgICBjb25zdCB3cmFwcGVyID0gc2hhbGxvdyhcbiAgICAgICAgPERlc2lnblxuICAgICAgICAgIG1vZGVsPXtnZXRNb2RlbCgpfVxuICAgICAgICAgIGNvbmZpZ3VyYXRpb249e2RlZmF1bHRDb25maWd1cmF0aW9ufVxuICAgICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICAgIGNsYXNzTmFtZT17J2Zvbyd9XG4gICAgICAgICAgb25Nb2RlbENoYW5nZWQ9e29uQ2hhbmdlfVxuICAgICAgICAgIG9uUHJvbXB0Q2hhbmdlZD17b25Qcm9tcHRDaGFuZ2VkfVxuICAgICAgICAgIG9uUmF0aW9uYWxlQ2hhbmdlZD17b25SYXRpb25hbGVDaGFuZ2VkfVxuICAgICAgICAvPixcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIGFsbCBpdGVtcyBleGNlcHQgdGhlIGNvbnRlbnQgaW5wdXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkZWZhdWx0Q29uZmlndXJhdGlvbiA9IGRlZmF1bHRWYWx1ZXMuY29uZmlndXJhdGlvbjtcblxuICAgICAgZGVmYXVsdENvbmZpZ3VyYXRpb24udGV4dC5zZXR0aW5ncyA9IGZhbHNlO1xuXG4gICAgICBjb25zdCB3cmFwcGVyID0gc2hhbGxvdyhcbiAgICAgICAgPERlc2lnblxuICAgICAgICAgIG1vZGVsPXtnZXRNb2RlbCgpfVxuICAgICAgICAgIGNvbmZpZ3VyYXRpb249e2RlZmF1bHRDb25maWd1cmF0aW9ufVxuICAgICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICAgIGNsYXNzTmFtZT17J2Zvbyd9XG4gICAgICAgICAgb25Nb2RlbENoYW5nZWQ9e29uQ2hhbmdlfVxuICAgICAgICAgIG9uUHJvbXB0Q2hhbmdlZD17b25Qcm9tcHRDaGFuZ2VkfVxuICAgICAgICAgIG9uUmF0aW9uYWxlQ2hhbmdlZD17b25SYXRpb25hbGVDaGFuZ2VkfVxuICAgICAgICAvPixcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGNvbnN0IGFzc2VydCA9IChmbiwgYXJncywgZXhwZWN0ZWQpID0+IHtcbiAgICAgIGNvbnN0IGUgPSBleHBlY3RlZChnZXRNb2RlbCgpKTtcblxuICAgICAgaXQoYCR7Zm59ICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9ID0+ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCwgKCkgPT4ge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IHcuaW5zdGFuY2UoKTtcbiAgICAgICAgaW5zdGFuY2VbZm5dLmFwcGx5KGluc3RhbmNlLCBhcmdzKTtcblxuICAgICAgICAvL2plc3QucnVuQWxsVGltZXJzKCk7XG5cbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChlKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyBkZXNjcmliZSgnY2hhbmdlVGV4dCcsICgpID0+IHtcbiAgICAvLyAgIGFzc2VydCgnY2hhbmdlVGV4dCcsIFt7IHRhcmdldDogeyB2YWx1ZTogJ2ZvbycgfSB9XSwgKG0pID0+ICh7XG4gICAgLy8gICAgIC4uLm0sXG4gICAgLy8gICAgIHRleHQ6ICdmb28nLFxuICAgIC8vICAgfSkpO1xuICAgIC8vIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NoYW5nZVRva2VucycsICgpID0+IHtcbiAgICAgIGFzc2VydCgnY2hhbmdlVG9rZW5zJywgW1t7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9XSwgJ3dvcmRzJ10sIChtKSA9PiAoe1xuICAgICAgICAuLi5tLFxuICAgICAgICBtYXhTZWxlY3Rpb25zOiAwLFxuICAgICAgICB0b2tlbnM6IFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9XSxcbiAgICAgICAgbW9kZTogJ3dvcmRzJyxcbiAgICAgIH0pKTtcbiAgICAgIGFzc2VydCgnY2hhbmdlVG9rZW5zJywgW1t7IHN0YXJ0OiAwLCBlbmQ6IDgsIHRleHQ6ICdGb28gYmFyLicsIGNvcnJlY3Q6IHRydWUgfV0sICdzZW50ZW5jZXMnXSwgKG0pID0+ICh7XG4gICAgICAgIC4uLm0sXG4gICAgICAgIG1heFNlbGVjdGlvbnM6IDEsXG4gICAgICAgIHRva2VuczogW3sgc3RhcnQ6IDAsIGVuZDogOCwgdGV4dDogJ0ZvbyBiYXIuJywgY29ycmVjdDogdHJ1ZSB9XSxcbiAgICAgICAgbW9kZTogJ3NlbnRlbmNlcycsXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnY2hhbmdlTWF4U2VsZWN0aW9ucycsICgpID0+IHtcbiAgICAgIGFzc2VydCgnY2hhbmdlTWF4U2VsZWN0aW9ucycsIFt7fSwgNF0sIChtKSA9PiAoe1xuICAgICAgICAuLi5tLFxuICAgICAgICBtYXhTZWxlY3Rpb25zOiA0LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NoYW5nZUZlZWRiYWNrJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0KCdjaGFuZ2VGZWVkYmFjaycsIFt7IGNvcnJlY3RGZWVkYmFja1R5cGU6ICdub25lJyB9XSwgKG0pID0+ICh7XG4gICAgICAgIC4uLm0sXG4gICAgICAgIGZlZWRiYWNrOiB7IGNvcnJlY3RGZWVkYmFja1R5cGU6ICdub25lJyB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NoYW5nZVBhcnRpYWxTY29yaW5nJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0KCdjaGFuZ2VQYXJ0aWFsU2NvcmluZycsIFt0cnVlXSwgKG0pID0+ICh7XG4gICAgICAgIC4uLm0sXG4gICAgICAgIHBhcnRpYWxTY29yaW5nOiB0cnVlLFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NoYW5nZVByb21wdCcsICgpID0+IHtcbiAgICAgIGFzc2VydCgnb25Qcm9tcHRDaGFuZ2VkJywgWydOZXcgUHJvbXB0J10sIChtKSA9PiAoe1xuICAgICAgICAuLi5tLFxuICAgICAgICBwcm9tcHQ6ICdOZXcgUHJvbXB0JyxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjaGFuZ2VUZWFjaGVySW5zdHJ1Y3Rpb25zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0KCdvblRlYWNoZXJJbnN0cnVjdGlvbnNDaGFuZ2VkJywgWydOZXcgVGVhY2hlciBJbnN0cnVjdGlvbnMnXSwgKG0pID0+ICh7XG4gICAgICAgIC4uLm0sXG4gICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICdOZXcgVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NoYW5nZVJhdGlvbmFsZScsICgpID0+IHtcbiAgICAgIGFzc2VydCgnb25SYXRpb25hbGVDaGFuZ2VkJywgWydOZXcgUmF0aW9uYWxlJ10sIChtKSA9PiAoe1xuICAgICAgICAuLi5tLFxuICAgICAgICByYXRpb25hbGU6ICdOZXcgUmF0aW9uYWxlJyxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==