@pie-element/select-text 8.1.0-next.1 → 8.1.1-next.8

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.
@@ -1,219 +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
- };
125
-
126
- describe('changeText', function () {
127
- assert('changeText', [{
128
- target: {
129
- value: 'foo'
130
- }
131
- }], function (m) {
132
- return _objectSpread(_objectSpread({}, m), {}, {
133
- text: 'foo'
134
- });
135
- });
136
- });
137
- describe('changeTokens', function () {
138
- assert('changeTokens', [[{
139
- start: 0,
140
- end: 1,
141
- text: 'f'
142
- }], 'words'], function (m) {
143
- return _objectSpread(_objectSpread({}, m), {}, {
144
- maxSelections: 0,
145
- tokens: [{
146
- start: 0,
147
- end: 1,
148
- text: 'f'
149
- }],
150
- mode: 'words'
151
- });
152
- });
153
- assert('changeTokens', [[{
154
- start: 0,
155
- end: 8,
156
- text: 'Foo bar.',
157
- correct: true
158
- }], 'sentences'], function (m) {
159
- return _objectSpread(_objectSpread({}, m), {}, {
160
- maxSelections: 1,
161
- tokens: [{
162
- start: 0,
163
- end: 8,
164
- text: 'Foo bar.',
165
- correct: true
166
- }],
167
- mode: 'sentences'
168
- });
169
- });
170
- });
171
- describe('changeMaxSelections', function () {
172
- assert('changeMaxSelections', [{}, 4], function (m) {
173
- return _objectSpread(_objectSpread({}, m), {}, {
174
- maxSelections: 4
175
- });
176
- });
177
- });
178
- describe('changeFeedback', function () {
179
- assert('changeFeedback', [{
180
- correctFeedbackType: 'none'
181
- }], function (m) {
182
- return _objectSpread(_objectSpread({}, m), {}, {
183
- feedback: {
184
- correctFeedbackType: 'none'
185
- }
186
- });
187
- });
188
- });
189
- describe('changePartialScoring', function () {
190
- assert('changePartialScoring', [true], function (m) {
191
- return _objectSpread(_objectSpread({}, m), {}, {
192
- partialScoring: true
193
- });
194
- });
195
- });
196
- describe('changePrompt', function () {
197
- assert('onPromptChanged', ['New Prompt'], function (m) {
198
- return _objectSpread(_objectSpread({}, m), {}, {
199
- prompt: 'New Prompt'
200
- });
201
- });
202
- });
203
- describe('changeTeacherInstructions', function () {
204
- assert('onTeacherInstructionsChanged', ['New Teacher Instructions'], function (m) {
205
- return _objectSpread(_objectSpread({}, m), {}, {
206
- teacherInstructions: 'New Teacher Instructions'
207
- });
208
- });
209
- });
210
- describe('changeRationale', function () {
211
- assert('onRationaleChanged', ['New Rationale'], function (m) {
212
- return _objectSpread(_objectSpread({}, m), {}, {
213
- rationale: 'New Rationale'
214
- });
215
- });
216
- });
217
- });
218
- });
219
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZGVzaWduLnRlc3QuanN4Il0sIm5hbWVzIjpbImplc3QiLCJtb2NrIiwibGF5b3V0IiwiQ29uZmlnTGF5b3V0IiwicHJvcHMiLCJjaGlsZHJlbiIsInNldHRpbmdzIiwiUGFuZWwiLCJvbkNoYW5nZSIsInRvZ2dsZSIsImZuIiwicmFkaW8iLCJkZXNjcmliZSIsInciLCJvblByb21wdENoYW5nZWQiLCJvblJhdGlvbmFsZUNoYW5nZWQiLCJnZXRNb2RlbCIsInRva2VucyIsImJlZm9yZUVhY2giLCJkZWZhdWx0VmFsdWVzIiwiY29uZmlndXJhdGlvbiIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwidGV4dCIsImRlZmF1bHRDb25maWd1cmF0aW9uIiwiZmVlZGJhY2siLCJ3cmFwcGVyIiwiYXNzZXJ0IiwiYXJncyIsImV4cGVjdGVkIiwiZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJpbnN0YW5jZSIsImFwcGx5IiwidG9CZUNhbGxlZFdpdGgiLCJ0YXJnZXQiLCJ2YWx1ZSIsIm0iLCJzdGFydCIsImVuZCIsIm1heFNlbGVjdGlvbnMiLCJtb2RlIiwiY29ycmVjdCIsImNvcnJlY3RGZWVkYmFja1R5cGUiLCJwYXJ0aWFsU2NvcmluZyIsInByb21wdCIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJyYXRpb25hbGUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsZ0NBQVYsRUFBNEM7QUFBQSxTQUFPO0FBQ2pEQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsWUFBWSxFQUFFLHNCQUFDQyxLQUFEO0FBQUEsNEJBQVcsNkNBQU1BLEtBQUssQ0FBQ0MsUUFBWixDQUFYO0FBQUE7QUFEUixLQUR5QztBQUlqREMsSUFBQUEsUUFBUSxFQUFFO0FBQ1JDLE1BQUFBLEtBQUssRUFBRSxlQUFDSCxLQUFEO0FBQUEsNEJBQVc7QUFBSyxV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YyxFQUFFO0FBRnFCO0FBQUEsT0FBakMsQ0FBTjtBQUlELEtBTE8sQ0FBUjtBQU9BbEMsSUFBQUEsUUFBUSxDQUFDLGNBQUQsRUFBaUIsWUFBTTtBQUM3QmdCLE1BQUFBLE1BQU0sQ0FBQyxpQkFBRCxFQUFvQixDQUFDLFlBQUQsQ0FBcEIsRUFBb0MsVUFBQ1csQ0FBRDtBQUFBLCtDQUNyQ0EsQ0FEcUM7QUFFeENRLFVBQUFBLE1BQU0sRUFBRTtBQUZnQztBQUFBLE9BQXBDLENBQU47QUFJRCxLQUxPLENBQVI7QUFPQW5DLElBQUFBLFFBQVEsQ0FBQywyQkFBRCxFQUE4QixZQUFNO0FBQzFDZ0IsTUFBQUEsTUFBTSxDQUFDLDhCQUFELEVBQWlDLENBQUMsMEJBQUQsQ0FBakMsRUFBK0QsVUFBQ1csQ0FBRDtBQUFBLCtDQUNoRUEsQ0FEZ0U7QUFFbkVTLFVBQUFBLG1CQUFtQixFQUFFO0FBRjhDO0FBQUEsT0FBL0QsQ0FBTjtBQUlELEtBTE8sQ0FBUjtBQU9BcEMsSUFBQUEsUUFBUSxDQUFDLGlCQUFELEVBQW9CLFlBQU07QUFDaENnQixNQUFBQSxNQUFNLENBQUMsb0JBQUQsRUFBdUIsQ0FBQyxlQUFELENBQXZCLEVBQTBDLFVBQUNXLENBQUQ7QUFBQSwrQ0FDM0NBLENBRDJDO0FBRTlDVSxVQUFBQSxTQUFTLEVBQUU7QUFGbUM7QUFBQSxPQUExQyxDQUFOO0FBSUQsS0FMTyxDQUFSO0FBTUQsR0E3RU8sQ0FBUjtBQThFRCxDQXpLTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRGVzaWduIH0gZnJvbSAnLi4vZGVzaWduJztcbmltcG9ydCBkZWZhdWx0VmFsdWVzIGZyb20gJy4uL2RlZmF1bHRDb25maWd1cmF0aW9uJztcblxuamVzdC5tb2NrKCdAcGllLWxpYi9waWUtdG9vbGJveC9jb25maWctdWknLCAoKSA9PiAoe1xuICBsYXlvdXQ6IHtcbiAgICBDb25maWdMYXlvdXQ6IChwcm9wcykgPT4gPGRpdj57cHJvcHMuY2hpbGRyZW59PC9kaXY+LFxuICB9LFxuICBzZXR0aW5nczoge1xuICAgIFBhbmVsOiAocHJvcHMpID0+IDxkaXYgb0NoYW5nZU1vZGVsPXtwcm9wcy5vbkNoYW5nZX0gLz4sXG4gICAgdG9nZ2xlOiBqZXN0LmZuKCksXG4gICAgcmFkaW86IGplc3QuZm4oKSxcbiAgfSxcbn0pKTtcblxuamVzdC5tb2NrKCdsb2Rhc2gvZGVib3VuY2UnLCAoKSA9PiAoZm4pID0+IGZuKTtcblxuZGVzY3JpYmUoJ2Rlc2lnbicsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZTtcbiAgbGV0IG9uUHJvbXB0Q2hhbmdlZDtcbiAgbGV0IG9uUmF0aW9uYWxlQ2hhbmdlZDtcblxuICBjb25zdCBnZXRNb2RlbCA9ICgpID0+ICh7XG4gICAgdG9rZW5zOiBbXSxcbiAgfSk7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICAgIG9uUHJvbXB0Q2hhbmdlZCA9IGplc3QuZm4oKTtcbiAgICBvblJhdGlvbmFsZUNoYW5nZWQgPSBqZXN0LmZuKCk7XG4gICAgdyA9IHNoYWxsb3coXG4gICAgICA8RGVzaWduXG4gICAgICAgIG1vZGVsPXtnZXRNb2RlbCgpfVxuICAgICAgICBjb25maWd1cmF0aW9uPXtkZWZhdWx0VmFsdWVzLmNvbmZpZ3VyYXRpb259XG4gICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICBjbGFzc05hbWU9eydmb28nfVxuICAgICAgICBvbk1vZGVsQ2hhbmdlZD17b25DaGFuZ2V9XG4gICAgICAgIG9uUHJvbXB0Q2hhbmdlZD17b25Qcm9tcHRDaGFuZ2VkfVxuICAgICAgICBvblJhdGlvbmFsZUNoYW5nZWQ9e29uUmF0aW9uYWxlQ2hhbmdlZH1cbiAgICAgIC8+LFxuICAgICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyBhbGwgaXRlbXMgd2l0aCBkZWZhdWx0UHJvcHMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgndG9rZW5pemVyIHJlbmRlcnMgd2l0aCBodG1sIGVudGl0aWVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICBzaGFsbG93KFxuICAgICAgICAgIDxEZXNpZ25cbiAgICAgICAgICAgIG1vZGVsPXt7XG4gICAgICAgICAgICAgIHRleHQ6ICc8cD4mIzgyMjA7THVjeT8mIzYzOyBBcmUgeW91IHVzaW5nIHlvdXIgdGltZSB3aXNlbHkgdG8gcGxhbiB5b3VyIHByb2plY3Q/JiMzMzsmIzMzOyYjMzM7JiM4MjIxOyBNci4gV2lsc29uIGFza2VkLjwvcD48cD5MdWN5IGxvb2tlZCBhIGxpdHRsZSBjb25mdXNlZCBhdCBmaXJzdC4gJiMxOTU7IFRoZW4gc2hlIGdyaW5uZWQgYW5kIHByb3VkbHkgc3RhdGVkLCAmIzgyMjA7V2h5LCB5ZXMgSSBhbSEgSSBwbGFuIHRvIG1ha2UgYSBiaXJkIGZlZWRlciBmb3IgdGhhdCB0cmVlIG91dCBvdXIgd2luZG93ISYjODIyMTs8L3A+JyxcbiAgICAgICAgICAgICAgdG9rZW5zOiBbXSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjb25maWd1cmF0aW9uPXtkZWZhdWx0VmFsdWVzLmNvbmZpZ3VyYXRpb259XG4gICAgICAgICAgICBjbGFzc2VzPXt7fX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17J2Zvbyd9XG4gICAgICAgICAgICBvbk1vZGVsQ2hhbmdlZD17b25DaGFuZ2V9XG4gICAgICAgICAgICBvblByb21wdENoYW5nZWQ9e29uUHJvbXB0Q2hhbmdlZH1cbiAgICAgICAgICAgIG9uUmF0aW9uYWxlQ2hhbmdlZD17b25SYXRpb25hbGVDaGFuZ2VkfVxuICAgICAgICAgIC8+LFxuICAgICAgICApLFxuICAgICAgKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIGFsbCBpdGVtcyBleGNlcHQgZmVlZGJhY2snLCAoKSA9PiB7XG4gICAgICBjb25zdCBkZWZhdWx0Q29uZmlndXJhdGlvbiA9IGRlZmF1bHRWYWx1ZXMuY29uZmlndXJhdGlvbjtcblxuICAgICAgZGVmYXVsdENvbmZpZ3VyYXRpb24uZmVlZGJhY2suc2V0dGluZ3MgPSBmYWxzZTtcblxuICAgICAgY29uc3Qgd3JhcHBlciA9IHNoYWxsb3coXG4gICAgICAgIDxEZXNpZ25cbiAgICAgICAgICBtb2RlbD17Z2V0TW9kZWwoKX1cbiAgICAgICAgICBjb25maWd1cmF0aW9uPXtkZWZhdWx0Q29uZmlndXJhdGlvbn1cbiAgICAgICAgICBjbGFzc2VzPXt7fX1cbiAgICAgICAgICBjbGFzc05hbWU9eydmb28nfVxuICAgICAgICAgIG9uTW9kZWxDaGFuZ2VkPXtvbkNoYW5nZX1cbiAgICAgICAgICBvblByb21wdENoYW5nZWQ9e29uUHJvbXB0Q2hhbmdlZH1cbiAgICAgICAgICBvblJhdGlvbmFsZUNoYW5nZWQ9e29uUmF0aW9uYWxlQ2hhbmdlZH1cbiAgICAgICAgLz4sXG4gICAgICApO1xuXG4gICAgICBleHBlY3Qod3JhcHBlcikudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBhbGwgaXRlbXMgZXhjZXB0IHRoZSBjb250ZW50IGlucHV0JywgKCkgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdENvbmZpZ3VyYXRpb24gPSBkZWZhdWx0VmFsdWVzLmNvbmZpZ3VyYXRpb247XG5cbiAgICAgIGRlZmF1bHRDb25maWd1cmF0aW9uLnRleHQuc2V0dGluZ3MgPSBmYWxzZTtcblxuICAgICAgY29uc3Qgd3JhcHBlciA9IHNoYWxsb3coXG4gICAgICAgIDxEZXNpZ25cbiAgICAgICAgICBtb2RlbD17Z2V0TW9kZWwoKX1cbiAgICAgICAgICBjb25maWd1cmF0aW9uPXtkZWZhdWx0Q29uZmlndXJhdGlvbn1cbiAgICAgICAgICBjbGFzc2VzPXt7fX1cbiAgICAgICAgICBjbGFzc05hbWU9eydmb28nfVxuICAgICAgICAgIG9uTW9kZWxDaGFuZ2VkPXtvbkNoYW5nZX1cbiAgICAgICAgICBvblByb21wdENoYW5nZWQ9e29uUHJvbXB0Q2hhbmdlZH1cbiAgICAgICAgICBvblJhdGlvbmFsZUNoYW5nZWQ9e29uUmF0aW9uYWxlQ2hhbmdlZH1cbiAgICAgICAgLz4sXG4gICAgICApO1xuXG4gICAgICBleHBlY3Qod3JhcHBlcikudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBjb25zdCBhc3NlcnQgPSAoZm4sIGFyZ3MsIGV4cGVjdGVkKSA9PiB7XG4gICAgICBjb25zdCBlID0gZXhwZWN0ZWQoZ2V0TW9kZWwoKSk7XG5cbiAgICAgIGl0KGAke2ZufSAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfSA9PiAke0pTT04uc3RyaW5naWZ5KGUpfWAsICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5zdGFuY2UgPSB3Lmluc3RhbmNlKCk7XG4gICAgICAgIGluc3RhbmNlW2ZuXS5hcHBseShpbnN0YW5jZSwgYXJncyk7XG5cbiAgICAgICAgLy9qZXN0LnJ1bkFsbFRpbWVycygpO1xuXG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoZSk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVzY3JpYmUoJ2NoYW5nZVRleHQnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ2NoYW5nZVRleHQnLCBbeyB0YXJnZXQ6IHsgdmFsdWU6ICdmb28nIH0gfV0sIChtKSA9PiAoe1xuICAgICAgICAuLi5tLFxuICAgICAgICB0ZXh0OiAnZm9vJyxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjaGFuZ2VUb2tlbnMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ2NoYW5nZVRva2VucycsIFtbeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicgfV0sICd3b3JkcyddLCAobSkgPT4gKHtcbiAgICAgICAgLi4ubSxcbiAgICAgICAgbWF4U2VsZWN0aW9uczogMCxcbiAgICAgICAgdG9rZW5zOiBbeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicgfV0sXG4gICAgICAgIG1vZGU6ICd3b3JkcycsXG4gICAgICB9KSk7XG4gICAgICBhc3NlcnQoJ2NoYW5nZVRva2VucycsIFtbeyBzdGFydDogMCwgZW5kOiA4LCB0ZXh0OiAnRm9vIGJhci4nLCBjb3JyZWN0OiB0cnVlIH1dLCAnc2VudGVuY2VzJ10sIChtKSA9PiAoe1xuICAgICAgICAuLi5tLFxuICAgICAgICBtYXhTZWxlY3Rpb25zOiAxLFxuICAgICAgICB0b2tlbnM6IFt7IHN0YXJ0OiAwLCBlbmQ6IDgsIHRleHQ6ICdGb28gYmFyLicsIGNvcnJlY3Q6IHRydWUgfV0sXG4gICAgICAgIG1vZGU6ICdzZW50ZW5jZXMnLFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NoYW5nZU1heFNlbGVjdGlvbnMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ2NoYW5nZU1heFNlbGVjdGlvbnMnLCBbe30sIDRdLCAobSkgPT4gKHtcbiAgICAgICAgLi4ubSxcbiAgICAgICAgbWF4U2VsZWN0aW9uczogNCxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjaGFuZ2VGZWVkYmFjaycsICgpID0+IHtcbiAgICAgIGFzc2VydCgnY2hhbmdlRmVlZGJhY2snLCBbeyBjb3JyZWN0RmVlZGJhY2tUeXBlOiAnbm9uZScgfV0sIChtKSA9PiAoe1xuICAgICAgICAuLi5tLFxuICAgICAgICBmZWVkYmFjazogeyBjb3JyZWN0RmVlZGJhY2tUeXBlOiAnbm9uZScgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjaGFuZ2VQYXJ0aWFsU2NvcmluZycsICgpID0+IHtcbiAgICAgIGFzc2VydCgnY2hhbmdlUGFydGlhbFNjb3JpbmcnLCBbdHJ1ZV0sIChtKSA9PiAoe1xuICAgICAgICAuLi5tLFxuICAgICAgICBwYXJ0aWFsU2NvcmluZzogdHJ1ZSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjaGFuZ2VQcm9tcHQnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ29uUHJvbXB0Q2hhbmdlZCcsIFsnTmV3IFByb21wdCddLCAobSkgPT4gKHtcbiAgICAgICAgLi4ubSxcbiAgICAgICAgcHJvbXB0OiAnTmV3IFByb21wdCcsXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnY2hhbmdlVGVhY2hlckluc3RydWN0aW9ucycsICgpID0+IHtcbiAgICAgIGFzc2VydCgnb25UZWFjaGVySW5zdHJ1Y3Rpb25zQ2hhbmdlZCcsIFsnTmV3IFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJ10sIChtKSA9PiAoe1xuICAgICAgICAuLi5tLFxuICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiAnTmV3IFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJyxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjaGFuZ2VSYXRpb25hbGUnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ29uUmF0aW9uYWxlQ2hhbmdlZCcsIFsnTmV3IFJhdGlvbmFsZSddLCAobSkgPT4gKHtcbiAgICAgICAgLi4ubSxcbiAgICAgICAgcmF0aW9uYWxlOiAnTmV3IFJhdGlvbmFsZScsXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=