easy-drag-and-drop 1.2.89 → 1.3.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.
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ DRAG_EVENT_TYPE: function() {
13
+ return DRAG_EVENT_TYPE;
14
+ },
15
+ DROP_EVENT_TYPE: function() {
16
+ return DROP_EVENT_TYPE;
17
+ },
18
+ DRAG_OUT_EVENT_TYPE: function() {
19
+ return DRAG_OUT_EVENT_TYPE;
20
+ },
21
+ DRAG_OVER_EVENT_TYPE: function() {
22
+ return DRAG_OVER_EVENT_TYPE;
23
+ },
24
+ STOP_DRAG_EVENT_TYPE: function() {
25
+ return STOP_DRAG_EVENT_TYPE;
26
+ },
27
+ START_DRAG_EVENT_TYPE: function() {
28
+ return START_DRAG_EVENT_TYPE;
29
+ },
30
+ default: function() {
31
+ return _default;
32
+ }
33
+ });
34
+ var DRAG_EVENT_TYPE = "drag";
35
+ var DROP_EVENT_TYPE = "drop";
36
+ var DRAG_OUT_EVENT_TYPE = "dragout";
37
+ var DRAG_OVER_EVENT_TYPE = "dragover";
38
+ var STOP_DRAG_EVENT_TYPE = "stopdrag";
39
+ var START_DRAG_EVENT_TYPE = "startdrag";
40
+ var _default = {
41
+ DRAG_EVENT_TYPE: DRAG_EVENT_TYPE,
42
+ DROP_EVENT_TYPE: DROP_EVENT_TYPE,
43
+ DRAG_OUT_EVENT_TYPE: DRAG_OUT_EVENT_TYPE,
44
+ DRAG_OVER_EVENT_TYPE: DRAG_OVER_EVENT_TYPE,
45
+ STOP_DRAG_EVENT_TYPE: STOP_DRAG_EVENT_TYPE,
46
+ START_DRAG_EVENT_TYPE: START_DRAG_EVENT_TYPE
47
+ };
48
+
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudFR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgRFJBR19FVkVOVF9UWVBFID0gXCJkcmFnXCI7XG5leHBvcnQgY29uc3QgRFJPUF9FVkVOVF9UWVBFID0gXCJkcm9wXCI7XG5leHBvcnQgY29uc3QgRFJBR19PVVRfRVZFTlRfVFlQRSA9IFwiZHJhZ291dFwiO1xuZXhwb3J0IGNvbnN0IERSQUdfT1ZFUl9FVkVOVF9UWVBFID0gXCJkcmFnb3ZlclwiO1xuZXhwb3J0IGNvbnN0IFNUT1BfRFJBR19FVkVOVF9UWVBFID0gXCJzdG9wZHJhZ1wiO1xuZXhwb3J0IGNvbnN0IFNUQVJUX0RSQUdfRVZFTlRfVFlQRSA9IFwic3RhcnRkcmFnXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgRFJBR19FVkVOVF9UWVBFLFxuICBEUk9QX0VWRU5UX1RZUEUsXG4gIERSQUdfT1VUX0VWRU5UX1RZUEUsXG4gIERSQUdfT1ZFUl9FVkVOVF9UWVBFLFxuICBTVE9QX0RSQUdfRVZFTlRfVFlQRSxcbiAgU1RBUlRfRFJBR19FVkVOVF9UWVBFXG59O1xuIl0sIm5hbWVzIjpbIkRSQUdfRVZFTlRfVFlQRSIsIkRST1BfRVZFTlRfVFlQRSIsIkRSQUdfT1VUX0VWRU5UX1RZUEUiLCJEUkFHX09WRVJfRVZFTlRfVFlQRSIsIlNUT1BfRFJBR19FVkVOVF9UWVBFIiwiU1RBUlRfRFJBR19FVkVOVF9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFYUEsZUFBZTtlQUFmQTs7SUFDQUMsZUFBZTtlQUFmQTs7SUFDQUMsbUJBQW1CO2VBQW5CQTs7SUFDQUMsb0JBQW9CO2VBQXBCQTs7SUFDQUMsb0JBQW9CO2VBQXBCQTs7SUFDQUMscUJBQXFCO2VBQXJCQTs7SUFFYixPQU9FO2VBUEY7OztBQVBPLElBQU1MLGtCQUFrQjtBQUN4QixJQUFNQyxrQkFBa0I7QUFDeEIsSUFBTUMsc0JBQXNCO0FBQzVCLElBQU1DLHVCQUF1QjtBQUM3QixJQUFNQyx1QkFBdUI7QUFDN0IsSUFBTUMsd0JBQXdCO0lBRXJDLFdBQWU7SUFDYkwsaUJBQUFBO0lBQ0FDLGlCQUFBQTtJQUNBQyxxQkFBQUE7SUFDQUMsc0JBQUFBO0lBQ0FDLHNCQUFBQTtJQUNBQyx1QkFBQUE7QUFDRiJ9
package/lib/index.js CHANGED
@@ -9,6 +9,9 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ eventTypes: function() {
13
+ return _eventTypes.default;
14
+ },
12
15
  dragMixins: function() {
13
16
  return _drag.default;
14
17
  },
@@ -22,6 +25,7 @@ _export(exports, {
22
25
  return _drop1.default;
23
26
  }
24
27
  });
28
+ var _eventTypes = /*#__PURE__*/ _interopRequireDefault(require("./eventTypes"));
25
29
  var _drag = /*#__PURE__*/ _interopRequireDefault(require("./mixins/drag"));
26
30
  var _drop = /*#__PURE__*/ _interopRequireDefault(require("./mixins/drop"));
27
31
  var _drag1 = /*#__PURE__*/ _interopRequireDefault(require("./element/drag"));
@@ -32,4 +36,4 @@ function _interopRequireDefault(obj) {
32
36
  };
33
37
  }
34
38
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBkcmFnTWl4aW5zIH0gZnJvbSBcIi4vbWl4aW5zL2RyYWdcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZHJvcE1peGlucyB9IGZyb20gXCIuL21peGlucy9kcm9wXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERyYWdFbGVtZW50IH0gZnJvbSBcIi4vZWxlbWVudC9kcmFnXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERyb3BFbGVtZW50IH0gZnJvbSBcIi4vZWxlbWVudC9kcm9wXCI7XG4iXSwibmFtZXMiOlsiZHJhZ01peGlucyIsImRyb3BNaXhpbnMiLCJEcmFnRWxlbWVudCIsIkRyb3BFbGVtZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFb0JBLFVBQVU7ZUFBVkEsYUFBVTs7SUFDVkMsVUFBVTtlQUFWQSxhQUFVOztJQUNWQyxXQUFXO2VBQVhBLGNBQVc7O0lBQ1hDLFdBQVc7ZUFBWEEsY0FBVzs7O3lEQUhPO3lEQUNBOzBEQUNDOzBEQUNBIn0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBldmVudFR5cGVzIH0gZnJvbSBcIi4vZXZlbnRUeXBlc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGRyYWdNaXhpbnMgfSBmcm9tIFwiLi9taXhpbnMvZHJhZ1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkcm9wTWl4aW5zIH0gZnJvbSBcIi4vbWl4aW5zL2Ryb3BcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRHJhZ0VsZW1lbnQgfSBmcm9tIFwiLi9lbGVtZW50L2RyYWdcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRHJvcEVsZW1lbnQgfSBmcm9tIFwiLi9lbGVtZW50L2Ryb3BcIjtcbiJdLCJuYW1lcyI6WyJldmVudFR5cGVzIiwiZHJhZ01peGlucyIsImRyb3BNaXhpbnMiLCJEcmFnRWxlbWVudCIsIkRyb3BFbGVtZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFb0JBLFVBQVU7ZUFBVkEsbUJBQVU7O0lBRVZDLFVBQVU7ZUFBVkEsYUFBVTs7SUFDVkMsVUFBVTtlQUFWQSxhQUFVOztJQUNWQyxXQUFXO2VBQVhBLGNBQVc7O0lBQ1hDLFdBQVc7ZUFBWEEsY0FBVzs7OytEQUxPO3lEQUVBO3lEQUNBOzBEQUNDOzBEQUNBIn0=
@@ -12,6 +12,7 @@ var _easy = require("easy");
12
12
  var _necessary = require("necessary");
13
13
  var _constants = require("../constants");
14
14
  var _event = require("../utilities/event");
