easy-richtextarea 4.0.37 → 4.0.39
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/example.js +4 -18
- package/lib/richTextarea.js +4 -24
- package/package.json +1 -1
- package/src/richTextarea.js +2 -19
package/lib/richTextarea.js
CHANGED
|
@@ -200,7 +200,7 @@ var BLUR_EVENT_TYPE = _easy.eventTypes.BLUR_EVENT_TYPE, INPUT_EVENT_TYPE = _easy
|
|
|
200
200
|
var RichTextarea = /*#__PURE__*/ function(Element) {
|
|
201
201
|
_inherits(RichTextarea, Element);
|
|
202
202
|
var _super = _createSuper(RichTextarea);
|
|
203
|
-
function RichTextarea(selector, focused
|
|
203
|
+
function RichTextarea(selector, focused) {
|
|
204
204
|
_classCallCheck(this, RichTextarea);
|
|
205
205
|
var _this;
|
|
206
206
|
_this = _super.call(this, selector);
|
|
@@ -234,12 +234,6 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
|
|
|
234
234
|
});
|
|
235
235
|
_defineProperty(_assertThisInitialized(_this), "intermediateHandler", function(event, element) {
|
|
236
236
|
var eventType = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : CHANGE_EVENT_TYPE, selectionChanged = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : _this.hasSelectionChanged();
|
|
237
|
-
// if (this.readOnly) {
|
|
238
|
-
// const previousContent = this.getPreviousContent(),
|
|
239
|
-
// content = previousContent; ///
|
|
240
|
-
//
|
|
241
|
-
// this.setContent(content);
|
|
242
|
-
// }
|
|
243
237
|
var content = _this.getContent(), selection = _this.getSelection(), contentChanged = _this.hasContentChanged();
|
|
244
238
|
if (contentChanged || selectionChanged) {
|
|
245
239
|
_this.callHandlers(eventType, event, element);
|
|
@@ -249,7 +243,6 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
|
|
|
249
243
|
_this.setPreviousSelection(previousSelection);
|
|
250
244
|
});
|
|
251
245
|
_this.focused = focused;
|
|
252
|
-
_this.readOnly = readOnly;
|
|
253
246
|
return _this;
|
|
254
247
|
}
|
|
255
248
|
_createClass(RichTextarea, [
|
|
@@ -259,24 +252,12 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
|
|
|
259
252
|
return this.focused;
|
|
260
253
|
}
|
|
261
254
|
},
|
|
262
|
-
{
|
|
263
|
-
key: "isReadOnly",
|
|
264
|
-
value: function isReadOnly() {
|
|
265
|
-
return this.readOnly;
|
|
266
|
-
}
|
|
267
|
-
},
|
|
268
255
|
{
|
|
269
256
|
key: "setFocused",
|
|
270
257
|
value: function setFocused(focused) {
|
|
271
258
|
this.focused = focused;
|
|
272
259
|
}
|
|
273
260
|
},
|
|
274
|
-
{
|
|
275
|
-
key: "setReadOnly",
|
|
276
|
-
value: function setReadOnly(readOnly) {
|
|
277
|
-
this.readOnly = readOnly;
|
|
278
|
-
}
|
|
279
|
-
},
|
|
280
261
|
{
|
|
281
262
|
key: "callHandlers",
|
|
282
263
|
value: function callHandlers(eventType) {
|
|
@@ -477,11 +458,10 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
|
|
|
477
458
|
remainingArguments[_key - 2] = arguments[_key];
|
|
478
459
|
}
|
|
479
460
|
var _Element;
|
|
480
|
-
var focused = false,
|
|
461
|
+
var focused = false, richTextarea = (_Element = _easy.Element).fromClass.apply(_Element, [
|
|
481
462
|
Class,
|
|
482
463
|
properties,
|
|
483
|
-
focused
|
|
484
|
-
readOnly
|
|
464
|
+
focused
|
|
485
465
|
].concat(_toConsumableArray(remainingArguments)));
|
|
486
466
|
return richTextarea;
|
|
487
467
|
}
|
|
@@ -504,4 +484,4 @@ function defer(func) {
|
|
|
504
484
|
setTimeout(func, 0);
|
|
505
485
|
}
|
|
506
486
|
|
|
507
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yaWNoVGV4dGFyZWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBFbGVtZW50LCBkb2N1bWVudCwgZXZlbnRUeXBlcyB9IGZyb20gXCJlYXN5XCI7XHJcblxyXG5pbXBvcnQgU2VsZWN0aW9uIGZyb20gXCIuL3NlbGVjdGlvblwiXHJcbmltcG9ydCBldmVudE1peGlucyBmcm9tIFwiLi9taXhpbnMvZXZlbnRcIjtcclxuXHJcbmNvbnN0IHsgQkxVUl9FVkVOVF9UWVBFLFxyXG4gICAgICAgIElOUFVUX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgRk9DVVNfRVZFTlRfVFlQRSxcclxuICAgICAgICBDSEFOR0VfRVZFTlRfVFlQRSxcclxuICAgICAgICBTQ1JPTExfRVZFTlRfVFlQRSxcclxuICAgICAgICBTRUxFQ1RJT05DSEFOR0VfRVZFTlRfVFlQRSB9ID0gZXZlbnRUeXBlcztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJpY2hUZXh0YXJlYSBleHRlbmRzIEVsZW1lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yLCBmb2N1c2VkLCByZWFkT25seSkge1xyXG4gICAgc3VwZXIoc2VsZWN0b3IpO1xyXG5cclxuICAgIHRoaXMuZm9jdXNlZCA9IGZvY3VzZWQ7XHJcbiAgICB0aGlzLnJlYWRPbmx5ID0gcmVhZE9ubHk7XHJcbiAgfVxyXG5cclxuICBpc0ZvY3VzZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb2N1c2VkO1xyXG4gIH1cclxuXHJcbiAgaXNSZWFkT25seSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlYWRPbmx5O1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9jdXNlZChmb2N1c2VkKSB7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmb2N1c2VkO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVhZE9ubHkocmVhZE9ubHkpIHtcclxuICAgIHRoaXMucmVhZE9ubHkgPSByZWFkT25seTtcclxuICB9XHJcblxyXG4gIGlucHV0SGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgdGhpcy5pbnRlcm1lZGlhdGVIYW5kbGVyKGV2ZW50LCBlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGJsdXJIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBldmVudFR5cGUgPSBCTFVSX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmludGVybWVkaWF0ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQsIGV2ZW50VHlwZSwgc2VsZWN0aW9uQ2hhbmdlZCk7XHJcbiAgfVxyXG5cclxuICBmb2N1c0hhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XHJcblxyXG4gICAgZGVmZXIoKCkgPT4ge1xyXG4gICAgICBjb25zdCBldmVudFR5cGUgPSBGT0NVU19FVkVOVF9UWVBFLFxyXG4gICAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuaW50ZXJtZWRpYXRlSGFuZGxlcihldmVudCwgZWxlbWVudCwgZXZlbnRUeXBlLCBzZWxlY3Rpb25DaGFuZ2VkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgZXZlbnRUeXBlID0gU0NST0xMX0VWRU5UX1RZUEU7XHJcblxyXG4gICAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBjb250ZXh0bWVudUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RDaGFuZ2VIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBpZiAodGhpcy5mb2N1c2VkKSB7XHJcbiAgICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cclxuXHJcbiAgICAgIHRoaXMuaW50ZXJtZWRpYXRlSGFuZGxlcihldmVudCwgZWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbnRlcm1lZGlhdGVIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50LCBldmVudFR5cGUgPSBDSEFOR0VfRVZFTlRfVFlQRSwgc2VsZWN0aW9uQ2hhbmdlZCA9IHRoaXMuaGFzU2VsZWN0aW9uQ2hhbmdlZCgpKSA9PiB7XHJcbiAgICAvLyBpZiAodGhpcy5yZWFkT25seSkge1xyXG4gICAgLy8gICBjb25zdCBwcmV2aW91c0NvbnRlbnQgPSB0aGlzLmdldFByZXZpb3VzQ29udGVudCgpLFxyXG4gICAgLy8gICAgICAgICBjb250ZW50ID0gcHJldmlvdXNDb250ZW50OyAgLy8vXHJcbiAgICAvL1xyXG4gICAgLy8gICB0aGlzLnNldENvbnRlbnQoY29udGVudCk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gdGhpcy5oYXNDb250ZW50Q2hhbmdlZCgpO1xyXG5cclxuICAgIGlmIChjb250ZW50Q2hhbmdlZCB8fCBzZWxlY3Rpb25DaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQsICAvLy9cclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uOyAgLy8vXHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KTtcclxuXHJcbiAgICB0aGlzLnNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIGNhbGxIYW5kbGVycyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xyXG4gICAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xyXG5cclxuICAgIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcclxuICAgICAgbGV0IHsgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcjtcclxuXHJcbiAgICAgIGNvbnN0IHsgaGFuZGxlciB9ID0gZXZlbnRMaXN0ZW5lcixcclxuICAgICAgICAgICAgaGFuZGxlckVsZW1lbnQgPSBlbGVtZW50OyAvLy9cclxuXHJcbiAgICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cclxuXHJcbiAgICAgIGlmICggKGhhbmRsZXIgIT09IHRoaXMuaW5wdXRIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmJsdXJIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmZvY3VzSGFuZGxlcilcclxuICAgICAgICAmJiAoaGFuZGxlciAhPT0gdGhpcy5zY3JvbGxIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmNvbnRleHRtZW51SGFuZGxlcilcclxuICAgICAgICAmJiAoaGFuZGxlciAhPT0gdGhpcy5zZWxlY3RDaGFuZ2VIYW5kbGVyKSApIHtcclxuXHJcbiAgICAgICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzQWN0aXZlKCkge1xyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5oYXNDbGFzcyhcImFjdGl2ZVwiKTtcclxuXHJcbiAgICByZXR1cm4gYWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udGVudCgpIHtcclxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcclxuICAgICAgICAgIHsgdmFsdWUgfSA9IGRvbUVsZW1lbnQsXHJcbiAgICAgICAgICBjb250ZW50ID0gdmFsdWU7ICAvLy9cclxuXHJcbiAgICByZXR1cm4gY29udGVudDtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGlvbigpIHtcclxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcclxuICAgICAgICAgIHNlbGVjdGlvbiA9IFNlbGVjdGlvbi5mcm9tRE9NRWxlbWVudChkb21FbGVtZW50KTtcclxuXHJcbiAgICByZXR1cm4gc2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRDb250ZW50KCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIGVuZFBvc2l0aW9uID0gc2VsZWN0aW9uLmdldEVuZFBvc2l0aW9uKCksXHJcbiAgICAgICAgICBzdGFydFBvc2l0aW9uID0gc2VsZWN0aW9uLmdldFN0YXJ0UG9zaXRpb24oKSxcclxuICAgICAgICAgIHN0YXJ0ID0gc3RhcnRQb3NpdGlvbiwgIC8vL1xyXG4gICAgICAgICAgZW5kID0gZW5kUG9zaXRpb24sICAvLy9cclxuICAgICAgICAgIHNlbGVjdGVkQ29udGVudCA9IGNvbnRlbnQuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcblxyXG4gICAgcmV0dXJuIHNlbGVjdGVkQ29udGVudDtcclxuICB9XHJcblxyXG4gIGhhc0NvbnRlbnRDaGFuZ2VkKCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgcHJldmlvdXNDb250ZW50ID0gdGhpcy5nZXRQcmV2aW91c0NvbnRlbnQoKSxcclxuICAgICAgICAgIGNvbnRlbnRQcmV2aW91c0NvbnRlbnQgPSAoY29udGVudCA9PT0gcHJldmlvdXNDb250ZW50KSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gIWNvbnRlbnRQcmV2aW91c0NvbnRlbnQ7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnRDaGFuZ2VkO1xyXG4gIH1cclxuXHJcbiAgaGFzU2VsZWN0aW9uQ2hhbmdlZCgpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCksXHJcbiAgICAgICAgICBwcmV2aW91c1NlbGVjdGlvbiA9IHRoaXMuZ2V0UHJldmlvdXNTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uLmlzRXF1YWxUbyhwcmV2aW91c1NlbGVjdGlvbiksXHJcbiAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkID0gIXNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uOyAvLy9cclxuXHJcbiAgICByZXR1cm4gc2VsZWN0aW9uQ2hhbmdlZDtcclxuICB9XHJcblxyXG4gIHNldENvbnRlbnQoY29udGVudCwgc2V0UHJldmlvdXNDb250ZW50ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250ZW50LCAgLy8vXHJcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XHJcbiAgICAgIHZhbHVlXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoc2V0UHJldmlvdXNDb250ZW50KSB7XHJcbiAgICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQ7ICAvLy9cclxuXHJcbiAgICAgIHRoaXMuc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBzZXRQcmV2aW91c1NlbGVjdGlvbiA9IHRydWUpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0UG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0U3RhcnRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kUG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0RW5kUG9zaXRpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiwgIC8vL1xyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kID0gc2VsZWN0aW9uRW5kUG9zaXRpb24sICAvLy9cclxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcclxuXHJcbiAgICBkb21FbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpO1xyXG5cclxuICAgIGlmIChzZXRQcmV2aW91c1NlbGVjdGlvbikge1xyXG4gICAgICBjb25zdCBwcmV2aW91c1NlbGVjdGlvbiA9IHNlbGVjdGlvbjsgIC8vL1xyXG5cclxuICAgICAgdGhpcy5zZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMub24oSU5QVVRfRVZFTlRfVFlQRSwgdGhpcy5pbnB1dEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub24oQkxVUl9FVkVOVF9UWVBFLCB0aGlzLmJsdXJIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKEZPQ1VTX0VWRU5UX1RZUEUsIHRoaXMuZm9jdXNIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIGRvY3VtZW50Lm9uKFNFTEVDVElPTkNIQU5HRV9FVkVOVF9UWVBFLCB0aGlzLnNlbGVjdENoYW5nZUhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMuYWRkQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgfVxyXG5cclxuICBkZWFjdGl2YXRlKCkge1xyXG4gICAgdGhpcy5vZmYoSU5QVVRfRVZFTlRfVFlQRSwgdGhpcy5pbnB1dEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub2ZmKEJMVVJfRVZFTlRfVFlQRSwgdGhpcy5ibHVySGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vZmYoRk9DVVNfRVZFTlRfVFlQRSwgdGhpcy5mb2N1c0hhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub2ZmKFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIGRvY3VtZW50Lm9mZihTRUxFQ1RJT05DSEFOR0VfRVZFTlRfVFlQRSwgdGhpcy5zZWxlY3RDaGFuZ2VIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJldmlvdXNDb250ZW50KCkge1xyXG4gICAgY29uc3QgeyBwcmV2aW91c0NvbnRlbnQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcclxuXHJcbiAgICByZXR1cm4gcHJldmlvdXNDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJldmlvdXNTZWxlY3Rpb24oKSB7XHJcbiAgICBjb25zdCB7IHByZXZpb3VzU2VsZWN0aW9uIH0gPSB0aGlzLmdldFN0YXRlKCk7XHJcblxyXG4gICAgcmV0dXJuIHByZXZpb3VzU2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCkge1xyXG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XHJcbiAgICAgIHByZXZpb3VzQ29udGVudFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbikge1xyXG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XHJcbiAgICAgIHByZXZpb3VzU2VsZWN0aW9uXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBvbkJsdXIsIG9uRm9jdXMsIG9uU2Nyb2xsLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgYmx1ckhhbmRsZXIgPSBvbkJsdXIsIC8vL1xyXG4gICAgICAgICAgZm9jdXNIYW5kbGVyID0gb25Gb2N1cywgLy8vXHJcbiAgICAgICAgICBzY3JvbGxIYW5kbGVyID0gb25TY3JvbGwsIC8vL1xyXG4gICAgICAgICAgY2hhbmdlSGFuZGxlciA9IG9uQ2hhbmdlOyAvLy9cclxuXHJcbiAgICB0aGlzLnVwZGF0ZUluaXRpYWxTdGF0ZSgpO1xyXG5cclxuICAgIGJsdXJIYW5kbGVyICYmIHRoaXMub25CbHVyKGJsdXJIYW5kbGVyLCB0aGlzKTtcclxuXHJcbiAgICBmb2N1c0hhbmRsZXIgJiYgdGhpcy5vbkZvY3VzKGZvY3VzSGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgc2Nyb2xsSGFuZGxlciAmJiB0aGlzLm9uU2Nyb2xsKHNjcm9sbEhhbmRsZXIsIHRoaXMpO1xyXG5cclxuICAgIGNoYW5nZUhhbmRsZXIgJiYgdGhpcy5vbkNoYW5nZShjaGFuZ2VIYW5kbGVyLCB0aGlzKTtcclxuICB9XHJcblxyXG4gIHdpbGxVbm1vdW50KCkge1xyXG4gICAgY29uc3QgeyBvbkJsdXIsIG9uRm9jdXMsIG9uU2Nyb2xsLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgICBibHVySGFuZGxlciA9IG9uQmx1ciwgLy8vXHJcbiAgICAgICAgICAgIGZvY3VzSGFuZGxlciA9IG9uRm9jdXMsIC8vL1xyXG4gICAgICAgICAgICBzY3JvbGxIYW5kbGVyID0gb25TY3JvbGwsIC8vL1xyXG4gICAgICAgICAgICBjaGFuZ2VIYW5kbGVyID0gb25DaGFuZ2U7IC8vL1xyXG5cclxuICAgIGJsdXJIYW5kbGVyICYmIHRoaXMub2ZmQmx1cihibHVySGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgZm9jdXNIYW5kbGVyICYmIHRoaXMub2ZmRm9jdXMoZm9jdXNIYW5kbGVyLCB0aGlzKTtcclxuXHJcbiAgICBzY3JvbGxIYW5kbGVyICYmIHRoaXMub2ZmU2Nyb2xsKHNjcm9sbEhhbmRsZXIsIHRoaXMpO1xyXG5cclxuICAgIGNoYW5nZUhhbmRsZXIgJiYgdGhpcy5vZmZDaGFuZ2UoY2hhbmdlSGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG5cclxuICAgIGlmIChhY3RpdmUpIHtcclxuICAgICAgdGhpcy5kZWFjdGl2YXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVJbml0aWFsU3RhdGUoKSB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXHJcbiAgICAgICAgICBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpLFxyXG4gICAgICAgICAgcHJldmlvdXNDb250ZW50ID0gY29udGVudCwgIC8vL1xyXG4gICAgICAgICAgcHJldmlvdXNTZWxlY3Rpb24gPSBzZWxlY3Rpb247ICAvLy9cclxuXHJcbiAgICB0aGlzLnNldFByZXZpb3VzQ29udGVudChwcmV2aW91c0NvbnRlbnQpO1xyXG5cclxuICAgIHRoaXMuc2V0UHJldmlvdXNTZWxlY3Rpb24ocHJldmlvdXNTZWxlY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xyXG4gICAgY29uc3QgcHJldmlvdXNDb250ZW50ID0gbnVsbCxcclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgcHJldmlvdXNDb250ZW50LFxyXG4gICAgICBwcmV2aW91c1NlbGVjdGlvblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXNlKCkge1xyXG4gICAgdGhpcy5zZXRJbml0aWFsU3RhdGUoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJ0ZXh0YXJlYVwiO1xyXG5cclxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXHJcbiAgICBcIm9uQmx1clwiLFxyXG4gICAgXCJvbkZvY3VzXCIsXHJcbiAgICBcIm9uU2Nyb2xsXCIsXHJcbiAgICBcIm9uQ2hhbmdlXCJcclxuICBdO1xyXG5cclxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XHJcbiAgICBjbGFzc05hbWU6IFwicmljaFwiXHJcbiAgfTtcclxuXHJcbiAgc3RhdGljIGZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XHJcbiAgICBjb25zdCBmb2N1c2VkID0gZmFsc2UsXHJcbiAgICAgICAgICByZWFkT25seSA9IGZhbHNlLFxyXG4gICAgICAgICAgcmljaFRleHRhcmVhID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIGZvY3VzZWQsIHJlYWRPbmx5LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xyXG5cclxuICAgIHJldHVybiByaWNoVGV4dGFyZWE7XHJcbiAgfVxyXG59XHJcblxyXG5PYmplY3QuYXNzaWduKFJpY2hUZXh0YXJlYS5wcm90b3R5cGUsIGV2ZW50TWl4aW5zKTtcclxuXHJcbmZ1bmN0aW9uIGRlZmVyKGZ1bmMpIHtcclxuICBzZXRUaW1lb3V0KGZ1bmMsIDApO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJSaWNoVGV4dGFyZWEiLCJCTFVSX0VWRU5UX1RZUEUiLCJldmVudFR5cGVzIiwiSU5QVVRfRVZFTlRfVFlQRSIsIkZPQ1VTX0VWRU5UX1RZUEUiLCJDSEFOR0VfRVZFTlRfVFlQRSIsIlNDUk9MTF9FVkVOVF9UWVBFIiwiU0VMRUNUSU9OQ0hBTkdFX0VWRU5UX1RZUEUiLCJzZWxlY3RvciIsImZvY3VzZWQiLCJyZWFkT25seSIsImlucHV0SGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsImludGVybWVkaWF0ZUhhbmRsZXIiLCJibHVySGFuZGxlciIsImV2ZW50VHlwZSIsInNlbGVjdGlvbkNoYW5nZWQiLCJmb2N1c0hhbmRsZXIiLCJkZWZlciIsInNjcm9sbEhhbmRsZXIiLCJjYWxsSGFuZGxlcnMiLCJjb250ZXh0bWVudUhhbmRsZXIiLCJwcmV2ZW50RGVmYXVsdCIsInNlbGVjdENoYW5nZUhhbmRsZXIiLCJoYXNTZWxlY3Rpb25DaGFuZ2VkIiwiY29udGVudCIsImdldENvbnRlbnQiLCJzZWxlY3Rpb24iLCJnZXRTZWxlY3Rpb24iLCJjb250ZW50Q2hhbmdlZCIsImhhc0NvbnRlbnRDaGFuZ2VkIiwicHJldmlvdXNDb250ZW50IiwicHJldmlvdXNTZWxlY3Rpb24iLCJzZXRQcmV2aW91c0NvbnRlbnQiLCJzZXRQcmV2aW91c1NlbGVjdGlvbiIsImlzRm9jdXNlZCIsImlzUmVhZE9ubHkiLCJzZXRGb2N1c2VkIiwic2V0UmVhZE9ubHkiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJldmVudExpc3RlbmVycyIsImZpbmRFdmVudExpc3RlbmVycyIsImZvckVhY2giLCJldmVudExpc3RlbmVyIiwiaGFuZGxlciIsImhhbmRsZXJFbGVtZW50IiwiY2FsbCIsImlzQWN0aXZlIiwiYWN0aXZlIiwiaGFzQ2xhc3MiLCJkb21FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsInZhbHVlIiwiU2VsZWN0aW9uIiwiZnJvbURPTUVsZW1lbnQiLCJnZXRTZWxlY3RlZENvbnRlbnQiLCJlbmRQb3NpdGlvbiIsImdldEVuZFBvc2l0aW9uIiwic3RhcnRQb3NpdGlvbiIsImdldFN0YXJ0UG9zaXRpb24iLCJzdGFydCIsImVuZCIsInNlbGVjdGVkQ29udGVudCIsInNsaWNlIiwiZ2V0UHJldmlvdXNDb250ZW50IiwiY29udGVudFByZXZpb3VzQ29udGVudCIsImdldFByZXZpb3VzU2VsZWN0aW9uIiwic2VsZWN0aW9uUHJldmlvdXNTZWxlY3Rpb24iLCJpc0VxdWFsVG8iLCJzZXRDb250ZW50IiwiT2JqZWN0IiwiYXNzaWduIiwic2V0U2VsZWN0aW9uIiwic2VsZWN0aW9uU3RhcnRQb3NpdGlvbiIsInNlbGVjdGlvbkVuZFBvc2l0aW9uIiwic2VsZWN0aW9uU3RhcnQiLCJzZWxlY3Rpb25FbmQiLCJzZXRTZWxlY3Rpb25SYW5nZSIsImFjdGl2YXRlIiwib24iLCJkb2N1bWVudCIsImFkZENsYXNzIiwiZGVhY3RpdmF0ZSIsIm9mZiIsInJlbW92ZUNsYXNzIiwiZ2V0U3RhdGUiLCJ1cGRhdGVTdGF0ZSIsImRpZE1vdW50IiwicHJvcGVydGllcyIsIm9uQmx1ciIsIm9uRm9jdXMiLCJvblNjcm9sbCIsIm9uQ2hhbmdlIiwiY2hhbmdlSGFuZGxlciIsInVwZGF0ZUluaXRpYWxTdGF0ZSIsIndpbGxVbm1vdW50Iiwib2ZmQmx1ciIsIm9mZkZvY3VzIiwib2ZmU2Nyb2xsIiwib2ZmQ2hhbmdlIiwic2V0SW5pdGlhbFN0YXRlIiwic2V0U3RhdGUiLCJpbml0aWFsaXNlIiwiZnJvbUNsYXNzIiwiQ2xhc3MiLCJFbGVtZW50IiwicmljaFRleHRhcmVhIiwidGFnTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJwcm90b3R5cGUiLCJldmVudE1peGlucyIsImZ1bmMiLCJzZXRUaW1lb3V0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWNxQkE7OztvQkFaeUI7OERBRXhCOzBEQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEIsSUFBUUMsa0JBSytCQyxnQkFBVSxDQUx6Q0QsaUJBQ0FFLG1CQUkrQkQsZ0JBQVUsQ0FKekNDLGtCQUNBQyxtQkFHK0JGLGdCQUFVLENBSHpDRSxrQkFDQUMsb0JBRStC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
|
|
487
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yaWNoVGV4dGFyZWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBFbGVtZW50LCBkb2N1bWVudCwgZXZlbnRUeXBlcyB9IGZyb20gXCJlYXN5XCI7XHJcblxyXG5pbXBvcnQgU2VsZWN0aW9uIGZyb20gXCIuL3NlbGVjdGlvblwiXHJcbmltcG9ydCBldmVudE1peGlucyBmcm9tIFwiLi9taXhpbnMvZXZlbnRcIjtcclxuXHJcbmNvbnN0IHsgQkxVUl9FVkVOVF9UWVBFLFxyXG4gICAgICAgIElOUFVUX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgRk9DVVNfRVZFTlRfVFlQRSxcclxuICAgICAgICBDSEFOR0VfRVZFTlRfVFlQRSxcclxuICAgICAgICBTQ1JPTExfRVZFTlRfVFlQRSxcclxuICAgICAgICBTRUxFQ1RJT05DSEFOR0VfRVZFTlRfVFlQRSB9ID0gZXZlbnRUeXBlcztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJpY2hUZXh0YXJlYSBleHRlbmRzIEVsZW1lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yLCBmb2N1c2VkKSB7XHJcbiAgICBzdXBlcihzZWxlY3Rvcik7XHJcblxyXG4gICAgdGhpcy5mb2N1c2VkID0gZm9jdXNlZDtcclxuICB9XHJcblxyXG4gIGlzRm9jdXNlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvY3VzZWQ7XHJcbiAgfVxyXG5cclxuICBzZXRGb2N1c2VkKGZvY3VzZWQpIHtcclxuICAgIHRoaXMuZm9jdXNlZCA9IGZvY3VzZWQ7XHJcbiAgfVxyXG5cclxuICBpbnB1dEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIHRoaXMuaW50ZXJtZWRpYXRlSGFuZGxlcihldmVudCwgZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBibHVySGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgZXZlbnRUeXBlID0gQkxVUl9FVkVOVF9UWVBFLFxyXG4gICAgICAgICAgc2VsZWN0aW9uQ2hhbmdlZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5pbnRlcm1lZGlhdGVIYW5kbGVyKGV2ZW50LCBlbGVtZW50LCBldmVudFR5cGUsIHNlbGVjdGlvbkNoYW5nZWQpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xyXG5cclxuICAgIGRlZmVyKCgpID0+IHtcclxuICAgICAgY29uc3QgZXZlbnRUeXBlID0gRk9DVVNfRVZFTlRfVFlQRSxcclxuICAgICAgICAgICAgc2VsZWN0aW9uQ2hhbmdlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLmludGVybWVkaWF0ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQsIGV2ZW50VHlwZSwgc2VsZWN0aW9uQ2hhbmdlZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNjcm9sbEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIGNvbnN0IGV2ZW50VHlwZSA9IFNDUk9MTF9FVkVOVF9UWVBFO1xyXG5cclxuICAgIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgY29udGV4dG1lbnVIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Q2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuZm9jdXNlZCkge1xyXG4gICAgICBlbGVtZW50ID0gdGhpczsgLy8vXHJcblxyXG4gICAgICB0aGlzLmludGVybWVkaWF0ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW50ZXJtZWRpYXRlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgZXZlbnRUeXBlID0gQ0hBTkdFX0VWRU5UX1RZUEUsIHNlbGVjdGlvbkNoYW5nZWQgPSB0aGlzLmhhc1NlbGVjdGlvbkNoYW5nZWQoKSkgPT4ge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gdGhpcy5oYXNDb250ZW50Q2hhbmdlZCgpO1xyXG5cclxuICAgIGlmIChjb250ZW50Q2hhbmdlZCB8fCBzZWxlY3Rpb25DaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQsICAvLy9cclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uOyAgLy8vXHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KTtcclxuXHJcbiAgICB0aGlzLnNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIGNhbGxIYW5kbGVycyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xyXG4gICAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xyXG5cclxuICAgIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcclxuICAgICAgbGV0IHsgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcjtcclxuXHJcbiAgICAgIGNvbnN0IHsgaGFuZGxlciB9ID0gZXZlbnRMaXN0ZW5lcixcclxuICAgICAgICAgICAgaGFuZGxlckVsZW1lbnQgPSBlbGVtZW50OyAvLy9cclxuXHJcbiAgICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cclxuXHJcbiAgICAgIGlmICggKGhhbmRsZXIgIT09IHRoaXMuaW5wdXRIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmJsdXJIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmZvY3VzSGFuZGxlcilcclxuICAgICAgICAmJiAoaGFuZGxlciAhPT0gdGhpcy5zY3JvbGxIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmNvbnRleHRtZW51SGFuZGxlcilcclxuICAgICAgICAmJiAoaGFuZGxlciAhPT0gdGhpcy5zZWxlY3RDaGFuZ2VIYW5kbGVyKSApIHtcclxuXHJcbiAgICAgICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzQWN0aXZlKCkge1xyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5oYXNDbGFzcyhcImFjdGl2ZVwiKTtcclxuXHJcbiAgICByZXR1cm4gYWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udGVudCgpIHtcclxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcclxuICAgICAgICAgIHsgdmFsdWUgfSA9IGRvbUVsZW1lbnQsXHJcbiAgICAgICAgICBjb250ZW50ID0gdmFsdWU7ICAvLy9cclxuXHJcbiAgICByZXR1cm4gY29udGVudDtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGlvbigpIHtcclxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcclxuICAgICAgICAgIHNlbGVjdGlvbiA9IFNlbGVjdGlvbi5mcm9tRE9NRWxlbWVudChkb21FbGVtZW50KTtcclxuXHJcbiAgICByZXR1cm4gc2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRDb250ZW50KCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIGVuZFBvc2l0aW9uID0gc2VsZWN0aW9uLmdldEVuZFBvc2l0aW9uKCksXHJcbiAgICAgICAgICBzdGFydFBvc2l0aW9uID0gc2VsZWN0aW9uLmdldFN0YXJ0UG9zaXRpb24oKSxcclxuICAgICAgICAgIHN0YXJ0ID0gc3RhcnRQb3NpdGlvbiwgIC8vL1xyXG4gICAgICAgICAgZW5kID0gZW5kUG9zaXRpb24sICAvLy9cclxuICAgICAgICAgIHNlbGVjdGVkQ29udGVudCA9IGNvbnRlbnQuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcblxyXG4gICAgcmV0dXJuIHNlbGVjdGVkQ29udGVudDtcclxuICB9XHJcblxyXG4gIGhhc0NvbnRlbnRDaGFuZ2VkKCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgcHJldmlvdXNDb250ZW50ID0gdGhpcy5nZXRQcmV2aW91c0NvbnRlbnQoKSxcclxuICAgICAgICAgIGNvbnRlbnRQcmV2aW91c0NvbnRlbnQgPSAoY29udGVudCA9PT0gcHJldmlvdXNDb250ZW50KSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gIWNvbnRlbnRQcmV2aW91c0NvbnRlbnQ7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnRDaGFuZ2VkO1xyXG4gIH1cclxuXHJcbiAgaGFzU2VsZWN0aW9uQ2hhbmdlZCgpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCksXHJcbiAgICAgICAgICBwcmV2aW91c1NlbGVjdGlvbiA9IHRoaXMuZ2V0UHJldmlvdXNTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uLmlzRXF1YWxUbyhwcmV2aW91c1NlbGVjdGlvbiksXHJcbiAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkID0gIXNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uOyAvLy9cclxuXHJcbiAgICByZXR1cm4gc2VsZWN0aW9uQ2hhbmdlZDtcclxuICB9XHJcblxyXG4gIHNldENvbnRlbnQoY29udGVudCwgc2V0UHJldmlvdXNDb250ZW50ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250ZW50LCAgLy8vXHJcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XHJcbiAgICAgIHZhbHVlXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoc2V0UHJldmlvdXNDb250ZW50KSB7XHJcbiAgICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQ7ICAvLy9cclxuXHJcbiAgICAgIHRoaXMuc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBzZXRQcmV2aW91c1NlbGVjdGlvbiA9IHRydWUpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0UG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0U3RhcnRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kUG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0RW5kUG9zaXRpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiwgIC8vL1xyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kID0gc2VsZWN0aW9uRW5kUG9zaXRpb24sICAvLy9cclxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcclxuXHJcbiAgICBkb21FbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpO1xyXG5cclxuICAgIGlmIChzZXRQcmV2aW91c1NlbGVjdGlvbikge1xyXG4gICAgICBjb25zdCBwcmV2aW91c1NlbGVjdGlvbiA9IHNlbGVjdGlvbjsgIC8vL1xyXG5cclxuICAgICAgdGhpcy5zZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMub24oSU5QVVRfRVZFTlRfVFlQRSwgdGhpcy5pbnB1dEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub24oQkxVUl9FVkVOVF9UWVBFLCB0aGlzLmJsdXJIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKEZPQ1VTX0VWRU5UX1RZUEUsIHRoaXMuZm9jdXNIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIGRvY3VtZW50Lm9uKFNFTEVDVElPTkNIQU5HRV9FVkVOVF9UWVBFLCB0aGlzLnNlbGVjdENoYW5nZUhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMuYWRkQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgfVxyXG5cclxuICBkZWFjdGl2YXRlKCkge1xyXG4gICAgdGhpcy5vZmYoSU5QVVRfRVZFTlRfVFlQRSwgdGhpcy5pbnB1dEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub2ZmKEJMVVJfRVZFTlRfVFlQRSwgdGhpcy5ibHVySGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vZmYoRk9DVVNfRVZFTlRfVFlQRSwgdGhpcy5mb2N1c0hhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub2ZmKFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIGRvY3VtZW50Lm9mZihTRUxFQ1RJT05DSEFOR0VfRVZFTlRfVFlQRSwgdGhpcy5zZWxlY3RDaGFuZ2VIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJldmlvdXNDb250ZW50KCkge1xyXG4gICAgY29uc3QgeyBwcmV2aW91c0NvbnRlbnQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcclxuXHJcbiAgICByZXR1cm4gcHJldmlvdXNDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJldmlvdXNTZWxlY3Rpb24oKSB7XHJcbiAgICBjb25zdCB7IHByZXZpb3VzU2VsZWN0aW9uIH0gPSB0aGlzLmdldFN0YXRlKCk7XHJcblxyXG4gICAgcmV0dXJuIHByZXZpb3VzU2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCkge1xyXG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XHJcbiAgICAgIHByZXZpb3VzQ29udGVudFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbikge1xyXG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XHJcbiAgICAgIHByZXZpb3VzU2VsZWN0aW9uXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBvbkJsdXIsIG9uRm9jdXMsIG9uU2Nyb2xsLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgYmx1ckhhbmRsZXIgPSBvbkJsdXIsIC8vL1xyXG4gICAgICAgICAgZm9jdXNIYW5kbGVyID0gb25Gb2N1cywgLy8vXHJcbiAgICAgICAgICBzY3JvbGxIYW5kbGVyID0gb25TY3JvbGwsIC8vL1xyXG4gICAgICAgICAgY2hhbmdlSGFuZGxlciA9IG9uQ2hhbmdlOyAvLy9cclxuXHJcbiAgICB0aGlzLnVwZGF0ZUluaXRpYWxTdGF0ZSgpO1xyXG5cclxuICAgIGJsdXJIYW5kbGVyICYmIHRoaXMub25CbHVyKGJsdXJIYW5kbGVyLCB0aGlzKTtcclxuXHJcbiAgICBmb2N1c0hhbmRsZXIgJiYgdGhpcy5vbkZvY3VzKGZvY3VzSGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgc2Nyb2xsSGFuZGxlciAmJiB0aGlzLm9uU2Nyb2xsKHNjcm9sbEhhbmRsZXIsIHRoaXMpO1xyXG5cclxuICAgIGNoYW5nZUhhbmRsZXIgJiYgdGhpcy5vbkNoYW5nZShjaGFuZ2VIYW5kbGVyLCB0aGlzKTtcclxuICB9XHJcblxyXG4gIHdpbGxVbm1vdW50KCkge1xyXG4gICAgY29uc3QgeyBvbkJsdXIsIG9uRm9jdXMsIG9uU2Nyb2xsLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgICBibHVySGFuZGxlciA9IG9uQmx1ciwgLy8vXHJcbiAgICAgICAgICAgIGZvY3VzSGFuZGxlciA9IG9uRm9jdXMsIC8vL1xyXG4gICAgICAgICAgICBzY3JvbGxIYW5kbGVyID0gb25TY3JvbGwsIC8vL1xyXG4gICAgICAgICAgICBjaGFuZ2VIYW5kbGVyID0gb25DaGFuZ2U7IC8vL1xyXG5cclxuICAgIGJsdXJIYW5kbGVyICYmIHRoaXMub2ZmQmx1cihibHVySGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgZm9jdXNIYW5kbGVyICYmIHRoaXMub2ZmRm9jdXMoZm9jdXNIYW5kbGVyLCB0aGlzKTtcclxuXHJcbiAgICBzY3JvbGxIYW5kbGVyICYmIHRoaXMub2ZmU2Nyb2xsKHNjcm9sbEhhbmRsZXIsIHRoaXMpO1xyXG5cclxuICAgIGNoYW5nZUhhbmRsZXIgJiYgdGhpcy5vZmZDaGFuZ2UoY2hhbmdlSGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG5cclxuICAgIGlmIChhY3RpdmUpIHtcclxuICAgICAgdGhpcy5kZWFjdGl2YXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVJbml0aWFsU3RhdGUoKSB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXHJcbiAgICAgICAgICBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpLFxyXG4gICAgICAgICAgcHJldmlvdXNDb250ZW50ID0gY29udGVudCwgIC8vL1xyXG4gICAgICAgICAgcHJldmlvdXNTZWxlY3Rpb24gPSBzZWxlY3Rpb247ICAvLy9cclxuXHJcbiAgICB0aGlzLnNldFByZXZpb3VzQ29udGVudChwcmV2aW91c0NvbnRlbnQpO1xyXG5cclxuICAgIHRoaXMuc2V0UHJldmlvdXNTZWxlY3Rpb24ocHJldmlvdXNTZWxlY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xyXG4gICAgY29uc3QgcHJldmlvdXNDb250ZW50ID0gbnVsbCxcclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgcHJldmlvdXNDb250ZW50LFxyXG4gICAgICBwcmV2aW91c1NlbGVjdGlvblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXNlKCkge1xyXG4gICAgdGhpcy5zZXRJbml0aWFsU3RhdGUoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJ0ZXh0YXJlYVwiO1xyXG5cclxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXHJcbiAgICBcIm9uQmx1clwiLFxyXG4gICAgXCJvbkZvY3VzXCIsXHJcbiAgICBcIm9uU2Nyb2xsXCIsXHJcbiAgICBcIm9uQ2hhbmdlXCJcclxuICBdO1xyXG5cclxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XHJcbiAgICBjbGFzc05hbWU6IFwicmljaFwiXHJcbiAgfTtcclxuXHJcbiAgc3RhdGljIGZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XHJcbiAgICBjb25zdCBmb2N1c2VkID0gZmFsc2UsXHJcbiAgICAgICAgICByaWNoVGV4dGFyZWEgPSBFbGVtZW50LmZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgZm9jdXNlZCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcclxuXHJcbiAgICByZXR1cm4gcmljaFRleHRhcmVhO1xyXG4gIH1cclxufVxyXG5cclxuT2JqZWN0LmFzc2lnbihSaWNoVGV4dGFyZWEucHJvdG90eXBlLCBldmVudE1peGlucyk7XHJcblxyXG5mdW5jdGlvbiBkZWZlcihmdW5jKSB7XHJcbiAgc2V0VGltZW91dChmdW5jLCAwKTtcclxufVxyXG4iXSwibmFtZXMiOlsiUmljaFRleHRhcmVhIiwiQkxVUl9FVkVOVF9UWVBFIiwiZXZlbnRUeXBlcyIsIklOUFVUX0VWRU5UX1RZUEUiLCJGT0NVU19FVkVOVF9UWVBFIiwiQ0hBTkdFX0VWRU5UX1RZUEUiLCJTQ1JPTExfRVZFTlRfVFlQRSIsIlNFTEVDVElPTkNIQU5HRV9FVkVOVF9UWVBFIiwic2VsZWN0b3IiLCJmb2N1c2VkIiwiaW5wdXRIYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiaW50ZXJtZWRpYXRlSGFuZGxlciIsImJsdXJIYW5kbGVyIiwiZXZlbnRUeXBlIiwic2VsZWN0aW9uQ2hhbmdlZCIsImZvY3VzSGFuZGxlciIsImRlZmVyIiwic2Nyb2xsSGFuZGxlciIsImNhbGxIYW5kbGVycyIsImNvbnRleHRtZW51SGFuZGxlciIsInByZXZlbnREZWZhdWx0Iiwic2VsZWN0Q2hhbmdlSGFuZGxlciIsImhhc1NlbGVjdGlvbkNoYW5nZWQiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInNlbGVjdGlvbiIsImdldFNlbGVjdGlvbiIsImNvbnRlbnRDaGFuZ2VkIiwiaGFzQ29udGVudENoYW5nZWQiLCJwcmV2aW91c0NvbnRlbnQiLCJwcmV2aW91c1NlbGVjdGlvbiIsInNldFByZXZpb3VzQ29udGVudCIsInNldFByZXZpb3VzU2VsZWN0aW9uIiwiaXNGb2N1c2VkIiwic2V0Rm9jdXNlZCIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImV2ZW50TGlzdGVuZXJzIiwiZmluZEV2ZW50TGlzdGVuZXJzIiwiZm9yRWFjaCIsImV2ZW50TGlzdGVuZXIiLCJoYW5kbGVyIiwiaGFuZGxlckVsZW1lbnQiLCJjYWxsIiwiaXNBY3RpdmUiLCJhY3RpdmUiLCJoYXNDbGFzcyIsImRvbUVsZW1lbnQiLCJnZXRET01FbGVtZW50IiwidmFsdWUiLCJTZWxlY3Rpb24iLCJmcm9tRE9NRWxlbWVudCIsImdldFNlbGVjdGVkQ29udGVudCIsImVuZFBvc2l0aW9uIiwiZ2V0RW5kUG9zaXRpb24iLCJzdGFydFBvc2l0aW9uIiwiZ2V0U3RhcnRQb3NpdGlvbiIsInN0YXJ0IiwiZW5kIiwic2VsZWN0ZWRDb250ZW50Iiwic2xpY2UiLCJnZXRQcmV2aW91c0NvbnRlbnQiLCJjb250ZW50UHJldmlvdXNDb250ZW50IiwiZ2V0UHJldmlvdXNTZWxlY3Rpb24iLCJzZWxlY3Rpb25QcmV2aW91c1NlbGVjdGlvbiIsImlzRXF1YWxUbyIsInNldENvbnRlbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXRTZWxlY3Rpb24iLCJzZWxlY3Rpb25TdGFydFBvc2l0aW9uIiwic2VsZWN0aW9uRW5kUG9zaXRpb24iLCJzZWxlY3Rpb25TdGFydCIsInNlbGVjdGlvbkVuZCIsInNldFNlbGVjdGlvblJhbmdlIiwiYWN0aXZhdGUiLCJvbiIsImRvY3VtZW50IiwiYWRkQ2xhc3MiLCJkZWFjdGl2YXRlIiwib2ZmIiwicmVtb3ZlQ2xhc3MiLCJnZXRTdGF0ZSIsInVwZGF0ZVN0YXRlIiwiZGlkTW91bnQiLCJwcm9wZXJ0aWVzIiwib25CbHVyIiwib25Gb2N1cyIsIm9uU2Nyb2xsIiwib25DaGFuZ2UiLCJjaGFuZ2VIYW5kbGVyIiwidXBkYXRlSW5pdGlhbFN0YXRlIiwid2lsbFVubW91bnQiLCJvZmZCbHVyIiwib2ZmRm9jdXMiLCJvZmZTY3JvbGwiLCJvZmZDaGFuZ2UiLCJzZXRJbml0aWFsU3RhdGUiLCJzZXRTdGF0ZSIsImluaXRpYWxpc2UiLCJmcm9tQ2xhc3MiLCJDbGFzcyIsIkVsZW1lbnQiLCJyaWNoVGV4dGFyZWEiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsInByb3RvdHlwZSIsImV2ZW50TWl4aW5zIiwiZnVuYyIsInNldFRpbWVvdXQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBY3FCQTs7O29CQVp5Qjs4REFFeEI7MERBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QixJQUFRQyxrQkFLK0JDLGdCQUFVLENBTHpDRCxpQkFDQUUsbUJBSStCRCxnQkFBVSxDQUp6Q0Msa0JBQ0FDLG1CQUcrQkYsZ0JBQVUsQ0FIekNFLGtCQUNBQyxvQkFFK0JILGdCQUFVLENBRnpDRyxtQkFDQUMsb0JBQytCSixnQkFBVSxDQUR6Q0ksbUJBQ0FDLDZCQUErQkwsZ0JBQVUsQ0FBekNLO0FBRU8sSUFBQSxBQUFNUCw2QkE2VHBCLEFBN1RjO2NBQU1BOzhCQUFBQTthQUFBQSxhQUNQUSxRQUFRLEVBQUVDLE9BQU87OEJBRFZUOztrQ0FFWFE7UUFhUkUsK0NBQUFBLGdCQUFlLFNBQUNDLE9BQU9DLFNBQVk7WUFDakMsTUFBS0MsbUJBQW1CLENBQUNGLE9BQU9DO1FBQ2xDO1FBRUFFLCtDQUFBQSxlQUFjLFNBQUNILE9BQU9DLFNBQVk7WUFDaEMsTUFBS0gsT0FBTyxHQUFHLEtBQUs7WUFFcEIsSUFBTU0sWUFBWWQsaUJBQ1plLG1CQUFtQixJQUFJO1lBRTdCLE1BQUtILG1CQUFtQixDQUFDRixPQUFPQyxTQUFTRyxXQUFXQztRQUN0RDtRQUVBQywrQ0FBQUEsZ0JBQWUsU0FBQ04sT0FBT0MsU0FBWTtZQUNqQyxNQUFLSCxPQUFPLEdBQUcsSUFBSTtZQUVuQlMsTUFBTSxXQUFNO2dCQUNW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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "easy-richtextarea",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "4.0.
|
|
4
|
+
"version": "4.0.39",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/easy-richtextarea",
|
|
7
7
|
"description": "A textarea element that handles and hands off events well.",
|
package/src/richTextarea.js
CHANGED
|
@@ -13,29 +13,20 @@ const { BLUR_EVENT_TYPE,
|
|
|
13
13
|
SELECTIONCHANGE_EVENT_TYPE } = eventTypes;
|
|
14
14
|
|
|
15
15
|
export default class RichTextarea extends Element {
|
|
16
|
-
constructor(selector, focused
|
|
16
|
+
constructor(selector, focused) {
|
|
17
17
|
super(selector);
|
|
18
18
|
|
|
19
19
|
this.focused = focused;
|
|
20
|
-
this.readOnly = readOnly;
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
isFocused() {
|
|
24
23
|
return this.focused;
|
|
25
24
|
}
|
|
26
25
|
|
|
27
|
-
isReadOnly() {
|
|
28
|
-
return this.readOnly;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
26
|
setFocused(focused) {
|
|
32
27
|
this.focused = focused;
|
|
33
28
|
}
|
|
34
29
|
|
|
35
|
-
setReadOnly(readOnly) {
|
|
36
|
-
this.readOnly = readOnly;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
30
|
inputHandler = (event, element) => {
|
|
40
31
|
this.intermediateHandler(event, element);
|
|
41
32
|
}
|
|
@@ -79,13 +70,6 @@ export default class RichTextarea extends Element {
|
|
|
79
70
|
}
|
|
80
71
|
|
|
81
72
|
intermediateHandler = (event, element, eventType = CHANGE_EVENT_TYPE, selectionChanged = this.hasSelectionChanged()) => {
|
|
82
|
-
// if (this.readOnly) {
|
|
83
|
-
// const previousContent = this.getPreviousContent(),
|
|
84
|
-
// content = previousContent; ///
|
|
85
|
-
//
|
|
86
|
-
// this.setContent(content);
|
|
87
|
-
// }
|
|
88
|
-
|
|
89
73
|
const content = this.getContent(),
|
|
90
74
|
selection = this.getSelection(),
|
|
91
75
|
contentChanged = this.hasContentChanged();
|
|
@@ -339,8 +323,7 @@ export default class RichTextarea extends Element {
|
|
|
339
323
|
|
|
340
324
|
static fromClass(Class, properties, ...remainingArguments) {
|
|
341
325
|
const focused = false,
|
|
342
|
-
|
|
343
|
-
richTextarea = Element.fromClass(Class, properties, focused, readOnly, ...remainingArguments);
|
|
326
|
+
richTextarea = Element.fromClass(Class, properties, focused, ...remainingArguments);
|
|
344
327
|
|
|
345
328
|
return richTextarea;
|
|
346
329
|
}
|