@pie-lib/render-ui 4.17.0-beta.0 → 4.17.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.json +1 -937
- package/CHANGELOG.md +128 -24
- package/package.json +6 -4
- package/src/__tests__/html-and-math.test.js +0 -22
- package/src/color.js +26 -0
- package/src/html-and-math.js +0 -13
- package/lib/__tests__/color.test.js +0 -20
- package/lib/__tests__/has-media.test.js +0 -28
- package/lib/__tests__/has-text.test.js +0 -27
- package/lib/__tests__/html-and-math.test.js +0 -64
- package/lib/__tests__/preview-prompt.test.js +0 -66
- package/lib/__tests__/purpose.test.js +0 -42
- package/lib/__tests__/readable.test.js +0 -49
- package/lib/__tests__/response-indicators.test.js +0 -27
- package/lib/__tests__/ui-layout.test.js +0 -43
- package/lib/__tests__/withUndoReset.test.js +0 -223
- package/lib/append-css-rules.js +0 -88
- package/lib/assets/enableAudioAutoplayImage.js +0 -9
- package/lib/collapsible/__tests__/index.test.js +0 -23
- package/lib/collapsible/index.js +0 -135
- package/lib/color.js +0 -278
- package/lib/feedback.js +0 -150
- package/lib/has-media.js +0 -27
- package/lib/has-text.js +0 -28
- package/lib/html-and-math.js +0 -90
- package/lib/index.js +0 -136
- package/lib/input-container.js +0 -60
- package/lib/preview-layout.js +0 -145
- package/lib/preview-prompt.js +0 -321
- package/lib/purpose.js +0 -28
- package/lib/readable.js +0 -28
- package/lib/response-indicators.js +0 -151
- package/lib/ui-layout.js +0 -122
- package/lib/withUndoReset.js +0 -181
package/lib/preview-prompt.js
DELETED
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = exports.PreviewPrompt = void 0;
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
27
|
-
|
|
28
|
-
var _styles = require("@material-ui/core/styles");
|
|
29
|
-
|
|
30
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
-
|
|
32
|
-
var color = _interopRequireWildcard(require("./color"));
|
|
33
|
-
|
|
34
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
35
|
-
|
|
36
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
-
|
|
38
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
39
|
-
|
|
40
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
41
|
-
|
|
42
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
43
|
-
|
|
44
|
-
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); }; }
|
|
45
|
-
|
|
46
|
-
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; } }
|
|
47
|
-
|
|
48
|
-
//Used these below to replace \\embed{newLine} with \\newline from prompt which will get parsed in MathJax
|
|
49
|
-
var NEWLINE_BLOCK_REGEX = /\\embed\{newLine\}\[\]/g;
|
|
50
|
-
var NEWLINE_LATEX = '\\newline ';
|
|
51
|
-
|
|
52
|
-
var PreviewPrompt = /*#__PURE__*/function (_Component) {
|
|
53
|
-
(0, _inherits2["default"])(PreviewPrompt, _Component);
|
|
54
|
-
|
|
55
|
-
var _super = _createSuper(PreviewPrompt);
|
|
56
|
-
|
|
57
|
-
function PreviewPrompt() {
|
|
58
|
-
var _this;
|
|
59
|
-
|
|
60
|
-
(0, _classCallCheck2["default"])(this, PreviewPrompt);
|
|
61
|
-
|
|
62
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
63
|
-
args[_key] = arguments[_key];
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
67
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "parsedText", function (text) {
|
|
68
|
-
var customAudioButton = _this.props.customAudioButton;
|
|
69
|
-
var div = document.createElement('div');
|
|
70
|
-
div.innerHTML = text;
|
|
71
|
-
var audio = div.querySelector('audio');
|
|
72
|
-
|
|
73
|
-
if (audio) {
|
|
74
|
-
var source = document.createElement('source');
|
|
75
|
-
source.setAttribute('type', 'audio/mp3');
|
|
76
|
-
source.setAttribute('src', audio.getAttribute('src'));
|
|
77
|
-
audio.removeAttribute('src');
|
|
78
|
-
audio.setAttribute('id', 'pie-prompt-audio-player');
|
|
79
|
-
audio.appendChild(source);
|
|
80
|
-
|
|
81
|
-
if (customAudioButton) {
|
|
82
|
-
audio.style.display = 'none';
|
|
83
|
-
var playButton = document.createElement('div');
|
|
84
|
-
playButton.id = 'play-audio-button';
|
|
85
|
-
Object.assign(playButton.style, {
|
|
86
|
-
cursor: 'pointer',
|
|
87
|
-
display: 'block',
|
|
88
|
-
width: '128px',
|
|
89
|
-
height: '128px',
|
|
90
|
-
backgroundImage: "url(".concat(customAudioButton.pauseImage, ")"),
|
|
91
|
-
backgroundSize: 'cover',
|
|
92
|
-
borderRadius: '50%',
|
|
93
|
-
border: '1px solid #326295'
|
|
94
|
-
});
|
|
95
|
-
audio.parentNode.insertBefore(playButton, audio);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return div.innerHTML;
|
|
100
|
-
});
|
|
101
|
-
return _this;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
(0, _createClass2["default"])(PreviewPrompt, [{
|
|
105
|
-
key: "addCustomAudioButtonControls",
|
|
106
|
-
value: function addCustomAudioButtonControls() {
|
|
107
|
-
var _this$props = this.props,
|
|
108
|
-
autoplayAudioEnabled = _this$props.autoplayAudioEnabled,
|
|
109
|
-
customAudioButton = _this$props.customAudioButton;
|
|
110
|
-
var playButton = document.getElementById('play-audio-button');
|
|
111
|
-
var audio = document.getElementById('pie-prompt-audio-player');
|
|
112
|
-
|
|
113
|
-
if (autoplayAudioEnabled && audio) {
|
|
114
|
-
audio.play().then(function () {
|
|
115
|
-
if (playButton && customAudioButton) {
|
|
116
|
-
audio.addEventListener('ended', handleAudioEnded);
|
|
117
|
-
}
|
|
118
|
-
})["catch"](function (error) {
|
|
119
|
-
console.error('Error playing audio', error);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (!playButton || !audio || !customAudioButton) return;
|
|
124
|
-
|
|
125
|
-
var handlePlayClick = function handlePlayClick() {
|
|
126
|
-
// if already playing, don't play again
|
|
127
|
-
if (!audio.paused) return;
|
|
128
|
-
if (playButton.style.backgroundImage.includes(customAudioButton.pauseImage)) return;
|
|
129
|
-
audio.play();
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
var handleAudioEnded = function handleAudioEnded() {
|
|
133
|
-
playButton.style.backgroundImage = "url(".concat(customAudioButton.playImage, ")");
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
var handleAudioPlay = function handleAudioPlay() {
|
|
137
|
-
Object.assign(playButton.style, {
|
|
138
|
-
backgroundImage: "url(".concat(customAudioButton.pauseImage, ")"),
|
|
139
|
-
border: '1px solid #ccc'
|
|
140
|
-
});
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
var handleAudioPause = function handleAudioPause() {
|
|
144
|
-
Object.assign(playButton.style, {
|
|
145
|
-
backgroundImage: "url(".concat(customAudioButton.playImage, ")"),
|
|
146
|
-
border: '1px solid #326295'
|
|
147
|
-
});
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
playButton.addEventListener('click', handlePlayClick);
|
|
151
|
-
audio.addEventListener('play', handleAudioPlay);
|
|
152
|
-
audio.addEventListener('pause', handleAudioPause);
|
|
153
|
-
audio.addEventListener('ended', handleAudioEnded); // store event handler references so they can be removed later
|
|
154
|
-
|
|
155
|
-
this._handlePlayClick = handlePlayClick;
|
|
156
|
-
this._handleAudioPlay = handleAudioPlay;
|
|
157
|
-
this._handleAudioPause = handleAudioPause;
|
|
158
|
-
this._handleAudioEnded = handleAudioEnded;
|
|
159
|
-
}
|
|
160
|
-
}, {
|
|
161
|
-
key: "removeCustomAudioButtonListeners",
|
|
162
|
-
value: function removeCustomAudioButtonListeners() {
|
|
163
|
-
var playButton = document.getElementById('play-audio-button');
|
|
164
|
-
var audio = document.querySelector('audio');
|
|
165
|
-
if (!playButton || !audio) return; // remove event listeners using stored references
|
|
166
|
-
|
|
167
|
-
playButton.removeEventListener('click', this._handlePlayClick);
|
|
168
|
-
audio.removeEventListener('play', this._handleAudioPlay);
|
|
169
|
-
audio.removeEventListener('pause', this._handleAudioPause);
|
|
170
|
-
audio.removeEventListener('ended', this._handleAudioEnded);
|
|
171
|
-
}
|
|
172
|
-
}, {
|
|
173
|
-
key: "componentDidMount",
|
|
174
|
-
value: function componentDidMount() {
|
|
175
|
-
this.alignImages();
|
|
176
|
-
this.addCustomAudioButtonControls();
|
|
177
|
-
}
|
|
178
|
-
}, {
|
|
179
|
-
key: "componentDidUpdate",
|
|
180
|
-
value: function componentDidUpdate() {
|
|
181
|
-
this.alignImages();
|
|
182
|
-
}
|
|
183
|
-
}, {
|
|
184
|
-
key: "componentWillUnmount",
|
|
185
|
-
value: function componentWillUnmount() {
|
|
186
|
-
this.removeCustomAudioButtonListeners();
|
|
187
|
-
}
|
|
188
|
-
}, {
|
|
189
|
-
key: "alignImages",
|
|
190
|
-
value: function alignImages() {
|
|
191
|
-
var previewPrompts = document.querySelectorAll('#preview-prompt');
|
|
192
|
-
previewPrompts.forEach(function (previewPrompt) {
|
|
193
|
-
var images = previewPrompt.getElementsByTagName('img');
|
|
194
|
-
|
|
195
|
-
if (images && images.length) {
|
|
196
|
-
var _iterator = _createForOfIteratorHelper(images),
|
|
197
|
-
_step;
|
|
198
|
-
|
|
199
|
-
try {
|
|
200
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
201
|
-
var image = _step.value;
|
|
202
|
-
|
|
203
|
-
// check if alignment property was set
|
|
204
|
-
if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {
|
|
205
|
-
var parentNode = image.parentElement; // check if div is not already added to dom and replace current image with wrapped image
|
|
206
|
-
|
|
207
|
-
if (!(parentNode.tagName === 'DIV' && parentNode.style.display === 'flex' && parentNode.style.width === '100%')) {
|
|
208
|
-
var div = document.createElement('div');
|
|
209
|
-
div.style.display = 'flex';
|
|
210
|
-
div.style.width = '100%';
|
|
211
|
-
var copyImage = image.cloneNode(true);
|
|
212
|
-
div.appendChild(copyImage);
|
|
213
|
-
parentNode.replaceChild(div, image);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
} catch (err) {
|
|
218
|
-
_iterator.e(err);
|
|
219
|
-
} finally {
|
|
220
|
-
_iterator.f();
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
}, {
|
|
226
|
-
key: "render",
|
|
227
|
-
value: function render() {
|
|
228
|
-
var _this$props2 = this.props,
|
|
229
|
-
prompt = _this$props2.prompt,
|
|
230
|
-
classes = _this$props2.classes,
|
|
231
|
-
tagName = _this$props2.tagName,
|
|
232
|
-
className = _this$props2.className,
|
|
233
|
-
onClick = _this$props2.onClick,
|
|
234
|
-
defaultClassName = _this$props2.defaultClassName;
|
|
235
|
-
var CustomTag = tagName || 'div'; // legend tag was added once with accessibility tasks, wee need extra style to make it work with images alignment
|
|
236
|
-
|
|
237
|
-
var legendClass = tagName === 'legend' ? 'legend' : '';
|
|
238
|
-
var customClasses = "".concat(classes.promptTable, " ").concat(classes[className] || '', " ").concat(defaultClassName || '', " ").concat(classes[legendClass] || '');
|
|
239
|
-
return /*#__PURE__*/_react["default"].createElement(CustomTag, {
|
|
240
|
-
id: 'preview-prompt',
|
|
241
|
-
onClick: onClick,
|
|
242
|
-
className: customClasses,
|
|
243
|
-
dangerouslySetInnerHTML: {
|
|
244
|
-
__html: this.parsedText(prompt || '').replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX)
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
}]);
|
|
249
|
-
return PreviewPrompt;
|
|
250
|
-
}(_react.Component);
|
|
251
|
-
|
|
252
|
-
exports.PreviewPrompt = PreviewPrompt;
|
|
253
|
-
(0, _defineProperty2["default"])(PreviewPrompt, "propTypes", {
|
|
254
|
-
classes: _propTypes["default"].object,
|
|
255
|
-
prompt: _propTypes["default"].string,
|
|
256
|
-
tagName: _propTypes["default"].string,
|
|
257
|
-
className: _propTypes["default"].string,
|
|
258
|
-
onClick: _propTypes["default"].func,
|
|
259
|
-
defaultClassName: _propTypes["default"].string,
|
|
260
|
-
autoplayAudioEnabled: _propTypes["default"].bool,
|
|
261
|
-
customAudioButton: {
|
|
262
|
-
playImage: _propTypes["default"].string,
|
|
263
|
-
pauseImage: _propTypes["default"].string
|
|
264
|
-
}
|
|
265
|
-
});
|
|
266
|
-
(0, _defineProperty2["default"])(PreviewPrompt, "defaultProps", {
|
|
267
|
-
onClick: function onClick() {}
|
|
268
|
-
});
|
|
269
|
-
|
|
270
|
-
var styles = function styles(theme) {
|
|
271
|
-
return {
|
|
272
|
-
prompt: {
|
|
273
|
-
verticalAlign: 'middle',
|
|
274
|
-
color: color.text()
|
|
275
|
-
},
|
|
276
|
-
legend: {
|
|
277
|
-
width: '100%',
|
|
278
|
-
fontSize: 'inherit !important'
|
|
279
|
-
},
|
|
280
|
-
rationale: {
|
|
281
|
-
paddingLeft: theme.spacing.unit * 4,
|
|
282
|
-
paddingBottom: theme.spacing.unit
|
|
283
|
-
},
|
|
284
|
-
label: {
|
|
285
|
-
color: "".concat(color.text(), " !important"),
|
|
286
|
-
//'var(--choice-input-color, black)',
|
|
287
|
-
display: 'flex',
|
|
288
|
-
flexDirection: 'column',
|
|
289
|
-
verticalAlign: 'middle',
|
|
290
|
-
cursor: 'pointer',
|
|
291
|
-
'& > p': {
|
|
292
|
-
margin: '0 0 0 0 !important'
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
promptTable: {
|
|
296
|
-
'&:not(.MathJax) > table': {
|
|
297
|
-
borderCollapse: 'collapse'
|
|
298
|
-
},
|
|
299
|
-
'&:not(.MathJax) > table tr': {
|
|
300
|
-
'&:nth-child(2n)': {
|
|
301
|
-
backgroundColor: '#f6f8fa',
|
|
302
|
-
color: theme.palette.common.black
|
|
303
|
-
}
|
|
304
|
-
},
|
|
305
|
-
// align table content to left as per STAR requirement PD-3687
|
|
306
|
-
'&:not(.MathJax) table td, &:not(.MathJax) table th': {
|
|
307
|
-
padding: '.6em 1em',
|
|
308
|
-
textAlign: 'left'
|
|
309
|
-
},
|
|
310
|
-
// added this to fix alignment of text in prompt imported from studio (PD-3423)
|
|
311
|
-
'&:not(.MathJax) > table td > p.kds-indent': {
|
|
312
|
-
textAlign: 'initial'
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
};
|
|
316
|
-
};
|
|
317
|
-
|
|
318
|
-
var _default = (0, _styles.withStyles)(styles)(PreviewPrompt);
|
|
319
|
-
|
|
320
|
-
exports["default"] = _default;
|
|
321
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmV2aWV3LXByb21wdC5qc3giXSwibmFtZXMiOlsiTkVXTElORV9CTE9DS19SRUdFWCIsIk5FV0xJTkVfTEFURVgiLCJQcmV2aWV3UHJvbXB0IiwidGV4dCIsImN1c3RvbUF1ZGlvQnV0dG9uIiwicHJvcHMiLCJkaXYiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJpbm5lckhUTUwiLCJhdWRpbyIsInF1ZXJ5U2VsZWN0b3IiLCJzb3VyY2UiLCJzZXRBdHRyaWJ1dGUiLCJnZXRBdHRyaWJ1dGUiLCJyZW1vdmVBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsInN0eWxlIiwiZGlzcGxheSIsInBsYXlCdXR0b24iLCJpZCIsIk9iamVjdCIsImFzc2lnbiIsImN1cnNvciIsIndpZHRoIiwiaGVpZ2h0IiwiYmFja2dyb3VuZEltYWdlIiwicGF1c2VJbWFnZSIsImJhY2tncm91bmRTaXplIiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyIiwicGFyZW50Tm9kZSIsImluc2VydEJlZm9yZSIsImF1dG9wbGF5QXVkaW9FbmFibGVkIiwiZ2V0RWxlbWVudEJ5SWQiLCJwbGF5IiwidGhlbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJoYW5kbGVBdWRpb0VuZGVkIiwiZXJyb3IiLCJjb25zb2xlIiwiaGFuZGxlUGxheUNsaWNrIiwicGF1c2VkIiwiaW5jbHVkZXMiLCJwbGF5SW1hZ2UiLCJoYW5kbGVBdWRpb1BsYXkiLCJoYW5kbGVBdWRpb1BhdXNlIiwiX2hhbmRsZVBsYXlDbGljayIsIl9oYW5kbGVBdWRpb1BsYXkiLCJfaGFuZGxlQXVkaW9QYXVzZSIsIl9oYW5kbGVBdWRpb0VuZGVkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFsaWduSW1hZ2VzIiwiYWRkQ3VzdG9tQXVkaW9CdXR0b25Db250cm9scyIsInJlbW92ZUN1c3RvbUF1ZGlvQnV0dG9uTGlzdGVuZXJzIiwicHJldmlld1Byb21wdHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInByZXZpZXdQcm9tcHQiLCJpbWFnZXMiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImxlbmd0aCIsImltYWdlIiwiYXR0cmlidXRlcyIsImFsaWdubWVudCIsInZhbHVlIiwicGFyZW50RWxlbWVudCIsInRhZ05hbWUiLCJjb3B5SW1hZ2UiLCJjbG9uZU5vZGUiLCJyZXBsYWNlQ2hpbGQiLCJwcm9tcHQiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwib25DbGljayIsImRlZmF1bHRDbGFzc05hbWUiLCJDdXN0b21UYWciLCJsZWdlbmRDbGFzcyIsImN1c3RvbUNsYXNzZXMiLCJwcm9tcHRUYWJsZSIsIl9faHRtbCIsInBhcnNlZFRleHQiLCJyZXBsYWNlIiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0Iiwic3RyaW5nIiwiZnVuYyIsImJvb2wiLCJzdHlsZXMiLCJ0aGVtZSIsInZlcnRpY2FsQWxpZ24iLCJjb2xvciIsImxlZ2VuZCIsImZvbnRTaXplIiwicmF0aW9uYWxlIiwicGFkZGluZ0xlZnQiLCJzcGFjaW5nIiwidW5pdCIsInBhZGRpbmdCb3R0b20iLCJsYWJlbCIsImZsZXhEaXJlY3Rpb24iLCJtYXJnaW4iLCJib3JkZXJDb2xsYXBzZSIsImJhY2tncm91bmRDb2xvciIsInBhbGV0dGUiLCJjb21tb24iLCJibGFjayIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsbUJBQW1CLEdBQUcseUJBQTVCO0FBQ0EsSUFBTUMsYUFBYSxHQUFHLFlBQXRCOztJQUVhQyxhOzs7Ozs7Ozs7Ozs7Ozs7bUdBbUJFLFVBQUNDLElBQUQsRUFBVTtBQUNyQixVQUFRQyxpQkFBUixHQUE4QixNQUFLQyxLQUFuQyxDQUFRRCxpQkFBUjtBQUNBLFVBQU1FLEdBQUcsR0FBR0MsUUFBUSxDQUFDQyxhQUFULENBQXVCLEtBQXZCLENBQVo7QUFDQUYsTUFBQUEsR0FB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QUFVWDtBQUNBLDREQUFzRDtBQUNwREMsUUFBQUEsT0FBTyxFQUFFLFVBRDJDO0FBRXBEQyxRQUFBQSxTQUFTLEVBQUU7QUFGeUMsT0FYM0M7QUFlWDtBQUNBLG1EQUE2QztBQUMzQ0EsUUFBQUEsU0FBUyxFQUFFO0FBRGdDO0FBaEJsQztBQXZCWSxHQUFaO0FBQUEsQ0FBZjs7ZUE0Q2Usd0JBQVdwQixNQUFYLEVBQW1CdkYsYUFBbkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgKiBhcyBjb2xvciBmcm9tICcuL2NvbG9yJztcblxuLy9Vc2VkIHRoZXNlIGJlbG93IHRvIHJlcGxhY2UgXFxcXGVtYmVke25ld0xpbmV9IHdpdGggXFxcXG5ld2xpbmUgZnJvbSBwcm9tcHQgd2hpY2ggd2lsbCBnZXQgcGFyc2VkIGluIE1hdGhKYXhcbmNvbnN0IE5FV0xJTkVfQkxPQ0tfUkVHRVggPSAvXFxcXGVtYmVkXFx7bmV3TGluZVxcfVxcW1xcXS9nO1xuY29uc3QgTkVXTElORV9MQVRFWCA9ICdcXFxcbmV3bGluZSAnO1xuXG5leHBvcnQgY2xhc3MgUHJldmlld1Byb21wdCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBwcm9tcHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGFnTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGVmYXVsdENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhdXRvcGxheUF1ZGlvRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VzdG9tQXVkaW9CdXR0b246IHtcbiAgICAgIHBsYXlJbWFnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHBhdXNlSW1hZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIG9uQ2xpY2s6ICgpID0+IHt9LFxuICB9O1xuXG4gIHBhcnNlZFRleHQgPSAodGV4dCkgPT4ge1xuICAgIGNvbnN0IHsgY3VzdG9tQXVkaW9CdXR0b24gfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LmlubmVySFRNTCA9IHRleHQ7XG5cbiAgICBjb25zdCBhdWRpbyA9IGRpdi5xdWVyeVNlbGVjdG9yKCdhdWRpbycpO1xuICAgIGlmIChhdWRpbykge1xuICAgICAgY29uc3Qgc291cmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc291cmNlJyk7XG5cbiAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnYXVkaW8vbXAzJyk7XG4gICAgICBzb3VyY2Uuc2V0QXR0cmlidXRlKCdzcmMnLCBhdWRpby5nZXRBdHRyaWJ1dGUoJ3NyYycpKTtcblxuICAgICAgYXVkaW8ucmVtb3ZlQXR0cmlidXRlKCdzcmMnKTtcbiAgICAgIGF1ZGlvLnNldEF0dHJpYnV0ZSgnaWQnLCAncGllLXByb21wdC1hdWRpby1wbGF5ZXInKTtcblxuICAgICAgYXVkaW8uYXBwZW5kQ2hpbGQoc291cmNlKTtcblxuICAgICAgaWYgKGN1c3RvbUF1ZGlvQnV0dG9uKSB7XG4gICAgICAgIGF1ZGlvLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cbiAgICAgICAgY29uc3QgcGxheUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBwbGF5QnV0dG9uLmlkID0gJ3BsYXktYXVkaW8tYnV0dG9uJztcblxuICAgICAgICBPYmplY3QuYXNzaWduKHBsYXlCdXR0b24uc3R5bGUsIHtcbiAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgICAgIHdpZHRoOiAnMTI4cHgnLFxuICAgICAgICAgIGhlaWdodDogJzEyOHB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtjdXN0b21BdWRpb0J1dHRvbi5wYXVzZUltYWdlfSlgLFxuICAgICAgICAgIGJhY2tncm91bmRTaXplOiAnY292ZXInLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICMzMjYyOTUnLFxuICAgICAgICB9KTtcblxuICAgICAgICBhdWRpby5wYXJlbnROb2RlLmluc2VydEJlZm9yZShwbGF5QnV0dG9uLCBhdWRpbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gIH07XG5cbiAgYWRkQ3VzdG9tQXVkaW9CdXR0b25Db250cm9scygpIHtcbiAgICBjb25zdCB7IGF1dG9wbGF5QXVkaW9FbmFibGVkLCBjdXN0b21BdWRpb0J1dHRvbiB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBwbGF5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYXktYXVkaW8tYnV0dG9uJyk7XG4gICAgY29uc3QgYXVkaW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGllLXByb21wdC1hdWRpby1wbGF5ZXInKTtcblxuICAgIGlmIChhdXRvcGxheUF1ZGlvRW5hYmxlZCAmJiBhdWRpbykge1xuICAgICAgYXVkaW9cbiAgICAgICAgLnBsYXkoKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgaWYgKHBsYXlCdXR0b24gJiYgY3VzdG9tQXVkaW9CdXR0b24pIHtcbiAgICAgICAgICAgIGF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ2VuZGVkJywgaGFuZGxlQXVkaW9FbmRlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcGxheWluZyBhdWRpbycsIGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFwbGF5QnV0dG9uIHx8ICFhdWRpbyB8fCAhY3VzdG9tQXVkaW9CdXR0b24pIHJldHVybjtcblxuICAgIGNvbnN0IGhhbmRsZVBsYXlDbGljayA9ICgpID0+IHtcbiAgICAgIC8vIGlmIGFscmVhZHkgcGxheWluZywgZG9uJ3QgcGxheSBhZ2FpblxuICAgICAgaWYgKCFhdWRpby5wYXVzZWQpIHJldHVybjtcbiAgICAgIGlmIChwbGF5QnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZS5pbmNsdWRlcyhjdXN0b21BdWRpb0J1dHRvbi5wYXVzZUltYWdlKSkgcmV0dXJuO1xuXG4gICAgICBhdWRpby5wbGF5KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUF1ZGlvRW5kZWQgPSAoKSA9PiB7XG4gICAgICBwbGF5QnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHtjdXN0b21BdWRpb0J1dHRvbi5wbGF5SW1hZ2V9KWA7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUF1ZGlvUGxheSA9ICgpID0+IHtcbiAgICAgIE9iamVjdC5hc3NpZ24ocGxheUJ1dHRvbi5zdHlsZSwge1xuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtjdXN0b21BdWRpb0J1dHRvbi5wYXVzZUltYWdlfSlgLFxuICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI2NjYycsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQXVkaW9QYXVzZSA9ICgpID0+IHtcbiAgICAgIE9iamVjdC5hc3NpZ24ocGxheUJ1dHRvbi5zdHlsZSwge1xuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtjdXN0b21BdWRpb0J1dHRvbi5wbGF5SW1hZ2V9KWAsXG4gICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjMzI2Mjk1JyxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwbGF5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlUGxheUNsaWNrKTtcbiAgICBhdWRpby5hZGRFdmVudExpc3RlbmVyKCdwbGF5JywgaGFuZGxlQXVkaW9QbGF5KTtcbiAgICBhdWRpby5hZGRFdmVudExpc3RlbmVyKCdwYXVzZScsIGhhbmRsZUF1ZGlvUGF1c2UpO1xuICAgIGF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ2VuZGVkJywgaGFuZGxlQXVkaW9FbmRlZCk7XG5cbiAgICAvLyBzdG9yZSBldmVudCBoYW5kbGVyIHJlZmVyZW5jZXMgc28gdGhleSBjYW4gYmUgcmVtb3ZlZCBsYXRlclxuICAgIHRoaXMuX2hhbmRsZVBsYXlDbGljayA9IGhhbmRsZVBsYXlDbGljaztcbiAgICB0aGlzLl9oYW5kbGVBdWRpb1BsYXkgPSBoYW5kbGVBdWRpb1BsYXk7XG4gICAgdGhpcy5faGFuZGxlQXVkaW9QYXVzZSA9IGhhbmRsZUF1ZGlvUGF1c2U7XG4gICAgdGhpcy5faGFuZGxlQXVkaW9FbmRlZCA9IGhhbmRsZUF1ZGlvRW5kZWQ7XG4gIH1cblxuICByZW1vdmVDdXN0b21BdWRpb0J1dHRvbkxpc3RlbmVycygpIHtcbiAgICBjb25zdCBwbGF5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYXktYXVkaW8tYnV0dG9uJyk7XG4gICAgY29uc3QgYXVkaW8gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhdWRpbycpO1xuXG4gICAgaWYgKCFwbGF5QnV0dG9uIHx8ICFhdWRpbykgcmV0dXJuO1xuXG4gICAgLy8gcmVtb3ZlIGV2ZW50IGxpc3RlbmVycyB1c2luZyBzdG9yZWQgcmVmZXJlbmNlc1xuICAgIHBsYXlCdXR0b24ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9oYW5kbGVQbGF5Q2xpY2spO1xuICAgIGF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BsYXknLCB0aGlzLl9oYW5kbGVBdWRpb1BsYXkpO1xuICAgIGF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BhdXNlJywgdGhpcy5faGFuZGxlQXVkaW9QYXVzZSk7XG4gICAgYXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignZW5kZWQnLCB0aGlzLl9oYW5kbGVBdWRpb0VuZGVkKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuYWxpZ25JbWFnZXMoKTtcbiAgICB0aGlzLmFkZEN1c3RvbUF1ZGlvQnV0dG9uQ29udHJvbHMoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLmFsaWduSW1hZ2VzKCk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLnJlbW92ZUN1c3RvbUF1ZGlvQnV0dG9uTGlzdGVuZXJzKCk7XG4gIH1cblxuICBhbGlnbkltYWdlcygpIHtcbiAgICBjb25zdCBwcmV2aWV3UHJvbXB0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNwcmV2aWV3LXByb21wdCcpO1xuXG4gICAgcHJldmlld1Byb21wdHMuZm9yRWFjaCgocHJldmlld1Byb21wdCkgPT4ge1xuICAgICAgY29uc3QgaW1hZ2VzID0gcHJldmlld1Byb21wdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW1nJyk7XG5cbiAgICAgIGlmIChpbWFnZXMgJiYgaW1hZ2VzLmxlbmd0aCkge1xuICAgICAgICBmb3IgKGxldCBpbWFnZSBvZiBpbWFnZXMpIHtcbiAgICAgICAgICAvLyBjaGVjayBpZiBhbGlnbm1lbnQgcHJvcGVydHkgd2FzIHNldFxuICAgICAgICAgIGlmIChpbWFnZS5hdHRyaWJ1dGVzICYmIGltYWdlLmF0dHJpYnV0ZXMuYWxpZ25tZW50ICYmIGltYWdlLmF0dHJpYnV0ZXMuYWxpZ25tZW50LnZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gaW1hZ2UucGFyZW50RWxlbWVudDtcblxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgZGl2IGlzIG5vdCBhbHJlYWR5IGFkZGVkIHRvIGRvbSBhbmQgcmVwbGFjZSBjdXJyZW50IGltYWdlIHdpdGggd3JhcHBlZCBpbWFnZVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgIHBhcmVudE5vZGUudGFnTmFtZSA9PT0gJ0RJVicgJiZcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLnN0eWxlLmRpc3BsYXkgPT09ICdmbGV4JyAmJlxuICAgICAgICAgICAgICAgIHBhcmVudE5vZGUuc3R5bGUud2lkdGggPT09ICcxMDAlJ1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuICAgICAgICAgICAgICBkaXYuc3R5bGUud2lkdGggPSAnMTAwJSc7XG5cbiAgICAgICAgICAgICAgY29uc3QgY29weUltYWdlID0gaW1hZ2UuY2xvbmVOb2RlKHRydWUpO1xuICAgICAgICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoY29weUltYWdlKTtcbiAgICAgICAgICAgICAgcGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoZGl2LCBpbWFnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBwcm9tcHQsIGNsYXNzZXMsIHRhZ05hbWUsIGNsYXNzTmFtZSwgb25DbGljaywgZGVmYXVsdENsYXNzTmFtZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBDdXN0b21UYWcgPSB0YWdOYW1lIHx8ICdkaXYnO1xuICAgIC8vIGxlZ2VuZCB0YWcgd2FzIGFkZGVkIG9uY2Ugd2l0aCBhY2Nlc3NpYmlsaXR5IHRhc2tzLCB3ZWUgbmVlZCBleHRyYSBzdHlsZSB0byBtYWtlIGl0IHdvcmsgd2l0aCBpbWFnZXMgYWxpZ25tZW50XG4gICAgY29uc3QgbGVnZW5kQ2xhc3MgPSB0YWdOYW1lID09PSAnbGVnZW5kJyA/ICdsZWdlbmQnIDogJyc7XG4gICAgY29uc3QgY3VzdG9tQ2xhc3NlcyA9IGAke2NsYXNzZXMucHJvbXB0VGFibGV9ICR7Y2xhc3Nlc1tjbGFzc05hbWVdIHx8ICcnfSAke2RlZmF1bHRDbGFzc05hbWUgfHwgJyd9ICR7Y2xhc3Nlc1tcbiAgICAgIGxlZ2VuZENsYXNzXG4gICAgXSB8fCAnJ31gO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDdXN0b21UYWdcbiAgICAgICAgaWQ9eydwcmV2aWV3LXByb21wdCd9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17Y3VzdG9tQ2xhc3Nlc31cbiAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICBfX2h0bWw6IHRoaXMucGFyc2VkVGV4dChwcm9tcHQgfHwgJycpLnJlcGxhY2UoTkVXTElORV9CTE9DS19SRUdFWCwgTkVXTElORV9MQVRFWCksXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICBwcm9tcHQ6IHtcbiAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICB9LFxuICBsZWdlbmQ6IHtcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGZvbnRTaXplOiAnaW5oZXJpdCAgIWltcG9ydGFudCcsXG4gIH0sXG4gIHJhdGlvbmFsZToge1xuICAgIHBhZGRpbmdMZWZ0OiB0aGVtZS5zcGFjaW5nLnVuaXQgKiA0LFxuICAgIHBhZGRpbmdCb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgfSxcbiAgbGFiZWw6IHtcbiAgICBjb2xvcjogYCR7Y29sb3IudGV4dCgpfSAhaW1wb3J0YW50YCwgLy8ndmFyKC0tY2hvaWNlLWlucHV0LWNvbG9yLCBibGFjayknLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAnJiA+IHAnOiB7XG4gICAgICBtYXJnaW46ICcwIDAgMCAwICFpbXBvcnRhbnQnLFxuICAgIH0sXG4gIH0sXG4gIHByb21wdFRhYmxlOiB7XG4gICAgJyY6bm90KC5NYXRoSmF4KSA+IHRhYmxlJzoge1xuICAgICAgYm9yZGVyQ29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICAgfSxcbiAgICAnJjpub3QoLk1hdGhKYXgpID4gdGFibGUgdHInOiB7XG4gICAgICAnJjpudGgtY2hpbGQoMm4pJzoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZjZmOGZhJyxcbiAgICAgICAgY29sb3I6IHRoZW1lLnBhbGV0dGUuY29tbW9uLmJsYWNrLFxuICAgICAgfSxcbiAgICB9LFxuICAgIC8vIGFsaWduIHRhYmxlIGNvbnRlbnQgdG8gbGVmdCBhcyBwZXIgU1RBUiByZXF1aXJlbWVudCBQRC0zNjg3XG4gICAgJyY6bm90KC5NYXRoSmF4KSB0YWJsZSB0ZCwgJjpub3QoLk1hdGhKYXgpIHRhYmxlIHRoJzoge1xuICAgICAgcGFkZGluZzogJy42ZW0gMWVtJyxcbiAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgIH0sXG4gICAgLy8gYWRkZWQgdGhpcyB0byBmaXggYWxpZ25tZW50IG9mIHRleHQgaW4gcHJvbXB0IGltcG9ydGVkIGZyb20gc3R1ZGlvIChQRC0zNDIzKVxuICAgICcmOm5vdCguTWF0aEpheCkgPiB0YWJsZSB0ZCA+IHAua2RzLWluZGVudCc6IHtcbiAgICAgIHRleHRBbGlnbjogJ2luaXRpYWwnLFxuICAgIH0sXG4gIH0sXG59KTtcbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShQcmV2aWV3UHJvbXB0KTtcbiJdfQ==
|
package/lib/purpose.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
|
-
var Purpose = function Purpose(props) {
|
|
15
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _react["default"].Children.map(props.children, function (child) {
|
|
16
|
-
return /*#__PURE__*/_react["default"].cloneElement(child, {
|
|
17
|
-
'data-pie-purpose': props.purpose
|
|
18
|
-
});
|
|
19
|
-
}));
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
Purpose.propTypes = {
|
|
23
|
-
children: _propTypes["default"].node,
|
|
24
|
-
purpose: _propTypes["default"].string
|
|
25
|
-
};
|
|
26
|
-
var _default = Purpose;
|
|
27
|
-
exports["default"] = _default;
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wdXJwb3NlLmpzeCJdLCJuYW1lcyI6WyJQdXJwb3NlIiwicHJvcHMiLCJSZWFjdCIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGRyZW4iLCJjaGlsZCIsImNsb25lRWxlbWVudCIsInB1cnBvc2UiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJub2RlIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQSxJQUFNQSxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxLQUFELEVBQVc7QUFDekIsc0JBQ0Usa0VBQ0dDLGtCQUFNQyxRQUFOLENBQWVDLEdBQWYsQ0FBbUJILEtBQUssQ0FBQ0ksUUFBekIsRUFBbUMsVUFBQ0MsS0FBRDtBQUFBLHdCQUFXSixrQkFBTUssWUFBTixDQUFtQkQsS0FBbkIsRUFBMEI7QUFBRSwwQkFBb0JMLEtBQUssQ0FBQ087QUFBNUIsS0FBMUIsQ0FBWDtBQUFBLEdBQW5DLENBREgsQ0FERjtBQUtELENBTkQ7O0FBUUFSLE9BQU8sQ0FBQ1MsU0FBUixHQUFvQjtBQUNsQkosRUFBQUEsUUFBUSxFQUFFSyxzQkFBVUMsSUFERjtBQUVsQkgsRUFBQUEsT0FBTyxFQUFFRSxzQkFBVUU7QUFGRCxDQUFwQjtlQUtlWixPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IFB1cnBvc2UgPSAocHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge1JlYWN0LkNoaWxkcmVuLm1hcChwcm9wcy5jaGlsZHJlbiwgKGNoaWxkKSA9PiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHsgJ2RhdGEtcGllLXB1cnBvc2UnOiBwcm9wcy5wdXJwb3NlIH0pKX1cbiAgICA8Lz5cbiAgKTtcbn07XG5cblB1cnBvc2UucHJvcFR5cGVzID0ge1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gIHB1cnBvc2U6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBQdXJwb3NlO1xuIl19
|
package/lib/readable.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
|
-
var Readable = function Readable(props) {
|
|
15
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _react["default"].Children.map(props.children, function (child) {
|
|
16
|
-
return /*#__PURE__*/_react["default"].cloneElement(child, {
|
|
17
|
-
'data-pie-readable': props["false"] === undefined
|
|
18
|
-
});
|
|
19
|
-
}));
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
Readable.propTypes = {
|
|
23
|
-
children: _propTypes["default"].node,
|
|
24
|
-
"false": _propTypes["default"].bool
|
|
25
|
-
};
|
|
26
|
-
var _default = Readable;
|
|
27
|
-
exports["default"] = _default;
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWFkYWJsZS5qc3giXSwibmFtZXMiOlsiUmVhZGFibGUiLCJwcm9wcyIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZHJlbiIsImNoaWxkIiwiY2xvbmVFbGVtZW50IiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibm9kZSIsImJvb2wiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBLElBQU1BLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLEtBQUQsRUFBVztBQUMxQixzQkFDRSxrRUFDR0Msa0JBQU1DLFFBQU4sQ0FBZUMsR0FBZixDQUFtQkgsS0FBSyxDQUFDSSxRQUF6QixFQUFtQyxVQUFDQyxLQUFEO0FBQUEsd0JBQ2xDSixrQkFBTUssWUFBTixDQUFtQkQsS0FBbkIsRUFBMEI7QUFBRSwyQkFBcUJMLEtBQUssU0FBTCxLQUFnQk87QUFBdkMsS0FBMUIsQ0FEa0M7QUFBQSxHQUFuQyxDQURILENBREY7QUFPRCxDQVJEOztBQVVBUixRQUFRLENBQUNTLFNBQVQsR0FBcUI7QUFDbkJKLEVBQUFBLFFBQVEsRUFBRUssc0JBQVVDLElBREQ7QUFFbkIsV0FBT0Qsc0JBQVVFO0FBRkUsQ0FBckI7ZUFLZVosUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBSZWFkYWJsZSA9IChwcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7UmVhY3QuQ2hpbGRyZW4ubWFwKHByb3BzLmNoaWxkcmVuLCAoY2hpbGQpID0+XG4gICAgICAgIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgeyAnZGF0YS1waWUtcmVhZGFibGUnOiBwcm9wcy5mYWxzZSA9PT0gdW5kZWZpbmVkIH0pLFxuICAgICAgKX1cbiAgICA8Lz5cbiAgKTtcbn07XG5cblJlYWRhYmxlLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICBmYWxzZTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZWFkYWJsZTtcbiJdfQ==
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.PartiallyCorrect = exports.NothingSubmitted = exports.Incorrect = exports.Correct = void 0;
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
|
-
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
|
-
var icons = _interopRequireWildcard(require("@pie-lib/icons"));
|
|
31
|
-
|
|
32
|
-
var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
|
|
33
|
-
|
|
34
|
-
var _styles = require("@material-ui/core/styles");
|
|
35
|
-
|
|
36
|
-
var _feedback = _interopRequireDefault(require("./feedback"));
|
|
37
|
-
|
|
38
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
39
|
-
|
|
40
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
41
|
-
|
|
42
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
|
-
|
|
44
|
-
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); }; }
|
|
45
|
-
|
|
46
|
-
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; } }
|
|
47
|
-
|
|
48
|
-
var log = (0, _debug["default"])('pie-libs:render-ui:response-indicators');
|
|
49
|
-
|
|
50
|
-
var styles = function styles() {
|
|
51
|
-
return {
|
|
52
|
-
responseIndicator: {
|
|
53
|
-
cursor: 'pointer'
|
|
54
|
-
},
|
|
55
|
-
paper: {
|
|
56
|
-
padding: '0',
|
|
57
|
-
borderRadius: '4px'
|
|
58
|
-
},
|
|
59
|
-
popover: {
|
|
60
|
-
cursor: 'pointer'
|
|
61
|
-
},
|
|
62
|
-
popperClose: {
|
|
63
|
-
cursor: 'pointer'
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
var BuildIndicator = function BuildIndicator(Icon, correctness) {
|
|
69
|
-
var RawIndicator = /*#__PURE__*/function (_React$Component) {
|
|
70
|
-
(0, _inherits2["default"])(RawIndicator, _React$Component);
|
|
71
|
-
|
|
72
|
-
var _super = _createSuper(RawIndicator);
|
|
73
|
-
|
|
74
|
-
function RawIndicator(props) {
|
|
75
|
-
var _this;
|
|
76
|
-
|
|
77
|
-
(0, _classCallCheck2["default"])(this, RawIndicator);
|
|
78
|
-
_this = _super.call(this, props);
|
|
79
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlePopoverOpen", function (event) {
|
|
80
|
-
log('[handlePopoverOpen]', event.target);
|
|
81
|
-
|
|
82
|
-
_this.setState({
|
|
83
|
-
anchorEl: event.target
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlePopoverClose", function () {
|
|
87
|
-
_this.setState({
|
|
88
|
-
anchorEl: null
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
_this.state = {};
|
|
92
|
-
return _this;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
(0, _createClass2["default"])(RawIndicator, [{
|
|
96
|
-
key: "render",
|
|
97
|
-
value: function render() {
|
|
98
|
-
var _this2 = this;
|
|
99
|
-
|
|
100
|
-
var _this$props = this.props,
|
|
101
|
-
feedback = _this$props.feedback,
|
|
102
|
-
classes = _this$props.classes;
|
|
103
|
-
var anchorEl = this.state.anchorEl;
|
|
104
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
105
|
-
className: feedback && classes.responseIndicator
|
|
106
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
107
|
-
ref: function ref(r) {
|
|
108
|
-
return _this2.icon = r;
|
|
109
|
-
},
|
|
110
|
-
onClick: this.handlePopoverOpen
|
|
111
|
-
}, /*#__PURE__*/_react["default"].createElement(Icon, null)), feedback && /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
|
|
112
|
-
className: classes.popover,
|
|
113
|
-
classes: {
|
|
114
|
-
paper: classes.paper
|
|
115
|
-
},
|
|
116
|
-
open: !!anchorEl,
|
|
117
|
-
anchorEl: anchorEl,
|
|
118
|
-
anchorOrigin: {
|
|
119
|
-
vertical: 'bottom',
|
|
120
|
-
horizontal: 'left'
|
|
121
|
-
},
|
|
122
|
-
transformOrigin: {
|
|
123
|
-
vertical: 'top',
|
|
124
|
-
horizontal: 'left'
|
|
125
|
-
},
|
|
126
|
-
onClose: this.handlePopoverClose
|
|
127
|
-
}, /*#__PURE__*/_react["default"].createElement(_feedback["default"], {
|
|
128
|
-
feedback: feedback,
|
|
129
|
-
correctness: correctness
|
|
130
|
-
})));
|
|
131
|
-
}
|
|
132
|
-
}]);
|
|
133
|
-
return RawIndicator;
|
|
134
|
-
}(_react["default"].Component);
|
|
135
|
-
|
|
136
|
-
RawIndicator.propTypes = {
|
|
137
|
-
feedback: _propTypes["default"].string,
|
|
138
|
-
classes: _propTypes["default"].object.isRequired
|
|
139
|
-
};
|
|
140
|
-
return (0, _styles.withStyles)(styles)(RawIndicator);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
var Correct = BuildIndicator(icons.Correct, 'correct');
|
|
144
|
-
exports.Correct = Correct;
|
|
145
|
-
var Incorrect = BuildIndicator(icons.Incorrect, 'incorrect');
|
|
146
|
-
exports.Incorrect = Incorrect;
|
|
147
|
-
var PartiallyCorrect = BuildIndicator(icons.PartiallyCorrect, 'partially-correct');
|
|
148
|
-
exports.PartiallyCorrect = PartiallyCorrect;
|
|
149
|
-
var NothingSubmitted = BuildIndicator(icons.NothingSubmitted, 'nothing-submitted');
|
|
150
|
-
exports.NothingSubmitted = NothingSubmitted;
|
|
151
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXNwb25zZS1pbmRpY2F0b3JzLmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJzdHlsZXMiLCJyZXNwb25zZUluZGljYXRvciIsImN1cnNvciIsInBhcGVyIiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsInBvcG92ZXIiLCJwb3BwZXJDbG9zZSIsIkJ1aWxkSW5kaWNhdG9yIiwiSWNvbiIsImNvcnJlY3RuZXNzIiwiUmF3SW5kaWNhdG9yIiwicHJvcHMiLCJldmVudCIsInRhcmdldCIsInNldFN0YXRlIiwiYW5jaG9yRWwiLCJzdGF0ZSIsImZlZWRiYWNrIiwiY2xhc3NlcyIsInIiLCJpY29uIiwiaGFuZGxlUG9wb3Zlck9wZW4iLCJ2ZXJ0aWNhbCIsImhvcml6b250YWwiLCJoYW5kbGVQb3BvdmVyQ2xvc2UiLCJSZWFjdCIsIkNvbXBvbmVudCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJDb3JyZWN0IiwiaWNvbnMiLCJJbmNvcnJlY3QiLCJQYXJ0aWFsbHlDb3JyZWN0IiwiTm90aGluZ1N1Ym1pdHRlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLHVCQUFNLHdDQUFOLENBQVo7O0FBRUEsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQVM7QUFBQSxTQUFPO0FBQ3BCQyxJQUFBQSxpQkFBaUIsRUFBRTtBQUNqQkMsTUFBQUEsTUFBTSxFQUFFO0FBRFMsS0FEQztBQUlwQkMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLE9BQU8sRUFBRSxHQURKO0FBRUxDLE1BQUFBLFlBQVksRUFBRTtBQUZULEtBSmE7QUFRcEJDLElBQUFBLE9BQU8sRUFBRTtBQUNQSixNQUFBQSxNQUFNLEVBQUU7QUFERCxLQVJXO0FBV3BCSyxJQUFBQSxXQUFXLEVB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Q0FBQzBCLEtBQUssQ0FBQ0csZ0JBQVAsRUFBeUIsbUJBQXpCLENBQXZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgKiBhcyBpY29ucyBmcm9tICdAcGllLWxpYi9pY29ucyc7XG5pbXBvcnQgUG9wb3ZlciBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9Qb3BvdmVyJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IEZlZWRiYWNrIGZyb20gJy4vZmVlZGJhY2snO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ3BpZS1saWJzOnJlbmRlci11aTpyZXNwb25zZS1pbmRpY2F0b3JzJyk7XG5cbmNvbnN0IHN0eWxlcyA9ICgpID0+ICh7XG4gIHJlc3BvbnNlSW5kaWNhdG9yOiB7XG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG4gIH0sXG4gIHBhcGVyOiB7XG4gICAgcGFkZGluZzogJzAnLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gIH0sXG4gIHBvcG92ZXI6IHtcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgfSxcbiAgcG9wcGVyQ2xvc2U6IHtcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBCdWlsZEluZGljYXRvciA9IChJY29uLCBjb3JyZWN0bmVzcykgPT4ge1xuICBjbGFzcyBSYXdJbmRpY2F0b3IgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLnN0YXRlID0ge307XG4gICAgfVxuXG4gICAgaGFuZGxlUG9wb3Zlck9wZW4gPSAoZXZlbnQpID0+IHtcbiAgICAgIGxvZygnW2hhbmRsZVBvcG92ZXJPcGVuXScsIGV2ZW50LnRhcmdldCk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgYW5jaG9yRWw6IGV2ZW50LnRhcmdldCB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlUG9wb3ZlckNsb3NlID0gKCkgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFuY2hvckVsOiBudWxsIH0pO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IGZlZWRiYWNrLCBjbGFzc2VzIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgeyBhbmNob3JFbCB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtmZWVkYmFjayAmJiBjbGFzc2VzLnJlc3BvbnNlSW5kaWNhdG9yfT5cbiAgICAgICAgICA8c3BhbiByZWY9eyhyKSA9PiAodGhpcy5pY29uID0gcil9IG9uQ2xpY2s9e3RoaXMuaGFuZGxlUG9wb3Zlck9wZW59PlxuICAgICAgICAgICAgPEljb24gLz5cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICB7ZmVlZGJhY2sgJiYgKFxuICAgICAgICAgICAgPFBvcG92ZXJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnBvcG92ZXJ9XG4gICAgICAgICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICAgICAgICBwYXBlcjogY2xhc3Nlcy5wYXBlcixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb3Blbj17ISFhbmNob3JFbH1cbiAgICAgICAgICAgICAgYW5jaG9yRWw9e2FuY2hvckVsfVxuICAgICAgICAgICAgICBhbmNob3JPcmlnaW49e3tcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbDogJ2xlZnQnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW49e3tcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogJ3RvcCcsXG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbDogJ2xlZnQnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhhbmRsZVBvcG92ZXJDbG9zZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZlZWRiYWNrIGZlZWRiYWNrPXtmZWVkYmFja30gY29ycmVjdG5lc3M9e2NvcnJlY3RuZXNzfSAvPlxuICAgICAgICAgICAgPC9Qb3BvdmVyPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBSYXdJbmRpY2F0b3IucHJvcFR5cGVzID0ge1xuICAgIGZlZWRiYWNrOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgfTtcblxuICByZXR1cm4gd2l0aFN0eWxlcyhzdHlsZXMpKFJhd0luZGljYXRvcik7XG59O1xuXG5leHBvcnQgY29uc3QgQ29ycmVjdCA9IEJ1aWxkSW5kaWNhdG9yKGljb25zLkNvcnJlY3QsICdjb3JyZWN0Jyk7XG5leHBvcnQgY29uc3QgSW5jb3JyZWN0ID0gQnVpbGRJbmRpY2F0b3IoaWNvbnMuSW5jb3JyZWN0LCAnaW5jb3JyZWN0Jyk7XG5leHBvcnQgY29uc3QgUGFydGlhbGx5Q29ycmVjdCA9IEJ1aWxkSW5kaWNhdG9yKGljb25zLlBhcnRpYWxseUNvcnJlY3QsICdwYXJ0aWFsbHktY29ycmVjdCcpO1xuZXhwb3J0IGNvbnN0IE5vdGhpbmdTdWJtaXR0ZWQgPSBCdWlsZEluZGljYXRvcihpY29ucy5Ob3RoaW5nU3VibWl0dGVkLCAnbm90aGluZy1zdWJtaXR0ZWQnKTtcbiJdfQ==
|