15
+ var _eventTypes = require("../eventTypes");
15
16
  function _arrayLikeToArray(arr, len) {
16
17
  if (len == null || len > arr.length) len = arr.length;
17
18
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -37,33 +38,33 @@ function _unsupportedIterableToArray(o, minLen) {
37
38
  if (n === "Map" || n === "Set") return Array.from(n);
38
39
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
39
40
  }
40
- var forEach = _necessary.asynchronousUtilities.forEach, ESCAPE_KEYCODE = _necessary.keyCodes.ESCAPE_KEYCODE, LEFT_MOUSE_BUTTON = _easy.buttons.LEFT_MOUSE_BUTTON, BLUR_EVENT_TYPE = _easy.eventTypes.BLUR_EVENT_TYPE, DRAG_EVENT_TYPE = _easy.eventTypes.DRAG_EVENT_TYPE, STOP_DRAG_EVENT_TYPE = _easy.eventTypes.STOP_DRAG_EVENT_TYPE, START_DRAG_EVENT_TYPE = _easy.eventTypes.START_DRAG_EVENT_TYPE;
41
+ var forEach = _necessary.asynchronousUtilities.forEach, ESCAPE_KEYCODE = _necessary.keyCodes.ESCAPE_KEYCODE, BLUR_EVENT_TYPE = _easy.eventTypes.BLUR_EVENT_TYPE, LEFT_MOUSE_BUTTON = _easy.buttons.LEFT_MOUSE_BUTTON;
41
42
  var dragElement = null;
42
43
  Object.assign(globalThis, {
43
44
  dragElement: dragElement
44
45
  });
45
46
  function onDrag(dragHandler, element) {
46
- var eventType = DRAG_EVENT_TYPE, handler = dragHandler; ///
47
+ var eventType = _eventTypes.DRAG_EVENT_TYPE, handler = dragHandler; ///
47
48
  this.addEventListener(eventType, handler, element);
48
49
  }
49
50
  function offDrag(dragHandler, element) {
50
- var eventType = DRAG_EVENT_TYPE, handler = dragHandler; ///
51
+ var eventType = _eventTypes.DRAG_EVENT_TYPE, handler = dragHandler; ///
51
52
  this.removeEventListener(eventType, handler, element);
52
53
  }
53
54
  function onStopDrag(stopDragHandler, element) {
54
- var eventType = STOP_DRAG_EVENT_TYPE, handler = stopDragHandler; ///
55
+ var eventType = _eventTypes.STOP_DRAG_EVENT_TYPE, handler = stopDragHandler; ///
55
56
  this.addEventListener(eventType, handler, element);
56
57
  }
57
58
  function offStopDrag(stopDragHandler, element) {
58
- var eventType = STOP_DRAG_EVENT_TYPE, handler = stopDragHandler; ///
59
+ var eventType = _eventTypes.STOP_DRAG_EVENT_TYPE, handler = stopDragHandler; ///
59
60
  this.removeEventListener(eventType, handler, element);
60
61
  }
61
62
  function onStartDrag(startDragHandler, element) {
62
- var eventType = START_DRAG_EVENT_TYPE, handler = startDragHandler; ///
63
+ var eventType = _eventTypes.START_DRAG_EVENT_TYPE, handler = startDragHandler; ///
63
64
  this.addEventListener(eventType, handler, element);
64
65
  }
65
66
  function offStartDrag(startDragHandler, element) {
66
- var eventType = START_DRAG_EVENT_TYPE, handler = startDragHandler; ///
67
+ var eventType = _eventTypes.START_DRAG_EVENT_TYPE, handler = startDragHandler; ///
67
68
  this.removeEventListener(eventType, handler, element);
68
69
  }
69
70
  function enableDrag() {
@@ -110,7 +111,7 @@ function stopWaitingToDrag() {
110
111
  }
111
112
  }
112
113
  function startDrag(mouseTop, mouseLeft) {
113
- var bounds = this.getBounds(), eventType = START_DRAG_EVENT_TYPE, boundsTop = bounds.getTop(), boundsLeft = bounds.getLeft(), boundsRight = bounds.getRight(), boundsBottom = bounds.getBottom(), boundsWidth = boundsRight - boundsLeft, boundsHeight = boundsBottom - boundsTop, topOffset = Math.floor(boundsHeight / 2), leftOffset = Math.floor(boundsWidth / 2), dragElement = this, startMouseTop = mouseTop, startMouseLeft = mouseLeft; ///
114
+ var bounds = this.getBounds(), eventType = _eventTypes.START_DRAG_EVENT_TYPE, boundsTop = bounds.getTop(), boundsLeft = bounds.getLeft(), boundsRight = bounds.getRight(), boundsBottom = bounds.getBottom(), boundsWidth = boundsRight - boundsLeft, boundsHeight = boundsBottom - boundsTop, topOffset = Math.floor(boundsHeight / 2), leftOffset = Math.floor(boundsWidth / 2), dragElement = this, startMouseTop = mouseTop, startMouseLeft = mouseLeft; ///
114
115
  _easy.window.onKeyDown(keyDownHandler, this);
115
116
  _easy.window.onMouseMove(mouseMoveHandler, this);
116
117
  this.addClass("dragging");
@@ -126,7 +127,7 @@ function startDrag(mouseTop, mouseLeft) {
126
127
  }
127
128
  function stopDrag(aborted) {
128
129
  var _this = this;
129
- var dropElement = globalThis.dropElement, eventType = STOP_DRAG_EVENT_TYPE;
130
+ var dropElement = globalThis.dropElement, eventType = _eventTypes.STOP_DRAG_EVENT_TYPE;
130
131
  _easy.window.offKeyDown(keyDownHandler, this);
131
132
  _easy.window.offMouseMove(mouseMoveHandler, this);
132
133
  var done = function() {
@@ -146,7 +147,7 @@ function stopDrag(aborted) {
146
147
  }
147
148
  }
148
149
  function drag(mouseTop, mouseLeft) {
149
- var eventType = DRAG_EVENT_TYPE, scrollTop = _easy.window.getScrollTop(), scrollLeft = _easy.window.getScrollLeft(), topOffset = this.getTopOffset(), leftOffset = this.getLeftOffset(), startMouseTop = this.getStartMouseTop(), startMouseLeft = this.getStartMouseLeft(), relativeMouseTop = mouseTop - startMouseTop, relativeMouseLeft = mouseLeft - startMouseLeft;
150
+ var eventType = _eventTypes.DRAG_EVENT_TYPE, scrollTop = _easy.window.getScrollTop(), scrollLeft = _easy.window.getScrollLeft(), topOffset = this.getTopOffset(), leftOffset = this.getLeftOffset(), startMouseTop = this.getStartMouseTop(), startMouseLeft = this.getStartMouseLeft(), relativeMouseTop = mouseTop - startMouseTop, relativeMouseLeft = mouseLeft - startMouseLeft;
150
151
  var top = startMouseTop + relativeMouseTop - topOffset - scrollTop, left = startMouseLeft + relativeMouseLeft - leftOffset - scrollLeft;
151
152
  top = "".concat(top, "px"); ///
152
153
  left = "".concat(left, "px"); ///
@@ -304,4 +305,4 @@ function mouseMoveHandler(event, element) {
304
305
  event.stopPropagation();
305
306
  }
306
307
 
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgd2luZG93LCBidXR0b25zLCBldmVudFR5cGVzIH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGtleUNvZGVzLCBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCIgO1xuXG5pbXBvcnQgeyBTVEFSVF9EUkFHR0lOR19ERUxBWSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IG1vdXNlVG9wRnJvbUV2ZW50LCBtb3VzZUxlZnRGcm9tRXZlbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2V2ZW50XCI7XG5cbmNvbnN0IHsgZm9yRWFjaCB9ID0gYXN5bmNocm9ub3VzVXRpbGl0aWVzLFxuICAgICAgeyBFU0NBUEVfS0VZQ09ERSB9ID0ga2V5Q29kZXMsXG4gICAgICB7IExFRlRfTU9VU0VfQlVUVE9OIH0gPSBidXR0b25zLFxuICAgICAgeyBCTFVSX0VWRU5UX1RZUEUsIERSQUdfRVZFTlRfVFlQRSwgU1RPUF9EUkFHX0VWRU5UX1RZUEUsIFNUQVJUX0RSQUdfRVZFTlRfVFlQRSB9ID0gZXZlbnRUeXBlc1xuXG5jb25zdCBkcmFnRWxlbWVudCA9IG51bGw7XG5cbk9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICBkcmFnRWxlbWVudFxufSk7XG5cbmZ1bmN0aW9uIG9uRHJhZyhkcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZEcmFnKGRyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uU3RvcERyYWcoc3RvcERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUT1BfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RvcERyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZlN0b3BEcmFnKHN0b3BEcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0b3BEcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvblN0YXJ0RHJhZyhzdGFydERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0YXJ0RHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gU1RBUlRfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RhcnREcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBlbmFibGVEcmFnKCkge1xuICBjb25zdCB7IG9uRHJhZywgb25TdG9wRHJhZywgb25TdGFydERyYWcgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJhZ0hhbmRsZXIgPSBvbkRyYWcsIC8vL1xuICAgICAgICBzdG9wRHJhZ0hhbmRsZXIgPSBvblN0b3BEcmFnLCAvLy9cbiAgICAgICAgc3RhcnREcmFnSGFuZGxlciA9IG9uU3RhcnREcmFnLCAvLy9cbiAgICAgICAgdGltZW91dCA9IG51bGwsXG4gICAgICAgIHRvcE9mZnNldCA9IG51bGwsXG4gICAgICAgIGxlZnRPZmZzZXQgPSBudWxsLFxuICAgICAgICBzdGFydE1vdXNlVG9wID0gbnVsbCxcbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSBudWxsO1xuXG4gIGRyYWdIYW5kbGVyICYmIHRoaXMub25EcmFnKGRyYWdIYW5kbGVyKTtcbiAgc3RvcERyYWdIYW5kbGVyICYmIHRoaXMub25TdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIpO1xuICBzdGFydERyYWdIYW5kbGVyICYmIHRoaXMub25TdGFydERyYWcoc3RhcnREcmFnSGFuZGxlcik7XG5cbiAgdGhpcy5vbk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB0aGlzLnNldFN0YXRlKHtcbiAgICB0aW1lb3V0LFxuICAgIHRvcE9mZnNldCxcbiAgICBsZWZ0T2Zmc2V0LFxuICAgIHN0YXJ0TW91c2VUb3AsXG4gICAgc3RhcnRNb3VzZUxlZnRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVEcmFnKCkge1xuICBjb25zdCB7IG9uRHJhZywgb25TdG9wRHJhZywgb25TdGFydERyYWcgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJhZ0hhbmRsZXIgPSBvbkRyYWcsIC8vL1xuICAgICAgICBzdG9wRHJhZ0hhbmRsZXIgPSBvblN0b3BEcmFnLCAvLy9cbiAgICAgICAgc3RhcnREcmFnSGFuZGxlciA9IG9uU3RhcnREcmFnOyAvLy9cblxuICBkcmFnSGFuZGxlciAmJiB0aGlzLm9mZkRyYWcoZHJhZ0hhbmRsZXIpO1xuICBzdG9wRHJhZ0hhbmRsZXIgJiYgdGhpcy5vZmZTdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIpO1xuICBzdGFydERyYWdIYW5kbGVyICYmIHRoaXMub2ZmU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIpO1xuXG4gIHRoaXMub2ZmTW91c2VEb3duKG1vdXNlRG93bkhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBpc0RyYWdnaW5nKCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaGFzQ2xhc3MoXCJkcmFnZ2luZ1wiKTtcblxuICByZXR1cm4gZHJhZ2dpbmc7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0V2FpdGluZ1RvRHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGxldCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgPT09IG51bGwpIHtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuXG4gICAgICB0aGlzLnN0YXJ0RHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbiAgICB9LCBTVEFSVF9EUkFHR0lOR19ERUxBWSk7XG5cbiAgICB0aGlzLnVwZGF0ZVRpbWVvdXQodGltZW91dCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RvcFdhaXRpbmdUb0RyYWcoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSB0aGlzLmdldFRpbWVvdXQoKTtcblxuICBpZiAodGltZW91dCAhPT0gbnVsbCkge1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblxuICAgIHRoaXMucmVzZXRUaW1lb3V0KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RhcnREcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpIHtcbiAgY29uc3QgYm91bmRzID0gdGhpcy5nZXRCb3VuZHMoKSxcbiAgICAgICAgZXZlbnRUeXBlID0gU1RBUlRfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBib3VuZHNUb3AgPSBib3VuZHMuZ2V0VG9wKCksXG4gICAgICAgIGJvdW5kc0xlZnQgPSBib3VuZHMuZ2V0TGVmdCgpLFxuICAgICAgICBib3VuZHNSaWdodCA9IGJvdW5kcy5nZXRSaWdodCgpLFxuICAgICAgICBib3VuZHNCb3R0b20gPSBib3VuZHMuZ2V0Qm90dG9tKCksXG4gICAgICAgIGJvdW5kc1dpZHRoID0gYm91bmRzUmlnaHQgLSBib3VuZHNMZWZ0LFxuICAgICAgICBib3VuZHNIZWlnaHQgPSBib3VuZHNCb3R0b20gLSBib3VuZHNUb3AsXG4gICAgICAgIHRvcE9mZnNldCA9IE1hdGguZmxvb3IoYm91bmRzSGVpZ2h0IC8gMiksXG4gICAgICAgIGxlZnRPZmZzZXQgPSBNYXRoLmZsb29yKGJvdW5kc1dpZHRoIC8gMiksXG4gICAgICAgIGRyYWdFbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSBtb3VzZVRvcCwgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VMZWZ0ID0gbW91c2VMZWZ0OyAvLy9cblxuICB3aW5kb3cub25LZXlEb3duKGtleURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB3aW5kb3cub25Nb3VzZU1vdmUobW91c2VNb3ZlSGFuZGxlciwgdGhpcyk7XG5cbiAgdGhpcy5hZGRDbGFzcyhcImRyYWdnaW5nXCIpO1xuXG4gIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgIGRyYWdFbGVtZW50XG4gIH0pO1xuXG4gIHRoaXMuc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCk7XG5cbiAgdGhpcy5zZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpO1xuXG4gIHRoaXMuc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKTtcblxuICB0aGlzLnNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KTtcblxuICB0aGlzLmNhbGxIYW5kbGVycyhldmVudFR5cGUpO1xuXG4gIHRoaXMuZHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbn1cblxuZnVuY3Rpb24gc3RvcERyYWcoYWJvcnRlZCkge1xuICBjb25zdCB7IGRyb3BFbGVtZW50IH0gPSBnbG9iYWxUaGlzLFxuICAgICAgICBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRTtcblxuICB3aW5kb3cub2ZmS2V5RG93bihrZXlEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgd2luZG93Lm9mZk1vdXNlTW92ZShtb3VzZU1vdmVIYW5kbGVyLCB0aGlzKTtcblxuICBjb25zdCBkb25lID0gKCkgPT4ge1xuICAgIHRoaXMuY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCBkcm9wRWxlbWVudCwgYWJvcnRlZCwgKCkgPT4ge1xuICAgICAgY29uc3QgZHJhZ0VsZW1lbnQgPSBudWxsO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgICAgZHJhZ0VsZW1lbnRcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbW92ZUNsYXNzKFwiZHJhZ2dpbmdcIik7XG4gICAgfSk7XG4gIH1cblxuICBpZiAoZHJvcEVsZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBkcmFnRWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgZHJvcEVsZW1lbnQuZHJvcChkcmFnRWxlbWVudCwgYWJvcnRlZCwgZG9uZSk7XG4gIH0gZWxzZSB7XG4gICAgZG9uZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIHNjcm9sbFRvcCA9IHdpbmRvdy5nZXRTY3JvbGxUb3AoKSxcbiAgICAgICAgc2Nyb2xsTGVmdCA9IHdpbmRvdy5nZXRTY3JvbGxMZWZ0KCksXG4gICAgICAgIHRvcE9mZnNldCA9IHRoaXMuZ2V0VG9wT2Zmc2V0KCksXG4gICAgICAgIGxlZnRPZmZzZXQgPSB0aGlzLmdldExlZnRPZmZzZXQoKSxcbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IHRoaXMuZ2V0U3RhcnRNb3VzZVRvcCgpLFxuICAgICAgICBzdGFydE1vdXNlTGVmdCA9IHRoaXMuZ2V0U3RhcnRNb3VzZUxlZnQoKSxcbiAgICAgICAgcmVsYXRpdmVNb3VzZVRvcCA9IG1vdXNlVG9wIC0gc3RhcnRNb3VzZVRvcCxcbiAgICAgICAgcmVsYXRpdmVNb3VzZUxlZnQgPSBtb3VzZUxlZnQgLSBzdGFydE1vdXNlTGVmdDtcblxuICBsZXQgdG9wID0gc3RhcnRNb3VzZVRvcCArIHJlbGF0aXZlTW91c2VUb3AgLSB0b3BPZmZzZXQgLSBzY3JvbGxUb3AsXG4gICAgICBsZWZ0ID0gc3RhcnRNb3VzZUxlZnQgKyByZWxhdGl2ZU1vdXNlTGVmdCAtIGxlZnRPZmZzZXQgLSBzY3JvbGxMZWZ0O1xuXG4gIHRvcCA9IGAke3RvcH1weGA7IC8vL1xuICBsZWZ0ID0gYCR7bGVmdH1weGA7IC8vL1xuXG4gIGNvbnN0IGNzcyA9IHtcbiAgICB0b3AsXG4gICAgbGVmdFxuICB9O1xuXG4gIHRoaXMuY3NzKGNzcyk7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCByZWxhdGl2ZU1vdXNlVG9wLCByZWxhdGl2ZU1vdXNlTGVmdCk7XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5nZXRTdGF0ZSgpLFxuICAgICAgICB7IHRpbWVvdXQgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB0aW1lb3V0O1xufVxuXG5mdW5jdGlvbiByZXNldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSBudWxsO1xuXG4gIHRoaXMudXBkYXRlVGltZW91dCh0aW1lb3V0KTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVGltZW91dCh0aW1lb3V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRpbWVvdXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFRvcE9mZnNldCgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKCksXG4gICAgICAgIHsgdG9wT2Zmc2V0IH0gPSBzdGF0ZTtcblxuICByZXR1cm4gdG9wT2Zmc2V0O1xufVxuXG5mdW5jdGlvbiBnZXRMZWZ0T2Zmc2V0KCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuZ2V0U3RhdGUoKSxcbiAgICAgICAgeyBsZWZ0T2Zmc2V0IH0gPSBzdGF0ZTtcblxuICByZXR1cm4gbGVmdE9mZnNldDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb3VzZVRvcCgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKCksXG4gICAgICB7IHN0YXJ0TW91c2VUb3AgfSA9IHN0YXRlO1xuXG4gIHJldHVybiBzdGFydE1vdXNlVG9wO1xufVxuXG5mdW5jdGlvbiBnZXRTdGFydE1vdXNlTGVmdCgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKCksXG4gICAgICB7IHN0YXJ0TW91c2VMZWZ0IH0gPSBzdGF0ZTtcblxuICByZXR1cm4gc3RhcnRNb3VzZUxlZnQ7XG59XG5cbmZ1bmN0aW9uIHNldFRvcE9mZnNldCh0b3BPZmZzZXQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgdG9wT2Zmc2V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgbGVmdE9mZnNldFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHN0YXJ0TW91c2VUb3BcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHN0YXJ0TW91c2VMZWZ0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQ6IGhhbmRsZXJFbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxIYW5kbGVyc0FzeW5jKGV2ZW50VHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGRvbmUgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksICAvLy9cbiAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGZvckVhY2goZXZlbnRMaXN0ZW5lcnMsIChldmVudExpc3RlbmVyLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50OiBoYW5kbGVyRWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBlbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50LCBkb25lKTtcbiAgfSwgZG9uZSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25EcmFnLFxuICBvZmZEcmFnLFxuICBvblN0b3BEcmFnLFxuICBvZmZTdG9wRHJhZyxcbiAgb25TdGFydERyYWcsXG4gIG9mZlN0YXJ0RHJhZyxcbiAgZW5hYmxlRHJhZyxcbiAgZGlzYWJsZURyYWcsXG4gIGlzRHJhZ2dpbmcsXG4gIHN0YXJ0V2FpdGluZ1RvRHJhZyxcbiAgc3RvcFdhaXRpbmdUb0RyYWcsXG4gIHN0YXJ0RHJhZyxcbiAgc3RvcERyYWcsXG4gIGRyYWcsXG4gIGdldFRpbWVvdXQsXG4gIHJlc2V0VGltZW91dCxcbiAgdXBkYXRlVGltZW91dCxcbiAgZ2V0VG9wT2Zmc2V0LFxuICBnZXRMZWZ0T2Zmc2V0LFxuICBnZXRTdGFydE1vdXNlVG9wLFxuICBnZXRTdGFydE1vdXNlTGVmdCxcbiAgc2V0VG9wT2Zmc2V0LFxuICBzZXRMZWZ0T2Zmc2V0LFxuICBzZXRTdGFydE1vdXNlVG9wLFxuICBzZXRTdGFydE1vdXNlTGVmdCxcbiAgY2FsbEhhbmRsZXJzLFxuICBjYWxsSGFuZGxlcnNBc3luY1xufTtcblxuZnVuY3Rpb24ga2V5RG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBrZXlDb2RlIH0gPSBldmVudCxcbiAgICAgICAgZXNjYXBlS2V5ID0gKGtleUNvZGUgPT09IEVTQ0FQRV9LRVlDT0RFKSxcbiAgICAgICAgYWJvcnRlZCA9IHRydWU7XG5cbiAgaWYgKGVzY2FwZUtleSkge1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCk7XG5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VzZVVwSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpLFxuICAgICAgICBhYm9ydGVkID0gZmFsc2U7XG5cbiAgZHJhZ2dpbmcgP1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCkgOlxuICAgICAgdGhpcy5zdG9wV2FpdGluZ1RvRHJhZygpO1xuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gIHdpbmRvdy5vZmYoQkxVUl9FVkVOVF9UWVBFLCBtb3VzZVVwSGFuZGxlciwgdGhpcyk7ICAvLy9cblxuICB3aW5kb3cub2ZmTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlRG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBidXR0b24gfSA9IGV2ZW50O1xuXG4gIGlmIChidXR0b24gPT09IExFRlRfTU9VU0VfQlVUVE9OKSB7XG4gICAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICAgIGlmICghZHJhZ2dpbmcpIHtcbiAgICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgICAgbW91c2VMZWZ0ID0gbW91c2VMZWZ0RnJvbUV2ZW50KGV2ZW50KTtcblxuICAgICAgdGhpcy5zdGFydFdhaXRpbmdUb0RyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgd2luZG93Lm9uKEJMVVJfRVZFTlRfVFlQRSwgbW91c2VVcEhhbmRsZXIsIHRoaXMpOyAvLy9cblxuICB3aW5kb3cub25Nb3VzZVVwKG1vdXNlVXBIYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gbW91c2VNb3ZlSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpO1xuXG4gIGlmIChkcmFnZ2luZykge1xuICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgIG1vdXNlTGVmdCA9IG1vdXNlTGVmdEZyb21FdmVudChldmVudCk7XG5cbiAgICB0aGlzLmRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gIH1cblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cbiJdLCJuYW1lcyI6WyJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiRVNDQVBFX0tFWUNPREUiLCJrZXlDb2RlcyIsIkxFRlRfTU9VU0VfQlVUVE9OIiwiYnV0dG9ucyIsIkJMVVJfRVZFTlRfVFlQRSIsImV2ZW50VHlwZXMiLCJEUkFHX0VWRU5UX1RZUEUiLCJTVE9QX0RSQUdfRVZFTlRfVFlQRSIsIlNUQVJUX0RSQUdfRVZFTlRfVFlQRSIsImRyYWdFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwiZ2xvYmFsVGhpcyIsIm9uRHJhZyIsImRyYWdIYW5kbGVyIiwiZWxlbWVudCIsImV2ZW50VHlwZSIsImhhbmRsZXIiLCJhZGRFdmVudExpc3RlbmVyIiwib2ZmRHJhZyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvblN0b3BEcmFnIiwic3RvcERyYWdIYW5kbGVyIiwib2ZmU3RvcERyYWciLCJvblN0YXJ0RHJhZyIsInN0YXJ0RHJhZ0hhbmRsZXIiLCJvZmZTdGFydERyYWciLCJlbmFibGVEcmFnIiwicHJvcGVydGllcyIsInRpbWVvdXQiLCJ0b3BPZmZzZXQiLCJsZWZ0T2Zmc2V0Iiwic3RhcnRNb3VzZVRvcCIsInN0YXJ0TW91c2VMZWZ0Iiwib25Nb3VzZURvd24iLCJtb3VzZURvd25IYW5kbGVyIiwic2V0U3RhdGUiLCJkaXNhYmxlRHJhZyIsIm9mZk1vdXNlRG93biIsImlzRHJhZ2dpbmciLCJkcmFnZ2luZyIsImhhc0NsYXNzIiwic3RhcnRXYWl0aW5nVG9EcmFnIiwibW91c2VUb3AiLCJtb3VzZUxlZnQiLCJnZXRUaW1lb3V0Iiwic2V0VGltZW91dCIsInJlc2V0VGltZW91dCIsInN0YXJ0RHJhZyIsIlNUQVJUX0RSQUdHSU5HX0RFTEFZIiwidXBkYXRlVGltZW91dCIsInN0b3BXYWl0aW5nVG9EcmFnIiwiY2xlYXJUaW1lb3V0IiwiYm91bmRzIiwiZ2V0Qm91bmRzIiwiYm91bmRzVG9wIiwiZ2V0VG9wIiwiYm91bmRzTGVmdCIsImdldExlZnQiLCJib3VuZHNSaWdodCIsImdldFJpZ2h0IiwiYm91bmRzQm90dG9tIiwiZ2V0Qm90dG9tIiwiYm91bmRzV2lkdGgiLCJib3VuZHNIZWlnaHQiLCJNYXRoIiwiZmxvb3IiLCJ3aW5kb3ciLCJvbktleURvd24iLCJrZXlEb3duSGFuZGxlciIsIm9uTW91c2VNb3ZlIiwibW91c2VNb3ZlSGFuZGxlciIsImFkZENsYXNzIiwic2V0VG9wT2Zmc2V0Iiwic2V0TGVmdE9mZnNldCIsInNldFN0YXJ0TW91c2VUb3AiLCJzZXRTdGFydE1vdXNlTGVmdCIsImNhbGxIYW5kbGVycyIsImRyYWciLCJzdG9wRHJhZyIsImFib3J0ZWQiLCJkcm9wRWxlbWVudCIsIm9mZktleURvd24iLCJvZmZNb3VzZU1vdmUiLCJkb25lIiwiY2FsbEhhbmRsZXJzQXN5bmMiLCJyZW1vdmVDbGFzcyIsImRyb3AiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCIsImdldFRvcE9mZnNldCIsImdldExlZnRPZmZzZXQiLCJnZXRTdGFydE1vdXNlVG9wIiwiZ2V0U3RhcnRNb3VzZUxlZnQiLCJyZWxhdGl2ZU1vdXNlVG9wIiwicmVsYXRpdmVNb3VzZUxlZnQiLCJ0b3AiLCJsZWZ0IiwiY3NzIiwic3RhdGUiLCJnZXRTdGF0ZSIsInVwZGF0ZVN0YXRlIiwicmVtYWluaW5nQXJndW1lbnRzIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJldmVudExpc3RlbmVyIiwiaGFuZGxlckVsZW1lbnQiLCJjYWxsIiwicG9wIiwibmV4dCIsImV2ZW50Iiwia2V5Q29kZSIsImVzY2FwZUtleSIsInN0b3BQcm9wYWdhdGlvbiIsIm1vdXNlVXBIYW5kbGVyIiwib2ZmIiwib2ZmTW91c2VVcCIsImJ1dHRvbiIsIm1vdXNlVG9wRnJvbUV2ZW50IiwibW91c2VMZWZ0RnJvbUV2ZW50Iiwib24iLCJvbk1vdXNlVXAiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQStUQTs7O2VBQUE7OztvQkE3VDRDO3lCQUNJO3lCQUVYO3FCQUNpQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEQsSUFBTSxBQUFFQSxVQUFZQyxnQ0FBcUIsQ0FBakNELFNBQ0YsQUFBRUUsaUJBQW1CQyxtQkFBUSxDQUEzQkQsZ0JBQ0YsQUFBRUUsb0JBQXNCQyxhQUFPLENBQTdCRCxtQkFDQUUsa0JBQWtGQyxnQkFBVSxDQUE1RkQsaUJBQWlCRSxrQkFBaUVE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
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgd2luZG93LCBidXR0b25zLCBldmVudFR5cGVzIH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGtleUNvZGVzLCBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCIgO1xuXG5pbXBvcnQgeyBTVEFSVF9EUkFHR0lOR19ERUxBWSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IG1vdXNlVG9wRnJvbUV2ZW50LCBtb3VzZUxlZnRGcm9tRXZlbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2V2ZW50XCI7XG5pbXBvcnQgeyBEUkFHX0VWRU5UX1RZUEUsIFNUT1BfRFJBR19FVkVOVF9UWVBFLCBTVEFSVF9EUkFHX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi4vZXZlbnRUeXBlc1wiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcyxcbiAgICAgIHsgRVNDQVBFX0tFWUNPREUgfSA9IGtleUNvZGVzLFxuICAgICAgeyBCTFVSX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXMsXG4gICAgICB7IExFRlRfTU9VU0VfQlVUVE9OIH0gPSBidXR0b25zO1xuXG5jb25zdCBkcmFnRWxlbWVudCA9IG51bGw7XG5cbk9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICBkcmFnRWxlbWVudFxufSk7XG5cbmZ1bmN0aW9uIG9uRHJhZyhkcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZEcmFnKGRyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uU3RvcERyYWcoc3RvcERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUT1BfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RvcERyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZlN0b3BEcmFnKHN0b3BEcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0b3BEcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvblN0YXJ0RHJhZyhzdGFydERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0YXJ0RHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gU1RBUlRfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RhcnREcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBlbmFibGVEcmFnKCkge1xuICBjb25zdCB7IG9uRHJhZywgb25TdG9wRHJhZywgb25TdGFydERyYWcgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJhZ0hhbmRsZXIgPSBvbkRyYWcsIC8vL1xuICAgICAgICBzdG9wRHJhZ0hhbmRsZXIgPSBvblN0b3BEcmFnLCAvLy9cbiAgICAgICAgc3RhcnREcmFnSGFuZGxlciA9IG9uU3RhcnREcmFnLCAvLy9cbiAgICAgICAgdGltZW91dCA9IG51bGwsXG4gICAgICAgIHRvcE9mZnNldCA9IG51bGwsXG4gICAgICAgIGxlZnRPZmZzZXQgPSBudWxsLFxuICAgICAgICBzdGFydE1vdXNlVG9wID0gbnVsbCxcbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSBudWxsO1xuXG4gIGRyYWdIYW5kbGVyICYmIHRoaXMub25EcmFnKGRyYWdIYW5kbGVyKTtcbiAgc3RvcERyYWdIYW5kbGVyICYmIHRoaXMub25TdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIpO1xuICBzdGFydERyYWdIYW5kbGVyICYmIHRoaXMub25TdGFydERyYWcoc3RhcnREcmFnSGFuZGxlcik7XG5cbiAgdGhpcy5vbk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB0aGlzLnNldFN0YXRlKHtcbiAgICB0aW1lb3V0LFxuICAgIHRvcE9mZnNldCxcbiAgICBsZWZ0T2Zmc2V0LFxuICAgIHN0YXJ0TW91c2VUb3AsXG4gICAgc3RhcnRNb3VzZUxlZnRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVEcmFnKCkge1xuICBjb25zdCB7IG9uRHJhZywgb25TdG9wRHJhZywgb25TdGFydERyYWcgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJhZ0hhbmRsZXIgPSBvbkRyYWcsIC8vL1xuICAgICAgICBzdG9wRHJhZ0hhbmRsZXIgPSBvblN0b3BEcmFnLCAvLy9cbiAgICAgICAgc3RhcnREcmFnSGFuZGxlciA9IG9uU3RhcnREcmFnOyAvLy9cblxuICBkcmFnSGFuZGxlciAmJiB0aGlzLm9mZkRyYWcoZHJhZ0hhbmRsZXIpO1xuICBzdG9wRHJhZ0hhbmRsZXIgJiYgdGhpcy5vZmZTdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIpO1xuICBzdGFydERyYWdIYW5kbGVyICYmIHRoaXMub2ZmU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIpO1xuXG4gIHRoaXMub2ZmTW91c2VEb3duKG1vdXNlRG93bkhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBpc0RyYWdnaW5nKCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaGFzQ2xhc3MoXCJkcmFnZ2luZ1wiKTtcblxuICByZXR1cm4gZHJhZ2dpbmc7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0V2FpdGluZ1RvRHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGxldCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgPT09IG51bGwpIHtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuXG4gICAgICB0aGlzLnN0YXJ0RHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbiAgICB9LCBTVEFSVF9EUkFHR0lOR19ERUxBWSk7XG5cbiAgICB0aGlzLnVwZGF0ZVRpbWVvdXQodGltZW91dCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RvcFdhaXRpbmdUb0RyYWcoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSB0aGlzLmdldFRpbWVvdXQoKTtcblxuICBpZiAodGltZW91dCAhPT0gbnVsbCkge1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblxuICAgIHRoaXMucmVzZXRUaW1lb3V0KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RhcnREcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpIHtcbiAgY29uc3QgYm91bmRzID0gdGhpcy5nZXRCb3VuZHMoKSxcbiAgICAgICAgZXZlbnRUeXBlID0gU1RBUlRfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBib3VuZHNUb3AgPSBib3VuZHMuZ2V0VG9wKCksXG4gICAgICAgIGJvdW5kc0xlZnQgPSBib3VuZHMuZ2V0TGVmdCgpLFxuICAgICAgICBib3VuZHNSaWdodCA9IGJvdW5kcy5nZXRSaWdodCgpLFxuICAgICAgICBib3VuZHNCb3R0b20gPSBib3VuZHMuZ2V0Qm90dG9tKCksXG4gICAgICAgIGJvdW5kc1dpZHRoID0gYm91bmRzUmlnaHQgLSBib3VuZHNMZWZ0LFxuICAgICAgICBib3VuZHNIZWlnaHQgPSBib3VuZHNCb3R0b20gLSBib3VuZHNUb3AsXG4gICAgICAgIHRvcE9mZnNldCA9IE1hdGguZmxvb3IoYm91bmRzSGVpZ2h0IC8gMiksXG4gICAgICAgIGxlZnRPZmZzZXQgPSBNYXRoLmZsb29yKGJvdW5kc1dpZHRoIC8gMiksXG4gICAgICAgIGRyYWdFbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSBtb3VzZVRvcCwgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VMZWZ0ID0gbW91c2VMZWZ0OyAvLy9cblxuICB3aW5kb3cub25LZXlEb3duKGtleURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB3aW5kb3cub25Nb3VzZU1vdmUobW91c2VNb3ZlSGFuZGxlciwgdGhpcyk7XG5cbiAgdGhpcy5hZGRDbGFzcyhcImRyYWdnaW5nXCIpO1xuXG4gIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgIGRyYWdFbGVtZW50XG4gIH0pO1xuXG4gIHRoaXMuc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCk7XG5cbiAgdGhpcy5zZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpO1xuXG4gIHRoaXMuc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKTtcblxuICB0aGlzLnNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KTtcblxuICB0aGlzLmNhbGxIYW5kbGVycyhldmVudFR5cGUpO1xuXG4gIHRoaXMuZHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbn1cblxuZnVuY3Rpb24gc3RvcERyYWcoYWJvcnRlZCkge1xuICBjb25zdCB7IGRyb3BFbGVtZW50IH0gPSBnbG9iYWxUaGlzLFxuICAgICAgICBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRTtcblxuICB3aW5kb3cub2ZmS2V5RG93bihrZXlEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgd2luZG93Lm9mZk1vdXNlTW92ZShtb3VzZU1vdmVIYW5kbGVyLCB0aGlzKTtcblxuICBjb25zdCBkb25lID0gKCkgPT4ge1xuICAgIHRoaXMuY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCBkcm9wRWxlbWVudCwgYWJvcnRlZCwgKCkgPT4ge1xuICAgICAgY29uc3QgZHJhZ0VsZW1lbnQgPSBudWxsO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgICAgZHJhZ0VsZW1lbnRcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbW92ZUNsYXNzKFwiZHJhZ2dpbmdcIik7XG4gICAgfSk7XG4gIH1cblxuICBpZiAoZHJvcEVsZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBkcmFnRWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgZHJvcEVsZW1lbnQuZHJvcChkcmFnRWxlbWVudCwgYWJvcnRlZCwgZG9uZSk7XG4gIH0gZWxzZSB7XG4gICAgZG9uZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIHNjcm9sbFRvcCA9IHdpbmRvdy5nZXRTY3JvbGxUb3AoKSxcbiAgICAgICAgc2Nyb2xsTGVmdCA9IHdpbmRvdy5nZXRTY3JvbGxMZWZ0KCksXG4gICAgICAgIHRvcE9mZnNldCA9IHRoaXMuZ2V0VG9wT2Zmc2V0KCksXG4gICAgICAgIGxlZnRPZmZzZXQgPSB0aGlzLmdldExlZnRPZmZzZXQoKSxcbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IHRoaXMuZ2V0U3RhcnRNb3VzZVRvcCgpLFxuICAgICAgICBzdGFydE1vdXNlTGVmdCA9IHRoaXMuZ2V0U3RhcnRNb3VzZUxlZnQoKSxcbiAgICAgICAgcmVsYXRpdmVNb3VzZVRvcCA9IG1vdXNlVG9wIC0gc3RhcnRNb3VzZVRvcCxcbiAgICAgICAgcmVsYXRpdmVNb3VzZUxlZnQgPSBtb3VzZUxlZnQgLSBzdGFydE1vdXNlTGVmdDtcblxuICBsZXQgdG9wID0gc3RhcnRNb3VzZVRvcCArIHJlbGF0aXZlTW91c2VUb3AgLSB0b3BPZmZzZXQgLSBzY3JvbGxUb3AsXG4gICAgICBsZWZ0ID0gc3RhcnRNb3VzZUxlZnQgKyByZWxhdGl2ZU1vdXNlTGVmdCAtIGxlZnRPZmZzZXQgLSBzY3JvbGxMZWZ0O1xuXG4gIHRvcCA9IGAke3RvcH1weGA7IC8vL1xuICBsZWZ0ID0gYCR7bGVmdH1weGA7IC8vL1xuXG4gIGNvbnN0IGNzcyA9IHtcbiAgICB0b3AsXG4gICAgbGVmdFxuICB9O1xuXG4gIHRoaXMuY3NzKGNzcyk7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCByZWxhdGl2ZU1vdXNlVG9wLCByZWxhdGl2ZU1vdXNlTGVmdCk7XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5nZXRTdGF0ZSgpLFxuICAgICAgICB7IHRpbWVvdXQgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB0aW1lb3V0O1xufVxuXG5mdW5jdGlvbiByZXNldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSBudWxsO1xuXG4gIHRoaXMudXBkYXRlVGltZW91dCh0aW1lb3V0KTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVGltZW91dCh0aW1lb3V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRpbWVvdXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFRvcE9mZnNldCgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKCksXG4gICAgICAgIHsgdG9wT2Zmc2V0IH0gPSBzdGF0ZTtcblxuICByZXR1cm4gdG9wT2Zmc2V0O1xufVxuXG5mdW5jdGlvbiBnZXRMZWZ0T2Zmc2V0KCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuZ2V0U3RhdGUoKSxcbiAgICAgICAgeyBsZWZ0T2Zmc2V0IH0gPSBzdGF0ZTtcblxuICByZXR1cm4gbGVmdE9mZnNldDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb3VzZVRvcCgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKCksXG4gICAgICB7IHN0YXJ0TW91c2VUb3AgfSA9IHN0YXRlO1xuXG4gIHJldHVybiBzdGFydE1vdXNlVG9wO1xufVxuXG5mdW5jdGlvbiBnZXRTdGFydE1vdXNlTGVmdCgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKCksXG4gICAgICB7IHN0YXJ0TW91c2VMZWZ0IH0gPSBzdGF0ZTtcblxuICByZXR1cm4gc3RhcnRNb3VzZUxlZnQ7XG59XG5cbmZ1bmN0aW9uIHNldFRvcE9mZnNldCh0b3BPZmZzZXQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgdG9wT2Zmc2V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgbGVmdE9mZnNldFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHN0YXJ0TW91c2VUb3BcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHN0YXJ0TW91c2VMZWZ0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQ6IGhhbmRsZXJFbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxIYW5kbGVyc0FzeW5jKGV2ZW50VHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGRvbmUgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksICAvLy9cbiAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGZvckVhY2goZXZlbnRMaXN0ZW5lcnMsIChldmVudExpc3RlbmVyLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50OiBoYW5kbGVyRWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBlbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50LCBkb25lKTtcbiAgfSwgZG9uZSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25EcmFnLFxuICBvZmZEcmFnLFxuICBvblN0b3BEcmFnLFxuICBvZmZTdG9wRHJhZyxcbiAgb25TdGFydERyYWcsXG4gIG9mZlN0YXJ0RHJhZyxcbiAgZW5hYmxlRHJhZyxcbiAgZGlzYWJsZURyYWcsXG4gIGlzRHJhZ2dpbmcsXG4gIHN0YXJ0V2FpdGluZ1RvRHJhZyxcbiAgc3RvcFdhaXRpbmdUb0RyYWcsXG4gIHN0YXJ0RHJhZyxcbiAgc3RvcERyYWcsXG4gIGRyYWcsXG4gIGdldFRpbWVvdXQsXG4gIHJlc2V0VGltZW91dCxcbiAgdXBkYXRlVGltZW91dCxcbiAgZ2V0VG9wT2Zmc2V0LFxuICBnZXRMZWZ0T2Zmc2V0LFxuICBnZXRTdGFydE1vdXNlVG9wLFxuICBnZXRTdGFydE1vdXNlTGVmdCxcbiAgc2V0VG9wT2Zmc2V0LFxuICBzZXRMZWZ0T2Zmc2V0LFxuICBzZXRTdGFydE1vdXNlVG9wLFxuICBzZXRTdGFydE1vdXNlTGVmdCxcbiAgY2FsbEhhbmRsZXJzLFxuICBjYWxsSGFuZGxlcnNBc3luY1xufTtcblxuZnVuY3Rpb24ga2V5RG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBrZXlDb2RlIH0gPSBldmVudCxcbiAgICAgICAgZXNjYXBlS2V5ID0gKGtleUNvZGUgPT09IEVTQ0FQRV9LRVlDT0RFKSxcbiAgICAgICAgYWJvcnRlZCA9IHRydWU7XG5cbiAgaWYgKGVzY2FwZUtleSkge1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCk7XG5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VzZVVwSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpLFxuICAgICAgICBhYm9ydGVkID0gZmFsc2U7XG5cbiAgZHJhZ2dpbmcgP1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCkgOlxuICAgICAgdGhpcy5zdG9wV2FpdGluZ1RvRHJhZygpO1xuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gIHdpbmRvdy5vZmYoQkxVUl9FVkVOVF9UWVBFLCBtb3VzZVVwSGFuZGxlciwgdGhpcyk7ICAvLy9cblxuICB3aW5kb3cub2ZmTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlRG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBidXR0b24gfSA9IGV2ZW50O1xuXG4gIGlmIChidXR0b24gPT09IExFRlRfTU9VU0VfQlVUVE9OKSB7XG4gICAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICAgIGlmICghZHJhZ2dpbmcpIHtcbiAgICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgICAgbW91c2VMZWZ0ID0gbW91c2VMZWZ0RnJvbUV2ZW50KGV2ZW50KTtcblxuICAgICAgdGhpcy5zdGFydFdhaXRpbmdUb0RyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgd2luZG93Lm9uKEJMVVJfRVZFTlRfVFlQRSwgbW91c2VVcEhhbmRsZXIsIHRoaXMpOyAvLy9cblxuICB3aW5kb3cub25Nb3VzZVVwKG1vdXNlVXBIYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gbW91c2VNb3ZlSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpO1xuXG4gIGlmIChkcmFnZ2luZykge1xuICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgIG1vdXNlTGVmdCA9IG1vdXNlTGVmdEZyb21FdmVudChldmVudCk7XG5cbiAgICB0aGlzLmRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gIH1cblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cbiJdLCJuYW1lcyI6WyJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiRVNDQVBFX0tFWUNPREUiLCJrZXlDb2RlcyIsIkJMVVJfRVZFTlRfVFlQRSIsImV2ZW50VHlwZXMiLCJMRUZUX01PVVNFX0JVVFRPTiIsImJ1dHRvbnMiLCJkcmFnRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsImdsb2JhbFRoaXMiLCJvbkRyYWciLCJkcmFnSGFuZGxlciIsImVsZW1lbnQiLCJldmVudFR5cGUiLCJEUkFHX0VWRU5UX1RZUEUiLCJoYW5kbGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9mZkRyYWciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25TdG9wRHJhZyIsInN0b3BEcmFnSGFuZGxlciIsIlNUT1BfRFJBR19FVkVOVF9UWVBFIiwib2ZmU3RvcERyYWciLCJvblN0YXJ0RHJhZyIsInN0YXJ0RHJhZ0hhbmRsZXIiLCJTVEFSVF9EUkFHX0VWRU5UX1RZUEUiLCJvZmZTdGFydERyYWciLCJlbmFibGVEcmFnIiwicHJvcGVydGllcyIsInRpbWVvdXQiLCJ0b3BPZmZzZXQiLCJsZWZ0T2Zmc2V0Iiwic3RhcnRNb3VzZVRvcCIsInN0YXJ0TW91c2VMZWZ0Iiwib25Nb3VzZURvd24iLCJtb3VzZURvd25IYW5kbGVyIiwic2V0U3RhdGUiLCJkaXNhYmxlRHJhZyIsIm9mZk1vdXNlRG93biIsImlzRHJhZ2dpbmciLCJkcmFnZ2luZyIsImhhc0NsYXNzIiwic3RhcnRXYWl0aW5nVG9EcmFnIiwibW91c2VUb3AiLCJtb3VzZUxlZnQiLCJnZXRUaW1lb3V0Iiwic2V0VGltZW91dCIsInJlc2V0VGltZW91dCIsInN0YXJ0RHJhZyIsIlNUQVJUX0RSQUdHSU5HX0RFTEFZIiwidXBkYXRlVGltZW91dCIsInN0b3BXYWl0aW5nVG9EcmFnIiwiY2xlYXJUaW1lb3V0IiwiYm91bmRzIiwiZ2V0Qm91bmRzIiwiYm91bmRzVG9wIiwiZ2V0VG9wIiwiYm91bmRzTGVmdCIsImdldExlZnQiLCJib3VuZHNSaWdodCIsImdldFJpZ2h0IiwiYm91bmRzQm90dG9tIiwiZ2V0Qm90dG9tIiwiYm91bmRzV2lkdGgiLCJib3VuZHNIZWlnaHQiLCJNYXRoIiwiZmxvb3IiLCJ3aW5kb3ciLCJvbktleURvd24iLCJrZXlEb3duSGFuZGxlciIsIm9uTW91c2VNb3ZlIiwibW91c2VNb3ZlSGFuZGxlciIsImFkZENsYXNzIiwic2V0VG9wT2Zmc2V0Iiwic2V0TGVmdE9mZnNldCIsInNldFN0YXJ0TW91c2VUb3AiLCJzZXRTdGFydE1vdXNlTGVmdCIsImNhbGxIYW5kbGVycyIsImRyYWciLCJzdG9wRHJhZyIsImFib3J0ZWQiLCJkcm9wRWxlbWVudCIsIm9mZktleURvd24iLCJvZmZNb3VzZU1vdmUiLCJkb25lIiwiY2FsbEhhbmRsZXJzQXN5bmMiLCJyZW1vdmVDbGFzcyIsImRyb3AiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCIsImdldFRvcE9mZnNldCIsImdldExlZnRPZmZzZXQiLCJnZXRTdGFydE1vdXNlVG9wIiwiZ2V0U3RhcnRNb3VzZUxlZnQiLCJyZWxhdGl2ZU1vdXNlVG9wIiwicmVsYXRpdmVNb3VzZUxlZnQiLCJ0b3AiLCJsZWZ0IiwiY3NzIiwic3RhdGUiLCJnZXRTdGF0ZSIsInVwZGF0ZVN0YXRlIiwicmVtYWluaW5nQXJndW1lbnRzIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJldmVudExpc3RlbmVyIiwiaGFuZGxlckVsZW1lbnQiLCJjYWxsIiwicG9wIiwibmV4dCIsImV2ZW50Iiwia2V5Q29kZSIsImVzY2FwZUtleSIsInN0b3BQcm9wYWdhdGlvbiIsIm1vdXNlVXBIYW5kbGVyIiwib2ZmIiwib2ZmTW91c2VVcCIsImJ1dHRvbiIsIm1vdXNlVG9wRnJvbUV2ZW50IiwibW91c2VMZWZ0RnJvbUV2ZW50Iiwib24iLCJvbk1vdXNlVXAiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdVQTs7O2VBQUE7OztvQkE5VDRDO3lCQUNJO3lCQUVYO3FCQUNpQjswQkFDdUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdFLElBQU0sQUFBRUEsVUFBWUMsZ0NBQXFCLENBQWpDRCxTQUNGLEFBQUVFLGlCQUFtQkMsbUJBQVEsQ0FBM0JELGdCQUNGLEFBQUVFLGtCQUFvQkMsZ0JBQVUsQ0FBOUJELGlCQUNGLEFBQUVFLG9CQUFzQkMsYUFBTyxDQUE3QkQ7QUFFUixJQUFNRSxjQUFjLElBQUk7QUFFeEJDLE9BQU9DLE1BQU0sQ0FBQ0MsWUFBWTtJQUN4QkgsYUFBQUE7QUFDRjtBQUVBLFNBQVNJLE9BQU9DLFdBQVcsRUFBRUMsT0FBTyxFQUFFO0lBQ3BDLElBQU1DLFlBQVlDLDJCQUFlLEVBQzNCQyxVQUFVSixhQUFjLEdBQUc7SUFFakMsSUFBSSxDQUFDSyxnQkFBZ0IsQ0FBQ0gsV0FBV0UsU0FBU0g7QUFDNUM7QUFFQSxTQUFTSyxRQUFRTixXQUFXLEVBQUVDLE9BQU8sRUFBRTtJQUNyQyxJQUFNQyxZQUFZQywyQkFBZSxFQUMzQkMsVUFBVUosYUFBYyxHQUFHO0lBRWpDLElBQUksQ0FBQ08sbUJBQW1CLENBQUNMLFdBQVdFLFNBQVNIO0FBQy9DO0FBRUEsU0FBU08sV0FBV0MsZUFBZSxFQUFFUixPQUFPLEVBQUU7SUFDNUMsSUFBTUMsWUFBWVEsZ0NBQW9CLEVBQ2hDTixVQUFVSyxpQkFBa0IsR0FBRztJQUVyQyxJQUFJLENBQUNKLGdCQUFnQixDQUFDSCxXQUFXRSxTQUFTSDtBQUM1QztBQUVBLFNBQVNVLFlBQVlGLGVBQWUsRUFBRVIsT0FBTyxFQUFFO0lBQzdDLElBQU1DLFlBQVlRLGdDQUFvQixFQUNoQ04sVUFBVUssaUJBQWtCLEdBQUc7SUFFckMsSUFBSSxDQUFDRixtQkFBbUIsQ0FBQ0wsV0FBV0UsU0FBU0g7QUFDL0M7QUFFQSxTQUFTVyxZQUFZQyxnQkFBZ0IsRUFBRVosT0FBTyxFQUFFO0lBQzlDLElBQU1DLFlBQVlZLGlDQUFxQixFQUNqQ1YsVUFBVVMsa0JBQW1CLEdBQUc7SUFFdEMsSUFBSSxDQUFDUixnQkFBZ0IsQ0FBQ0gsV0FBV0UsU0FBU0g7QUFDNUM7QUFFQSxTQUFTYyxhQUFhRixnQkFBZ0IsRUFBRVosT0FBTyxFQUFFO0lBQy9DLElBQU1DLFlBQVlZLGlDQUFxQixFQUNqQ1YsVUFBVVMsa0JBQW1CLEdBQUc7SUFFdEMsSUFBSSxDQUFDTixtQkFBbUIsQ0FBQ0wsV0FBV0UsU0FBU0g7QUFDL0M7QUFFQSxTQUFTZSxhQUFhO0lBQ3BCLElBQTRDLG1CQUFBLElBQUksQ0FBQ0MsVUFBVSxFQUFuRGxCLFdBQW9DLGlCQUFwQ0EsUUFBUVMsZUFBNEIsaUJBQTVCQSxZQUFZSSxnQkFBZ0IsaUJBQWhCQSxhQUN0QlosY0FBY0QsVUFDZFUsa0JBQWtCRCxjQUNsQkssbUJBQW1CRCxlQUNuQk0sVUFBVSxJQUFJLEVBQ2RDLFlBQVksSUFBSSxFQUNoQkMsYUFBYSxJQUFJLEVBQ2pCQyxnQkFBZ0IsSUFBSSxFQUNwQkMsaUJBQWlCLElBQUk7SUFFM0J0QixlQUFlLElBQUksQ0FBQ0QsTUFBTSxDQUFDQztJQUMzQlMsbUJBQW1CLElBQUksQ0FBQ0QsVUFBVSxDQUFDQztJQUNuQ0ksb0JBQW9CLElBQUksQ0FBQ0QsV0FBVyxDQUFDQztJQUVyQyxJQUFJLENBQUNVLFdBQVcsQ0FBQ0Msa0JBQWtCLElBQUk7SUFFdkMsSUFBSSxDQUFDQyxRQUFRLENBQUM7UUFDWlAsU0FBQUE7UUFDQUMsV0FBQUE7UUFDQUMsWUFBQUE7UUFDQUMsZUFBQUE7UUFDQUMsZ0JBQUFBO0lBQ0Y7QUFDRjtBQUVBLFNBQVNJLGNBQWM7SUFDckIsSUFBNEMsbUJBQUEsSUFBSSxDQUFDVCxVQUFVLEVBQW5EbEIsV0FBb0MsaUJBQXBDQSxRQUFRUyxlQUE0QixpQkFBNUJBLFlBQVlJLGdCQUFnQixpQkFBaEJBLGFBQ3RCWixjQUFjRCxVQUNkVSxrQkFBa0JELGNBQ2xCSyxtQkFBbUJELGVBQWEsR0FBRztJQUV6Q1osZUFBZSxJQUFJLENBQUNNLE9BQU8sQ0FBQ047SUFDNUJTLG1CQUFtQixJQUFJLENBQUNFLFdBQVcsQ0FBQ0Y7SUFDcENJLG9CQUFvQixJQUFJLENBQUNFLFlBQVksQ0FBQ0Y7SUFFdEMsSUFBSSxDQUFDYyxZQUFZLENBQUNILGtCQUFrQixJQUFJO0FBQzFDO0FBRUEsU0FBU0ksYUFBYTtJQUNwQixJQUFNQyxXQUFXLElBQUksQ0FBQ0MsUUFBUSxDQUFDO0lBRS9CLE9BQU9EO0FBQ1Q7QUFFQSxTQUFTRSxtQkFBbUJDLFFBQVEsRUFBRUMsU0FBUyxFQUFFOztJQUMvQyxJQUFJZixVQUFVLElBQUksQ0FBQ2dCLFVBQVU7SUFFN0IsSUFBSWhCLFlBQVksSUFBSSxFQUFFO1FBQ3BCQSxVQUFVaUIsV0FBVyxXQUFNO1lBQ3pCLE1BQUtDLFlBQVk7WUFFakIsTUFBS0MsU0FBUyxDQUFDTCxVQUFVQztRQUMzQixHQUFHSywrQkFBb0I7UUFFdkIsSUFBSSxDQUFDQyxhQUFhLENBQUNyQjtJQUNyQixDQUFDO0FBQ0g7QUFFQSxTQUFTc0Isb0JBQW9CO0lBQzNCLElBQU10QixVQUFVLElBQUksQ0FBQ2dCLFVBQVU7SUFFL0IsSUFBSWhCLFlBQVksSUFBSSxFQUFFO1FBQ3BCdUIsYUFBYXZCO1FBRWIsSUFBSSxDQUFDa0IsWUFBWTtJQUNuQixDQUFDO0FBQ0g7QUFFQSxTQUFTQyxVQUFVTCxRQUFRLEVBQUVDLFNBQVMsRUFBRTtJQUN0QyxJQUFNUyxTQUFTLElBQUksQ0FBQ0MsU0FBUyxJQUN2QnpDLFlBQVlZLGlDQUFxQixFQUNqQzhCLFlBQVlGLE9BQU9HLE1BQU0sSUFDekJDLGFBQWFKLE9BQU9LLE9BQU8sSUFDM0JDLGNBQWNOLE9BQU9PLFFBQVEsSUFDN0JDLGVBQWVSLE9BQU9TLFNBQVMsSUFDL0JDLGNBQWNKLGNBQWNGLFlBQzVCTyxlQUFlSCxlQUFlTixXQUM5QnpCLFlBQVltQyxLQUFLQyxLQUFLLENBQUNGLGVBQWUsSUFDdENqQyxhQUFha0MsS0FBS0MsS0FBSyxDQUFDSCxjQUFjLElBQ3RDekQsY0FBYyxJQUFJLEVBQ2xCMEIsZ0JBQWdCVyxVQUNoQlYsaUJBQWlCVyxXQUFXLEdBQUc7SUFFckN1QixZQUFNLENBQUNDLFNBQVMsQ0FBQ0MsZ0JBQWdCLElBQUk7SUFFckNGLFlBQU0sQ0FBQ0csV0FBVyxDQUFDQyxrQkFBa0IsSUFBSTtJQUV6QyxJQUFJLENBQUNDLFFBQVEsQ0FBQztJQUVkakUsT0FBT0MsTUFBTSxDQUFDQyxZQUFZO1FBQ3hCSCxhQUFBQTtJQUNGO0lBRUEsSUFBSSxDQUFDbUUsWUFBWSxDQUFDM0M7SUFFbEIsSUFBSSxDQUFDNEMsYUFBYSxDQUFDM0M7SUFFbkIsSUFBSSxDQUFDNEMsZ0JBQWdCLENBQUMzQztJQUV0QixJQUFJLENBQUM0QyxpQkFBaUIsQ0FBQzNDO0lBRXZCLElBQUksQ0FBQzRDLFlBQVksQ0FBQ2hFO0lBRWxCLElBQUksQ0FBQ2lFLElBQUksQ0FBQ25DLFVBQVVDO0FBQ3RCO0FBRUEsU0FBU21DLFNBQVNDLE9BQU8sRUFBRTs7SUFDekIsSUFBTSxBQUFFQyxjQUFnQnhFLFdBQWhCd0UsYUFDRnBFLFlBQVlRLGdDQUFvQjtJQUV0QzhDLFlBQU0sQ0FBQ2UsVUFBVSxDQUFDYixnQkFBZ0IsSUFBSTtJQUV0Q0YsWUFBTSxDQUFDZ0IsWUFBWSxDQUFDWixrQkFBa0IsSUFBSTtJQUUxQyxJQUFNYSxPQUFPLFdBQU07UUFDakIsTUFBS0MsaUJBQWlCLENBQUN4RSxXQUFXb0UsYUFBYUQsU0FBUyxXQUFNO1lBQzVELElBQU0xRSxjQUFjLElBQUk7WUFFeEJDLE9BQU9DLE1BQU0sQ0FBQ0MsWUFBWTtnQkFDeEJILGFBQUFBO1lBQ0Y7WUFFQSxNQUFLZ0YsV0FBVyxDQUFDO1FBQ25CO0lBQ0Y7SUFFQSxJQUFJTCxnQkFBZ0IsSUFBSSxFQUFFO1FBQ3hCLElBQU0zRSxjQUFjLElBQUksRUFBRSxHQUFHO1FBRTdCMkUsWUFBWU0sSUFBSSxDQUFDakYsYUFBYTBFLFNBQVNJO0lBQ3pDLE9BQU87UUFDTEE7SUFDRixDQUFDO0FBQ0g7QUFFQSxTQUFTTixLQUFLbkMsUUFBUSxFQUFFQyxTQUFTLEVBQUU7SUFDakMsSUFBTS9CLFlBQVlDLDJCQUFlLEVBQzNCMEUsWUFBWXJCLFlBQU0sQ0FBQ3NCLFlBQVksSUFDL0JDLGFBQWF2QixZQUFNLENBQUN3QixhQUFhLElBQ2pDN0QsWUFBWSxJQUFJLENBQUM4RCxZQUFZLElBQzdCN0QsYUFBYSxJQUFJLENBQUM4RCxhQUFhLElBQy9CN0QsZ0JBQWdCLElBQUksQ0FBQzhELGdCQUFnQixJQUNyQzdELGlCQUFpQixJQUFJLENBQUM4RCxpQkFBaUIsSUFDdkNDLG1CQUFtQnJELFdBQVdYLGVBQzlCaUUsb0JBQW9CckQsWUFBWVg7SUFFdEMsSUFBSWlFLE1BQU1sRSxnQkFBZ0JnRSxtQkFBbUJsRSxZQUFZMEQsV0FDckRXLE9BQU9sRSxpQkFBaUJnRSxvQkFBb0JsRSxhQUFhMkQ7SUFFN0RRLE1BQU0sQUFBQyxHQUFNLE9BQUpBLEtBQUksT0FBSyxHQUFHO0lBQ3JCQyxPQUFPLEFBQUMsR0FBTyxPQUFMQSxNQUFLLE9BQUssR0FBRztJQUV2QixJQUFNQyxNQUFNO1FBQ1ZGLEtBQUFBO1FBQ0FDLE1BQUFBO0lBQ0Y7SUFFQSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0E7SUFFVCxJQUFJLENBQUN2QixZQUFZLENBQUNoRSxXQUFXbUYsa0JBQWtCQztBQUNqRDtBQUVBLFNBQVNwRCxhQUFhO0lBQ3BCLElBQU13RCxRQUFRLElBQUksQ0FBQ0MsUUFBUSxJQUNyQixBQUFFekUsVUFBWXdFLE1BQVp4RTtJQUVSLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTa0IsZUFBZTtJQUN0QixJQUFNbEIsVUFBVSxJQUFJO0lBRXBCLElBQUksQ0FBQ3FCLGFBQWEsQ0FBQ3JCO0FBQ3JCO0FBRUEsU0FBU3FCLGNBQWNyQixPQUFPLEVBQUU7SUFDOUIsSUFBSSxDQUFDMEUsV0FBVyxDQUFDO1FBQ2YxRSxTQUFBQTtJQUNGO0FBQ0Y7QUFFQSxTQUFTK0QsZUFBZTtJQUN0QixJQUFNUyxRQUFRLElBQUksQ0FBQ0MsUUFBUSxJQUNyQixBQUFFeEUsWUFBY3VFLE1BQWR2RTtJQUVSLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTK0QsZ0JBQWdCO0lBQ3ZCLElBQU1RLFFBQVEsSUFBSSxDQUFDQyxRQUFRLElBQ3JCLEFBQUV2RSxhQUFlc0UsTUFBZnRFO0lBRVIsT0FBT0E7QUFDVDtBQUVBLFNBQVMrRCxtQkFBbUI7SUFDMUIsSUFBTU8sUUFBUSxJQUFJLENBQUNDLFFBQVEsSUFDdkIsQUFBRXRFLGdCQUFrQnFFLE1BQWxCckU7SUFFTixPQUFPQTtBQUNUO0FBRUEsU0FBUytELG9CQUFvQjtJQUMzQixJQUFNTSxRQUFRLElBQUksQ0FBQ0MsUUFBUSxJQUN2QixBQUFFckUsaUJBQW1Cb0UsTUFBbkJwRTtJQUVOLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTd0MsYUFBYTNDLFNBQVMsRUFBRTtJQUMvQixJQUFJLENBQUN5RSxXQUFXLENBQUM7UUFDZnpFLFdBQUFBO0lBQ0Y7QUFDRjtBQUVBLFNBQVM0QyxjQUFjM0MsVUFBVSxFQUFFO0lBQ2pDLElBQUksQ0FBQ3dFLFdBQVcsQ0FBQztRQUNmeEUsWUFBQUE7SUFDRjtBQUNGO0FBRUEsU0FBUzRDLGlCQUFpQjNDLGFBQWEsRUFBRTtJQUN2QyxJQUFJLENBQUN1RSxXQUFXLENBQUM7UUFDZnZFLGVBQUFBO0lBQ0Y7QUFDRjtBQUVBLFNBQVM0QyxrQkFBa0IzQyxjQUFjLEVBQUU7SUFDekMsSUFBSSxDQUFDc0UsV0FBVyxDQUFDO1FBQ2Z0RSxnQkFBQUE7SUFDRjtBQUNGO0FBRUEsU0FBUzRDLGFBQWFoRSxTQUFTLEVBQXlCO0lBQXZCLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHMkYscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxLQUFxQixHQUFyQixPQUFBLEdBQUEsT0FBQSxNQUFBLE9BQUE7UUFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjtJQUFEOztJQUNuRCxJQUFNQyxpQkFBaUIsSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQzdGO0lBRS9DNEYsZUFBZTNHLE9BQU8sQ0FBQyxTQUFDNkcsZUFBa0I7WUFJeEM1RjtRQUhBLElBQVFBLFVBQXFDNEYsY0FBckM1RixTQUFTSCxBQUFTZ0csaUJBQW1CRCxjQUE1Qi9GLFNBQ1hBLGlCQUFnQixHQUFHO1FBRXpCRyxDQUFBQSxXQUFBQSxTQUFROEYsSUFBSSxDQUFaOUYsTUFBQUEsVUFBQUE7WUFBYTZGO1NBQStDLENBQTVEN0YsT0FBNkIsbUJBQUd5RixxQkFBaEN6RjtZQUFvREg7U0FBUTtJQUM5RDtBQUNGO0FBRUEsU0FBU3lFLGtCQUFrQnhFLFNBQVMsRUFBeUI7SUFBdkIsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUcyRixxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLEtBQXFCLEdBQXJCLE9BQUEsR0FBQSxPQUFBLE1BQUEsT0FBQTtRQUFHQSxtQkFBSCxPQUFBLEtBQUEsU0FBQSxDQUFBLEtBQXFCO0lBQUQ7O0lBQ3hELElBQU1wQixPQUFPb0IsbUJBQW1CTSxHQUFHLElBQzdCTCxpQkFBaUIsSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQzdGO0lBRS9DZixRQUFRMkcsZ0JBQWdCLFNBQUNFLGVBQWVJLE1BQVM7WUFLL0NoRztRQUpBLElBQVFBLFVBQXFDNEYsY0FBckM1RixTQUFTSCxBQUFTZ0csaUJBQW1CRCxjQUE1Qi9GLFNBQ1hBLGlCQUNBd0UsT0FBTzJCLE1BQU8sR0FBRztRQUV2QmhHLENBQUFBLFdBQUFBLFNBQVE4RixJQUFJLENBQVo5RixNQUFBQSxVQUFBQTtZQUFhNkY7U0FBcUQsQ0FBbEU3RixPQUE2QixtQkFBR3lGLHFCQUFoQ3pGO1lBQW9ESDtZQUFTd0U7U0FBSztJQUNwRSxHQUFHQTtBQUNMO0lBRUEsV0FBZTtJQUNiMUUsUUFBQUE7SUFDQU8sU0FBQUE7SUFDQUUsWUFBQUE7SUFDQUcsYUFBQUE7SUFDQUMsYUFBQUE7SUFDQUcsY0FBQUE7SUFDQUMsWUFBQUE7SUFDQVUsYUFBQUE7SUFDQUUsWUFBQUE7SUFDQUcsb0JBQUFBO0lBQ0FTLG1CQUFBQTtJQUNBSCxXQUFBQTtJQUNBK0IsVUFBQUE7SUFDQUQsTUFBQUE7SUFDQWpDLFlBQUFBO0lBQ0FFLGNBQUFBO0lBQ0FHLGVBQUFBO0lBQ0EwQyxjQUFBQTtJQUNBQyxlQUFBQTtJQUNBQyxrQkFBQUE7SUFDQUMsbUJBQUFBO0lBQ0F0QixjQUFBQTtJQUNBQyxlQUFBQTtJQUNBQyxrQkFBQUE7SUFDQUMsbUJBQUFBO0lBQ0FDLGNBQUFBO0lBQ0FRLG1CQUFBQTtBQUNGO0FBRUEsU0FBU2hCLGVBQWUyQyxLQUFLLEVBQUVwRyxPQUFPLEVBQUU7SUFDdEMsSUFBTSxBQUFFcUcsVUFBWUQsTUFBWkMsU0FDRkMsWUFBYUQsWUFBWWpILGdCQUN6QmdGLFVBQVUsSUFBSTtJQUVwQixJQUFJa0MsV0FBVztRQUNiLElBQUksQ0FBQ25DLFFBQVEsQ0FBQ0M7UUFFZGdDLE1BQU1HLGVBQWU7SUFDdkIsQ0FBQztBQUNIO0FBRUEsU0FBU0MsZUFBZUosS0FBSyxFQUFFcEcsT0FBTyxFQUFFO0lBQ3RDLElBQU00QixXQUFXLElBQUksQ0FBQ0QsVUFBVSxJQUMxQnlDLFVBQVUsS0FBSztJQUVyQnhDLFdBQ0UsSUFBSSxDQUFDdUMsUUFBUSxDQUFDQyxXQUNaLElBQUksQ0FBQzdCLGlCQUFpQixFQUFFO0lBRTVCNkQsTUFBTUcsZUFBZTtJQUVyQmhELFlBQU0sQ0FBQ2tELEdBQUcsQ0FBQ25ILGlCQUFpQmtILGdCQUFnQixJQUFJLEdBQUksR0FBRztJQUV2RGpELFlBQU0sQ0FBQ21ELFVBQVUsQ0FBQ0YsZ0JBQWdCLElBQUk7QUFDeEM7QUFFQSxTQUFTakYsaUJBQWlCNkUsS0FBSyxFQUFFcEcsT0FBTyxFQUFFO0lBQ3hDLElBQU0sQUFBRTJHLFNBQVdQLE1BQVhPO0lBRVIsSUFBSUEsV0FBV25ILG1CQUFtQjtRQUNoQyxJQUFNb0MsV0FBVyxJQUFJLENBQUNELFVBQVU7UUFFaEMsSUFBSSxDQUFDQyxVQUFVO1lBQ2IsSUFBTUcsV0FBVzZFLElBQUFBLHdCQUFpQixFQUFDUixRQUM3QnBFLFlBQVk2RSxJQUFBQSx5QkFBa0IsRUFBQ1Q7WUFFckMsSUFBSSxDQUFDdEUsa0JBQWtCLENBQUNDLFVBQVVDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRURvRSxNQUFNRyxlQUFlO0lBRXJCaEQsWUFBTSxDQUFDdUQsRUFBRSxDQUFDeEgsaUJBQWlCa0gsZ0JBQWdCLElBQUksR0FBRyxHQUFHO0lBRXJEakQsWUFBTSxDQUFDd0QsU0FBUyxDQUFDUCxnQkFBZ0IsSUFBSTtBQUN2QztBQUVBLFNBQVM3QyxpQkFBaUJ5QyxLQUFLLEVBQUVwRyxPQUFPLEVBQUU7SUFDeEMsSUFBTTRCLFdBQVcsSUFBSSxDQUFDRCxVQUFVO0lBRWhDLElBQUlDLFVBQVU7UUFDWixJQUFNRyxXQUFXNkUsSUFBQUEsd0JBQWlCLEVBQUNSLFFBQzdCcEUsWUFBWTZFLElBQUFBLHlCQUFrQixFQUFDVDtRQUVyQyxJQUFJLENBQUNsQyxJQUFJLENBQUNuQyxVQUFVQztJQUN0QixDQUFDO0lBRURvRSxNQUFNRyxlQUFlO0FBQ3ZCIn0=
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var _easy = require("easy");
12
11
  var _necessary = require("necessary");
12
+ var _eventTypes = require("../eventTypes");
13
13
  function _arrayLikeToArray(arr, len) {
14
14
  if (len == null || len > arr.length) len = arr.length;
15
15
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -35,45 +35,45 @@ function _unsupportedIterableToArray(o, minLen) {
35
35
  if (n === "Map" || n === "Set") return Array.from(n);
36
36
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
37
37
  }
38
- var forEach = _necessary.asynchronousUtilities.forEach, DROP_EVENT_TYPE = _easy.eventTypes.DROP_EVENT_TYPE, DRAG_OUT_EVENT_TYPE = _easy.eventTypes.DRAG_OUT_EVENT_TYPE, DRAG_OVER_EVENT_TYPE = _easy.eventTypes.DRAG_OVER_EVENT_TYPE;
38
+ var forEach = _necessary.asynchronousUtilities.forEach;
39
39
  var dropElement = null;
40
40
  Object.assign(globalThis, {
41
41
  dropElement: dropElement
42
42
  });
43
43
  function drop(dragElement, aborted, done) {
44
- var eventType = DROP_EVENT_TYPE;
44
+ var eventType = _eventTypes.DROP_EVENT_TYPE;
45
45
  this.callHandlersAsync(eventType, dragElement, aborted, done);
46
46
  }
47
47
  function dragOut(dragElement) {
48
- var eventType = DRAG_OUT_EVENT_TYPE;
48
+ var eventType = _eventTypes.DRAG_OUT_EVENT_TYPE;
49
49
  this.callHandlers(eventType, dragElement);
50
50
  }
51
51
  function dragOver(dragElement) {
52
- var eventType = DRAG_OVER_EVENT_TYPE;
52
+ var eventType = _eventTypes.DRAG_OVER_EVENT_TYPE;
53
53
  this.callHandlers(eventType, dragElement);
54
54
  }
55
55
  function onDrop(dropHandler, element) {
56
- var eventType = DROP_EVENT_TYPE, handler = dropHandler; ///
56
+ var eventType = _eventTypes.DROP_EVENT_TYPE, handler = dropHandler; ///
57
57
  this.addEventListener(eventType, handler, element);
58
58
  }
59
59
  function offDrop(dropHandler, element) {
60
- var eventType = DROP_EVENT_TYPE, handler = dropHandler; ///
60
+ var eventType = _eventTypes.DROP_EVENT_TYPE, handler = dropHandler; ///
61
61
  this.removeEventListener(eventType, handler, element);
62
62
  }
63
63
  function onDragOut(dragOutHandler, element) {
64
- var eventType = DRAG_OUT_EVENT_TYPE, handler = dragOutHandler; ///
64
+ var eventType = _eventTypes.DRAG_OUT_EVENT_TYPE, handler = dragOutHandler; ///
65
65
  this.addEventListener(eventType, handler, element);
66
66
  }
67
67
  function offDragOut(dragOutHandler, element) {
68
- var eventType = DRAG_OUT_EVENT_TYPE, handler = dragOutHandler; ///
68
+ var eventType = _eventTypes.DRAG_OUT_EVENT_TYPE, handler = dragOutHandler; ///
69
69
  this.removeEventListener(eventType, handler, element);
70
70
  }
71
71
  function onDragOver(dragOverHandler, element) {
72
- var eventType = DRAG_OVER_EVENT_TYPE, handler = dragOverHandler; ///
72
+ var eventType = _eventTypes.DRAG_OVER_EVENT_TYPE, handler = dragOverHandler; ///
73
73
  this.addEventListener(eventType, handler, element);
74
74
  }
75
75
  function offDragOver(dragOverHandler, element) {
76
- var eventType = DRAG_OVER_EVENT_TYPE, handler = dragOverHandler; ///
76
+ var eventType = _eventTypes.DRAG_OVER_EVENT_TYPE, handler = dragOverHandler; ///
77
77
  this.removeEventListener(eventType, handler, element);
78
78
  }
79
79
  function enableDrop() {
@@ -163,4 +163,4 @@ function mouseOverHandler(event, element) {
163
163
  event.stopPropagation();
164
164
  }
165
165
 
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJvcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZXZlbnRUeXBlcyB9IGZyb20gXCJlYXN5XCI7XG5pbXBvcnQgeyBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCIgO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcyxcbiAgICAgIHsgRFJPUF9FVkVOVF9UWVBFLCBEUkFHX09VVF9FVkVOVF9UWVBFLCBEUkFHX09WRVJfRVZFTlRfVFlQRSB9ID0gZXZlbnRUeXBlcztcblxuY29uc3QgZHJvcEVsZW1lbnQgPSBudWxsO1xuXG5PYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgZHJvcEVsZW1lbnRcbn0pO1xuXG5mdW5jdGlvbiBkcm9wKGRyYWdFbGVtZW50LCBhYm9ydGVkLCBkb25lKSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERST1BfRVZFTlRfVFlQRTtcblxuICB0aGlzLmNhbGxIYW5kbGVyc0FzeW5jKGV2ZW50VHlwZSwgZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGRvbmUpO1xufVxuXG5mdW5jdGlvbiBkcmFnT3V0KGRyYWdFbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfT1VUX0VWRU5UX1RZUEU7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCBkcmFnRWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIGRyYWdPdmVyKGRyYWdFbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfT1ZFUl9FVkVOVF9UWVBFO1xuXG4gIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgZHJhZ0VsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvbkRyb3AoZHJvcEhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJPUF9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJvcEhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmRHJvcChkcm9wSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUk9QX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcm9wSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvbkRyYWdPdXQoZHJhZ091dEhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19PVVRfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyYWdPdXRIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZkRyYWdPdXQoZHJhZ091dEhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19PVVRfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyYWdPdXRIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uRHJhZ092ZXIoZHJhZ092ZXJIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfT1ZFUl9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ092ZXJIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZkRyYWdPdmVyKGRyYWdPdmVySGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX09WRVJfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyYWdPdmVySGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBlbmFibGVEcm9wKCkge1xuICBjb25zdCB7IG9uRHJvcCwgb25EcmFnT3V0LCBvbkRyYWdPdmVyIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgIGRyb3BIYW5kbGVyID0gb25Ecm9wLCAvLy9cbiAgICAgICAgZHJhZ091dEhhbmRsZXIgPSBvbkRyYWdPdXQsIC8vL1xuICAgICAgICBkcmFnT3ZlckhhbmRsZXIgPSBvbkRyYWdPdmVyOyAvLy9cblxuICBkcm9wSGFuZGxlciAmJiB0aGlzLm9uRHJvcChkcm9wSGFuZGxlcik7XG4gIGRyYWdPdXRIYW5kbGVyICYmIHRoaXMub25EcmFnT3V0KGRyYWdPdXRIYW5kbGVyKTtcbiAgZHJhZ092ZXJIYW5kbGVyICYmIHRoaXMub25EcmFnT3ZlcihkcmFnT3ZlckhhbmRsZXIpO1xuXG4gIHRoaXMub25Nb3VzZU91dChtb3VzZU91dEhhbmRsZXIsIHRoaXMpO1xuICB0aGlzLm9uTW91c2VPdmVyKG1vdXNlT3ZlckhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBkaXNhYmxlRHJvcCgpIHtcbiAgY29uc3QgeyBvbkRyb3AsIG9uRHJhZ091dCwgb25EcmFnT3ZlciB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICBkcm9wSGFuZGxlciA9IG9uRHJvcCwgLy8vXG4gICAgICAgIGRyYWdPdXRIYW5kbGVyID0gb25EcmFnT3V0LCAvLy9cbiAgICAgICAgZHJhZ092ZXJIYW5kbGVyID0gb25EcmFnT3ZlcjsgLy8vXG5cbiAgZHJvcEhhbmRsZXIgJiYgdGhpcy5vZmZEcm9wKGRyb3BIYW5kbGVyKTtcbiAgZHJhZ091dEhhbmRsZXIgJiYgdGhpcy5vZmZEcmFnT3V0KGRyYWdPdXRIYW5kbGVyKTtcbiAgZHJhZ092ZXJIYW5kbGVyICYmIHRoaXMub2ZmRHJhZ092ZXIoZHJhZ092ZXJIYW5kbGVyKTtcblxuICB0aGlzLm9mZk1vdXNlT3V0KG1vdXNlT3V0SGFuZGxlciwgdGhpcyk7XG4gIHRoaXMub2ZmTW91c2VPdmVyKG1vdXNlT3ZlckhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBjYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQ6IGhhbmRsZXJFbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxIYW5kbGVyc0FzeW5jKGV2ZW50VHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGRvbmUgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksICAvLy9cbiAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGZvckVhY2goZXZlbnRMaXN0ZW5lcnMsIChldmVudExpc3RlbmVyLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50OiBoYW5kbGVyRWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBlbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50LCBkb25lKTtcbiAgfSwgZG9uZSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZHJvcCxcbiAgZHJhZ091dCxcbiAgZHJhZ092ZXIsXG4gIG9uRHJvcCxcbiAgb2ZmRHJvcCxcbiAgb25EcmFnT3V0LFxuICBvZmZEcmFnT3V0LFxuICBvbkRyYWdPdmVyLFxuICBvZmZEcmFnT3ZlcixcbiAgZW5hYmxlRHJvcCxcbiAgZGlzYWJsZURyb3AsXG4gIGNhbGxIYW5kbGVycyxcbiAgY2FsbEhhbmRsZXJzQXN5bmNcbn1cblxuZnVuY3Rpb24gbW91c2VPdXRIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHsgZHJhZ0VsZW1lbnQgfSA9IGdsb2JhbFRoaXM7XG5cbiAgaWYgKGRyYWdFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgZHJvcEVsZW1lbnQgPSBudWxsOyAvLy9cblxuICAgIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgICAgZHJvcEVsZW1lbnRcbiAgICB9KTtcblxuICAgIHRoaXMuZHJhZ091dChkcmFnRWxlbWVudCk7XG4gIH1cblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cblxuZnVuY3Rpb24gbW91c2VPdmVySGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCB7IGRyYWdFbGVtZW50IH0gPSBnbG9iYWxUaGlzO1xuXG4gIGlmIChkcmFnRWxlbWVudCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRyb3BFbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIGRyb3BFbGVtZW50XG4gICAgfSk7XG5cbiAgICB0aGlzLmRyYWdPdmVyKGRyYWdFbGVtZW50KTtcbiAgfVxuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xufVxuIl0sIm5hbWVzIjpbImZvckVhY2giLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJEUk9QX0VWRU5UX1RZUEUiLCJldmVudFR5cGVzIiwiRFJBR19PVVRfRVZFTlRfVFlQRSIsIkRSQUdfT1ZFUl9FVkVOVF9UWVBFIiwiZHJvcEVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJnbG9iYWxUaGlzIiwiZHJvcCIsImRyYWdFbGVtZW50IiwiYWJvcnRlZCIsImRvbmUiLCJldmVudFR5cGUiLCJjYWxsSGFuZGxlcnNBc3luYyIsImRyYWdPdXQiLCJjYWxsSGFuZGxlcnMiLCJkcmFnT3ZlciIsIm9uRHJvcCIsImRyb3BIYW5kbGVyIiwiZWxlbWVudCIsImhhbmRsZXIiLCJhZGRFdmVudExpc3RlbmVyIiwib2ZmRHJvcCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbkRyYWdPdXQiLCJkcmFnT3V0SGFuZGxlciIsIm9mZkRyYWdPdXQiLCJvbkRyYWdPdmVyIiwiZHJhZ092ZXJIYW5kbGVyIiwib2ZmRHJhZ092ZXIiLCJlbmFibGVEcm9wIiwicHJvcGVydGllcyIsIm9uTW91c2VPdXQiLCJtb3VzZU91dEhhbmRsZXIiLCJvbk1vdXNlT3ZlciIsIm1vdXNlT3ZlckhhbmRsZXIiLCJkaXNhYmxlRHJvcCIsIm9mZk1vdXNlT3V0Iiwib2ZmTW91c2VPdmVyIiwicmVtYWluaW5nQXJndW1lbnRzIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJldmVudExpc3RlbmVyIiwiaGFuZGxlckVsZW1lbnQiLCJjYWxsIiwicG9wIiwibmV4dCIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE4SEE7OztlQUFBOzs7b0JBNUgyQjt5QkFDVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEMsSUFBTSxBQUFFQSxVQUFZQyxnQ0FBcUIsQ0FBakNELFNBQ0FFLGtCQUErREMsZ0JBQVUsQ0FBekVELGlCQUFpQkUsc0JBQThDRCxnQkFBVSxDQUF4REMscUJBQXFCQyx1QkFBeUJGLGdCQUFVLENBQW5DRTtBQUU5QyxJQUFNQyxjQUFjLElBQUk7QUFFeEJDLE9B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
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJvcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiIDtcblxuaW1wb3J0IHsgRFJPUF9FVkVOVF9UWVBFLCBEUkFHX09VVF9FVkVOVF9UWVBFLCBEUkFHX09WRVJfRVZFTlRfVFlQRSB9IGZyb20gXCIuLi9ldmVudFR5cGVzXCI7XG5cbmNvbnN0IHsgZm9yRWFjaCB9ID0gYXN5bmNocm9ub3VzVXRpbGl0aWVzO1xuXG5jb25zdCBkcm9wRWxlbWVudCA9IG51bGw7XG5cbk9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICBkcm9wRWxlbWVudFxufSk7XG5cbmZ1bmN0aW9uIGRyb3AoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGRvbmUpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJPUF9FVkVOVF9UWVBFO1xuXG4gIHRoaXMuY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCBkcmFnRWxlbWVudCwgYWJvcnRlZCwgZG9uZSk7XG59XG5cbmZ1bmN0aW9uIGRyYWdPdXQoZHJhZ0VsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19PVVRfRVZFTlRfVFlQRTtcblxuICB0aGlzLmNhbGxIYW5kbGVycyhldmVudFR5cGUsIGRyYWdFbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gZHJhZ092ZXIoZHJhZ0VsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19PVkVSX0VWRU5UX1RZUEU7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCBkcmFnRWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uRHJvcChkcm9wSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUk9QX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcm9wSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZEcm9wKGRyb3BIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERST1BfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyb3BIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uRHJhZ091dChkcmFnT3V0SGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX09VVF9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ091dEhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmRHJhZ091dChkcmFnT3V0SGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX09VVF9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ091dEhhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25EcmFnT3ZlcihkcmFnT3ZlckhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19PVkVSX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnT3ZlckhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmRHJhZ092ZXIoZHJhZ092ZXJIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfT1ZFUl9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ092ZXJIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIGVuYWJsZURyb3AoKSB7XG4gIGNvbnN0IHsgb25Ecm9wLCBvbkRyYWdPdXQsIG9uRHJhZ092ZXIgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJvcEhhbmRsZXIgPSBvbkRyb3AsIC8vL1xuICAgICAgICBkcmFnT3V0SGFuZGxlciA9IG9uRHJhZ091dCwgLy8vXG4gICAgICAgIGRyYWdPdmVySGFuZGxlciA9IG9uRHJhZ092ZXI7IC8vL1xuXG4gIGRyb3BIYW5kbGVyICYmIHRoaXMub25Ecm9wKGRyb3BIYW5kbGVyKTtcbiAgZHJhZ091dEhhbmRsZXIgJiYgdGhpcy5vbkRyYWdPdXQoZHJhZ091dEhhbmRsZXIpO1xuICBkcmFnT3ZlckhhbmRsZXIgJiYgdGhpcy5vbkRyYWdPdmVyKGRyYWdPdmVySGFuZGxlcik7XG5cbiAgdGhpcy5vbk1vdXNlT3V0KG1vdXNlT3V0SGFuZGxlciwgdGhpcyk7XG4gIHRoaXMub25Nb3VzZU92ZXIobW91c2VPdmVySGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVEcm9wKCkge1xuICBjb25zdCB7IG9uRHJvcCwgb25EcmFnT3V0LCBvbkRyYWdPdmVyIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgIGRyb3BIYW5kbGVyID0gb25Ecm9wLCAvLy9cbiAgICAgICAgZHJhZ091dEhhbmRsZXIgPSBvbkRyYWdPdXQsIC8vL1xuICAgICAgICBkcmFnT3ZlckhhbmRsZXIgPSBvbkRyYWdPdmVyOyAvLy9cblxuICBkcm9wSGFuZGxlciAmJiB0aGlzLm9mZkRyb3AoZHJvcEhhbmRsZXIpO1xuICBkcmFnT3V0SGFuZGxlciAmJiB0aGlzLm9mZkRyYWdPdXQoZHJhZ091dEhhbmRsZXIpO1xuICBkcmFnT3ZlckhhbmRsZXIgJiYgdGhpcy5vZmZEcmFnT3ZlcihkcmFnT3ZlckhhbmRsZXIpO1xuXG4gIHRoaXMub2ZmTW91c2VPdXQobW91c2VPdXRIYW5kbGVyLCB0aGlzKTtcbiAgdGhpcy5vZmZNb3VzZU92ZXIobW91c2VPdmVySGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIGNhbGxIYW5kbGVycyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudDogaGFuZGxlckVsZW1lbnQgfSA9IGV2ZW50TGlzdGVuZXIsXG4gICAgICAgICAgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZG9uZSA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSwgIC8vL1xuICAgICAgICBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZm9yRWFjaChldmVudExpc3RlbmVycywgKGV2ZW50TGlzdGVuZXIsIG5leHQpID0+IHtcbiAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQ6IGhhbmRsZXJFbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLCAvLy9cbiAgICAgICAgICBkb25lID0gbmV4dDsgIC8vL1xuXG4gICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQsIGRvbmUpO1xuICB9LCBkb25lKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBkcm9wLFxuICBkcmFnT3V0LFxuICBkcmFnT3ZlcixcbiAgb25Ecm9wLFxuICBvZmZEcm9wLFxuICBvbkRyYWdPdXQsXG4gIG9mZkRyYWdPdXQsXG4gIG9uRHJhZ092ZXIsXG4gIG9mZkRyYWdPdmVyLFxuICBlbmFibGVEcm9wLFxuICBkaXNhYmxlRHJvcCxcbiAgY2FsbEhhbmRsZXJzLFxuICBjYWxsSGFuZGxlcnNBc3luY1xufVxuXG5mdW5jdGlvbiBtb3VzZU91dEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBkcmFnRWxlbWVudCB9ID0gZ2xvYmFsVGhpcztcblxuICBpZiAoZHJhZ0VsZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBkcm9wRWxlbWVudCA9IG51bGw7IC8vL1xuXG4gICAgT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gICAgICBkcm9wRWxlbWVudFxuICAgIH0pO1xuXG4gICAgdGhpcy5kcmFnT3V0KGRyYWdFbGVtZW50KTtcbiAgfVxuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xufVxuXG5mdW5jdGlvbiBtb3VzZU92ZXJIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHsgZHJhZ0VsZW1lbnQgfSA9IGdsb2JhbFRoaXM7XG5cbiAgaWYgKGRyYWdFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgZHJvcEVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgICAgZHJvcEVsZW1lbnRcbiAgICB9KTtcblxuICAgIHRoaXMuZHJhZ092ZXIoZHJhZ0VsZW1lbnQpO1xuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG59XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImRyb3BFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwiZ2xvYmFsVGhpcyIsImRyb3AiLCJkcmFnRWxlbWVudCIsImFib3J0ZWQiLCJkb25lIiwiZXZlbnRUeXBlIiwiRFJPUF9FVkVOVF9UWVBFIiwiY2FsbEhhbmRsZXJzQXN5bmMiLCJkcmFnT3V0IiwiRFJBR19PVVRfRVZFTlRfVFlQRSIsImNhbGxIYW5kbGVycyIsImRyYWdPdmVyIiwiRFJBR19PVkVSX0VWRU5UX1RZUEUiLCJvbkRyb3AiLCJkcm9wSGFuZGxlciIsImVsZW1lbnQiLCJoYW5kbGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9mZkRyb3AiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25EcmFnT3V0IiwiZHJhZ091dEhhbmRsZXIiLCJvZmZEcmFnT3V0Iiwib25EcmFnT3ZlciIsImRyYWdPdmVySGFuZGxlciIsIm9mZkRyYWdPdmVyIiwiZW5hYmxlRHJvcCIsInByb3BlcnRpZXMiLCJvbk1vdXNlT3V0IiwibW91c2VPdXRIYW5kbGVyIiwib25Nb3VzZU92ZXIiLCJtb3VzZU92ZXJIYW5kbGVyIiwiZGlzYWJsZURyb3AiLCJvZmZNb3VzZU91dCIsIm9mZk1vdXNlT3ZlciIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImV2ZW50TGlzdGVuZXJzIiwiZmluZEV2ZW50TGlzdGVuZXJzIiwiZXZlbnRMaXN0ZW5lciIsImhhbmRsZXJFbGVtZW50IiwiY2FsbCIsInBvcCIsIm5leHQiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBOEhBOzs7ZUFBQTs7O3lCQTVIc0M7MEJBRXFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUzRSxJQUFNLEFBQUVBLFVBQVlDLGdDQUFxQixDQUFqQ0Q7QUFFUixJQUFNRSxjQUFjLElBQUk7QUFFeEJDLE9BQU9DLE1BQU0sQ0FBQ0MsWUFBWTtJQUN4QkgsYUFBQUE7QUFDRjtBQUVBLFNBQVNJLEtBQUtDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxJQUFJLEVBQUU7SUFDeEMsSUFBTUMsWUFBWUMsMkJBQWU7SUFFakMsSUFBSSxD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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "easy-drag-and-drop",
3
3
  "author": "James Smith",
4
- "version": "1.2.89",
4
+ "version": "1.3.1",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/easy-drag-and-drop",
7
7
  "description": "Drag and drop functionality for Easy elements.",
@@ -10,8 +10,8 @@
10
10
  "url": "https://github.com/djalbat/easy-drag-and-drop"
11
11
  },
12
12
  "dependencies": {
13
- "easy": "^13.0.44",
14
- "easy-with-style": "^3.0.184",
13
+ "easy": "^14.0.1",
14
+ "easy-with-style": "^3.0.185",
15
15
  "necessary": "^11.0.40"
16
16
  },
17
17
  "devDependencies": {
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ export const DRAG_EVENT_TYPE = "drag";
4
+ export const DROP_EVENT_TYPE = "drop";
5
+ export const DRAG_OUT_EVENT_TYPE = "dragout";
6
+ export const DRAG_OVER_EVENT_TYPE = "dragover";
7
+ export const STOP_DRAG_EVENT_TYPE = "stopdrag";
8
+ export const START_DRAG_EVENT_TYPE = "startdrag";
9
+
10
+ export default {
11
+ DRAG_EVENT_TYPE,
12
+ DROP_EVENT_TYPE,
13
+ DRAG_OUT_EVENT_TYPE,
14
+ DRAG_OVER_EVENT_TYPE,
15
+ STOP_DRAG_EVENT_TYPE,
16
+ START_DRAG_EVENT_TYPE
17
+ };
package/src/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ export { default as eventTypes } from "./eventTypes";
4
+
3
5
  export { default as dragMixins } from "./mixins/drag";
4
6
  export { default as dropMixins } from "./mixins/drop";
5
7
  export { default as DragElement } from "./element/drag";
@@ -5,11 +5,12 @@ import { keyCodes, asynchronousUtilities } from "necessary" ;
5
5
 
6
6
  import { START_DRAGGING_DELAY } from "../constants";
7
7
  import { mouseTopFromEvent, mouseLeftFromEvent } from "../utilities/event";
8
+ import { DRAG_EVENT_TYPE, STOP_DRAG_EVENT_TYPE, START_DRAG_EVENT_TYPE } from "../eventTypes";
8
9
 
9
10
  const { forEach } = asynchronousUtilities,
10
11
  { ESCAPE_KEYCODE } = keyCodes,
11
- { LEFT_MOUSE_BUTTON } = buttons,
12
- { BLUR_EVENT_TYPE, DRAG_EVENT_TYPE, STOP_DRAG_EVENT_TYPE, START_DRAG_EVENT_TYPE } = eventTypes
12
+ { BLUR_EVENT_TYPE } = eventTypes,
13
+ { LEFT_MOUSE_BUTTON } = buttons;
13
14
 
14
15
  const dragElement = null;
15
16
 
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import { eventTypes } from "easy";
4
3
  import { asynchronousUtilities } from "necessary" ;
5
4
 
6
- const { forEach } = asynchronousUtilities,
7
- { DROP_EVENT_TYPE, DRAG_OUT_EVENT_TYPE, DRAG_OVER_EVENT_TYPE } = eventTypes;
5
+ import { DROP_EVENT_TYPE, DRAG_OUT_EVENT_TYPE, DRAG_OVER_EVENT_TYPE } from "../eventTypes";
6
+
7
+ const { forEach } = asynchronousUtilities;
8
8
 
9
9
  const dropElement = null;
10
10