easy 21.2.6 → 22.0.1
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 +63 -37
- package/lib/bounds.js +4 -4
- package/lib/document.js +13 -1
- package/lib/element.js +23 -15
- package/lib/offset.js +9 -1
- package/lib/textElement.js +20 -22
- package/package.json +1 -1
- package/src/bounds.js +5 -3
- package/src/document.js +4 -0
- package/src/element.js +8 -19
- package/src/offset.js +9 -0
- package/src/textElement.js +13 -27
package/lib/bounds.js
CHANGED
|
@@ -114,9 +114,9 @@ var Bounds = /*#__PURE__*/ function() {
|
|
|
114
114
|
}
|
|
115
115
|
], [
|
|
116
116
|
{
|
|
117
|
-
key: "
|
|
118
|
-
value: function
|
|
119
|
-
var
|
|
117
|
+
key: "fromDOMElement",
|
|
118
|
+
value: function fromDOMElement(domElement) {
|
|
119
|
+
var pageXOffset = window.pageXOffset, pageYOffset = window.pageYOffset, boundingClientRect = domElement.getBoundingClientRect(), windowScrollTop = pageYOffset, windowScrollLeft = pageXOffset, top = boundingClientRect.top + windowScrollTop, left = boundingClientRect.left + windowScrollLeft, right = boundingClientRect.right + windowScrollLeft, bottom = boundingClientRect.bottom + windowScrollTop, bounds = new Bounds(top, left, right, bottom);
|
|
120
120
|
return bounds;
|
|
121
121
|
}
|
|
122
122
|
},
|
|
@@ -131,4 +131,4 @@ var Bounds = /*#__PURE__*/ function() {
|
|
|
131
131
|
return Bounds;
|
|
132
132
|
}();
|
|
133
133
|
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ib3VuZHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJvdW5kcyB7XG4gIGNvbnN0cnVjdG9yKHRvcCwgbGVmdCwgcmlnaHQsIGJvdHRvbSkge1xuICAgIHRoaXMudG9wID0gdG9wO1xuICAgIHRoaXMubGVmdCA9IGxlZnQ7XG4gICAgdGhpcy5yaWdodCA9IHJpZ2h0O1xuICAgIHRoaXMuYm90dG9tID0gYm90dG9tO1xuICB9XG5cbiAgZ2V0VG9wKCkge1xuICAgIHJldHVybiB0aGlzLnRvcDtcbiAgfVxuXG4gIGdldExlZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdDtcbiAgfVxuXG4gIGdldFJpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLnJpZ2h0O1xuICB9XG5cbiAgZ2V0Qm90dG9tKCkge1xuICAgIHJldHVybiB0aGlzLmJvdHRvbTtcbiAgfVxuXG4gIGdldFdpZHRoKCkge1xuICAgIGNvbnN0IHdpZHRoID0gKHRoaXMucmlnaHQgLSB0aGlzLmxlZnQpO1xuXG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG5cbiAgZ2V0SGVpZ2h0KCkge1xuICAgIGNvbnN0IGhlaWdodCA9ICh0aGlzLmJvdHRvbSAtIHRoaXMudG9wKTtcblxuICAgIHJldHVybiBoZWlnaHQ7XG4gIH1cbiAgXG4gIHNldFRvcCh0b3ApIHtcbiAgICB0aGlzLnRvcCA9IHRvcDtcbiAgfVxuXG4gIHNldExlZnQobGVmdCkge1xuICAgIHRoaXMubGVmdCA9IGxlZnQ7XG4gIH1cblxuICBzZXRSaWdodChyaWdodCkge1xuICAgIHRoaXMucmlnaHQgPSByaWdodDtcbiAgfVxuXG4gIHNldEJvdHRvbShib3R0b20pIHtcbiAgICB0aGlzLmJvdHRvbSA9IGJvdHRvbTtcbiAgfVxuXG4gIGFyZU92ZXJsYXBwaW5nKGJvdW5kcykge1xuICAgIGNvbnN0IGJvdHRvbSA9IGJvdW5kcy5nZXRCb3R0b20oKSxcbiAgICAgICAgICByaWdodCA9IGJvdW5kcy5nZXRSaWdodCgpLFxuICAgICAgICAgIGxlZnQgPSBib3VuZHMuZ2V0TGVmdCgpLFxuICAgICAgICAgIHRvcCA9IGJvdW5kcy5nZXRUb3AoKSxcbiAgICAgICAgICBvdmVybGFwcGluZyA9ICgodGhpcy50b3AgPCBib3R0b20pXG4gICAgICAgICAgICAgICAgICAgICAgJiYgKHRoaXMubGVmdCA8IHJpZ2h0KVxuICAgICAgICAgICAgICAgICAgICAgICYmICh0aGlzLnJpZ2h0ID4gbGVmdClcbiAgICAgICAgICAgICAgICAgICAgICAmJiAodGhpcy5ib3R0b20gPiB0b3ApKTtcblxuICAgIHJldHVybiBvdmVybGFwcGluZztcbiAgfVxuXG4gIGFyZU92ZXJsYXBwaW5nQnlUb3BBbmRMZWZ0KHRvcCwgbGVmdCkge1xuICAgIGNvbnN0IG92ZXJsYXBwaW5nID0gKCh0aGlzLnRvcCA8PSB0b3ApXG4gICAgICAgICAgICAgICAgICAgICAgJiYgKHRoaXMubGVmdCA8PSBsZWZ0KVxuICAgICAgICAgICAgICAgICAgICAgICYmICh0aGlzLnJpZ2h0ID4gbGVmdClcbiAgICAgICAgICAgICAgICAgICAgICAmJiAodGhpcy5ib3R0b20gPiB0b3ApKTtcblxuICAgIHJldHVybiBvdmVybGFwcGluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRE9NRWxlbWVudChkb21FbGVtZW50KSB7XG4gICAgY29uc3QgeyBwYWdlWE9mZnNldCwgcGFnZVlPZmZzZXQgfSA9IHdpbmRvdyxcbiAgICAgICAgICBib3VuZGluZ0NsaWVudFJlY3QgPSBkb21FbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgIHdpbmRvd1Njcm9sbFRvcCA9IHBhZ2VZT2Zmc2V0LCAvLy9cbiAgICAgICAgICB3aW5kb3dTY3JvbGxMZWZ0ID0gcGFnZVhPZmZzZXQsICAvLy9cbiAgICAgICAgICB0b3AgPSBib3VuZGluZ0NsaWVudFJlY3QudG9wICsgd2luZG93U2Nyb2xsVG9wLFxuICAgICAgICAgIGxlZnQgPSBib3VuZGluZ0NsaWVudFJlY3QubGVmdCArIHdpbmRvd1Njcm9sbExlZnQsXG4gICAgICAgICAgcmlnaHQgPSBib3VuZGluZ0NsaWVudFJlY3QucmlnaHQgKyB3aW5kb3dTY3JvbGxMZWZ0LFxuICAgICAgICAgIGJvdHRvbSA9IGJvdW5kaW5nQ2xpZW50UmVjdC5ib3R0b20gKyB3aW5kb3dTY3JvbGxUb3AsXG4gICAgICAgICAgYm91bmRzID0gbmV3IEJvdW5kcyh0b3AsIGxlZnQsIHJpZ2h0LCBib3R0b20pO1xuXG4gICAgcmV0dXJuIGJvdW5kcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVG9wTGVmdFdpZHRoQW5kSGVpZ2h0KHRvcCwgbGVmdCwgd2lkdGgsIGhlaWdodCkge1xuICAgIGNvbnN0IGJvdHRvbSA9IHRvcCArIGhlaWdodCxcbiAgICAgICAgICByaWdodCA9IGxlZnQgKyB3aWR0aCxcbiAgICAgICAgICBib3VuZHMgPSBuZXcgQm91bmRzKHRvcCwgbGVmdCwgcmlnaHQsIGJvdHRvbSk7XG5cbiAgICByZXR1cm4gYm91bmRzO1xuICB9XG59XG4iXSwibmFtZXMiOlsiQm91bmRzIiwidG9wIiwibGVmdCIsInJpZ2h0IiwiYm90dG9tIiwiZ2V0VG9wIiwiZ2V0TGVmdCIsImdldFJpZ2h0IiwiZ2V0Qm90dG9tIiwiZ2V0V2lkdGgiLCJ3aWR0aCIsImdldEhlaWdodCIsImhlaWdodCIsInNldFRvcCIsInNldExlZnQiLCJzZXRSaWdodCIsInNldEJvdHRvbSIsImFyZU92ZXJsYXBwaW5nIiwiYm91bmRzIiwib3ZlcmxhcHBpbmciLCJhcmVPdmVybGFwcGluZ0J5VG9wQW5kTGVmdCIsImZyb21ET01FbGVtZW50IiwiZG9tRWxlbWVudCIsInBhZ2VYT2Zmc2V0Iiwid2luZG93IiwicGFnZVlPZmZzZXQiLCJib3VuZGluZ0NsaWVudFJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ3aW5kb3dTY3JvbGxUb3AiLCJ3aW5kb3dTY3JvbGxMZWZ0IiwiZnJvbVRvcExlZnRX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
|
package/lib/document.js
CHANGED
|
@@ -56,6 +56,18 @@ var Document = /*#__PURE__*/ function() {
|
|
|
56
56
|
return this.domElement;
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
|
+
{
|
|
60
|
+
key: "getInnerWidth",
|
|
61
|
+
value: function getInnerWidth() {
|
|
62
|
+
return this.domElement.clientWidth;
|
|
63
|
+
} ///
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
key: "getInnerHeight",
|
|
67
|
+
value: function getInnerHeight() {
|
|
68
|
+
return this.domElement.clientHeight;
|
|
69
|
+
} ///
|
|
70
|
+
},
|
|
59
71
|
{
|
|
60
72
|
key: "getSelection",
|
|
61
73
|
value: function getSelection() {
|
|
@@ -120,4 +132,4 @@ Object.assign(Document.prototype, _click.default);
|
|
|
120
132
|
Object.assign(Document.prototype, _selection.default);
|
|
121
133
|
var _default = (typeof document === "undefined" ? "undefined" : _type_of(document)) === _constants.UNDEFINED ? undefined : new Document();
|
|
122
134
|
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kb2N1bWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGtleU1peGlucyBmcm9tIFwiLi9taXhpbnMva2V5XCI7XG5pbXBvcnQgZXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2V2ZW50XCI7XG5pbXBvcnQgbW91c2VNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL21vdXNlXCI7XG5pbXBvcnQgY2xpY2tNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2NsaWNrXCI7XG5pbXBvcnQgc2VsZWN0aW9uTWl4aW5zIGZyb20gXCIuL21peGlucy9zZWxlY3Rpb25cIjtcblxuaW1wb3J0IHsgVU5ERUZJTkVEIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBTRUxFQ1RJT05DSEFOR0VfRVZFTlRfVFlQRSB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcblxuY2xhc3MgRG9jdW1lbnQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb2N1bWVudDsgLy8vXG4gIH1cblxuICBnZXRET01FbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmRvbUVsZW1lbnQ7XG4gIH1cblxuICBnZXRJbm5lcldpZHRoKCkgeyByZXR1cm4gdGhpcy5kb21FbGVtZW50LmNsaWVudFdpZHRoOyB9IC8vL1xuXG4gIGdldElubmVySGVpZ2h0KCkgeyByZXR1cm4gdGhpcy5kb21FbGVtZW50LmNsaWVudEhlaWdodDsgfSAvLy9cblxuICBnZXRTZWxlY3Rpb24oKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuZ2V0U2VsZWN0aW9uKCk7IH1cblxuICBjcmVhdGVSYW5nZSgpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5jcmVhdGVSYW5nZSgpOyB9XG5cbiAgY3JlYXRlVGV4dE5vZGUoZGF0YSkgeyByZXR1cm4gdGhpcy5kb21FbGVtZW50LmNyZWF0ZVRleHROb2RlKGRhdGEpOyB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uQ2hhbmdlSGFuZGxlciwgZWxlbWVudCkgeyB0aGlzLm9uRXZlbnQoU0VMRUNUSU9OQ0hBTkdFX0VWRU5UX1RZUEUsIHNlbGVjdGlvbkNoYW5nZUhhbmRsZXIsIGVsZW1lbnQpOyB9IC8vL1xuXG4gIG9mZlNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2VIYW5kbGVyLCBlbGVtZW50KSB7IHRoaXMub2ZmRXZlbnQoU0VMRUNUSU9OQ0hBTkdFX0VWRU5UX1RZUEUsIHNlbGVjdGlvbkNoYW5nZUhhbmRsZXIsIGVsZW1lbnQpOyB9IC8vL1xuXG4gIGNyZWF0ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KSB7XG4gICAgbGV0IGV2ZW50TGlzdGVuZXI7XG5cbiAgICBjb25zdCBoYW5kbGVyRWxlbWVudCA9IGVsZW1lbnQ7IC8vL1xuXG4gICAgZXZlbnRMaXN0ZW5lciA9IChldmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50VHlwZSA9PT0gU0VMRUNUSU9OQ0hBTkdFX0VWRU5UX1RZUEUpIHtcbiAgICAgICAgY29uc3QgeyBkb21FbGVtZW50IH0gPSBoYW5kbGVyRWxlbWVudCxcbiAgICAgICAgICAgICAgeyBjdXJyZW50VGFyZ2V0IH0gPSBldmVudCxcbiAgICAgICAgICAgICAgeyBhY3RpdmVFbGVtZW50IH0gPSBjdXJyZW50VGFyZ2V0O1xuXG4gICAgICAgIGlmIChkb21FbGVtZW50ICE9PSBhY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCBldmVudCwgZWxlbWVudCk7XG4gICAgfTtcblxuICAgIE9iamVjdC5hc3NpZ24oZXZlbnRMaXN0ZW5lciwge1xuICAgICAgZWxlbWVudCxcbiAgICAgIGhhbmRsZXIsXG4gICAgICBldmVudFR5cGVcbiAgICB9KTtcblxuICAgIHJldHVybiBldmVudExpc3RlbmVyO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oRG9jdW1lbnQucHJvdG90eXBlLCBrZXlNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihEb2N1bWVudC5wcm90b3R5cGUsIGV2ZW50TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRG9jdW1lbnQucHJvdG90eXBlLCBtb3VzZU1peGlucyk7XG5PYmplY3QuYXNzaWduKERvY3VtZW50LnByb3RvdHlwZSwgY2xpY2tNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihEb2N1bWVudC5wcm90b3R5cGUsIHNlbGVjdGlvbk1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0ICh0eXBlb2YgZG9jdW1lbnQgPT09IFVOREVGSU5FRCkgPyB1bmRlZmluZWQgOiBuZXcgRG9jdW1lbnQoKTsgIC8vL1xuIl0sIm5hbWVzIjpbIkRvY3VtZW50IiwiZG9tRWxlbWVudCIsImRvY3VtZW50IiwiZ2V0RE9NRWxlbWVudCIsImdldElubmVyV2lkdGgiLCJjbGllbnRXaWR0aCIsImdldElubmVySGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZ2V0U2VsZWN0aW9uIiwiY3JlYXRlUmFuZ2UiLCJjcmVhdGVUZXh0Tm9kZSIsImRhdGEiLCJvblNlbGVjdGlvbkNoYW5nZSIsInNlbGVjdGlvbkNoYW5nZUhhbmRsZXIiLCJlbGVtZW50Iiwib25FdmVudCIsIlNFTEVDVElPTkNIQU5HRV9FVkVOVF9UWVBFIiwib2ZmU2VsZWN0aW9uQ2hhbmdlIiwib2ZmRXZlbnQiLCJjcmVhdGVFdmVudExpc3RlbmVyIiwiZXZlbnRUeXBlIiwiaGFuZGxlciIsImV2ZW50TGlzdGVuZXIiLCJoYW5kbGVyRWxlbWVudCIsImV2ZW50IiwiY3VycmVudFRhcmdldCIsImFjdGl2ZUVsZW1lbnQiLCJjYWxsIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwia2V5TWl4aW5zIiwiZXZlbnRNaXhpbnMiLCJtb3VzZU1peGlucyIsImNsaWNrTWl4aW5zIiwic2VsZWN0aW9uTWl4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
|
package/lib/element.js
CHANGED
|
@@ -98,24 +98,40 @@ var Element = /*#__PURE__*/ function() {
|
|
|
98
98
|
{
|
|
99
99
|
key: "getOffset",
|
|
100
100
|
value: function getOffset() {
|
|
101
|
-
var
|
|
101
|
+
var offset = _offset.default.fromDOMElement(this.domElement);
|
|
102
102
|
return offset;
|
|
103
103
|
}
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
key: "getBounds",
|
|
107
107
|
value: function getBounds() {
|
|
108
|
-
var
|
|
108
|
+
var bounds = _bounds.default.fromDOMElement(this.domElement);
|
|
109
109
|
return bounds;
|
|
110
110
|
}
|
|
111
111
|
},
|
|
112
112
|
{
|
|
113
113
|
key: "getWidth",
|
|
114
114
|
value: function getWidth() {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
115
|
+
return this.domElement.offsetWidth;
|
|
116
|
+
} ///
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
key: "getHeight",
|
|
120
|
+
value: function getHeight() {
|
|
121
|
+
return this.domElement.offsetHeight;
|
|
122
|
+
} ///
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
key: "getInnerWidth",
|
|
126
|
+
value: function getInnerWidth() {
|
|
127
|
+
return this.domElement.clientWidth;
|
|
128
|
+
} ///
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
key: "getInnerHeight",
|
|
132
|
+
value: function getInnerHeight() {
|
|
133
|
+
return this.domElement.clientHeight;
|
|
134
|
+
} ///
|
|
119
135
|
},
|
|
120
136
|
{
|
|
121
137
|
key: "setWidth",
|
|
@@ -124,14 +140,6 @@ var Element = /*#__PURE__*/ function() {
|
|
|
124
140
|
this.style(_constants.WIDTH, width);
|
|
125
141
|
}
|
|
126
142
|
},
|
|
127
|
-
{
|
|
128
|
-
key: "getHeight",
|
|
129
|
-
value: function getHeight() {
|
|
130
|
-
var includeBorder = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
|
|
131
|
-
var height = includeBorder ? this.domElement.offsetHeight : this.domElement.clientHeight;
|
|
132
|
-
return height;
|
|
133
|
-
}
|
|
134
|
-
},
|
|
135
143
|
{
|
|
136
144
|
key: "setHeight",
|
|
137
145
|
value: function setHeight(height) {
|
|
@@ -526,4 +534,4 @@ function ignoredPropertiesFromClass(Class) {
|
|
|
526
534
|
return ignoredProperties;
|
|
527
535
|
}
|
|
528
536
|
|
|
529
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgT2Zmc2V0IGZyb20gXCIuL29mZnNldFwiO1xuaW1wb3J0IEJvdW5kcyBmcm9tIFwiLi9ib3VuZHNcIjtcbmltcG9ydCBqc3hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2pzeFwiO1xuaW1wb3J0IGtleU1peGlucyBmcm9tIFwiLi9taXhpbnMva2V5XCI7XG5pbXBvcnQgc3RhdGVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3N0YXRlXCI7XG5pbXBvcnQgZXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2V2ZW50XCI7XG5pbXBvcnQgbW91c2VNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL21vdXNlXCI7XG5pbXBvcnQgY2xpY2tNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2NsaWNrXCI7XG5pbXBvcnQgdG91Y2hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3RvdWNoXCI7XG5pbXBvcnQgc2Nyb2xsTWl4aW5zIGZyb20gXCIuL21peGlucy9zY3JvbGxcIjtcbmltcG9ydCByZXNpemVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3Jlc2l6ZVwiO1xuaW1wb3J0IGVsZW1lbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2VsZW1lbnRcIjtcbmltcG9ydCBmdWxsU2NyZWVuTWl4aW5zIGZyb20gXCIuL21peGlucy9mdWxsU2NyZWVuXCI7XG5pbXBvcnQgY3VzdG9tRXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2N1c3RvbUV2ZW50XCI7XG5cbmltcG9ydCB7IGNvbWJpbmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvb2JqZWN0XCI7XG5pbXBvcnQgeyBpc1NWR1RhZ05hbWUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbmFtZVwiO1xuaW1wb3J0IHsgZmlyc3QsIGF1Z21lbnQgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IGNvbnN0cnVjdEVsZW1lbnQsIGRlc3Ryb3lFbGVtZW50LCBtb3VudEVsZW1lbnQsIHVubW91bnRFbGVtZW50IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2VsZW1lbnRcIjtcbmltcG9ydCB7IE5PTkUsXG4gICAgICAgICBCTE9DSyxcbiAgICAgICAgIFdJRFRILFxuICAgICAgICAgU1RSSU5HLFxuICAgICAgICAgSEVJR0hULFxuICAgICAgICAgRElTUExBWSxcbiAgICAgICAgIERJU0FCTEVELFxuICAgICAgICAgRU1QVFlfU1RSSU5HLFxuICAgICAgICAgU1ZHX05BTUVTUEFDRV9VUkksXG4gICAgICAgICBERUZBVUxUX1BST1BFUlRJRVMsXG4gICAgICAgICBJR05PUkVEX1BST1BFUlRJRVMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yKSB7XG4gICAgaWYgKHNlbGVjdG9yICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID10aGlzLCAgLy8vXG4gICAgICAgICAgICBkb21FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG5cbiAgICAgIGNvbnN0cnVjdEVsZW1lbnQoZWxlbWVudCwgZG9tRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RE9NRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5kb21FbGVtZW50O1xuICB9XG5cbiAgZ2V0T2Zmc2V0KCkge1xuICAgIGNvbnN0IHRvcCA9IHRoaXMuZG9tRWxlbWVudC5vZmZzZXRUb3AsICAvLy9cbiAgICAgICAgICBsZWZ0ID0gdGhpcy5kb21FbGVtZW50Lm9mZnNldExlZnQsICAvLy9cbiAgICAgICAgICBvZmZzZXQgPSBuZXcgT2Zmc2V0KHRvcCwgbGVmdCk7XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9XG5cbiAgZ2V0Qm91bmRzKCkge1xuICAgIGNvbnN0IGJvdW5kaW5nQ2xpZW50UmVjdCA9IHRoaXMuZG9tRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgICAgICBib3VuZHMgPSBCb3VuZHMuZnJvbUJvdW5kaW5nQ2xpZW50UmVjdChib3VuZGluZ0NsaWVudFJlY3QpO1xuXG4gICAgcmV0dXJuIGJvdW5kcztcbiAgfVxuXG4gIGdldFdpZHRoKGluY2x1ZGVCb3JkZXIgPSB0cnVlKSB7XG4gICAgY29uc3Qgd2lkdGggPSBpbmNsdWRlQm9yZGVyID9cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50Lm9mZnNldFdpZHRoIDpcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbUVsZW1lbnQuY2xpZW50V2lkdGg7XG5cbiAgICByZXR1cm4gd2lkdGg7XG4gIH1cblxuICBzZXRXaWR0aCh3aWR0aCkge1xuICAgIHdpZHRoID0gYCR7d2lkdGh9cHhgOyAvLy9cblxuICAgIHRoaXMuc3R5bGUoV0lEVEgsIHdpZHRoKTtcbiAgfVxuXG4gIGdldEhlaWdodChpbmNsdWRlQm9yZGVyID0gdHJ1ZSkge1xuICAgIGNvbnN0IGhlaWdodCA9IGluY2x1ZGVCb3JkZXIgP1xuICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50Lm9mZnNldEhlaWdodCA6XG4gICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICByZXR1cm4gaGVpZ2h0O1xuICB9XG5cbiAgc2V0SGVpZ2h0KGhlaWdodCkge1xuICAgIGhlaWdodCA9IGAke2hlaWdodH1weGA7IC8vL1xuXG4gICAgdGhpcy5zdHlsZShIRUlHSFQsIGhlaWdodCk7XG4gIH1cblxuICBoYXNBdHRyaWJ1dGUobmFtZSkgeyByZXR1cm4gdGhpcy5kb21FbGVtZW50Lmhhc0F0dHJpYnV0ZShuYW1lKTsgfVxuXG4gIGdldEF0dHJpYnV0ZShuYW1lKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuZ2V0QXR0cmlidXRlKG5hbWUpOyB9XG5cbiAgc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7IHRoaXMuZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOyB9XG5cbiAgY2xlYXJBdHRyaWJ1dGUobmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKG5hbWUpOyB9XG5cbiAgYWRkQXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7IHRoaXMuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTsgfVxuXG4gIHJlbW92ZUF0dHJpYnV0ZShuYW1lKSB7IHRoaXMuY2xlYXJBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBoYXNDbGFzcyhjbGFzc05hbWUpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoY2xhc3NOYW1lKTsgfVxuXG4gIHNldENsYXNzKGNsYXNzTmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1lOyB9XG5cbiAgYWRkQ2xhc3MoY2xhc3NOYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7IH1cblxuICByZW1vdmVDbGFzcyhjbGFzc05hbWUpIHsgdGhpcy5kb21FbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTsgfVxuXG4gIHRvZ2dsZUNsYXNzKGNsYXNzTmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShjbGFzc05hbWUpOyB9XG5cbiAgcmVtb3ZlQWxsQ2xhc3NlcygpIHsgdGhpcy5kb21FbGVtZW50LmNsYXNzTmFtZSA9IEVNUFRZX1NUUklORzsgfVxuXG4gIGFkZFRvKHBhcmVudEVsZW1lbnQpIHsgcGFyZW50RWxlbWVudC5hZGQodGhpcyk7IH1cblxuICBhcHBlbmRUbyhwYXJlbnRFbGVtZW50KSB7IHBhcmVudEVsZW1lbnQuYXBwZW5kKHRoaXMpOyB9XG5cbiAgcHJlcGVuZFRvKHBhcmVudEVsZW1lbnQpIHsgcGFyZW50RWxlbWVudC5wcmVwZW5kKHRoaXMpOyB9XG5cbiAgcmVtb3ZlRnJvbShwYXJlbnRFbGVtZW50KSB7IHBhcmVudEVsZW1lbnQucmVtb3ZlKHRoaXMpOyB9XG5cbiAgaW5zZXJ0KGVsZW1lbnQpIHsgdGhpcy5hcHBlbmQoZWxlbWVudCk7IH1cblxuICBhZGQoZWxlbWVudCkgeyB0aGlzLmFwcGVuZChlbGVtZW50KTsgfVxuXG4gIHJlbW92ZShlbGVtZW50KSB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIGVsZW1lbnQucmVtb3ZlKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRvbUVsZW1lbnQucmVtb3ZlKCk7XG4gIH1cblxuICBwcmVwZW5kKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gZWxlbWVudC5kb21FbGVtZW50LFxuICAgICAgICAgIHJlZmVyZW5jZURPTUVsZW1lbnQgPSB0aGlzLmRvbUVsZW1lbnQuZmlyc3RDaGlsZDsgIC8vL1xuXG4gICAgdGhpcy5kb21FbGVtZW50Lmluc2VydEJlZm9yZShkb21FbGVtZW50LCByZWZlcmVuY2VET01FbGVtZW50KTtcbiAgfVxuXG4gIGFwcGVuZChlbGVtZW50KSB7XG4gICAgY29uc3QgZG9tRWxlbWVudCA9IGVsZW1lbnQuZG9tRWxlbWVudCxcbiAgICAgICAgICByZWZlcmVuY2VET01FbGVtZW50ID0gbnVsbDsgLy8vXG5cbiAgICB0aGlzLmRvbUVsZW1lbnQuaW5zZXJ0QmVmb3JlKGRvbUVsZW1lbnQsIHJlZmVyZW5jZURPTUVsZW1lbnQpO1xuICB9XG5cbiAgaW5zZXJ0QmVmb3JlKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgY29uc3QgcGFyZW50RE9NTm9kZSA9IHNpYmxpbmdFbGVtZW50LmRvbUVsZW1lbnQucGFyZW50Tm9kZSwgLy8vXG4gICAgICAgICAgcmVmZXJlbmNlRE9NRWxlbWVudCA9IHNpYmxpbmdFbGVtZW50LmRvbUVsZW1lbnQ7ICAvLy9cblxuICAgIHBhcmVudERPTU5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuZG9tRWxlbWVudCwgcmVmZXJlbmNlRE9NRWxlbWVudCk7XG4gIH1cblxuICBpbnNlcnRBZnRlcihzaWJsaW5nRWxlbWVudCkge1xuICAgIGNvbnN0IHBhcmVudERPTU5vZGUgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50LnBhcmVudE5vZGUsIC8vL1xuICAgICAgICAgIHJlZmVyZW5jZURPTUVsZW1lbnQgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50Lm5leHRTaWJsaW5nOyAgLy8vXG5cbiAgICBwYXJlbnRET01Ob2RlLmluc2VydEJlZm9yZSh0aGlzLmRvbUVsZW1lbnQsIHJlZmVyZW5jZURPTUVsZW1lbnQpO1xuICB9XG5cbiAgbW91bnQoZWxlbWVudCkge1xuICAgIHRoaXMuYWRkKGVsZW1lbnQpO1xuXG4gICAgbW91bnRFbGVtZW50KGVsZW1lbnQpO1xuICB9XG5cbiAgdW5tb3VudChlbGVtZW50KSB7XG4gICAgdW5tb3VudEVsZW1lbnQoZWxlbWVudCk7XG5cbiAgICB0aGlzLnJlbW92ZShlbGVtZW50KTtcbiAgfVxuXG4gIG1vdW50QmVmb3JlKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgdGhpcy5pbnNlcnRCZWZvcmUoc2libGluZ0VsZW1lbnQpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgbW91bnRFbGVtZW50KGVsZW1lbnQpO1xuICB9XG5cbiAgbW91bnRBZnRlcihzaWJsaW5nRWxlbWVudCkge1xuICAgIHRoaXMuaW5zZXJ0QWZ0ZXIoc2libGluZ0VsZW1lbnQpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgbW91bnRFbGVtZW50KGVsZW1lbnQpO1xuICB9XG5cbiAgc2hvdyhkaXNwbGF5U3R5bGUgPSBCTE9DSykgeyB0aGlzLmRpc3BsYXkoZGlzcGxheVN0eWxlKTsgfVxuXG4gIGhpZGUoKSB7IHRoaXMuc3R5bGUoRElTUExBWSwgTk9ORSk7IH1cblxuICBkaXNwbGF5KGRpc3BsYXkpIHsgdGhpcy5zdHlsZShESVNQTEFZLCBkaXNwbGF5KTsgfVxuXG4gIGVuYWJsZSgpIHsgdGhpcy5jbGVhckF0dHJpYnV0ZShESVNBQkxFRCk7IH1cblxuICBkaXNhYmxlKCkgeyB0aGlzLnNldEF0dHJpYnV0ZShESVNBQkxFRCwgRElTQUJMRUQpOyB9XG5cbiAgaXNFbmFibGVkKCkge1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5pc0Rpc2FibGVkKCksXG4gICAgICAgICAgZW5hYmxlZCA9ICFkaXNhYmxlZDtcblxuICAgIHJldHVybiBlbmFibGVkO1xuICB9XG5cbiAgaXNEaXNhYmxlZCgpIHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuaGFzQXR0cmlidXRlKERJU0FCTEVEKTtcblxuICAgIHJldHVybiBkaXNhYmxlZDtcbiAgfVxuICBcbiAgaXNEaXNwbGF5ZWQoKSB7XG4gICAgY29uc3QgZGlzcGxheSA9IHRoaXMuY3NzKERJU1BMQVkpLFxuICAgICAgICAgIGRpc3BsYXllZCA9IChkaXNwbGF5ICE9PSBOT05FKTtcbiAgICBcbiAgICByZXR1cm4gZGlzcGxheWVkO1xuICB9XG5cbiAgaXNTaG93aW5nKCkge1xuICAgIGNvbnN0IGRpc3BsYXllZCA9IHRoaXMuaXNEaXNwbGF5ZWQoKSxcbiAgICAgICAgICBzaG93aW5nID0gZGlzcGxheWVkOyAgLy8vXG5cbiAgICByZXR1cm4gc2hvd2luZztcbiAgfVxuXG4gIGlzSGlkZGVuKCkge1xuICAgIGNvbnN0IGRpc3BsYXllZCA9IHRoaXMuaXNEaXNwbGF5ZWQoKSxcbiAgICAgICAgICBoaWRkZW4gPSAhZGlzcGxheWVkO1xuXG4gICAgcmV0dXJuIGhpZGRlbjtcbiAgfVxuXG4gIHN0eWxlKG5hbWUsIHZhbHVlID0gbnVsbCkge1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlW25hbWVdID0gdmFsdWU7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZVtuYW1lXTtcblxuICAgIHJldHVybiBzdHlsZTtcbiAgfVxuXG4gIGh0bWwoaHRtbCA9IG51bGwpIHtcbiAgICBpZiAoaHRtbCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgaW5uZXJIVE1MID0gaHRtbDsgLy8vXG5cbiAgICAgIHRoaXMuZG9tRWxlbWVudC5pbm5lckhUTUwgPSBpbm5lckhUTUxcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlubmVySFRNTCA9IHRoaXMuZG9tRWxlbWVudC5pbm5lckhUTUw7XG5cbiAgICBodG1sID0gaW5uZXJIVE1MOyAvLy9cblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgY3NzKGNzcyA9IG51bGwpIHtcbiAgICBpZiAoY3NzID09PSBudWxsKSB7XG4gICAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmRvbUVsZW1lbnQpLFxuICAgICAgICAgICAgY3NzID0ge307XG5cbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb21wdXRlZFN0eWxlLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBmaXJzdENvbXB1dGVkU3R5bGUgPSBmaXJzdFtjb21wdXRlZFN0eWxlXSxcbiAgICAgICAgICAgICAgbmFtZSA9IGZpcnN0Q29tcHV0ZWRTdHlsZSwgIC8vL1xuICAgICAgICAgICAgICB2YWx1ZSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTsgLy8vXG5cbiAgICAgICAgY3NzW25hbWVdID0gdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjc3M7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjc3MgPT09IFNUUklORykge1xuICAgICAgbGV0IG5hbWUgPSBjc3M7IC8vL1xuXG4gICAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmRvbUVsZW1lbnQpLFxuICAgICAgICAgICAgdmFsdWUgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUobmFtZSk7IC8vL1xuXG4gICAgICBjc3MgPSB2YWx1ZTsgIC8vL1xuXG4gICAgICByZXR1cm4gY3NzO1xuICAgIH1cblxuICAgIGNvbnN0IG5hbWVzID0gT2JqZWN0LmtleXMoY3NzKTsgLy8vXG5cbiAgICBuYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGNzc1tuYW1lXTtcblxuICAgICAgdGhpcy5zdHlsZShuYW1lLCB2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgIGRlc3Ryb3lFbGVtZW50KGVsZW1lbnQpO1xuICB9XG5cbiAgc3RhdGljIGZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgeyB0YWdOYW1lIH0gPSBDbGFzcyxcbiAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpLFxuICAgICAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzID0gZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MpLFxuICAgICAgICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gaWdub3JlZFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MpO1xuXG4gICAgZWxlbWVudC5hcHBseVByb3BlcnRpZXMocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKTtcblxuICAgIGVsZW1lbnQuaW5pdGlhbGlzZSAmJiBlbGVtZW50LmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVGFnTmFtZSh0YWdOYW1lLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBDbGFzcyA9IEVsZW1lbnQsICAvLy9cbiAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpLFxuICAgICAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzID0ge30sIC8vL1xuICAgICAgICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gW107IC8vL1xuXG4gICAgZWxlbWVudC5hcHBseVByb3BlcnRpZXMocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKTtcblxuICAgIGVsZW1lbnQuaW5pdGlhbGlzZSAmJiBlbGVtZW50LmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBqc3hNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwga2V5TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIG1vdXNlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGNsaWNrTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHN0YXRlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGV2ZW50TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHRvdWNoTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHNjcm9sbE1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCByZXNpemVNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgZWxlbWVudE1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBmdWxsU2NyZWVuTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGN1c3RvbUV2ZW50TWl4aW5zKTtcblxuZnVuY3Rpb24gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3Qgc2VsZWN0b3IgPSBudWxsLFxuICAgICAgICBlbGVtZW50ID0gbmV3IChGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKENsYXNzLCBudWxsLCBzZWxlY3RvciwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSksXG4gICAgICAgIGRvbUVsZW1lbnQgPSBpc1NWR1RhZ05hbWUodGFnTmFtZSkgP1xuICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05BTUVTUEFDRV9VUkksIHRhZ05hbWUpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpO1xuXG4gIGNvbnN0cnVjdEVsZW1lbnQoZWxlbWVudCwgZG9tRWxlbWVudCk7XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRQcm9wZXJ0aWVzRnJvbUNsYXNzKENsYXNzLCBkZWZhdWx0UHJvcGVydGllcyA9IHt9KSB7XG4gIGlmIChDbGFzcy5oYXNPd25Qcm9wZXJ0eShERUZBVUxUX1BST1BFUlRJRVMpKSB7XG4gICAgZGVmYXVsdFByb3BlcnRpZXMgPSBjb21iaW5lKGRlZmF1bHRQcm9wZXJ0aWVzLCBDbGFzc1tERUZBVUxUX1BST1BFUlRJRVNdKTtcbiAgfVxuXG4gIGNvbnN0IHN1cGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoQ2xhc3MpOyAgLy8vXG5cbiAgaWYgKHN1cGVyQ2xhc3MgIT09IG51bGwpIHtcbiAgICBkZWZhdWx0UHJvcGVydGllcyA9IGRlZmF1bHRQcm9wZXJ0aWVzRnJvbUNsYXNzKHN1cGVyQ2xhc3MsIGRlZmF1bHRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0UHJvcGVydGllcztcbn1cblxuZnVuY3Rpb24gaWdub3JlZFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MsIGlnbm9yZWRQcm9wZXJ0aWVzID0gW10pIHtcbiAgaWYgKENsYXNzLmhhc093blByb3BlcnR5KElHTk9SRURfUFJPUEVSVElFUykpIHtcbiAgICBpZ25vcmVkUHJvcGVydGllcyA9IGF1Z21lbnQoaWdub3JlZFByb3BlcnRpZXMsIENsYXNzW0lHTk9SRURfUFJPUEVSVElFU10sIChpZ25vcmVkUHJvcGVydHkpID0+IHtcbiAgICAgIGlmICghaWdub3JlZFByb3BlcnRpZXMuaW5jbHVkZXMoaWdub3JlZFByb3BlcnR5KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IHN1cGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoQ2xhc3MpO1xuXG4gIGlmIChzdXBlckNsYXNzICE9PSBudWxsKSB7XG4gICAgaWdub3JlZFByb3BlcnRpZXMgPSBpZ25vcmVkUHJvcGVydGllc0Zyb21DbGFzcyhzdXBlckNsYXNzLCBpZ25vcmVkUHJvcGVydGllcyk7XG4gIH1cblxuICByZXR1cm4gaWdub3JlZFByb3BlcnRpZXM7XG59XG4iXSwibmFtZXMiOlsiRWxlbWVudCIsInNlbGVjdG9yIiwiZWxlbWVudCIsImRvbUVsZW1lbnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjb25zdHJ1Y3RFbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsImdldE9mZnNldCIsInRvcCIsIm9mZnNldFRvcCIsImxlZnQiLCJvZmZzZXRMZWZ0Iiwib2Zmc2V0IiwiT2Zmc2V0IiwiZ2V0Qm91bmRzIiwiYm91bmRpbmdDbGllbnRSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYm91bmRzIiwiQm91bmRzIiwiZnJvbUJvdW5kaW5nQ2xpZW50UmVjdCIsImdldFdpZHRoIiwiaW5jbHVkZUJvcmRlciIsIndpZHRoIiwib2Zmc2V0V2lkdGgiLCJjbGllbnRXaWR0aCIsInNldFdpZHRoIiwic3R5bGUiLCJXSURUSCIsImdldEhlaWdodCIsImhlaWdodCIsIm9mZnNldEhlaWdodCIsImNsaWVudEhlaWdodCIsInNldEhlaWdodCIsIkhFSUdIVCIsImhhc0F0dHJpYnV0ZSIsIm5hbWUiLCJnZXRBdHRyaWJ1dGUiLCJzZXRBdHRyaWJ1dGUiLCJ2YWx1ZSIsImNsZWFyQXR0cmlidXRlIiwicmVtb3ZlQXR0cmlidXRlIiwiYWRkQXR0cmlidXRlIiwiaGFzQ2xhc3MiLCJjbGFzc05hbWUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsInNldENsYXNzIiwiYWRkQ2xhc3MiLCJhZGQiLCJyZW1vdmVDbGFzcyIsInJlbW92ZSIsInRvZ2dsZUNsYXNzIiwidG9nZ2xlIiwicmVtb3ZlQWxsQ2xhc3NlcyIsIkVNUFRZX1NUUklORyIsImFkZFRvIiwicGFyZW50RWxlbWVudCIsImFwcGVuZFRvIiwiYXBwZW5kIiwicHJlcGVuZFRvIiwicHJlcGVuZCIsInJlbW92ZUZyb20iLCJpbnNlcnQiLCJyZWZlcmVuY2VET01FbGVtZW50IiwiZmlyc3RDaGlsZCIsImluc2VydEJlZm9yZSIsInNpYmxpbmdFbGVtZW50IiwicGFyZW50RE9NTm9kZSIsInBhcmVudE5vZGUiLCJpbnNlcnRBZnRlciIsIm5leHRTaWJsaW5nIiwibW91bnQiLCJtb3VudEVsZW1lbnQiLCJ1bm1vdW50IiwidW5tb3VudEVsZW1lbnQiLCJtb3VudEJlZm9yZSIsIm1vdW50QWZ0ZXIiLCJzaG93IiwiZGlzcGxheVN0eWxlIiwiQkxPQ0siLCJkaXNwbGF5IiwiaGlkZSIsIkRJU1BMQVkiLCJOT05FIiwiZW5hYmxlIiwiRElTQUJMRUQiLCJkaXNhYmxlIiwiaXNFbmFibGVkIiwiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIiwiZW5hYmxlZCIsImlzRGlzcGxheWVkIiwiY3NzIiwiZGlzcGxheWVkIiwiaXNTaG93aW5nIiwic2hvd2luZyIsImlzSGlkZGVuIiwiaGlkZGVuIiwiaHRtbCIsImlubmVySFRNTCIsImNvbXB1dGVkU3R5bGUiLCJnZXRDb21wdXRlZFN0eWxlIiwiaW5kZXgiLCJsZW5ndGgiLCJmaXJzdENvbXB1dGVkU3R5bGUiLCJmaXJzdCIsImdldFByb3BlcnR5VmFsdWUiLCJTVFJJTkciLCJuYW1lcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiZGVzdHJveSIsImRlc3Ryb3lFbGVtZW50IiwiZnJvbUNsYXNzIiwiQ2xhc3MiLCJwcm9wZXJ0aWVzIiwicmVtYWluaW5nQXJndW1lbnRzIiwidGFnTmFtZSIsImVsZW1lbnRGcm9tVGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3MiLCJpZ25vcmVkUHJvcGVydGllcyIsImlnbm9yZWRQcm9wZXJ0aWVzRnJvbUNsYXNzIiwiYXBwbHlQcm9wZXJ0aWVzIiwiaW5pdGlhbGlzZSIsImZyb21UYWdOYW1lIiwiYXNzaWduIiwicHJvdG90eXBlIiwianN4TWl4aW5zIiwia2V5TWl4aW5zIiwibW91c2VNaXhpbnMiLCJjbGlja01peGlucyIsInN0YXRlTWl4aW5zIiwiZXZlbnRNaXhpbnMiLCJ0b3VjaE1peGlucyIsInNjcm9sbE1peGlucyIsInJlc2l6ZU1peGlucyIsImVsZW1lbnRNaXhpbnMiLCJmdWxsU2NyZWVuTWl4aW5zIiwiY3VzdG9tRXZlbnRNaXhpbnMiLCJGdW5jdGlvbiIsImJpbmQiLCJjYWxsIiwiaXNTVkdUYWdOYW1lIiwiY3JlYXRlRWxlbWVudE5TIiwiU1ZHX05BTUVTUEFDRV9VUkkiLCJjcmVhdGVFbGVtZW50IiwiaGFzT3duUHJvcGVydHkiLCJERUZBVUxUX1BST1BFUlRJRVMiLCJjb21iaW5lIiwic3VwZXJDbGFzcyIsImdldFByb3RvdHlwZU9mIiwiSUdOT1JFRF9QUk9QRVJUSUVTIiwiYXVnbWVudCIsImlnbm9yZWRQcm9wZXJ0eSIsImluY2x1ZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWlDcUJBOzs7NkRBL0JGOzZEQUNBOzBEQUNHOzBEQUNBOzREQUNFOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzZEQUNDOzZEQUNBOzhEQUNDO2lFQUNHO2tFQUNDO3NCQUVOO29CQUNLO3FCQUNFO3dCQUNnRDt5QkFXNUM7Ozs7Ozs7Ozs7Ozs7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
|
|
537
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgT2Zmc2V0IGZyb20gXCIuL29mZnNldFwiO1xuaW1wb3J0IEJvdW5kcyBmcm9tIFwiLi9ib3VuZHNcIjtcbmltcG9ydCBqc3hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2pzeFwiO1xuaW1wb3J0IGtleU1peGlucyBmcm9tIFwiLi9taXhpbnMva2V5XCI7XG5pbXBvcnQgc3RhdGVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3N0YXRlXCI7XG5pbXBvcnQgZXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2V2ZW50XCI7XG5pbXBvcnQgbW91c2VNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL21vdXNlXCI7XG5pbXBvcnQgY2xpY2tNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2NsaWNrXCI7XG5pbXBvcnQgdG91Y2hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3RvdWNoXCI7XG5pbXBvcnQgc2Nyb2xsTWl4aW5zIGZyb20gXCIuL21peGlucy9zY3JvbGxcIjtcbmltcG9ydCByZXNpemVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3Jlc2l6ZVwiO1xuaW1wb3J0IGVsZW1lbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2VsZW1lbnRcIjtcbmltcG9ydCBmdWxsU2NyZWVuTWl4aW5zIGZyb20gXCIuL21peGlucy9mdWxsU2NyZWVuXCI7XG5pbXBvcnQgY3VzdG9tRXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2N1c3RvbUV2ZW50XCI7XG5cbmltcG9ydCB7IGNvbWJpbmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvb2JqZWN0XCI7XG5pbXBvcnQgeyBpc1NWR1RhZ05hbWUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbmFtZVwiO1xuaW1wb3J0IHsgZmlyc3QsIGF1Z21lbnQgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IGNvbnN0cnVjdEVsZW1lbnQsIGRlc3Ryb3lFbGVtZW50LCBtb3VudEVsZW1lbnQsIHVubW91bnRFbGVtZW50IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2VsZW1lbnRcIjtcbmltcG9ydCB7IE5PTkUsXG4gICAgICAgICBCTE9DSyxcbiAgICAgICAgIFdJRFRILFxuICAgICAgICAgU1RSSU5HLFxuICAgICAgICAgSEVJR0hULFxuICAgICAgICAgRElTUExBWSxcbiAgICAgICAgIERJU0FCTEVELFxuICAgICAgICAgRU1QVFlfU1RSSU5HLFxuICAgICAgICAgU1ZHX05BTUVTUEFDRV9VUkksXG4gICAgICAgICBERUZBVUxUX1BST1BFUlRJRVMsXG4gICAgICAgICBJR05PUkVEX1BST1BFUlRJRVMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yKSB7XG4gICAgaWYgKHNlbGVjdG9yICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID10aGlzLCAgLy8vXG4gICAgICAgICAgICBkb21FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG5cbiAgICAgIGNvbnN0cnVjdEVsZW1lbnQoZWxlbWVudCwgZG9tRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RE9NRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5kb21FbGVtZW50O1xuICB9XG5cbiAgZ2V0T2Zmc2V0KCkge1xuICAgIGNvbnN0IG9mZnNldCA9IE9mZnNldC5mcm9tRE9NRWxlbWVudCh0aGlzLmRvbUVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIG9mZnNldDtcbiAgfVxuXG4gIGdldEJvdW5kcygpIHtcbiAgICBjb25zdCBib3VuZHMgPSBCb3VuZHMuZnJvbURPTUVsZW1lbnQodGhpcy5kb21FbGVtZW50KTtcblxuICAgIHJldHVybiBib3VuZHM7XG4gIH1cblxuICBnZXRXaWR0aCgpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5vZmZzZXRXaWR0aDsgfSAgLy8vXG5cbiAgZ2V0SGVpZ2h0KCkgeyByZXR1cm4gdGhpcy5kb21FbGVtZW50Lm9mZnNldEhlaWdodDsgfSAgLy8vXG5cbiAgZ2V0SW5uZXJXaWR0aCgpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5jbGllbnRXaWR0aDsgfSAvLy9cblxuICBnZXRJbm5lckhlaWdodCgpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5jbGllbnRIZWlnaHQ7IH0gLy8vXG5cbiAgc2V0V2lkdGgod2lkdGgpIHtcbiAgICB3aWR0aCA9IGAke3dpZHRofXB4YDsgLy8vXG5cbiAgICB0aGlzLnN0eWxlKFdJRFRILCB3aWR0aCk7XG4gIH1cblxuICBzZXRIZWlnaHQoaGVpZ2h0KSB7XG4gICAgaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDsgLy8vXG5cbiAgICB0aGlzLnN0eWxlKEhFSUdIVCwgaGVpZ2h0KTtcbiAgfVxuXG4gIGhhc0F0dHJpYnV0ZShuYW1lKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuaGFzQXR0cmlidXRlKG5hbWUpOyB9XG5cbiAgZ2V0QXR0cmlidXRlKG5hbWUpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5nZXRBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBzZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHsgdGhpcy5kb21FbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7IH1cblxuICBjbGVhckF0dHJpYnV0ZShuYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBhZGRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHsgdGhpcy5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOyB9XG5cbiAgcmVtb3ZlQXR0cmlidXRlKG5hbWUpIHsgdGhpcy5jbGVhckF0dHJpYnV0ZShuYW1lKTsgfVxuXG4gIGhhc0NsYXNzKGNsYXNzTmFtZSkgeyByZXR1cm4gdGhpcy5kb21FbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpOyB9XG5cbiAgc2V0Q2xhc3MoY2xhc3NOYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc05hbWU7IH1cblxuICBhZGRDbGFzcyhjbGFzc05hbWUpIHsgdGhpcy5kb21FbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTsgfVxuXG4gIHJlbW92ZUNsYXNzKGNsYXNzTmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpOyB9XG5cbiAgdG9nZ2xlQ2xhc3MoY2xhc3NOYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKGNsYXNzTmFtZSk7IH1cblxuICByZW1vdmVBbGxDbGFzc2VzKCkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NOYW1lID0gRU1QVFlfU1RSSU5HOyB9XG5cbiAgYWRkVG8ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LmFkZCh0aGlzKTsgfVxuXG4gIGFwcGVuZFRvKHBhcmVudEVsZW1lbnQpIHsgcGFyZW50RWxlbWVudC5hcHBlbmQodGhpcyk7IH1cblxuICBwcmVwZW5kVG8ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LnByZXBlbmQodGhpcyk7IH1cblxuICByZW1vdmVGcm9tKHBhcmVudEVsZW1lbnQpIHsgcGFyZW50RWxlbWVudC5yZW1vdmUodGhpcyk7IH1cblxuICBpbnNlcnQoZWxlbWVudCkgeyB0aGlzLmFwcGVuZChlbGVtZW50KTsgfVxuXG4gIGFkZChlbGVtZW50KSB7IHRoaXMuYXBwZW5kKGVsZW1lbnQpOyB9XG5cbiAgcmVtb3ZlKGVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5yZW1vdmUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZG9tRWxlbWVudC5yZW1vdmUoKTtcbiAgfVxuXG4gIHByZXBlbmQoZWxlbWVudCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBlbGVtZW50LmRvbUVsZW1lbnQsXG4gICAgICAgICAgcmVmZXJlbmNlRE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudC5maXJzdENoaWxkOyAgLy8vXG5cbiAgICB0aGlzLmRvbUVsZW1lbnQuaW5zZXJ0QmVmb3JlKGRvbUVsZW1lbnQsIHJlZmVyZW5jZURPTUVsZW1lbnQpO1xuICB9XG5cbiAgYXBwZW5kKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gZWxlbWVudC5kb21FbGVtZW50LFxuICAgICAgICAgIHJlZmVyZW5jZURPTUVsZW1lbnQgPSBudWxsOyAvLy9cblxuICAgIHRoaXMuZG9tRWxlbWVudC5pbnNlcnRCZWZvcmUoZG9tRWxlbWVudCwgcmVmZXJlbmNlRE9NRWxlbWVudCk7XG4gIH1cblxuICBpbnNlcnRCZWZvcmUoc2libGluZ0VsZW1lbnQpIHtcbiAgICBjb25zdCBwYXJlbnRET01Ob2RlID0gc2libGluZ0VsZW1lbnQuZG9tRWxlbWVudC5wYXJlbnROb2RlLCAvLy9cbiAgICAgICAgICByZWZlcmVuY2VET01FbGVtZW50ID0gc2libGluZ0VsZW1lbnQuZG9tRWxlbWVudDsgIC8vL1xuXG4gICAgcGFyZW50RE9NTm9kZS5pbnNlcnRCZWZvcmUodGhpcy5kb21FbGVtZW50LCByZWZlcmVuY2VET01FbGVtZW50KTtcbiAgfVxuXG4gIGluc2VydEFmdGVyKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgY29uc3QgcGFyZW50RE9NTm9kZSA9IHNpYmxpbmdFbGVtZW50LmRvbUVsZW1lbnQucGFyZW50Tm9kZSwgLy8vXG4gICAgICAgICAgcmVmZXJlbmNlRE9NRWxlbWVudCA9IHNpYmxpbmdFbGVtZW50LmRvbUVsZW1lbnQubmV4dFNpYmxpbmc7ICAvLy9cblxuICAgIHBhcmVudERPTU5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuZG9tRWxlbWVudCwgcmVmZXJlbmNlRE9NRWxlbWVudCk7XG4gIH1cblxuICBtb3VudChlbGVtZW50KSB7XG4gICAgdGhpcy5hZGQoZWxlbWVudCk7XG5cbiAgICBtb3VudEVsZW1lbnQoZWxlbWVudCk7XG4gIH1cblxuICB1bm1vdW50KGVsZW1lbnQpIHtcbiAgICB1bm1vdW50RWxlbWVudChlbGVtZW50KTtcblxuICAgIHRoaXMucmVtb3ZlKGVsZW1lbnQpO1xuICB9XG5cbiAgbW91bnRCZWZvcmUoc2libGluZ0VsZW1lbnQpIHtcbiAgICB0aGlzLmluc2VydEJlZm9yZShzaWJsaW5nRWxlbWVudCk7XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBtb3VudEVsZW1lbnQoZWxlbWVudCk7XG4gIH1cblxuICBtb3VudEFmdGVyKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgdGhpcy5pbnNlcnRBZnRlcihzaWJsaW5nRWxlbWVudCk7XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBtb3VudEVsZW1lbnQoZWxlbWVudCk7XG4gIH1cblxuICBzaG93KGRpc3BsYXlTdHlsZSA9IEJMT0NLKSB7IHRoaXMuZGlzcGxheShkaXNwbGF5U3R5bGUpOyB9XG5cbiAgaGlkZSgpIHsgdGhpcy5zdHlsZShESVNQTEFZLCBOT05FKTsgfVxuXG4gIGRpc3BsYXkoZGlzcGxheSkgeyB0aGlzLnN0eWxlKERJU1BMQVksIGRpc3BsYXkpOyB9XG5cbiAgZW5hYmxlKCkgeyB0aGlzLmNsZWFyQXR0cmlidXRlKERJU0FCTEVEKTsgfVxuXG4gIGRpc2FibGUoKSB7IHRoaXMuc2V0QXR0cmlidXRlKERJU0FCTEVELCBESVNBQkxFRCk7IH1cblxuICBpc0VuYWJsZWQoKSB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmlzRGlzYWJsZWQoKSxcbiAgICAgICAgICBlbmFibGVkID0gIWRpc2FibGVkO1xuXG4gICAgcmV0dXJuIGVuYWJsZWQ7XG4gIH1cblxuICBpc0Rpc2FibGVkKCkge1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5oYXNBdHRyaWJ1dGUoRElTQUJMRUQpO1xuXG4gICAgcmV0dXJuIGRpc2FibGVkO1xuICB9XG4gIFxuICBpc0Rpc3BsYXllZCgpIHtcbiAgICBjb25zdCBkaXNwbGF5ID0gdGhpcy5jc3MoRElTUExBWSksXG4gICAgICAgICAgZGlzcGxheWVkID0gKGRpc3BsYXkgIT09IE5PTkUpO1xuICAgIFxuICAgIHJldHVybiBkaXNwbGF5ZWQ7XG4gIH1cblxuICBpc1Nob3dpbmcoKSB7XG4gICAgY29uc3QgZGlzcGxheWVkID0gdGhpcy5pc0Rpc3BsYXllZCgpLFxuICAgICAgICAgIHNob3dpbmcgPSBkaXNwbGF5ZWQ7ICAvLy9cblxuICAgIHJldHVybiBzaG93aW5nO1xuICB9XG5cbiAgaXNIaWRkZW4oKSB7XG4gICAgY29uc3QgZGlzcGxheWVkID0gdGhpcy5pc0Rpc3BsYXllZCgpLFxuICAgICAgICAgIGhpZGRlbiA9ICFkaXNwbGF5ZWQ7XG5cbiAgICByZXR1cm4gaGlkZGVuO1xuICB9XG5cbiAgc3R5bGUobmFtZSwgdmFsdWUgPSBudWxsKSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGVbbmFtZV0gPSB2YWx1ZTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5kb21FbGVtZW50LnN0eWxlW25hbWVdO1xuXG4gICAgcmV0dXJuIHN0eWxlO1xuICB9XG5cbiAgaHRtbChodG1sID0gbnVsbCkge1xuICAgIGlmIChodG1sICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbm5lckhUTUwgPSBodG1sOyAvLy9cblxuICAgICAgdGhpcy5kb21FbGVtZW50LmlubmVySFRNTCA9IGlubmVySFRNTFxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5uZXJIVE1MID0gdGhpcy5kb21FbGVtZW50LmlubmVySFRNTDtcblxuICAgIGh0bWwgPSBpbm5lckhUTUw7IC8vL1xuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cblxuICBjc3MoY3NzID0gbnVsbCkge1xuICAgIGlmIChjc3MgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuZG9tRWxlbWVudCksXG4gICAgICAgICAgICBjc3MgPSB7fTtcblxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNvbXB1dGVkU3R5bGUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Q29tcHV0ZWRTdHlsZSA9IGZpcnN0W2NvbXB1dGVkU3R5bGVdLFxuICAgICAgICAgICAgICBuYW1lID0gZmlyc3RDb21wdXRlZFN0eWxlLCAgLy8vXG4gICAgICAgICAgICAgIHZhbHVlID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpOyAvLy9cblxuICAgICAgICBjc3NbbmFtZV0gPSB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNzcztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNzcyA9PT0gU1RSSU5HKSB7XG4gICAgICBsZXQgbmFtZSA9IGNzczsgLy8vXG5cbiAgICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuZG9tRWxlbWVudCksXG4gICAgICAgICAgICB2YWx1ZSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTsgLy8vXG5cbiAgICAgIGNzcyA9IHZhbHVlOyAgLy8vXG5cbiAgICAgIHJldHVybiBjc3M7XG4gICAgfVxuXG4gICAgY29uc3QgbmFtZXMgPSBPYmplY3Qua2V5cyhjc3MpOyAvLy9cblxuICAgIG5hbWVzLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gY3NzW25hbWVdO1xuXG4gICAgICB0aGlzLnN0eWxlKG5hbWUsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgZGVzdHJveUVsZW1lbnQoZWxlbWVudCk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCB7IHRhZ05hbWUgfSA9IENsYXNzLFxuICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50RnJvbVRhZ05hbWUoQ2xhc3MsIHRhZ05hbWUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyksXG4gICAgICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSBkZWZhdWx0UHJvcGVydGllc0Zyb21DbGFzcyhDbGFzcyksXG4gICAgICAgICAgaWdub3JlZFByb3BlcnRpZXMgPSBpZ25vcmVkUHJvcGVydGllc0Zyb21DbGFzcyhDbGFzcyk7XG5cbiAgICBlbGVtZW50LmFwcGx5UHJvcGVydGllcyhwcm9wZXJ0aWVzLCBkZWZhdWx0UHJvcGVydGllcywgaWdub3JlZFByb3BlcnRpZXMpO1xuXG4gICAgZWxlbWVudC5pbml0aWFsaXNlICYmIGVsZW1lbnQuaW5pdGlhbGlzZSgpOyAvLy9cblxuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG5cbiAgc3RhdGljIGZyb21UYWdOYW1lKHRhZ05hbWUsIHByb3BlcnRpZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IENsYXNzID0gRWxlbWVudCwgIC8vL1xuICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50RnJvbVRhZ05hbWUoQ2xhc3MsIHRhZ05hbWUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyksXG4gICAgICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSB7fSwgLy8vXG4gICAgICAgICAgaWdub3JlZFByb3BlcnRpZXMgPSBbXTsgLy8vXG5cbiAgICBlbGVtZW50LmFwcGx5UHJvcGVydGllcyhwcm9wZXJ0aWVzLCBkZWZhdWx0UHJvcGVydGllcywgaWdub3JlZFByb3BlcnRpZXMpO1xuXG4gICAgZWxlbWVudC5pbml0aWFsaXNlICYmIGVsZW1lbnQuaW5pdGlhbGlzZSgpOyAvLy9cblxuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGpzeE1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBrZXlNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgbW91c2VNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgY2xpY2tNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgc3RhdGVNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgZXZlbnRNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgdG91Y2hNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgc2Nyb2xsTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHJlc2l6ZU1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBlbGVtZW50TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGZ1bGxTY3JlZW5NaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgY3VzdG9tRXZlbnRNaXhpbnMpO1xuXG5mdW5jdGlvbiBlbGVtZW50RnJvbVRhZ05hbWUoQ2xhc3MsIHRhZ05hbWUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBzZWxlY3RvciA9IG51bGwsXG4gICAgICAgIGVsZW1lbnQgPSBuZXcgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoQ2xhc3MsIG51bGwsIHNlbGVjdG9yLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpKSxcbiAgICAgICAgZG9tRWxlbWVudCA9IGlzU1ZHVGFnTmFtZSh0YWdOYW1lKSA/XG4gICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTkFNRVNQQUNFX1VSSSwgdGFnTmFtZSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG5cbiAgY29uc3RydWN0RWxlbWVudChlbGVtZW50LCBkb21FbGVtZW50KTtcblxuICByZXR1cm4gZWxlbWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MsIGRlZmF1bHRQcm9wZXJ0aWVzID0ge30pIHtcbiAgaWYgKENsYXNzLmhhc093blByb3BlcnR5KERFRkFVTFRfUFJPUEVSVElFUykpIHtcbiAgICBkZWZhdWx0UHJvcGVydGllcyA9IGNvbWJpbmUoZGVmYXVsdFByb3BlcnRpZXMsIENsYXNzW0RFRkFVTFRfUFJPUEVSVElFU10pO1xuICB9XG5cbiAgY29uc3Qgc3VwZXJDbGFzcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihDbGFzcyk7ICAvLy9cblxuICBpZiAoc3VwZXJDbGFzcyAhPT0gbnVsbCkge1xuICAgIGRlZmF1bHRQcm9wZXJ0aWVzID0gZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3Moc3VwZXJDbGFzcywgZGVmYXVsdFByb3BlcnRpZXMpO1xuICB9XG5cbiAgcmV0dXJuIGRlZmF1bHRQcm9wZXJ0aWVzO1xufVxuXG5mdW5jdGlvbiBpZ25vcmVkUHJvcGVydGllc0Zyb21DbGFzcyhDbGFzcywgaWdub3JlZFByb3BlcnRpZXMgPSBbXSkge1xuICBpZiAoQ2xhc3MuaGFzT3duUHJvcGVydHkoSUdOT1JFRF9QUk9QRVJUSUVTKSkge1xuICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gYXVnbWVudChpZ25vcmVkUHJvcGVydGllcywgQ2xhc3NbSUdOT1JFRF9QUk9QRVJUSUVTXSwgKGlnbm9yZWRQcm9wZXJ0eSkgPT4ge1xuICAgICAgaWYgKCFpZ25vcmVkUHJvcGVydGllcy5pbmNsdWRlcyhpZ25vcmVkUHJvcGVydHkpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3Qgc3VwZXJDbGFzcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihDbGFzcyk7XG5cbiAgaWYgKHN1cGVyQ2xhc3MgIT09IG51bGwpIHtcbiAgICBpZ25vcmVkUHJvcGVydGllcyA9IGlnbm9yZWRQcm9wZXJ0aWVzRnJvbUNsYXNzKHN1cGVyQ2xhc3MsIGlnbm9yZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIHJldHVybiBpZ25vcmVkUHJvcGVydGllcztcbn1cbiJdLCJuYW1lcyI6WyJFbGVtZW50Iiwic2VsZWN0b3IiLCJlbGVtZW50IiwiZG9tRWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbnN0cnVjdEVsZW1lbnQiLCJnZXRET01FbGVtZW50IiwiZ2V0T2Zmc2V0Iiwib2Zmc2V0IiwiT2Zmc2V0IiwiZnJvbURPTUVsZW1lbnQiLCJnZXRCb3VuZHMiLCJib3VuZHMiLCJCb3VuZHMiLCJnZXRXaWR0aCIsIm9mZnNldFdpZHRoIiwiZ2V0SGVpZ2h0Iiwib2Zmc2V0SGVpZ2h0IiwiZ2V0SW5uZXJXaWR0aCIsImNsaWVudFdpZHRoIiwiZ2V0SW5uZXJIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJzZXRXaWR0aCIsIndpZHRoIiwic3R5bGUiLCJXSURUSCIsInNldEhlaWdodCIsImhlaWdodCIsIkhFSUdIVCIsImhhc0F0dHJpYnV0ZSIsIm5hbWUiLCJnZXRBdHRyaWJ1dGUiLCJzZXRBdHRyaWJ1dGUiLCJ2YWx1ZSIsImNsZWFyQXR0cmlidXRlIiwicmVtb3ZlQXR0cmlidXRlIiwiYWRkQXR0cmlidXRlIiwiaGFzQ2xhc3MiLCJjbGFzc05hbWUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsInNldENsYXNzIiwiYWRkQ2xhc3MiLCJhZGQiLCJyZW1vdmVDbGFzcyIsInJlbW92ZSIsInRvZ2dsZUNsYXNzIiwidG9nZ2xlIiwicmVtb3ZlQWxsQ2xhc3NlcyIsIkVNUFRZX1NUUklORyIsImFkZFRvIiwicGFyZW50RWxlbWVudCIsImFwcGVuZFRvIiwiYXBwZW5kIiwicHJlcGVuZFRvIiwicHJlcGVuZCIsInJlbW92ZUZyb20iLCJpbnNlcnQiLCJyZWZlcmVuY2VET01FbGVtZW50IiwiZmlyc3RDaGlsZCIsImluc2VydEJlZm9yZSIsInNpYmxpbmdFbGVtZW50IiwicGFyZW50RE9NTm9kZSIsInBhcmVudE5vZGUiLCJpbnNlcnRBZnRlciIsIm5leHRTaWJsaW5nIiwibW91bnQiLCJtb3VudEVsZW1lbnQiLCJ1bm1vdW50IiwidW5tb3VudEVsZW1lbnQiLCJtb3VudEJlZm9yZSIsIm1vdW50QWZ0ZXIiLCJzaG93IiwiZGlzcGxheVN0eWxlIiwiQkxPQ0siLCJkaXNwbGF5IiwiaGlkZSIsIkRJU1BMQVkiLCJOT05FIiwiZW5hYmxlIiwiRElTQUJMRUQiLCJkaXNhYmxlIiwiaXNFbmFibGVkIiwiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIiwiZW5hYmxlZCIsImlzRGlzcGxheWVkIiwiY3NzIiwiZGlzcGxheWVkIiwiaXNTaG93aW5nIiwic2hvd2luZyIsImlzSGlkZGVuIiwiaGlkZGVuIiwiaHRtbCIsImlubmVySFRNTCIsImNvbXB1dGVkU3R5bGUiLCJnZXRDb21wdXRlZFN0eWxlIiwiaW5kZXgiLCJsZW5ndGgiLCJmaXJzdENvbXB1dGVkU3R5bGUiLCJmaXJzdCIsImdldFByb3BlcnR5VmFsdWUiLCJTVFJJTkciLCJuYW1lcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiZGVzdHJveSIsImRlc3Ryb3lFbGVtZW50IiwiZnJvbUNsYXNzIiwiQ2xhc3MiLCJwcm9wZXJ0aWVzIiwicmVtYWluaW5nQXJndW1lbnRzIiwidGFnTmFtZSIsImVsZW1lbnRGcm9tVGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3MiLCJpZ25vcmVkUHJvcGVydGllcyIsImlnbm9yZWRQcm9wZXJ0aWVzRnJvbUNsYXNzIiwiYXBwbHlQcm9wZXJ0aWVzIiwiaW5pdGlhbGlzZSIsImZyb21UYWdOYW1lIiwiYXNzaWduIiwicHJvdG90eXBlIiwianN4TWl4aW5zIiwia2V5TWl4aW5zIiwibW91c2VNaXhpbnMiLCJjbGlja01peGlucyIsInN0YXRlTWl4aW5zIiwiZXZlbnRNaXhpbnMiLCJ0b3VjaE1peGlucyIsInNjcm9sbE1peGlucyIsInJlc2l6ZU1peGlucyIsImVsZW1lbnRNaXhpbnMiLCJmdWxsU2NyZWVuTWl4aW5zIiwiY3VzdG9tRXZlbnRNaXhpbnMiLCJGdW5jdGlvbiIsImJpbmQiLCJjYWxsIiwiaXNTVkdUYWdOYW1lIiwiY3JlYXRlRWxlbWVudE5TIiwiU1ZHX05BTUVTUEFDRV9VUkkiLCJjcmVhdGVFbGVtZW50IiwiaGFzT3duUHJvcGVydHkiLCJERUZBVUxUX1BST1BFUlRJRVMiLCJjb21iaW5lIiwic3VwZXJDbGFzcyIsImdldFByb3RvdHlwZU9mIiwiSUdOT1JFRF9QUk9QRVJUSUVTIiwiYXVnbWVudCIsImlnbm9yZWRQcm9wZXJ0eSIsImluY2x1ZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWlDcUJBOzs7NkRBL0JGOzZEQUNBOzBEQUNHOzBEQUNBOzREQUNFOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzZEQUNDOzZEQUNBOzhEQUNDO2lFQUNHO2tFQUNDO3NCQUVOO29CQUNLO3FCQUNFO3dCQUNnRDt5QkFXNUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVwQixJQUFBLEFBQU1BLHdCQUFOO2FBQU1BLFFBQ1BDLFFBQVE7Z0NBREREO1FBRWpCLElBQUlDLGFBQWEsTUFBTTtZQUNyQixJQUFNQyxVQUFTLElBQUksRUFDYkMsYUFBYUMsU0FBU0MsYUFBYSxDQUFDSjtZQUUxQ0ssSUFBQUEsMEJBQWdCLEVBQUNKLFNBQVNDO1FBQzVCOztrQkFQaUJIOztZQVVuQk8sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixVQUFVO1lBQ3hCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFNBQVNDLGVBQU0sQ0FBQ0MsY0FBYyxDQUFDLElBQUksQ0FBQ1IsVUFBVTtnQkFFcEQsT0FBT007WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtn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
|
package/lib/offset.js
CHANGED
|
@@ -46,8 +46,16 @@ var Offset = /*#__PURE__*/ function() {
|
|
|
46
46
|
return this.left;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
], [
|
|
50
|
+
{
|
|
51
|
+
key: "fromDOMElement",
|
|
52
|
+
value: function fromDOMElement(domElement) {
|
|
53
|
+
var offsetTop = domElement.offsetTop, offsetLeft = domElement.offsetLeft, top = offsetTop, left = offsetLeft, offset = new Offset(top, left);
|
|
54
|
+
return offset;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
49
57
|
]);
|
|
50
58
|
return Offset;
|
|
51
59
|
}();
|
|
52
60
|
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9vZmZzZXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE9mZnNldCB7XG4gIGNvbnN0cnVjdG9yKHRvcCwgbGVmdCkge1xuICAgIHRoaXMudG9wID0gdG9wO1xuICAgIHRoaXMubGVmdCA9IGxlZnQ7XG4gIH1cblxuICBnZXRUb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9wO1xuICB9XG5cbiAgZ2V0TGVmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5sZWZ0O1xuICB9XG5cbiAgc3RhdGljIGZyb21ET01FbGVtZW50KGRvbUVsZW1lbnQpIHtcbiAgICBjb25zdCB7IG9mZnNldFRvcCwgb2Zmc2V0TGVmdCB9ID0gZG9tRWxlbWVudCxcbiAgICAgICAgICB0b3AgPSBvZmZzZXRUb3AsICAvLy9cbiAgICAgICAgICBsZWZ0ID0gb2Zmc2V0TGVmdCwgIC8vL1xuICAgICAgICAgIG9mZnNldCA9IG5ldyBPZmZzZXQodG9wLCBsZWZ0KTtcblxuICAgIHJldHVybiBvZmZzZXQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJPZmZzZXQiLCJ0b3AiLCJsZWZ0IiwiZ2V0VG9wIiwiZ2V0TGVmdCIsImZyb21ET01FbGVtZW50IiwiZG9tRWxlbWVudCIsIm9mZnNldFRvcCIsIm9mZnNldExlZnQiLCJvZmZzZXQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsdUJBQU47YUFBTUEsT0FDUEMsR0FBRyxFQUFFQyxJQUFJO2dDQURGRjtRQUVqQixJQUFJLENBQUNDLEdBQUcsR0FBR0E7UUFDWCxJQUFJLENBQUNDLElBQUksR0FBR0E7O2tCQUhLRjs7WUFNbkJHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsR0FBRztZQUNqQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7OztZQUVPRyxLQUFBQTttQkFBUCxTQUFPQSxlQUFlQyxVQUFVO2dCQUM5QixJQUFRQyxZQUEwQkQsV0FBMUJDLFdBQVdDLGFBQWVGLFdBQWZFLFlBQ2JQLE1BQU1NLFdBQ05MLE9BQU9NLFlBQ1BDLFNBQVMsSUFsQkVULE9Ba0JTQyxLQUFLQztnQkFFL0IsT0FBT087WUFDVDs7O1dBckJtQlQifQ==
|
package/lib/textElement.js
CHANGED
|
@@ -49,46 +49,44 @@ var TextElement = /*#__PURE__*/ function() {
|
|
|
49
49
|
return this.domElement;
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
|
-
{
|
|
53
|
-
key: "getText",
|
|
54
|
-
value: function getText() {
|
|
55
|
-
var nodeValue = this.domElement.nodeValue, text = nodeValue; ///
|
|
56
|
-
return text;
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
key: "setText",
|
|
61
|
-
value: function setText(text) {
|
|
62
|
-
var nodeValue = text; ///
|
|
63
|
-
this.domElement.nodeValue = nodeValue;
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
52
|
{
|
|
67
53
|
key: "getOffset",
|
|
68
54
|
value: function getOffset() {
|
|
69
|
-
var
|
|
55
|
+
var offset = _offset.default.fromDOMElement(this.domElement);
|
|
70
56
|
return offset;
|
|
71
57
|
}
|
|
72
58
|
},
|
|
73
59
|
{
|
|
74
60
|
key: "getBounds",
|
|
75
61
|
value: function getBounds() {
|
|
76
|
-
var
|
|
62
|
+
var bounds = _bounds.default.fromDOMElement(this.domElement);
|
|
77
63
|
return bounds;
|
|
78
64
|
}
|
|
79
65
|
},
|
|
80
66
|
{
|
|
81
67
|
key: "getWidth",
|
|
82
68
|
value: function getWidth() {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
69
|
+
return this.domElement.offsetWidth;
|
|
70
|
+
} ///
|
|
86
71
|
},
|
|
87
72
|
{
|
|
88
73
|
key: "getHeight",
|
|
89
74
|
value: function getHeight() {
|
|
90
|
-
|
|
91
|
-
|
|
75
|
+
return this.domElement.offsetHeight;
|
|
76
|
+
} ///
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: "getText",
|
|
80
|
+
value: function getText() {
|
|
81
|
+
var nodeValue = this.domElement.nodeValue, text = nodeValue; ///
|
|
82
|
+
return text;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
key: "setText",
|
|
87
|
+
value: function setText(text) {
|
|
88
|
+
var nodeValue = text; ///
|
|
89
|
+
this.domElement.nodeValue = nodeValue;
|
|
92
90
|
}
|
|
93
91
|
},
|
|
94
92
|
{
|
|
@@ -152,4 +150,4 @@ Object.assign(TextElement.prototype, {
|
|
|
152
150
|
getPreviousSiblingElement: _element1.getPreviousSiblingElement
|
|
153
151
|
});
|
|
154
152
|
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXh0RWxlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE9mZnNldCBmcm9tIFwiLi9vZmZzZXRcIjtcbmltcG9ydCBCb3VuZHMgZnJvbSBcIi4vYm91bmRzXCI7XG5cbmltcG9ydCB7IGNvbnN0cnVjdEVsZW1lbnQsIGRlc3Ryb3lFbGVtZW50IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2VsZW1lbnRcIjtcbmltcG9ydCB7IGdldFBhcmVudEVsZW1lbnQsIGdldEFzY2VuZGFudEVsZW1lbnRzLCBnZXROZXh0U2libGluZ0VsZW1lbnQsIGdldFByZXZpb3VzU2libGluZ0VsZW1lbnQgfSBmcm9tIFwiLi9taXhpbnMvZWxlbWVudFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUZXh0RWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKHRleHQpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgICAgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpOyAvLy9cblxuICAgIGNvbnN0cnVjdEVsZW1lbnQoZWxlbWVudCwgZG9tRWxlbWVudCk7XG4gIH1cblxuICBnZXRET01FbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmRvbUVsZW1lbnQ7XG4gIH1cblxuICBnZXRPZmZzZXQoKSB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gT2Zmc2V0LmZyb21ET01FbGVtZW50KHRoaXMuZG9tRWxlbWVudCk7XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9XG5cbiAgZ2V0Qm91bmRzKCkge1xuICAgIGNvbnN0IGJvdW5kcyA9IEJvdW5kcy5mcm9tRE9NRWxlbWVudCh0aGlzLmRvbUVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIGJvdW5kcztcbiAgfVxuXG4gIGdldFdpZHRoKCkgeyByZXR1cm4gdGhpcy5kb21FbGVtZW50Lm9mZnNldFdpZHRoOyB9ICAvLy9cblxuICBnZXRIZWlnaHQoKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0SGVpZ2h0OyB9ICAvLy9cblxuICBnZXRUZXh0KCkge1xuICAgIGNvbnN0IG5vZGVWYWx1ZSA9IHRoaXMuZG9tRWxlbWVudC5ub2RlVmFsdWUsXG4gICAgICAgICAgdGV4dCA9IG5vZGVWYWx1ZTsgLy8vXG5cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIHNldFRleHQodGV4dCkge1xuICAgIGNvbnN0IG5vZGVWYWx1ZSA9IHRleHQ7IC8vL1xuXG4gICAgdGhpcy5kb21FbGVtZW50Lm5vZGVWYWx1ZSA9IG5vZGVWYWx1ZTtcbiAgfVxuXG4gIHByZXBlbmRUbyhwYXJlbnRFbGVtZW50KSB7IHBhcmVudEVsZW1lbnQucHJlcGVuZCh0aGlzKTsgfVxuXG4gIGFwcGVuZFRvKHBhcmVudEVsZW1lbnQpIHsgcGFyZW50RWxlbWVudC5hcHBlbmQodGhpcyk7IH1cblxuICBhZGRUbyhwYXJlbnRFbGVtZW50KSB7IHBhcmVudEVsZW1lbnQuYWRkKHRoaXMpOyB9XG5cbiAgcmVtb3ZlRnJvbShwYXJlbnRFbGVtZW50KSB7IHBhcmVudEVsZW1lbnQucmVtb3ZlKHRoaXMpOyB9XG5cbiAgaW5zZXJ0QmVmb3JlKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgY29uc3QgcGFyZW50RE9NTm9kZSA9IHNpYmxpbmdFbGVtZW50LmRvbUVsZW1lbnQucGFyZW50Tm9kZSwgLy8vXG4gICAgICAgICAgc2libGluZ0RPTUVsZW1lbnQgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50OyAgLy8vXG5cbiAgICBwYXJlbnRET01Ob2RlLmluc2VydEJlZm9yZSh0aGlzLmRvbUVsZW1lbnQsIHNpYmxpbmdET01FbGVtZW50KTtcbiAgfVxuXG4gIGluc2VydEFmdGVyKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgY29uc3QgcGFyZW50RE9NTm9kZSA9IHNpYmxpbmdFbGVtZW50LmRvbUVsZW1lbnQucGFyZW50Tm9kZSwgLy8vXG4gICAgICAgICAgc2libGluZ0RPTUVsZW1lbnQgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50OyAgLy8vXG5cbiAgICBwYXJlbnRET01Ob2RlLmluc2VydEJlZm9yZSh0aGlzLmRvbUVsZW1lbnQsIHNpYmxpbmdET01FbGVtZW50Lm5leHRTaWJsaW5nKTsgIC8vL1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIHRoaXMuZG9tRWxlbWVudC5yZW1vdmUoKTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgZGVzdHJveUVsZW1lbnQoZWxlbWVudCk7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihUZXh0RWxlbWVudC5wcm90b3R5cGUsIHtcbiAgZ2V0UGFyZW50RWxlbWVudCxcbiAgZ2V0QXNjZW5kYW50RWxlbWVudHMsXG4gIGdldE5leHRTaWJsaW5nRWxlbWVudCxcbiAgZ2V0UHJldmlvdXNTaWJsaW5nRWxlbWVudFxufSk7XG4iXSwibmFtZXMiOlsiVGV4dEVsZW1lbnQiLCJ0ZXh0IiwiZWxlbWVudCIsImRvbUVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZVRleHROb2RlIiwiY29uc3RydWN0RWxlbWVudCIsImdldERPTUVsZW1lbnQiLCJnZXRPZmZzZXQiLCJvZmZzZXQiLCJPZmZzZXQiLCJmcm9tRE9NRWxlbWVudCIsImdldEJvdW5kcyIsImJvdW5kcyIsIkJvdW5kcyIsImdldFdpZHRoIiwib2Zmc2V0V2lkdGgiLCJnZXRIZWlnaHQiLCJvZmZzZXRIZWlnaHQiLCJnZXRUZXh0Iiwibm9kZVZhbHVlIiwic2V0VGV4dCIsInByZXBlbmRUbyIsInBhcmVudEVsZW1lbnQiLCJwcmVwZW5kIiwiYXBwZW5kVG8iLCJhcHBlbmQiLCJhZGRUbyIsImFkZCIsInJlbW92ZUZyb20iLCJyZW1vdmUiLCJpbnNlcnRCZWZvcmUiLCJzaWJsaW5nRWxlbWVudCIsInBhcmVudERPTU5vZGUiLCJwYXJlbnROb2RlIiwic2libGluZ0RPTUVsZW1lbnQiLCJpbnNlcnRBZnRlciIsIm5leHRTaWJsaW5nIiwiZGVzdHJveSIsImRlc3Ryb3lFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZ2V0UGFyZW50RWxlbWVudCIsImdldEFzY2VuZGFudEVsZW1lbnRzIiwiZ2V0TmV4dFNpYmxpbmdFbGVtZW50IiwiZ2V0UHJldmlvdXNTaWJsaW5nRWxlbWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFRcUJBOzs7NkRBTkY7NkRBQ0E7dUJBRThCO3dCQUN3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxRixJQUFBLEFBQU1BLDRCQUFOO2FBQU1BLFlBQ1BDLElBQUk7Z0NBREdEO1FBRWpCLElBQU1FLFVBQVUsSUFBSSxFQUNkQyxhQUFhQyxTQUFTQyxjQUFjLENBQUNKLE9BQU8sR0FBRztRQUVyREssSUFBQUEseUJBQWdCLEVBQUNKLFNBQVNDOztrQkFMVEg7O1lBUW5CTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLFVBQVU7WUFDeEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsU0FBU0MsZUFBTSxDQUFDQyxjQUFjLENBQUMsSUFBSSxDQUFDUixVQUFVO2dCQUVwRCxPQUFPTTtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFNBQVNDLGVBQU0sQ0FBQ0gsY0FBYyxDQUFDLElBQUksQ0FBQ1IsVUFBVTtnQkFFcEQsT0FBT1U7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYSxPQUFPLElBQUksQ0FBQ1osVUFBVSxDQUFDYSxXQUFXO1lBQUUsRUFBRyxHQUFHOzs7WUFFdkRDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYyxPQUFPLElBQUksQ0FBQ2QsVUFBVSxDQUFDZSxZQUFZO1lBQUUsRUFBRyxHQUFHOzs7WUFFekRDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxZQUFZLElBQUksQ0FBQ2pCLFVBQVUsQ0FBQ2lCLFNBQVMsRUFDckNuQixPQUFPbUIsV0FBVyxHQUFHO2dCQUUzQixPQUFPbkI7WUFDVDs7O1lBRUFvQixLQUFBQTttQkFBQUEsU0FBQUEsUUFBUXBCLElBQUk7Z0JBQ1YsSUFBTW1CLFlBQVluQixNQUFNLEdBQUc7Z0JBRTNCLElBQUksQ0FBQ0UsVUFBVSxDQUFDaUIsU0FBUyxHQUFHQTtZQUM5Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVQyxhQUFhO2dCQUFJQSxjQUFjQyxPQUFPLENBQUMsSUFBSTtZQUFHOzs7WUFFeERDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTRixhQUFhO2dCQUFJQSxjQUFjRyxNQUFNLENBQUMsSUFBSTtZQUFHOzs7WUFFdERDLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNSixhQUFhO2dCQUFJQSxjQUFjSyxHQUFHLENBQUMsSUFBSTtZQUFHOzs7WUFFaERDLEtBQUFBO21CQUFBQSxTQUFBQSxXQUFXTixhQUFhO2dCQUFJQSxjQUFjTyxNQUFNLENBQUMsSUFBSTtZQUFHOzs7WUFFeERDLEtBQUFBO21CQUFBQSxTQUFBQSxhQUFhQyxjQUFjO2dCQUN6QixJQUFNQyxnQkFBZ0JELGVBQWU3QixVQUFVLENBQUMrQixVQUFVLEVBQ3BEQyxvQkFBb0JILGVBQWU3QixVQUFVLEVBQUcsR0FBRztnQkFFekQ4QixjQUFjRixZQUFZLENBQUMsSUFBSSxDQUFDNUIsVUFBVSxFQUFFZ0M7WUFDOUM7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWUosY0FBYztnQkFDeEIsSUFBTUMsZ0JBQWdCRCxlQUFlN0IsVUFBVSxDQUFDK0IsVUFBVSxFQUNwREMsb0JBQW9CSCxlQUFlN0IsVUFBVSxFQUFHLEdBQUc7Z0JBRXpEOEIsY0FBY0YsWUFBWSxDQUFDLElBQUksQ0FBQzVCLFVBQVUsRUFBRWdDLGtCQUFrQkUsV0FBVyxHQUFJLEdBQUc7WUFDbEY7OztZQUVBUCxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDM0IsVUFBVSxDQUFDMkIsTUFBTTtZQUN4Qjs7O1lBRUFRLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNcEMsVUFBVSxJQUFJLEVBQUUsR0FBRztnQkFFekJxQyxJQUFBQSx1QkFBYyxFQUFDckM7WUFDakI7OztXQXZFbUJGOztBQTBFckJ3QyxPQUFPQyxNQUFNLENBQUN6QyxZQUFZMEMsU0FBUyxFQUFFO0lBQ25DQyxrQkFBQUEsMEJBQWdCO0lBQ2hCQyxzQkFBQUEsOEJBQW9CO0lBQ3BCQyx1QkFBQUEsK0JBQXFCO0lBQ3JCQywyQkFBQUEsbUNBQXlCO0FBQzNCIn0=
|
package/package.json
CHANGED
package/src/bounds.js
CHANGED
|
@@ -74,9 +74,11 @@ export default class Bounds {
|
|
|
74
74
|
return overlapping;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
static
|
|
78
|
-
const
|
|
79
|
-
|
|
77
|
+
static fromDOMElement(domElement) {
|
|
78
|
+
const { pageXOffset, pageYOffset } = window,
|
|
79
|
+
boundingClientRect = domElement.getBoundingClientRect(),
|
|
80
|
+
windowScrollTop = pageYOffset, ///
|
|
81
|
+
windowScrollLeft = pageXOffset, ///
|
|
80
82
|
top = boundingClientRect.top + windowScrollTop,
|
|
81
83
|
left = boundingClientRect.left + windowScrollLeft,
|
|
82
84
|
right = boundingClientRect.right + windowScrollLeft,
|
package/src/document.js
CHANGED
|
@@ -18,6 +18,10 @@ class Document {
|
|
|
18
18
|
return this.domElement;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
getInnerWidth() { return this.domElement.clientWidth; } ///
|
|
22
|
+
|
|
23
|
+
getInnerHeight() { return this.domElement.clientHeight; } ///
|
|
24
|
+
|
|
21
25
|
getSelection() { return this.domElement.getSelection(); }
|
|
22
26
|
|
|
23
27
|
createRange() { return this.domElement.createRange(); }
|
package/src/element.js
CHANGED
|
@@ -46,27 +46,24 @@ export default class Element {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
getOffset() {
|
|
49
|
-
const
|
|
50
|
-
left = this.domElement.offsetLeft, ///
|
|
51
|
-
offset = new Offset(top, left);
|
|
49
|
+
const offset = Offset.fromDOMElement(this.domElement);
|
|
52
50
|
|
|
53
51
|
return offset;
|
|
54
52
|
}
|
|
55
53
|
|
|
56
54
|
getBounds() {
|
|
57
|
-
const
|
|
58
|
-
bounds = Bounds.fromBoundingClientRect(boundingClientRect);
|
|
55
|
+
const bounds = Bounds.fromDOMElement(this.domElement);
|
|
59
56
|
|
|
60
57
|
return bounds;
|
|
61
58
|
}
|
|
62
59
|
|
|
63
|
-
getWidth(
|
|
64
|
-
const width = includeBorder ?
|
|
65
|
-
this.domElement.offsetWidth :
|
|
66
|
-
this.domElement.clientWidth;
|
|
60
|
+
getWidth() { return this.domElement.offsetWidth; } ///
|
|
67
61
|
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
getHeight() { return this.domElement.offsetHeight; } ///
|
|
63
|
+
|
|
64
|
+
getInnerWidth() { return this.domElement.clientWidth; } ///
|
|
65
|
+
|
|
66
|
+
getInnerHeight() { return this.domElement.clientHeight; } ///
|
|
70
67
|
|
|
71
68
|
setWidth(width) {
|
|
72
69
|
width = `${width}px`; ///
|
|
@@ -74,14 +71,6 @@ export default class Element {
|
|
|
74
71
|
this.style(WIDTH, width);
|
|
75
72
|
}
|
|
76
73
|
|
|
77
|
-
getHeight(includeBorder = true) {
|
|
78
|
-
const height = includeBorder ?
|
|
79
|
-
this.domElement.offsetHeight :
|
|
80
|
-
this.domElement.clientHeight;
|
|
81
|
-
|
|
82
|
-
return height;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
74
|
setHeight(height) {
|
|
86
75
|
height = `${height}px`; ///
|
|
87
76
|
|
package/src/offset.js
CHANGED
|
@@ -13,4 +13,13 @@ export default class Offset {
|
|
|
13
13
|
getLeft() {
|
|
14
14
|
return this.left;
|
|
15
15
|
}
|
|
16
|
+
|
|
17
|
+
static fromDOMElement(domElement) {
|
|
18
|
+
const { offsetTop, offsetLeft } = domElement,
|
|
19
|
+
top = offsetTop, ///
|
|
20
|
+
left = offsetLeft, ///
|
|
21
|
+
offset = new Offset(top, left);
|
|
22
|
+
|
|
23
|
+
return offset;
|
|
24
|
+
}
|
|
16
25
|
}
|
package/src/textElement.js
CHANGED
|
@@ -4,7 +4,6 @@ import Offset from "./offset";
|
|
|
4
4
|
import Bounds from "./bounds";
|
|
5
5
|
|
|
6
6
|
import { constructElement, destroyElement } from "./utilities/element";
|
|
7
|
-
|
|
8
7
|
import { getParentElement, getAscendantElements, getNextSiblingElement, getPreviousSiblingElement } from "./mixins/element";
|
|
9
8
|
|
|
10
9
|
export default class TextElement {
|
|
@@ -19,46 +18,33 @@ export default class TextElement {
|
|
|
19
18
|
return this.domElement;
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
getText() {
|
|
23
|
-
const nodeValue = this.domElement.nodeValue,
|
|
24
|
-
text = nodeValue; ///
|
|
25
|
-
|
|
26
|
-
return text;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
setText(text) {
|
|
30
|
-
const nodeValue = text; ///
|
|
31
|
-
|
|
32
|
-
this.domElement.nodeValue = nodeValue;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
21
|
getOffset() {
|
|
36
|
-
const
|
|
37
|
-
left = this.domElement.offsetLeft, ///
|
|
38
|
-
offset = new Offset(top, left);
|
|
22
|
+
const offset = Offset.fromDOMElement(this.domElement);
|
|
39
23
|
|
|
40
24
|
return offset;
|
|
41
25
|
}
|
|
42
26
|
|
|
43
27
|
getBounds() {
|
|
44
|
-
const
|
|
45
|
-
bounds = Bounds.fromBoundingClientRect(boundingClientRect);
|
|
28
|
+
const bounds = Bounds.fromDOMElement(this.domElement);
|
|
46
29
|
|
|
47
30
|
return bounds;
|
|
48
31
|
}
|
|
49
32
|
|
|
50
|
-
getWidth() {
|
|
51
|
-
|
|
52
|
-
|
|
33
|
+
getWidth() { return this.domElement.offsetWidth; } ///
|
|
34
|
+
|
|
35
|
+
getHeight() { return this.domElement.offsetHeight; } ///
|
|
53
36
|
|
|
54
|
-
|
|
37
|
+
getText() {
|
|
38
|
+
const nodeValue = this.domElement.nodeValue,
|
|
39
|
+
text = nodeValue; ///
|
|
40
|
+
|
|
41
|
+
return text;
|
|
55
42
|
}
|
|
56
43
|
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
height = clientHeight; ///
|
|
44
|
+
setText(text) {
|
|
45
|
+
const nodeValue = text; ///
|
|
60
46
|
|
|
61
|
-
|
|
47
|
+
this.domElement.nodeValue = nodeValue;
|
|
62
48
|
}
|
|
63
49
|
|
|
64
50
|
prependTo(parentElement) { parentElement.prepend(this); }
|