diff --git a/dist/mapd-draw-dev.js b/dist/mapd-draw-dev.js index 8a66902..5a050b9 100644 --- a/dist/mapd-draw-dev.js +++ b/dist/mapd-draw-dev.js @@ -192,7 +192,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 23 */ /***/ function(module, exports, __webpack_require__) { - eval("\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _interactUtils = __webpack_require__(24);\n\nvar InteractUtils = _interopRequireWildcard(_interactUtils);\n\nvar _point2d = __webpack_require__(3);\n\nvar Point2d = _interopRequireWildcard(_point2d);\n\nvar _basicStyle = __webpack_require__(9);\n\nvar _basicStyle2 = _interopRequireDefault(_basicStyle);\n\nvar _drawEngine = __webpack_require__(16);\n\nvar _drawEngine2 = _interopRequireDefault(_drawEngine);\n\nvar _mat2d = __webpack_require__(7);\n\nvar _mat2d2 = _interopRequireDefault(_mat2d);\n\nvar _polyLine = __webpack_require__(13);\n\nvar _polyLine2 = _interopRequireDefault(_polyLine);\n\nvar _strokeStyle = __webpack_require__(10);\n\nvar _strokeStyle2 = _interopRequireDefault(_strokeStyle);\n\nvar _vertEditableShape = __webpack_require__(25);\n\nvar _vertEditableShape2 = _interopRequireDefault(_vertEditableShape);\n\nvar _xformShape = __webpack_require__(26);\n\nvar _xformShape2 = _interopRequireDefault(_xformShape);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar scaleSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg transform='rotate(,24,24)'%3E%3Cpolygon style='fill:%23ffffff;' points='16,20 16,12 4,24 16,36 16,28 32,28 32,36 44,24 32,12 32,20 '/%3E%3Cpolygon points='14,22 14,17 7,24 14,31 14,26 34,26 34,31 41,24 34,17 34,22 '/%3E%3C/g%3E%3C/svg%3E\\\") no-repeat\";\n\nvar rotateSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg transform='rotate(,24,24)'%3E%3Cpath style='fill:%23ffffff;' d='M25.9,4C16.6,4,8.8,11.2,7.4,20.8H6.7H3.3l1.6,2.9l3.8,7.1l1.8,3.3l1.8-3.3l3.8-7.1l1.6-2.9h-3.3h-0.1 c1.3-5.7,6.1-9.9,11.7-9.9c8,0,12.1,4.4,12.1,13.1c0,7.2-5.4,13.1-12.1,13.1h-2v2V42v2h2c10.4,0,18.8-9,18.8-20 C44.7,11.7,37.5,4,25.9,4L25.9,4z'/%3E%3Cpath d='M25.9,6c10.5,0,16.8,6.7,16.8,18c0,9.9-7.5,18-16.8,18v-2.9c7.8,0,14.1-6.8,14.1-15.1c0-5.6-1.8-15.1-14.1-15.1 c-7.4,0-13.4,6.1-14,13.9h2.4l-3.8,7.1l-3.8-7.1h2.5C9.7,13.4,17,6,25.9,6'/%3E%3C/g%3E%3C/svg%3E\\\") no-repeat\";\n\nvar addSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpolygon style='fill:%23ffffff;' points='31.2,28 24.8,28 24.8,32.8 20,32.8 20,39.2 24.8,39.2 24.8,44 31.2,44 31.2,39.2 36,39.2 36,32.8 31.2,32.8 '/%3E %3Cpolygon style='fill:%23ffffff' points='12,32 12,4 32.3,24.3 20,24.3 19.7,24.6 '/%3E%3Cpolygon points='13.8,8.2 13.8,27.8 19,22.8 19.2,22.5 28,22.5 '/%3E%3Cpolyline points='29.6,29.6 29.6,34.4 34.4,34.4 34.4,37.6 29.6,37.6 29.6,42.4 26.4,42.4 26.4,37.6 21.6,37.6 21.6,34.4 26.4,34.4 26.4,29.6 29.6,29.6 '/%3E%3C/svg%3E\\\") no-repeat\";\n\nvar removeSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect style='fill:%23ffffff;' x='20' y='32.8' width='16' height='6.4'/%3E%3Cpolygon style='fill:%23ffffff;' points='12,32 12,4 32.3,24.3 20,24.3 19.7,24.6 '/%3E%3Cpolygon points='13.8,8.2 13.8,27.8 19,22.8 19.2,22.5 28,22.5 '/%3E%3Cpolyline points='34.4,34.4 34.4,37.6 21.6,37.6 21.6,34.4 '/%3E%3C/svg%3E\\\") no-repeat\";\n\nvar repositionSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath style='fill:%23ffffff;' d='M24,17.5c-3.6,0-6.5,2.9-6.5,6.5s2.9,6.5,6.5,6.5s6.5-2.9,6.5-6.5S27.6,17.5,24,17.5L24,17.5z'/%3E%3Cpath style='fill:%23ffffff;' d='M24,4L4,24l20,20l20-20L24,4z M31.5,31.5h-15v-15h15V31.5z'/%3E%3Cpolygon points='17,34 24,40.5 31,34 '/%3E%3Cpolygon points='31,14 24,7.5 17,14 '/%3E%3Cpolygon points='14,17 7.5,24 14,31 '/%3E%3Cpolygon points='34,31 40.5,24 34,17 '/%3E%3Cpath d='M24,20c2.2,0,4,1.8,4,4s-1.8,4-4,4s-4-1.8-4-4S21.8,20,24,20'/%3E%3C/svg%3E\\\") no-repeat\";\n\nvar EventConstants = {\n SELECTION_CHANGED: \"draw:selectionChanged\",\n DRAG_BEGIN: \"draw:drag:begin\",\n DRAG_END: \"draw:drag:end\"\n};\n\nvar tmpPt1 = Point2d.create(0, 0);\nvar tmpPt2 = Point2d.create(0, 0);\n\nvar boundsStrokeStyle = new _strokeStyle2.default({\n strokeColor: \"darkgray\",\n strokeWidth: 2\n});\n\nvar defaultXformStyle = {\n fillColor: \"white\",\n strokeColor: \"black\",\n strokeWidth: 2\n};\n\nfunction inCanvas(canvas, x, y) {\n var domrect = canvas.getBoundingClientRect();\n var localX = 0;\n var localY = 0;\n return (localX = x - domrect.left - canvas.clientLeft) >= 0 && localX <= canvas.clientWidth && (localY = y - domrect.top - canvas.clientTop) >= 0 && localY <= canvas.clientHeight;\n}\n\nfunction getLocalMousePos(out, elem, event) {\n var domrect = elem.getBoundingClientRect();\n out[0] = event.clientX - domrect.left - elem.clientLeft;\n out[1] = event.clientY - domrect.top - elem.clientTop;\n}\n\nfunction transformSelectedShape(canvas, event, selectedInfo, camera) {\n getLocalMousePos(tmpPt1, canvas, event);\n Point2d.transformMat2d(tmpPt2, tmpPt1, camera.screenToWorldMatrix);\n var shape = selectedInfo.shape;\n if (shape instanceof _xformShape2.default) {\n InteractUtils.transformXformShape(shape, selectedInfo, tmpPt1, tmpPt2, camera);\n } else if (shape instanceof _vertEditableShape2.default) {\n InteractUtils.translateVert(shape, selectedInfo, tmpPt1, tmpPt2, camera);\n } else {\n InteractUtils.translateShape(shape, selectedInfo, tmpPt1, tmpPt2, camera);\n }\n}\n\nfunction addEventKeysToSelectedInfo(event, selectedInfo) {\n selectedInfo.keys = {\n altKey: event.altKey,\n ctrlKey: event.ctrlKey,\n shiftKey: event.shiftKey,\n metaKey: event.metaKey\n };\n}\n\nfunction getSelectedObjsFromMap(selectionMap) {\n var selectedObjs = [];\n selectionMap.forEach(function (subshape, shape) {\n selectedObjs.push(shape);\n });\n return selectedObjs;\n}\n\nfunction _selectShape(selectedShape, sortedShapes, currSelectedShapes, selectStyle, xformStyle, selectOpts) {\n var fireObject = {\n unselectedShapes: getSelectedObjsFromMap(currSelectedShapes)\n };\n clearSelectedShapes(currSelectedShapes);\n selectedShape.save();\n var maxZ = sortedShapes[sortedShapes.length - 1].zIndex;\n selectedShape.zIndex = maxZ + 1;\n _basicStyle2.default.copyBasicStyle(selectStyle, selectedShape);\n selectedShape.selected = true;\n // const dimensions = selectedShape.getDimensions()\n\n var newSelectShape = null;\n if (selectOpts.scalable || selectOpts.rotatable) {\n newSelectShape = new _xformShape2.default(xformStyle || defaultXformStyle, selectOpts);\n selectedShape.addChildXform(newSelectShape);\n }\n currSelectedShapes.set(selectedShape, newSelectShape);\n\n fireObject.selectedShapes = [selectedShape];\n return fireObject;\n}\n\nfunction clearSelectedShapes(selectedShapeMap) {\n selectedShapeMap.forEach(function (selectedShape, shape) {\n shape.restore();\n shape.selected = false;\n shape.removeChildXform(selectedShape);\n });\n selectedShapeMap.clear();\n}\n\nfunction clearSpecificShapes(selectedShapeMap, shapes) {\n var clearedShapes = [];\n shapes.forEach(function (shape) {\n var selectedShape = selectedShapeMap.get(shape);\n shape.restore();\n shape.selected = false;\n shape.removeChildXform(selectedShape);\n selectedShapeMap.delete(shape);\n clearedShapes.push(shape);\n });\n return clearedShapes;\n}\n\nvar hideCursor = function hideCursor() {\n console.log('hiding cursor');\n var cursor = document.getElementById('cursor');\n if (cursor !== null) {\n cursor.style.display = 'none';\n }\n};\n\nvar showCursor = function showCursor() {\n var cursor = document.getElementById('cursor');\n if (cursor !== null) {\n cursor.style.display = 'block';\n }\n};\n\nfunction appendCustomCursor(_event, target, cursorStyle) {\n var offsetX = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -14;\n var offsetY = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -14;\n\n var cursor = document.getElementById('cursor');\n\n var mouseX = function mouseX(e) {\n return \"\" + (e.offsetX + 'px');\n };\n\n var mouseY = function mouseY(e) {\n return \"\" + (e.offsetY + 'px');\n };\n\n if (cursor === null) {\n var newCursor = document.createElement('span');\n newCursor.setAttribute('id', 'cursor');\n newCursor.setAttribute('style', \"position: absolute; top: \" + mouseY(_event) + \"; left: \" + mouseX(_event) + \"; width: 28px; height: 28px; background: \" + cursorStyle + \"; cursor: none; z-index: 10; pointer-events: none; transform: translate(\" + offsetX + \"px, \" + offsetY + \"px)\");\n target.appendChild(newCursor);\n } else if (cursor.style.background !== cursorStyle) {\n cursor.style.background = cursorStyle;\n cursor.style.top = mouseY(_event);\n cursor.style.left = mouseX(_event);\n } else {\n cursor.style.top = mouseY(_event);\n cursor.style.left = mouseX(_event);\n }\n}\n\nfunction removeCustomCursor() {\n var cursor = document.getElementById('cursor');\n if (cursor !== null) {\n cursor.parentNode.removeChild(cursor);\n }\n}\n\nfunction updateCursorPosition(_event) {\n var cursor = document.getElementById('cursor');\n\n var mouseX = function mouseX(e) {\n return \"\" + (e.offsetX + 'px');\n };\n\n var mouseY = function mouseY(e) {\n return \"\" + (e.offsetY + 'px');\n };\n\n if (cursor !== null) {\n cursor.style.top = mouseY(_event);\n cursor.style.left = mouseX(_event);\n }\n}\n\nvar ShapeBuilder = function (_DrawEngine) {\n _inherits(ShapeBuilder, _DrawEngine);\n\n function ShapeBuilder(parent, opts) {\n _classCallCheck(this, ShapeBuilder);\n\n return _possibleConstructorReturn(this, (ShapeBuilder.__proto__ || Object.getPrototypeOf(ShapeBuilder)).call(this, parent, opts));\n }\n\n _createClass(ShapeBuilder, [{\n key: \"_mousedownCB\",\n value: function _mousedownCB(event) {\n if (!inCanvas(this._drawCanvas, event.clientX, event.clientY)) {\n return;\n }\n\n this.timer = performance.now();\n\n Point2d.set(tmpPt1, event.offsetX, event.offsetY);\n Point2d.transformMat2d(tmpPt2, tmpPt1, this._camera.screenToWorldMatrix);\n var worldToScreenMatrix = this._camera.worldToScreenMatrix;\n var shapes = this.sortedShapes;\n var i = -1;\n var selectedShape = null;\n var selectedInfo = null;\n for (i = shapes.length - 1; i >= 0; i -= 1) {\n var shapeInfo = this._objects.get(shapes[i]);\n if (shapes[i].selected) {\n selectedShape = this._selectedShapes.get(shapes[i]);\n selectedInfo = shapeInfo;\n var hitInfo = null;\n if (selectedShape && (hitInfo = selectedShape.containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)).hit) {\n this._parent.addEventListener('mouseout', hideCursor);\n this._parent.addEventListener('mouseover', showCursor);\n if (selectedShape instanceof _vertEditableShape2.default && event.altKey && hitInfo.controlIndex < shapes[i].numVerts) {\n shapes[i].removeVert(hitInfo.controlIndex);\n selectedShape = null;\n } else {\n var localXform = selectedShape.parent.localXform;\n var invLocalXform = _mat2d2.default.clone(localXform);\n _mat2d2.default.invert(invLocalXform, invLocalXform);\n var startObjPos = Point2d.clone(tmpPt2);\n Point2d.transformMat2d(startObjPos, startObjPos, invLocalXform);\n this._dragInfo = Object.assign({\n rotate: Boolean(hitInfo.rotate),\n controlIndex: hitInfo.controlIndex,\n startObjectPos: startObjPos,\n worldToObjectMatrix: invLocalXform,\n startLocalPos: selectedShape.parent.getPosition(),\n startLocalScale: selectedShape.parent.getScale(),\n startLocalRot: selectedShape.parent.getRotation(),\n shapeWidth: selectedShape.parent.width,\n shapeHeight: selectedShape.parent.height\n }, selectedInfo);\n }\n break;\n } else if (shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n selectedShape = shapes[i];\n break;\n }\n }\n // else if (shapeInfo.selectable && shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n // selectedShape = shapes[i]\n // selectedInfo = shapeInfo\n // const selectEventObj = selectShape(selectedShape, shapes, this._selectedShapes, this._selectStyle, this._xformStyle, selectedInfo)\n // this.fire(EventConstants.SELECTION_CHANGED, selectEventObj)\n // break\n // }\n }\n\n if (i < 0 && this._selectedShapes.size) {\n if (this._selectedShapes.size) {\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: getSelectedObjsFromMap(this._selectedShapes),\n selectedShapes: []\n });\n }\n this._dragInfo = null;\n clearSelectedShapes(this._selectedShapes);\n } else if (selectedShape && selectedInfo && (selectedInfo.movable || selectedInfo.rotatable || selectedInfo.scalable)) {\n if (!this._dragInfo && selectedInfo.movable) {\n this._dragInfo = {\n startLocalPos: selectedShape.getPosition()\n };\n }\n\n if (this._dragInfo) {\n this._dragInfo.shape = selectedShape;\n this._dragInfo.startPos = Point2d.clone(tmpPt1);\n this._dragInfo.startWorldPos = Point2d.clone(tmpPt2);\n this._dragInfo.objectToWorldMatrix = _mat2d2.default.clone(selectedShape.globalXform);\n addEventKeysToSelectedInfo(event, this._dragInfo);\n event.stopImmediatePropagation();\n this.fire(EventConstants.DRAG_BEGIN, {\n shapes: getSelectedObjsFromMap(this._selectedShapes)\n });\n }\n }\n event.preventDefault();\n }\n }, {\n key: \"_mouseupCB\",\n value: function _mouseupCB(event) {\n if (this._dragInfo && this._dragInfo.shape) {\n event.stopImmediatePropagation();\n event.preventDefault();\n this._parent.removeEventListener('mouseout', hideCursor);\n this._parent.removeEventListener('mouseover', showCursor);\n this._dragInfo = null;\n this.fire(EventConstants.DRAG_END, {\n shapes: getSelectedObjsFromMap(this._selectedShapes)\n });\n } else if (performance.now() - this.timer < 500) {\n // this is a relatively quick click\n Point2d.set(tmpPt1, event.offsetX, event.offsetY);\n Point2d.transformMat2d(tmpPt2, tmpPt1, this._camera.screenToWorldMatrix);\n var worldToScreenMatrix = this._camera.worldToScreenMatrix;\n var shapes = this.sortedShapes;\n var selectedShape = null;\n var selectedInfo = null;\n for (var i = shapes.length - 1; i >= 0; i -= 1) {\n selectedInfo = this._objects.get(shapes[i]);\n if (selectedInfo.selectable && shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n selectedShape = shapes[i];\n break;\n }\n }\n if (selectedShape && !selectedShape.selected) {\n var selectEventObj = _selectShape(selectedShape, shapes, this._selectedShapes, this._selectStyle, this._xformStyle, selectedInfo);\n this.fire(EventConstants.SELECTION_CHANGED, selectEventObj);\n }\n }\n }\n }, {\n key: \"_mousemoveCB\",\n value: function _mousemoveCB(event) {\n var incanvas = false;\n if (!(incanvas = inCanvas(this._drawCanvas, event.clientX, event.clientY)) && !this._dragInfo) {\n return;\n }\n\n if (this._dragInfo && this._dragInfo.shape) {\n updateCursorPosition(event);\n addEventKeysToSelectedInfo(event, this._dragInfo);\n transformSelectedShape(this._drawCanvas, event, this._dragInfo, this._camera);\n event.stopImmediatePropagation();\n event.preventDefault();\n } else if (!event.buttons && this._selectedShapes.size) {\n Point2d.set(tmpPt1, event.offsetX, event.offsetY);\n Point2d.transformMat2d(tmpPt2, tmpPt1, this._camera.screenToWorldMatrix);\n var worldToScreenMatrix = this._camera.worldToScreenMatrix;\n var shapes = this.sortedShapes;\n var i = 0;\n var flipy = this._camera.isYFlipped();\n for (i = shapes.length - 1; i >= 0; i -= 1) {\n if (shapes[i].selected) {\n var selectInfo = this._objects.get(shapes[i]);\n var selectedShape = this._selectedShapes.get(shapes[i]);\n var hitInfo = null;\n if (selectedShape && (hitInfo = selectedShape.containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)).hit) {\n if (selectedShape instanceof _xformShape2.default) {\n var cursor = document.getElementById('cursor');\n this._parent.style.cursor = 'none';\n // forEach not supported on nodelist in IE/Edge\n for (var _i = 0; _i < this._parent.childNodes.length; _i++) {\n this._parent.childNodes[_i].style.cursor = 'none';\n this._parent.childNodes[_i].style.pointerEvents = 'none';\n }\n if (hitInfo.rotate) {\n var degrees = shapes[i].getRotation();\n if (flipy) {\n degrees *= -1;\n if (hitInfo.controlIndex === 1) {\n degrees -= 90;\n } else if (hitInfo.controlIndex === 0) {\n degrees += 180;\n } else if (hitInfo.controlIndex === 2) {\n degrees += 90;\n }\n } else {\n if (hitInfo.controlIndex === 0) {\n degrees -= 90;\n } else if (hitInfo.controlIndex === 1) {\n degrees += 180;\n } else if (hitInfo.controlIndex === 3) {\n degrees += 90;\n }\n }\n appendCustomCursor(event, this._parent, \"\" + rotateSvg.replace(/\\/g, \"\" + degrees));\n } else if (hitInfo.controlIndex < 4) {\n if (hitInfo.controlIndex === 0 || hitInfo.controlIndex === 3) {\n appendCustomCursor(event, this._parent, \"\" + scaleSvg.replace(/\\/g, \"\" + (-shapes[i].getRotation() - 45)));\n } else if (hitInfo.controlIndex === 1 || hitInfo.controlIndex === 2) {\n appendCustomCursor(event, this._parent, \"\" + scaleSvg.replace(/\\/g, \"\" + (-shapes[i].getRotation() + 45)));\n }\n } else {\n if (hitInfo.controlIndex % 2 === 0) {\n appendCustomCursor(event, this._parent, \"\" + scaleSvg.replace(/\\/g, \"\" + -shapes[i].getRotation()));\n } else {\n appendCustomCursor(event, this._parent, \"\" + scaleSvg.replace(/\\/g, \"\" + (-shapes[i].getRotation() + 90)));\n }\n }\n } else if (selectedShape instanceof _vertEditableShape2.default) {\n this._parent.style.cursor = 'none';\n // forEach not supported on nodelist in IE/Edge\n for (var _i2 = 0; _i2 < this._parent.childNodes.length; _i2++) {\n this._parent.childNodes[_i2].style.cursor = 'none';\n this._parent.childNodes[_i2].style.pointerEvents = 'none';\n }\n if (hitInfo.controlIndex >= shapes[i].numVerts) {\n appendCustomCursor(event, this._parent, addSvg, -8, -6);\n } else if (event.altKey) {\n appendCustomCursor(event, this._parent, removeSvg, -8, -6);\n } else {\n appendCustomCursor(event, this._parent, repositionSvg, -14, -14);\n }\n }\n event.stopImmediatePropagation();\n event.preventDefault();\n break;\n } else if (shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n if (selectInfo && selectInfo.movable) {\n var _cursor = document.getElementById('cursor');\n if (_cursor !== null) {\n _cursor.parentNode.removeChild(_cursor);\n }\n this._parent.style.cursor = \"move\";\n for (var _i3 = 0; _i3 < this._parent.childNodes.length; _i3++) {\n this._parent.childNodes[_i3].style.cursor = 'move';\n }\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n break;\n }\n }\n }\n\n if (i < 0) {\n removeCustomCursor();\n this._parent.style.cursor = \"default\";\n // forEach not supported on nodelist in IE/Edge\n for (var _i4 = 0; _i4 < this._parent.childNodes.length; _i4++) {\n this._parent.childNodes[_i4].style.cursor = 'default';\n this._parent.childNodes[_i4].style.pointerEvents = 'auto';\n }\n }\n }\n }\n }, {\n key: \"_clickCB\",\n value: function _clickCB(event) {\n // noop\n }\n }, {\n key: \"_dblclickCB\",\n value: function _dblclickCB(event) {\n if (!inCanvas(this._drawCanvas, event.clientX, event.clientY)) {\n return;\n }\n\n Point2d.set(tmpPt1, event.offsetX, event.offsetY);\n Point2d.transformMat2d(tmpPt2, tmpPt1, this._camera.screenToWorldMatrix);\n var worldToScreenMatrix = this._camera.worldToScreenMatrix;\n var shapes = this.sortedShapes;\n var i = -1;\n for (i = shapes.length - 1; i >= 0; i -= 1) {\n var shapeInfo = this._objects.get(shapes[i]);\n if (shapeInfo.selectable && shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n if (shapeInfo.editable && shapes[i] instanceof _polyLine2.default) {\n var selectedShape = shapes[i];\n var doXform = false;\n if (shapes[i].selected) {\n var interactiveShape = this._selectedShapes.get(shapes[i]);\n if (interactiveShape) {\n selectedShape.restore();\n selectedShape.removeChildXform(interactiveShape);\n doXform = !(interactiveShape instanceof _xformShape2.default);\n }\n }\n\n selectedShape.selected = true;\n selectedShape.save();\n var maxZ = shapes[shapes.length - 1].zIndex;\n selectedShape.zIndex = maxZ + 1;\n _basicStyle2.default.copyBasicStyle(this._selectStyle, selectedShape);\n var newSelectShape = null;\n if (doXform) {\n if (shapeInfo.rotatable || shapeInfo.scalable) {\n newSelectShape = new _xformShape2.default(this._xformStyle || defaultXformStyle, shapeInfo);\n selectedShape.addChildXform(newSelectShape);\n }\n } else {\n newSelectShape = new _vertEditableShape2.default(selectedShape, this._xformStyle);\n selectedShape.addChildXform(newSelectShape);\n }\n this._selectedShapes.set(selectedShape, newSelectShape);\n } else if (!shapes[i].selected) {\n var selectEventObj = _selectShape(shapes[i], shapes, this._selectedShapes, this._selectStyle, this._xformStyle, shapeInfo);\n this.fire(EventConstants.SELECTION_CHANGED, selectEventObj);\n }\n break;\n }\n }\n\n if (i < 0 && this._selectedShapes.size) {\n if (this._selectedShapes.size) {\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: getSelectedObjsFromMap(this._selectedShapes),\n selectedShapes: []\n });\n }\n this._dragInfo = null;\n clearSelectedShapes(this._selectedShapes);\n } else {\n event.stopImmediatePropagation();\n }\n event.preventDefault();\n }\n }, {\n key: \"_mouseoverCB\",\n value: function _mouseoverCB(event) {\n // noop\n }\n }, {\n key: \"_mouseoutCB\",\n value: function _mouseoutCB(event) {\n // noop\n }\n }, {\n key: \"_init\",\n value: function _init(parent, opts) {\n this._activated = opts && opts.enableInteractions;\n _get(ShapeBuilder.prototype.__proto__ || Object.getPrototypeOf(ShapeBuilder.prototype), \"_init\", this).call(this, parent, opts, this._activated);\n var myevents = Object.getOwnPropertyNames(EventConstants).map(function (event) {\n return EventConstants[event];\n });\n this.registerEvents(myevents);\n this._dragInfo = null;\n this._selectedShapes = new Map();\n this._selectStyle = new _basicStyle2.default(opts && opts.selectStyle ? opts.selectStyle : {\n fillColor: \"orange\"\n });\n\n this._xformStyle = new _basicStyle2.default(opts && opts.xformStyle ? opts.xformStyle : {\n fillColor: \"white\",\n strokeColor: \"black\",\n strokeWidth: 2\n });\n\n this.timer = 0;\n }\n }, {\n key: \"_renderShapes\",\n value: function _renderShapes(ctx, drawShapes, camera) {\n var _this2 = this;\n\n var worldToScreenMat = camera.worldToScreenMatrix;\n drawShapes.forEach(function (shape) {\n if (shape.visible) {\n shape.render(ctx, worldToScreenMat, _this2._styleState);\n // shape.renderBounds(ctx, worldToScreenMat, boundsStrokeStyle)\n if (shape.selected) {\n var interacShape = _this2._selectedShapes.get(shape);\n if (interacShape) {\n interacShape.render(ctx, worldToScreenMat, _this2._styleState);\n // interacShape.renderBounds(ctx, worldToScreenMat, boundsStrokeStyle)\n }\n }\n }\n });\n }\n }, {\n key: \"selectShape\",\n value: function selectShape(shape) {\n var shapeInfo = this._objects.get(shape);\n if (shapeInfo && shapeInfo.selectable) {\n var selectEventObj = _selectShape(shape, this.sortedShapes, this._selectedShapes, this._selectStyle, this._xformStyle, shapeInfo);\n this.fire(EventConstants.SELECTION_CHANGED, selectEventObj);\n }\n }\n }, {\n key: \"clearSelection\",\n value: function clearSelection() {\n if (this._selectedShapes.size) {\n var selectedShapes = getSelectedObjsFromMap(this._selectedShapes);\n clearSelectedShapes(this._selectedShapes);\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: selectedShapes,\n selectedShapes: []\n });\n this._rerenderCb();\n }\n }\n }, {\n key: \"addShape\",\n value: function addShape(shape) {\n var _this3 = this;\n\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var select = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var shapes = shape;\n if (!Array.isArray(shapes)) {\n shapes = [shape];\n }\n\n _get(ShapeBuilder.prototype.__proto__ || Object.getPrototypeOf(ShapeBuilder.prototype), \"addShape\", this).call(this, shapes);\n shapes.forEach(function (shape) {\n var shapeInfo = _this3._objects.get(shape);\n if (shapeInfo) {\n shapeInfo.selectable = opts && typeof opts.selectable !== \"undefined\" ? Boolean(opts.selectable) : true;\n shapeInfo.movable = opts && typeof opts.movable !== \"undefined\" ? Boolean(opts.movable) : true;\n shapeInfo.rotatable = opts && typeof opts.rotatable !== \"undefined\" ? Boolean(opts.rotatable) : true;\n shapeInfo.scalable = opts && typeof opts.scalable !== \"undefined\" ? Boolean(opts.scalable) : true;\n shapeInfo.uniformScaleOnly = opts && typeof opts.uniformScaleOnly !== \"undefined\" ? Boolean(opts.uniformScaleOnly) : false;\n shapeInfo.centerScaleOnly = opts && typeof opts.centerScaleOnly !== \"undefined\" ? Boolean(opts.centerScaleOnly) : false;\n shapeInfo.editable = opts && typeof opts.editable !== \"undefined\" ? Boolean(opts.editable) : true;\n }\n });\n\n if (select) {\n var selectEventObj = {\n unselectedShapes: getSelectedObjsFromMap(this._selectedShapes)\n };\n var selectedShapes = [];\n shapes.forEach(function (shape) {\n var shapeInfo = _this3._objects.get(shape);\n if (shapeInfo.selectable) {\n _selectShape(shape, _this3.sortedShapes, _this3._selectedShapes, _this3._selectStyle, _this3._xformStyle, shapeInfo);\n selectedShapes.push(shape);\n }\n });\n\n if (selectedShapes.length) {\n selectEventObj.selectedShapes = selectedShapes;\n this.fire(EventConstants.SELECTION_CHANGED, selectEventObj);\n }\n }\n\n return this;\n }\n }, {\n key: \"deleteShape\",\n value: function deleteShape(shape) {\n var shapes = shape;\n if (!Array.isArray(shapes)) {\n shapes = [shape];\n }\n var selectClearedShapes = clearSpecificShapes(this._selectedShapes, shapes);\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: selectClearedShapes,\n selectedShapes: getSelectedObjsFromMap(this._selectedShapes)\n });\n return _get(ShapeBuilder.prototype.__proto__ || Object.getPrototypeOf(ShapeBuilder.prototype), \"deleteShape\", this).call(this, shapes);\n }\n }, {\n key: \"deleteSelectedShapes\",\n value: function deleteSelectedShapes() {\n var selectedShapes = getSelectedObjsFromMap(this._selectedShapes);\n clearSelectedShapes(this._selectedShapes);\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: selectedShapes,\n selectedShapes: []\n });\n return _get(ShapeBuilder.prototype.__proto__ || Object.getPrototypeOf(ShapeBuilder.prototype), \"deleteShape\", this).call(this, selectedShapes);\n }\n }, {\n key: \"enableInteractions\",\n value: function enableInteractions() {\n this._enableEvents();\n this._activated = true;\n return this;\n }\n }, {\n key: \"disableInteractions\",\n value: function disableInteractions() {\n var clearSelection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (clearSelection) {\n this.clearSelection();\n }\n this._disableEvents();\n this._activated = false;\n return this;\n }\n }, {\n key: \"selectStyle\",\n set: function set(selectStyle) {\n _basicStyle2.default.copyBasicStyle(selectStyle, this._selectStyle);\n },\n get: function get() {\n return this._selectStyle;\n }\n }, {\n key: \"selectedShapes\",\n get: function get() {\n return getSelectedObjsFromMap(this._selectedShapes);\n }\n }, {\n key: \"interactionsEnabled\",\n get: function get() {\n return this._activated;\n }\n }]);\n\n return ShapeBuilder;\n}(_drawEngine2.default);\n\nexports.default = ShapeBuilder;\n\n\nObject.assign(EventConstants, _drawEngine2.default.EventConstants);\nShapeBuilder.EventConstants = EventConstants;//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9lbmdpbmUvc2hhcGUtYnVpbGRlci5qcz8yNjg0Il0sIm5hbWVzIjpbIkludGVyYWN0VXRpbHMiLCJQb2ludDJkIiwic2NhbGVTdmciLCJyb3RhdGVTdmciLCJhZGRTdmciLCJyZW1vdmVTdmciLCJyZXBvc2l0aW9uU3ZnIiwiRXZlbnRDb25zdGFudHMiLCJTRUxFQ1RJT05fQ0hBTkdFRCIsIkRSQUdfQkVHSU4iLCJEUkFHX0VORCIsInRtcFB0MSIsImNyZWF0ZSIsInRtcFB0MiIsImJvdW5kc1N0cm9rZVN0eWxlIiwic3Ryb2tlQ29sb3IiLCJzdHJva2VXaWR0aCIsImRlZmF1bHRYZm9ybVN0eWxlIiwiZmlsbENvbG9yIiwiaW5DYW52YXMiLCJjYW52YXMiLCJ4IiwieSIsImRvbXJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJsb2NhbFgiLCJsb2NhbFkiLCJsZWZ0IiwiY2xpZW50TGVmdCIsImNsaWVudFdpZHRoIiwidG9wIiwiY2xpZW50VG9wIiwiY2xpZW50SGVpZ2h0IiwiZ2V0TG9jYWxNb3VzZVBvcyIsIm91dCIsImVsZW0iLCJldmVudCIsImNsaWVudFgiLCJjbGllbnRZIiwidHJhbnNmb3JtU2VsZWN0ZWRTaGFwZSIsInNlbGVjdGVkSW5mbyIsImNhbWVyYSIsInRyYW5zZm9ybU1hdDJkIiwic2NyZWVuVG9Xb3JsZE1hdHJpeCIsInNoYXBlIiwidHJhbnNmb3JtWGZvcm1TaGFwZSIsInRyYW5zbGF0ZVZlcnQiLCJ0cmFuc2xhdGVTaGFwZSIsImFkZEV2ZW50S2V5c1RvU2VsZWN0ZWRJbmZvIiwia2V5cyIsImFsdEtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsIm1ldGFLZXkiLCJnZXRTZWxlY3RlZE9ianNGcm9tTWFwIiwic2VsZWN0aW9uTWFwIiwic2VsZWN0ZWRPYmpzIiwiZm9yRWFjaCIsInN1YnNoYXBlIiwicHVzaCIsInNlbGVjdFNoYXBlIiwic2VsZWN0ZWRTaGFwZSIsInNvcnRlZFNoYXBlcyIsImN1cnJTZWxlY3RlZFNoYXBlcyIsInNlbGVjdFN0eWxlIiwieGZvcm1TdHlsZSIsInNlbGVjdE9wdHMiLCJmaXJlT2JqZWN0IiwidW5zZWxlY3RlZFNoYXBlcyIsImNsZWFyU2VsZWN0ZWRTaGFwZXMiLCJzYXZlIiwibWF4WiIsImxlbmd0aCIsInpJbmRleCIsImNvcHlCYXNpY1N0eWxlIiwic2VsZWN0ZWQiLCJuZXdTZWxlY3RTaGFwZSIsInNjYWxhYmxlIiwicm90YXRhYmxlIiwiYWRkQ2hpbGRYZm9ybSIsInNldCIsInNlbGVjdGVkU2hhcGVzIiwic2VsZWN0ZWRTaGFwZU1hcCIsInJlc3RvcmUiLCJyZW1vdmVDaGlsZFhmb3JtIiwiY2xlYXIiLCJjbGVhclNwZWNpZmljU2hhcGVzIiwic2hhcGVzIiwiY2xlYXJlZFNoYXBlcyIsImdldCIsImRlbGV0ZSIsImhpZGVDdXJzb3IiLCJjb25zb2xlIiwibG9nIiwiY3Vyc29yIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInN0eWxlIiwiZGlzcGxheSIsInNob3dDdXJzb3IiLCJhcHBlbmRDdXN0b21DdXJzb3IiLCJfZXZlbnQiLCJ0YXJnZXQiLCJjdXJzb3JTdHlsZSIsIm9mZnNldFgiLCJvZmZzZXRZIiwibW91c2VYIiwiZSIsIm1vdXNlWSIsIm5ld0N1cnNvciIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsImJhY2tncm91bmQiLCJyZW1vdmVDdXN0b21DdXJzb3IiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJ1cGRhdGVDdXJzb3JQb3NpdGlvbiIsIlNoYXBlQnVpbGRlciIsInBhcmVudCIsIm9wdHMiLCJfZHJhd0NhbnZhcyIsInRpbWVyIiwicGVyZm9ybWFuY2UiLCJub3ciLCJfY2FtZXJhIiwid29ybGRUb1NjcmVlbk1hdHJpeCIsImkiLCJzaGFwZUluZm8iLCJfb2JqZWN0cyIsIl9zZWxlY3RlZFNoYXBlcyIsImhpdEluZm8iLCJjb250YWluc1BvaW50IiwiX2RyYXdDdHgiLCJoaXQiLCJfcGFyZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNvbnRyb2xJbmRleCIsIm51bVZlcnRzIiwicmVtb3ZlVmVydCIsImxvY2FsWGZvcm0iLCJpbnZMb2NhbFhmb3JtIiwiY2xvbmUiLCJpbnZlcnQiLCJzdGFydE9ialBvcyIsIl9kcmFnSW5mbyIsIk9iamVjdCIsImFzc2lnbiIsInJvdGF0ZSIsIkJvb2xlYW4iLCJzdGFydE9iamVjdFBvcyIsIndvcmxkVG9PYmplY3RNYXRyaXgiLCJzdGFydExvY2FsUG9zIiwiZ2V0UG9zaXRpb24iLCJzdGFydExvY2FsU2NhbGUiLCJnZXRTY2FsZSIsInN0YXJ0TG9jYWxSb3QiLCJnZXRSb3RhdGlvbiIsInNoYXBlV2lkdGgiLCJ3aWR0aCIsInNoYXBlSGVpZ2h0IiwiaGVpZ2h0Iiwic2l6ZSIsImZpcmUiLCJtb3ZhYmxlIiwic3RhcnRQb3MiLCJzdGFydFdvcmxkUG9zIiwib2JqZWN0VG9Xb3JsZE1hdHJpeCIsImdsb2JhbFhmb3JtIiwic3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VsZWN0YWJsZSIsInNlbGVjdEV2ZW50T2JqIiwiX3NlbGVjdFN0eWxlIiwiX3hmb3JtU3R5bGUiLCJpbmNhbnZhcyIsImJ1dHRvbnMiLCJmbGlweSIsImlzWUZsaXBwZWQiLCJzZWxlY3RJbmZvIiwiY2hpbGROb2RlcyIsInBvaW50ZXJFdmVudHMiLCJkZWdyZWVzIiwicmVwbGFjZSIsImVkaXRhYmxlIiwiZG9YZm9ybSIsImludGVyYWN0aXZlU2hhcGUiLCJfYWN0aXZhdGVkIiwiZW5hYmxlSW50ZXJhY3Rpb25zIiwibXlldmVudHMiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwibWFwIiwicmVnaXN0ZXJFdmVudHMiLCJNYXAiLCJjdHgiLCJkcmF3U2hhcGVzIiwid29ybGRUb1NjcmVlbk1hdCIsInZpc2libGUiLCJyZW5kZXIiLCJfc3R5bGVTdGF0ZSIsImludGVyYWNTaGFwZSIsIl9yZXJlbmRlckNiIiwic2VsZWN0IiwiQXJyYXkiLCJpc0FycmF5IiwidW5pZm9ybVNjYWxlT25seSIsImNlbnRlclNjYWxlT25seSIsInNlbGVjdENsZWFyZWRTaGFwZXMiLCJfZW5hYmxlRXZlbnRzIiwiY2xlYXJTZWxlY3Rpb24iLCJfZGlzYWJsZUV2ZW50cyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7QUFFQTs7SUFBWUEsYTs7QUFDWjs7SUFBWUMsTzs7QUFDWjs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQyxXQUFXLG1XQUFqQjs7QUFFQSxJQUFNQyxZQUFZLCtuQkFBbEI7O0FBRUEsSUFBTUMsU0FBUyxra0JBQWY7O0FBRUEsSUFBTUMsWUFBWSwyWkFBbEI7O0FBRUEsSUFBTUMsZ0JBQWdCLHNsQkFBdEI7O0FBRUEsSUFBTUMsaUJBQWlCO0FBQ3JCQyxxQkFBbUIsdUJBREU7QUFFckJDLGNBQVksaUJBRlM7QUFHckJDLFlBQVU7QUFIVyxDQUF2Qjs7QUFNQSxJQUFNQyxTQUFTVixRQUFRVyxNQUFSLENBQWUsQ0FBZixFQUFrQixDQUFsQixDQUFmO0FBQ0EsSUFBTUMsU0FBU1osUUFBUVcsTUFBUixDQUFlLENBQWYsRUFBa0IsQ0FBbEIsQ0FBZjs7QUFFQSxJQUFNRSxvQkFBb0IsMEJBQWdCO0FBQ3hDQyxlQUFhLFVBRDJCO0FBRXhDQyxlQUFhO0FBRjJCLENBQWhCLENBQTFCOztBQUtBLElBQU1DLG9CQUFvQjtBQUN4QkMsYUFBVyxPQURhO0FBRXhCSCxlQUFhLE9BRlc7QUFHeEJDLGVBQWE7QUFIVyxDQUExQjs7QUFNQSxTQUFTRyxRQUFULENBQWtCQyxNQUFsQixFQUEwQkMsQ0FBMUIsRUFBNkJDLENBQTdCLEVBQWdDO0FBQzlCLE1BQU1DLFVBQVVILE9BQU9JLHFCQUFQLEVBQWhCO0FBQ0EsTUFBSUMsU0FBUyxDQUFiO0FBQ0EsTUFBSUMsU0FBUyxDQUFiO0FBQ0EsU0FBUSxDQUFDRCxTQUFTSixJQUFJRSxRQUFRSSxJQUFaLEdBQW1C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QW9CO0FBQ2xCLGFBQUtBLGNBQUw7QUFDRDtBQUNELFdBQUtDLGNBQUw7QUFDQSxXQUFLdkIsVUFBTCxHQUFrQixLQUFsQjtBQUNBLGFBQU8sSUFBUDtBQUNEOzs7c0JBbkhlNUgsVyxFQUFhO0FBQzNCLDJCQUFXVSxjQUFYLENBQTBCVixXQUExQixFQUF1QyxLQUFLOEcsWUFBNUM7QUFDRCxLO3dCQUVpQjtBQUNoQixhQUFPLEtBQUtBLFlBQVo7QUFDRDs7O3dCQUVvQjtBQUNuQixhQUFPeEgsdUJBQXVCLEtBQUs0RSxlQUE1QixDQUFQO0FBQ0Q7Ozt3QkF3RnlCO0FBQ3hCLGFBQU8sS0FBSzBELFVBQVo7QUFDRDs7Ozs7O2tCQXpja0J0RSxZOzs7QUEyZHJCNEIsT0FBT0MsTUFBUCxDQUFjNUksY0FBZCxFQUE4QixxQkFBV0EsY0FBekM7QUFDQStHLGFBQWEvRyxjQUFiLEdBQThCQSxjQUE5QiIsImZpbGUiOiIyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiXG5cbmltcG9ydCAqIGFzIEludGVyYWN0VXRpbHMgZnJvbSBcIi4uL2ludGVyYWN0aW9ucy9pbnRlcmFjdC11dGlsc1wiXG5pbXBvcnQgKiBhcyBQb2ludDJkIGZyb20gXCIuLi9jb3JlL3BvaW50MmRcIlxuaW1wb3J0IEJhc2ljU3R5bGUgZnJvbSBcIi4uL3N0eWxlL2Jhc2ljLXN0eWxlXCJcbmltcG9ydCBEcmF3RW5naW5lIGZyb20gXCIuL2RyYXctZW5naW5lXCJcbmltcG9ydCBNYXQyZCBmcm9tIFwiLi4vY29yZS9tYXQyZFwiXG5pbXBvcnQgUG9seUxpbmUgZnJvbSBcIi4uL3NoYXBlcy9wb2x5LWxpbmVcIlxuaW1wb3J0IFN0cm9rZVN0eWxlIGZyb20gXCIuLi9zdHlsZS9zdHJva2Utc3R5bGVcIlxuaW1wb3J0IFZlcnRFZGl0YWJsZVNoYXBlIGZyb20gXCIuLi9pbnRlcmFjdGlvbnMvdmVydC1lZGl0YWJsZS1zaGFwZVwiXG5pbXBvcnQgWGZvcm1TaGFwZSBmcm9tIFwiLi4vaW50ZXJhY3Rpb25zL3hmb3JtLXNoYXBlXCJcblxuY29uc3Qgc2NhbGVTdmcgPSBcInVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0OCA0OCclM0UlM0NnIHRyYW5zZm9ybT0ncm90YXRlKDxkZWdyZWVzPiwyNCwyNCknJTNFJTNDcG9seWdvbiBzdHlsZT0nZmlsbDolMjNmZmZmZmY7JyBwb2ludHM9JzE2LDIwIDE2LDEyIDQsMjQgMTYsMzYgMTYsMjggMzIsMjggMzIsMzYgNDQsMjQgMzIsMTIgMzIsMjAgJy8lM0UlM0Nwb2x5Z29uIHBvaW50cz0nMTQsMjIgMTQsMTcgNywyNCAxNCwzMSAxNCwyNiAzNCwyNiAzNCwzMSA0MSwyNCAzNCwxNyAzNCwyMiAnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVxcXCIpIG5vLXJlcGVhdFwiXG5cbmNvbnN0IHJvdGF0ZVN2ZyA9IFwidXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ4IDQ4JyUzRSUzQ2cgdHJhbnNmb3JtPSdyb3RhdGUoPGRlZ3JlZXM+LDI0LDI0KSclM0UlM0NwYXRoIHN0eWxlPSdmaWxsOiUyM2ZmZmZmZjsnIGQ9J00yNS45LDRDMTYuNiw0LDguOCwxMS4yLDcuNCwyMC44SDYuN0gzLjNsMS42LDIuOWwzLjgsNy4xbDEuOCwzLjNsMS44LTMuM2wzLjgtNy4xbDEuNi0yLjloLTMuM2gtMC4xIGMxLjMtNS43LDYuMS05LjksMTEuNy05LjljOCwwLDEyLjEsNC40LDEyLjEsMTMuMWMwLDcuMi01LjQsMTMuMS0xMi4xLDEzLjFoLTJ2MlY0MnYyaDJjMTAuNCwwLDE4LjgtOSwxOC44LTIwIEM0NC43LDExLjcsMzcuNSw0LDI1LjksNEwyNS45LDR6Jy8lM0UlM0NwYXRoIGQ9J00yNS45LDZjMTAuNSwwLDE2LjgsNi43LDE2LjgsMThjMCw5LjktNy41LDE4LTE2LjgsMTh2LTIuOWM3LjgsMCwxNC4xLTYuOCwxNC4xLTE1LjFjMC01LjYtMS44LTE1LjEtMTQuMS0xNS4xIGMtNy40LDAtMTMuNCw2LjEtMTQsMTMuOWgyLjRsLTMuOCw3LjFsLTMuOC03LjFoMi41QzkuNywxMy40LDE3LDYsMjUuOSw2Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcXFwiKSBuby1yZXBlYXRcIlxuXG5jb25zdCBhZGRTdmcgPSBcInVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0OCA0OCclM0UlM0Nwb2x5Z29uIHN0eWxlPSdmaWxsOiUyM2ZmZmZmZjsnIHBvaW50cz0nMzEuMiwyOCAyNC44LDI4IDI0LjgsMzIuOCAyMCwzMi44IDIwLDM5LjIgMjQuOCwzOS4yIDI0LjgsNDQgMzEuMiw0NCAzMS4yLDM5LjIgMzYsMzkuMiAzNiwzMi44IDMxLjIsMzIuOCAnLyUzRSAlM0Nwb2x5Z29uIHN0eWxlPSdmaWxsOiUyM2ZmZmZmZicgcG9pbnRzPScxMiwzMiAxMiw0IDMyLjMsMjQuMyAyMCwyNC4zIDE5LjcsMjQuNiAnLyUzRSUzQ3BvbHlnb24gcG9pbnRzPScxMy44LDguMiAxMy44LDI3LjggMTksMjIuOCAxOS4yLDIyLjUgMjgsMjIuNSAnLyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjkuNiwyOS42IDI5LjYsMzQuNCAzNC40LDM0LjQgMzQuNCwzNy42IDI5LjYsMzcuNiAyOS42LDQyLjQgMjYuNCw0Mi40IDI2LjQsMzcuNiAyMS42LDM3LjYgMjEuNiwzNC40IDI2LjQsMzQuNCAyNi40LDI5LjYgMjkuNiwyOS42ICAnLyUzRSUzQy9zdmclM0VcXFwiKSBuby1yZXBlYXRcIlxuXG5jb25zdCByZW1vdmVTdmcgPSBcInVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0OCA0OCclM0UlM0NyZWN0IHN0eWxlPSdmaWxsOiUyM2ZmZmZmZjsnIHg9JzIwJyB5PSczMi44JyB3aWR0aD0nMTYnIGhlaWdodD0nNi40Jy8lM0UlM0Nwb2x5Z29uICBzdHlsZT0nZmlsbDolMjNmZmZmZmY7JyBwb2ludHM9JzEyLDMyIDEyLDQgMzIuMywyNC4zIDIwLDI0LjMgMTkuNywyNC42ICcvJTNFJTNDcG9seWdvbiBwb2ludHM9JzEzLjgsOC4yIDEzLjgsMjcuOCAxOSwyMi44IDE5LjIsMjIuNSAyOCwyMi41ICcvJTNFJTNDcG9seWxpbmUgcG9pbnRzPSczNC40LDM0LjQgMzQuNCwzNy42IDIxLjYsMzcuNiAyMS42LDM0LjQgJy8lM0UlM0Mvc3ZnJTNFXFxcIikgbm8tcmVwZWF0XCJcblxuY29uc3QgcmVwb3NpdGlvblN2ZyA9IFwidXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ4IDQ4JyUzRSUzQ3BhdGggc3R5bGU9J2ZpbGw6JTIzZmZmZmZmOycgZD0nTTI0LDE3LjVjLTMuNiwwLTYuNSwyLjktNi41LDYuNXMyLjksNi41LDYuNSw2LjVzNi41LTIuOSw2LjUtNi41UzI3LjYsMTcuNSwyNCwxNy41TDI0LDE3LjV6Jy8lM0UlM0NwYXRoIHN0eWxlPSdmaWxsOiUyM2ZmZmZmZjsnIGQ9J00yNCw0TDQsMjRsMjAsMjBsMjAtMjBMMjQsNHogTTMxLjUsMzEuNWgtMTV2LTE1aDE1VjMxLjV6Jy8lM0UlM0Nwb2x5Z29uIHBvaW50cz0nMTcsMzQgMjQsNDAuNSAzMSwzNCAgJy8lM0UlM0Nwb2x5Z29uIHBvaW50cz0nMzEsMTQgMjQsNy41IDE3LDE0ICAgICAnLyUzRSUzQ3BvbHlnb24gcG9pbnRzPScxNCwxNyA3LjUsMjQgMTQsMzEgICAnLyUzRSUzQ3BvbHlnb24gcG9pbnRzPSczNCwzMSA0MC41LDI0IDM0LDE3ICAgICcvJTNFJTNDcGF0aCBkPSdNMjQsMjBjMi4yLDAsNCwxLjgsNCw0cy0xLjgsNC00LDRzLTQtMS44LTQtNFMyMS44LDIwLDI0LDIwJy8lM0UlM0Mvc3ZnJTNFXFxcIikgbm8tcmVwZWF0XCJcblxuY29uc3QgRXZlbnRDb25zdGFudHMgPSB7XG4gIFNFTEVDVElPTl9DSEFOR0VEOiBcImRyYXc6c2VsZWN0aW9uQ2hhbmdlZFwiLFxuICBEUkFHX0JFR0lOOiBcImRyYXc6ZHJhZzpiZWdpblwiLFxuICBEUkFHX0VORDogXCJkcmF3OmRyYWc6ZW5kXCJcbn1cblxuY29uc3QgdG1wUHQxID0gUG9pbnQyZC5jcmVhdGUoMCwgMClcbmNvbnN0IHRtcFB0MiA9IFBvaW50MmQuY3JlYXRlKDAsIDApXG5cbmNvbnN0IGJvdW5kc1N0cm9rZVN0eWxlID0gbmV3IFN0cm9rZVN0eWxlKHtcbiAgc3Ryb2tlQ29sb3I6IFwiZGFya2dyYXlcIixcbiAgc3Ryb2tlV2lkdGg6IDJcbn0pXG5cbmNvbnN0IGRlZmF1bHRYZm9ybVN0eWxlID0ge1xuICBmaWxsQ29sb3I6IFwid2hpdGVcIixcbiAgc3Ryb2tlQ29sb3I6IFwiYmxhY2tcIixcbiAgc3Ryb2tlV2lkdGg6IDJcbn1cblxuZnVuY3Rpb24gaW5DYW52YXMoY2FudmFzLCB4LCB5KSB7XG4gIGNvbnN0IGRvbXJlY3QgPSBjYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgbGV0IGxvY2FsWCA9IDBcbiAgbGV0IGxvY2FsWSA9IDBcbiAgcmV0dXJuICgobG9jYWxYID0geCAtIGRvbXJlY3QubGVmdCAtIGNhbnZhcy5jbGllbnRMZWZ0KSA+PSAwICYmIGxvY2FsWCA8PSBjYW52YXMuY2xpZW50V2lkdGggJiYgKGxvY2FsWSA9IHkgLSBkb21yZWN0LnRvcCAtIGNhbnZhcy5jbGllbnRUb3ApID49IDAgJiYgbG9jYWxZIDw9IGNhbnZhcy5jbGllbnRIZWlnaHQpXG59XG5cbmZ1bmN0aW9uIGdldExvY2FsTW91c2VQb3Mob3V0LCBlbGVtLCBldmVudCkge1xuICBjb25zdCBkb21yZWN0ID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICBvdXRbMF0gPSBldmVudC5jbGllbnRYIC0gZG9tcmVjdC5sZWZ0IC0gZWxlbS5jbGllbnRMZWZ0XG4gIG91dFsxXSA9IGV2ZW50LmNsaWVudFkgLSBkb21yZWN0LnRvcCAtIGVsZW0uY2xpZW50VG9wXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlbGVjdGVkU2hhcGUoY2FudmFzLCBldmVudCwgc2VsZWN0ZWRJbmZvLCBjYW1lcmEpIHtcbiAgZ2V0TG9jYWxNb3VzZVBvcyh0bXBQdDEsIGNhbnZhcywgZXZlbnQpXG4gIFBvaW50MmQudHJhbnNmb3JtTWF0MmQodG1wUHQyLCB0bXBQdDEsIGNhbWVyYS5zY3JlZW5Ub1dvcmxkTWF0cml4KVxuICBjb25zdCBzaGFwZSA9IHNlbGVjdGVkSW5mby5zaGFwZVxuICBpZiAoc2hhcGUgaW5zdGFuY2VvZiBYZm9ybVNoYXBlKSB7XG4gICAgSW50ZXJhY3RVdGlscy50cmFuc2Zvcm1YZm9ybVNoYXBlKHNoYXBlLCBzZWxlY3RlZEluZm8sIHRtcFB0MSwgdG1wUHQyLCBjYW1lcmEpXG4gIH0gZWxzZSBpZiAoc2hhcGUgaW5zdGFuY2VvZiBWZXJ0RWRpdGFibGVTaGFwZSkge1xuICAgIEludGVyYWN0VXRpbHMudHJhbnNsYXRlVmVydChzaGFwZSwgc2VsZWN0ZWRJbmZvLCB0bXBQdDEsIHRtcFB0MiwgY2FtZXJhKVxuICB9IGVsc2Uge1xuICAgIEludGVyYWN0VXRpbHMudHJhbnNsYXRlU2hhcGUoc2hhcGUsIHNlbGVjdGVkSW5mbywgdG1wUHQxLCB0bXBQdDIsIGNhbWVyYSlcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRFdmVudEtleXNUb1NlbGVjdGVkSW5mbyhldmVudCwgc2VsZWN0ZWRJbmZvKSB7XG4gIHNlbGVjdGVkSW5mby5rZXlzID0ge1xuICAgIGFsdEtleTogZXZlbnQuYWx0S2V5LFxuICAgIGN0cmxLZXk6IGV2ZW50LmN0cmxLZXksXG4gICAgc2hpZnRLZXk6IGV2ZW50LnNoaWZ0S2V5LFxuICAgIG1ldGFLZXk6IGV2ZW50Lm1ldGFLZXlcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHNlbGVjdGlvbk1hcCkge1xuICBjb25zdCBzZWxlY3RlZE9ianMgPSBbXVxuICBzZWxlY3Rpb25NYXAuZm9yRWFjaCgoc3Vic2hhcGUsIHNoYXBlKSA9PiB7XG4gICAgc2VsZWN0ZWRPYmpzLnB1c2goc2hhcGUpXG4gIH0pXG4gIHJldHVybiBzZWxlY3RlZE9ianNcbn1cblxuZnVuY3Rpb24gc2VsZWN0U2hhcGUoc2VsZWN0ZWRTaGFwZSwgc29ydGVkU2hhcGVzLCBjdXJyU2VsZWN0ZWRTaGFwZXMsIHNlbGVjdFN0eWxlLCB4Zm9ybVN0eWxlLCBzZWxlY3RPcHRzKSB7XG4gIGNvbnN0IGZpcmVPYmplY3QgPSB7XG4gICAgdW5zZWxlY3RlZFNoYXBlczogZ2V0U2VsZWN0ZWRPYmpzRnJvbU1hcChjdXJyU2VsZWN0ZWRTaGFwZXMpXG4gIH1cbiAgY2xlYXJTZWxlY3RlZFNoYXBlcyhjdXJyU2VsZWN0ZWRTaGFwZXMpXG4gIHNlbGVjdGVkU2hhcGUuc2F2ZSgpXG4gIGNvbnN0IG1heFogPSBzb3J0ZWRTaGFwZXNbc29ydGVkU2hhcGVzLmxlbmd0aCAtIDFdLnpJbmRleFxuICBzZWxlY3RlZFNoYXBlLnpJbmRleCA9IG1heFogKyAxXG4gIEJhc2ljU3R5bGUuY29weUJhc2ljU3R5bGUoc2VsZWN0U3R5bGUsIHNlbGVjdGVkU2hhcGUpXG4gIHNlbGVjdGVkU2hhcGUuc2VsZWN0ZWQgPSB0cnVlXG4gICAgLy8gY29uc3QgZGltZW5zaW9ucyA9IHNlbGVjdGVkU2hhcGUuZ2V0RGltZW5zaW9ucygpXG5cbiAgbGV0IG5ld1NlbGVjdFNoYXBlID0gbnVsbFxuICBpZiAoc2VsZWN0T3B0cy5zY2FsYWJsZSB8fCBzZWxlY3RPcHRzLnJvdGF0YWJsZSkge1xuICAgIG5ld1NlbGVjdFNoYXBlID0gbmV3IFhmb3JtU2hhcGUoeGZvcm1TdHlsZSB8fCBkZWZhdWx0WGZvcm1TdHlsZSwgc2VsZWN0T3B0cylcbiAgICBzZWxlY3RlZFNoYXBlLmFkZENoaWxkWGZvcm0obmV3U2VsZWN0U2hhcGUpXG4gIH1cbiAgY3VyclNlbGVjdGVkU2hhcGVzLnNldChzZWxlY3RlZFNoYXBlLCBuZXdTZWxlY3RTaGFwZSlcblxuICBmaXJlT2JqZWN0LnNlbGVjdGVkU2hhcGVzID0gW3NlbGVjdGVkU2hhcGVdXG4gIHJldHVybiBmaXJlT2JqZWN0XG59XG5cbmZ1bmN0aW9uIGNsZWFyU2VsZWN0ZWRTaGFwZXMoc2VsZWN0ZWRTaGFwZU1hcCkge1xuICBzZWxlY3RlZFNoYXBlTWFwLmZvckVhY2goKHNlbGVjdGVkU2hhcGUsIHNoYXBlKSA9PiB7XG4gICAgc2hhcGUucmVzdG9yZSgpXG4gICAgc2hhcGUuc2VsZWN0ZWQgPSBmYWxzZVxuICAgIHNoYXBlLnJlbW92ZUNoaWxkWGZvcm0oc2VsZWN0ZWRTaGFwZSlcbiAgfSlcbiAgc2VsZWN0ZWRTaGFwZU1hcC5jbGVhcigpXG59XG5cbmZ1bmN0aW9uIGNsZWFyU3BlY2lmaWNTaGFwZXMoc2VsZWN0ZWRTaGFwZU1hcCwgc2hhcGVzKSB7XG4gIGNvbnN0IGNsZWFyZWRTaGFwZXMgPSBbXVxuICBzaGFwZXMuZm9yRWFjaChzaGFwZSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTaGFwZSA9IHNlbGVjdGVkU2hhcGVNYXAuZ2V0KHNoYXBlKVxuICAgIHNoYXBlLnJlc3RvcmUoKVxuICAgIHNoYXBlLnNlbGVjdGVkID0gZmFsc2VcbiAgICBzaGFwZS5yZW1vdmVDaGlsZFhmb3JtKHNlbGVjdGVkU2hhcGUpXG4gICAgc2VsZWN0ZWRTaGFwZU1hcC5kZWxldGUoc2hhcGUpXG4gICAgY2xlYXJlZFNoYXBlcy5wdXNoKHNoYXBlKVxuICB9KVxuICByZXR1cm4gY2xlYXJlZFNoYXBlc1xufVxuXG5jb25zdCBoaWRlQ3Vyc29yID0gZnVuY3Rpb24gKCkge1xuICBjb25zb2xlLmxvZygnaGlkaW5nIGN1cnNvcicpXG4gIGNvbnN0IGN1cnNvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXJzb3InKVxuICBpZiAoY3Vyc29yICE9PSBudWxsKSB7XG4gICAgY3Vyc29yLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcbiAgfVxufVxuXG5jb25zdCBzaG93Q3Vyc29yID0gZnVuY3Rpb24gKCkge1xuICBjb25zdCBjdXJzb3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3Vyc29yJylcbiAgaWYgKGN1cnNvciAhPT0gbnVsbCkge1xuICAgIGN1cnNvci5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEN1c3RvbUN1cnNvcihfZXZlbnQsIHRhcmdldCwgY3Vyc29yU3R5bGUsIG9mZnNldFggPSAtMTQsIG9mZnNldFkgPSAtMTQpIHtcbiAgY29uc3QgY3Vyc29yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1cnNvcicpXG5cbiAgY29uc3QgbW91c2VYID0gKGUpID0+IHtcbiAgICByZXR1cm4gYCR7KGUub2Zmc2V0WCkgKyAncHgnfWBcbiAgfVxuXG4gIGNvbnN0IG1vdXNlWSA9IChlKSA9PiB7XG4gICAgcmV0dXJuIGAkeyhlLm9mZnNldFkpICsgJ3B4J31gXG4gIH1cblxuICBpZiAoY3Vyc29yID09PSBudWxsKSB7XG4gICAgY29uc3QgbmV3Q3Vyc29yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gICAgbmV3Q3Vyc29yLnNldEF0dHJpYnV0ZSgnaWQnLCAnY3Vyc29yJylcbiAgICBuZXdDdXJzb3Iuc2V0QXR0cmlidXRlKCdzdHlsZScsIGBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogJHttb3VzZVkoX2V2ZW50KX07IGxlZnQ6ICR7bW91c2VYKF9ldmVudCl9OyB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBiYWNrZ3JvdW5kOiAke2N1cnNvclN0eWxlfTsgY3Vyc29yOiBub25lOyB6LWluZGV4OiAxMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKCR7b2Zmc2V0WH1weCwgJHtvZmZzZXRZfXB4KWApXG4gICAgdGFyZ2V0LmFwcGVuZENoaWxkKG5ld0N1cnNvcilcbiAgfSBlbHNlIGlmIChjdXJzb3Iuc3R5bGUuYmFja2dyb3VuZCAhPT0gY3Vyc29yU3R5bGUpIHtcbiAgICBjdXJzb3Iuc3R5bGUuYmFja2dyb3VuZCA9IGN1cnNvclN0eWxlXG4gICAgY3Vyc29yLnN0eWxlLnRvcCA9IG1vdXNlWShfZXZlbnQpXG4gICAgY3Vyc29yLnN0eWxlLmxlZnQgPSBtb3VzZVgoX2V2ZW50KVxuICB9IGVsc2Uge1xuICAgIGN1cnNvci5zdHlsZS50b3AgPSBtb3VzZVkoX2V2ZW50KVxuICAgIGN1cnNvci5zdHlsZS5sZWZ0ID0gbW91c2VYKF9ldmVudClcbiAgfVxufVxuXG5mdW5jdGlvbiByZW1vdmVDdXN0b21DdXJzb3IoKSB7XG4gIGNvbnN0IGN1cnNvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXJzb3InKVxuICBpZiAoY3Vyc29yICE9PSBudWxsKSB7XG4gICAgY3Vyc29yLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY3Vyc29yKVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUN1cnNvclBvc2l0aW9uKF9ldmVudCkge1xuICBjb25zdCBjdXJzb3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3Vyc29yJylcblxuICBjb25zdCBtb3VzZVggPSAoZSkgPT4ge1xuICAgIHJldHVybiBgJHsoZS5vZmZzZXRYKSArICdweCd9YFxuICB9XG5cbiAgY29uc3QgbW91c2VZID0gKGUpID0+IHtcbiAgICByZXR1cm4gYCR7KGUub2Zmc2V0WSkgKyAncHgnfWBcbiAgfVxuXG4gIGlmIChjdXJzb3IgIT09IG51bGwpIHtcbiAgICBjdXJzb3Iuc3R5bGUudG9wID0gbW91c2VZKF9ldmVudClcbiAgICBjdXJzb3Iuc3R5bGUubGVmdCA9IG1vdXNlWChfZXZlbnQpXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2hhcGVCdWlsZGVyIGV4dGVuZHMgRHJhd0VuZ2luZSB7XG4gIGNvbnN0cnVjdG9yKHBhcmVudCwgb3B0cykge1xuICAgIHN1cGVyKHBhcmVudCwgb3B0cylcbiAgfVxuXG4gIF9tb3VzZWRvd25DQihldmVudCkge1xuICAgIGlmICghaW5DYW52YXModGhpcy5fZHJhd0NhbnZhcywgZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMudGltZXIgPSBwZXJmb3JtYW5jZS5ub3coKVxuXG4gICAgUG9pbnQyZC5zZXQodG1wUHQxLCBldmVudC5vZmZzZXRYLCBldmVudC5vZmZzZXRZKVxuICAgIFBvaW50MmQudHJhbnNmb3JtTWF0MmQodG1wUHQyLCB0bXBQdDEsIHRoaXMuX2NhbWVyYS5zY3JlZW5Ub1dvcmxkTWF0cml4KVxuICAgIGNvbnN0IHdvcmxkVG9TY3JlZW5NYXRyaXggPSB0aGlzLl9jYW1lcmEud29ybGRUb1NjcmVlbk1hdHJpeFxuICAgIGNvbnN0IHNoYXBlcyA9IHRoaXMuc29ydGVkU2hhcGVzXG4gICAgbGV0IGkgPSAtMVxuICAgIGxldCBzZWxlY3RlZFNoYXBlID0gbnVsbFxuICAgIGxldCBzZWxlY3RlZEluZm8gPSBudWxsXG4gICAgZm9yIChpID0gc2hhcGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtPSAxKSB7XG4gICAgICBjb25zdCBzaGFwZUluZm8gPSB0aGlzLl9vYmplY3RzLmdldChzaGFwZXNbaV0pXG4gICAgICBpZiAoc2hhcGVzW2ldLnNlbGVjdGVkKSB7XG4gICAgICAgIHNlbGVjdGVkU2hhcGUgPSB0aGlzLl9zZWxlY3RlZFNoYXBlcy5nZXQoc2hhcGVzW2ldKVxuICAgICAgICBzZWxlY3RlZEluZm8gPSBzaGFwZUluZm9cbiAgICAgICAgbGV0IGhpdEluZm8gPSBudWxsXG4gICAgICAgIGlmIChzZWxlY3RlZFNoYXBlICYmIChoaXRJbmZvID0gc2VsZWN0ZWRTaGFwZS5jb250YWluc1BvaW50KHRtcFB0MSwgdG1wUHQyLCB3b3JsZFRvU2NyZWVuTWF0cml4LCB0aGlzLl9kcmF3Q3R4KSkuaGl0KSB7XG4gICAgICAgICAgdGhpcy5fcGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgaGlkZUN1cnNvcilcbiAgICAgICAgICB0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgc2hvd0N1cnNvcilcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRTaGFwZSBpbnN0YW5jZW9mIFZlcnRFZGl0YWJsZVNoYXBlICYmIGV2ZW50LmFsdEtleSAmJiBoaXRJbmZvLmNvbnRyb2xJbmRleCA8IHNoYXBlc1tpXS5udW1WZXJ0cykge1xuICAgICAgICAgICAgc2hhcGVzW2ldLnJlbW92ZVZlcnQoaGl0SW5mby5jb250cm9sSW5kZXgpXG4gICAgICAgICAgICBzZWxlY3RlZFNoYXBlID0gbnVsbFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhbFhmb3JtID0gc2VsZWN0ZWRTaGFwZS5wYXJlbnQubG9jYWxYZm9ybVxuICAgICAgICAgICAgY29uc3QgaW52TG9jYWxYZm9ybSA9IE1hdDJkLmNsb25lKGxvY2FsWGZvcm0pXG4gICAgICAgICAgICBNYXQyZC5pbnZlcnQoaW52TG9jYWxYZm9ybSwgaW52TG9jYWxYZm9ybSlcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0T2JqUG9zID0gUG9pbnQyZC5jbG9uZSh0bXBQdDIpXG4gICAgICAgICAgICBQb2ludDJkLnRyYW5zZm9ybU1hdDJkKHN0YXJ0T2JqUG9zLCBzdGFydE9ialBvcywgaW52TG9jYWxYZm9ybSlcbiAgICAgICAgICAgIHRoaXMuX2RyYWdJbmZvID0gT2JqZWN0LmFzc2lnbih7XG4gICAgICAgICAgICAgIHJvdGF0ZTogQm9vbGVhbihoaXRJbmZvLnJvdGF0ZSksXG4gICAgICAgICAgICAgIGNvbnRyb2xJbmRleDogaGl0SW5mby5jb250cm9sSW5kZXgsXG4gICAgICAgICAgICAgIHN0YXJ0T2JqZWN0UG9zOiBzdGFydE9ialBvcyxcbiAgICAgICAgICAgICAgd29ybGRUb09iamVjdE1hdHJpeDogaW52TG9jYWxYZm9ybSxcbiAgICAgICAgICAgICAgc3RhcnRMb2NhbFBvczogc2VsZWN0ZWRTaGFwZS5wYXJlbnQuZ2V0UG9zaXRpb24oKSxcbiAgICAgICAgICAgICAgc3RhcnRMb2NhbFNjYWxlOiBzZWxlY3RlZFNoYXBlLnBhcmVudC5nZXRTY2FsZSgpLFxuICAgICAgICAgICAgICBzdGFydExvY2FsUm90OiBzZWxlY3RlZFNoYXBlLnBhcmVudC5nZXRSb3RhdGlvbigpLFxuICAgICAgICAgICAgICBzaGFwZVdpZHRoOiBzZWxlY3RlZFNoYXBlLnBhcmVudC53aWR0aCxcbiAgICAgICAgICAgICAgc2hhcGVIZWlnaHQ6IHNlbGVjdGVkU2hhcGUucGFyZW50LmhlaWdodFxuICAgICAgICAgICAgfSwgc2VsZWN0ZWRJbmZvKVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICB9IGVsc2UgaWYgKHNoYXBlc1tpXS5jb250YWluc1BvaW50KHRtcFB0MSwgdG1wUHQyLCB3b3JsZFRvU2NyZWVuTWF0cml4LCB0aGlzLl9kcmF3Q3R4KSkge1xuICAgICAgICAgIHNlbGVjdGVkU2hhcGUgPSBzaGFwZXNbaV1cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBlbHNlIGlmIChzaGFwZUluZm8uc2VsZWN0YWJsZSAmJiBzaGFwZXNbaV0uY29udGFpbnNQb2ludCh0bXBQdDEsIHRtcFB0Miwgd29ybGRUb1NjcmVlbk1hdHJpeCwgdGhpcy5fZHJhd0N0eCkpIHtcbiAgICAgIC8vICAgc2VsZWN0ZWRTaGFwZSA9IHNoYXBlc1tpXVxuICAgICAgLy8gICBzZWxlY3RlZEluZm8gPSBzaGFwZUluZm9cbiAgICAgIC8vICAgY29uc3Qgc2VsZWN0RXZlbnRPYmogPSBzZWxlY3RTaGFwZShzZWxlY3RlZFNoYXBlLCBzaGFwZXMsIHRoaXMuX3NlbGVjdGVkU2hhcGVzLCB0aGlzLl9zZWxlY3RTdHlsZSwgdGhpcy5feGZvcm1TdHlsZSwgc2VsZWN0ZWRJbmZvKVxuICAgICAgLy8gICB0aGlzLmZpcmUoRXZlbnRDb25zdGFudHMuU0VMRUNUSU9OX0NIQU5HRUQsIHNlbGVjdEV2ZW50T2JqKVxuICAgICAgLy8gICBicmVha1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIGlmIChpIDwgMCAmJiB0aGlzLl9zZWxlY3RlZFNoYXBlcy5zaXplKSB7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGFwZXMuc2l6ZSkge1xuICAgICAgICB0aGlzLmZpcmUoRXZlbnRDb25zdGFudHMuU0VMRUNUSU9OX0NIQU5HRUQsIHtcbiAgICAgICAgICB1bnNlbGVjdGVkU2hhcGVzOiBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHRoaXMuX3NlbGVjdGVkU2hhcGVzKSxcbiAgICAgICAgICBzZWxlY3RlZFNoYXBlczogW11cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRoaXMuX2RyYWdJbmZvID0gbnVsbFxuICAgICAgY2xlYXJTZWxlY3RlZFNoYXBlcyh0aGlzLl9zZWxlY3RlZFNoYXBlcylcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkU2hhcGUgJiYgc2VsZWN0ZWRJbmZvICYmIChzZWxlY3RlZEluZm8ubW92YWJsZSB8fCBzZWxlY3RlZEluZm8ucm90YXRhYmxlIHx8IHNlbGVjdGVkSW5mby5zY2FsYWJsZSkpIHtcbiAgICAgIGlmICghdGhpcy5fZHJhZ0luZm8gJiYgc2VsZWN0ZWRJbmZvLm1vdmFibGUpIHtcbiAgICAgICAgdGhpcy5fZHJhZ0luZm8gPSB7XG4gICAgICAgICAgc3RhcnRMb2NhbFBvczogc2VsZWN0ZWRTaGFwZS5nZXRQb3NpdGlvbigpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2RyYWdJbmZvKSB7XG4gICAgICAgIHRoaXMuX2RyYWdJbmZvLnNoYXBlID0gc2VsZWN0ZWRTaGFwZVxuICAgICAgICB0aGlzLl9kcmFnSW5mby5zdGFydFBvcyA9IFBvaW50MmQuY2xvbmUodG1wUHQxKVxuICAgICAgICB0aGlzLl9kcmFnSW5mby5zdGFydFdvcmxkUG9zID0gUG9pbnQyZC5jbG9uZSh0bXBQdDIpXG4gICAgICAgIHRoaXMuX2RyYWdJbmZvLm9iamVjdFRvV29ybGRNYXRyaXggPSBNYXQyZC5jbG9uZShzZWxlY3RlZFNoYXBlLmdsb2JhbFhmb3JtKVxuICAgICAgICBhZGRFdmVudEtleXNUb1NlbGVjdGVkSW5mbyhldmVudCwgdGhpcy5fZHJhZ0luZm8pXG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gICAgICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5EUkFHX0JFR0lOLCB7XG4gICAgICAgICAgc2hhcGVzOiBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHRoaXMuX3NlbGVjdGVkU2hhcGVzKVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH1cblxuICBfbW91c2V1cENCKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMuX2RyYWdJbmZvICYmIHRoaXMuX2RyYWdJbmZvLnNoYXBlKSB7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgdGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgaGlkZUN1cnNvcilcbiAgICAgIHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCBzaG93Q3Vyc29yKVxuICAgICAgdGhpcy5fZHJhZ0luZm8gPSBudWxsXG4gICAgICB0aGlzLmZpcmUoRXZlbnRDb25zdGFudHMuRFJBR19FTkQsIHtcbiAgICAgICAgc2hhcGVzOiBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHRoaXMuX3NlbGVjdGVkU2hhcGVzKVxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKHBlcmZvcm1hbmNlLm5vdygpIC0gdGhpcy50aW1lciA8IDUwMCkge1xuICAgICAgLy8gdGhpcyBpcyBhIHJlbGF0aXZlbHkgcXVpY2sgY2xpY2tcbiAgICAgIFBvaW50MmQuc2V0KHRtcFB0MSwgZXZlbnQub2Zmc2V0WCwgZXZlbnQub2Zmc2V0WSlcbiAgICAgIFBvaW50MmQudHJhbnNmb3JtTWF0MmQodG1wUHQyLCB0bXBQdDEsIHRoaXMuX2NhbWVyYS5zY3JlZW5Ub1dvcmxkTWF0cml4KVxuICAgICAgY29uc3Qgd29ybGRUb1NjcmVlbk1hdHJpeCA9IHRoaXMuX2NhbWVyYS53b3JsZFRvU2NyZWVuTWF0cml4XG4gICAgICBjb25zdCBzaGFwZXMgPSB0aGlzLnNvcnRlZFNoYXBlc1xuICAgICAgbGV0IHNlbGVjdGVkU2hhcGUgPSBudWxsXG4gICAgICBsZXQgc2VsZWN0ZWRJbmZvID0gbnVsbFxuICAgICAgZm9yIChsZXQgaSA9IHNoYXBlcy5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMSkge1xuICAgICAgICBzZWxlY3RlZEluZm8gPSB0aGlzLl9vYmplY3RzLmdldChzaGFwZXNbaV0pXG4gICAgICAgIGlmIChzZWxlY3RlZEluZm8uc2VsZWN0YWJsZSAmJiBzaGFwZXNbaV0uY29udGFpbnNQb2ludCh0bXBQdDEsIHRtcFB0Miwgd29ybGRUb1NjcmVlbk1hdHJpeCwgdGhpcy5fZHJhd0N0eCkpIHtcbiAgICAgICAgICBzZWxlY3RlZFNoYXBlID0gc2hhcGVzW2ldXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlbGVjdGVkU2hhcGUgJiYgIXNlbGVjdGVkU2hhcGUuc2VsZWN0ZWQpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0RXZlbnRPYmogPSBzZWxlY3RTaGFwZShzZWxlY3RlZFNoYXBlLCBzaGFwZXMsIHRoaXMuX3NlbGVjdGVkU2hhcGVzLCB0aGlzLl9zZWxlY3RTdHlsZSwgdGhpcy5feGZvcm1TdHlsZSwgc2VsZWN0ZWRJbmZvKVxuICAgICAgICB0aGlzLmZpcmUoRXZlbnRDb25zdGFudHMuU0VMRUNUSU9OX0NIQU5HRUQsIHNlbGVjdEV2ZW50T2JqKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9tb3VzZW1vdmVDQihldmVudCkge1xuICAgIGxldCBpbmNhbnZhcyA9IGZhbHNlXG4gICAgaWYgKCEoaW5jYW52YXMgPSBpbkNhbnZhcyh0aGlzLl9kcmF3Q2FudmFzLCBldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKSkgJiYgIXRoaXMuX2RyYWdJbmZvKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZHJhZ0luZm8gJiYgdGhpcy5fZHJhZ0luZm8uc2hhcGUpIHtcbiAgICAgIHVwZGF0ZUN1cnNvclBvc2l0aW9uKGV2ZW50KVxuICAgICAgYWRkRXZlbnRLZXlzVG9TZWxlY3RlZEluZm8oZXZlbnQsIHRoaXMuX2RyYWdJbmZvKVxuICAgICAgdHJhbnNmb3JtU2VsZWN0ZWRTaGFwZSh0aGlzLl9kcmF3Q2FudmFzLCBldmVudCwgdGhpcy5fZHJhZ0luZm8sIHRoaXMuX2NhbWVyYSlcbiAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgfSBlbHNlIGlmICghZXZlbnQuYnV0dG9ucyAmJiB0aGlzLl9zZWxlY3RlZFNoYXBlcy5zaXplKSB7XG4gICAgICBQb2ludDJkLnNldCh0bXBQdDEsIGV2ZW50Lm9mZnNldFgsIGV2ZW50Lm9mZnNldFkpXG4gICAgICBQb2ludDJkLnRyYW5zZm9ybU1hdDJkKHRtcFB0MiwgdG1wUHQxLCB0aGlzLl9jYW1lcmEuc2NyZWVuVG9Xb3JsZE1hdHJpeClcbiAgICAgIGNvbnN0IHdvcmxkVG9TY3JlZW5NYXRyaXggPSB0aGlzLl9jYW1lcmEud29ybGRUb1NjcmVlbk1hdHJpeFxuICAgICAgY29uc3Qgc2hhcGVzID0gdGhpcy5zb3J0ZWRTaGFwZXNcbiAgICAgIGxldCBpID0gMFxuICAgICAgY29uc3QgZmxpcHkgPSB0aGlzLl9jYW1lcmEuaXNZRmxpcHBlZCgpXG4gICAgICBmb3IgKGkgPSBzaGFwZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICAgICAgaWYgKHNoYXBlc1tpXS5zZWxlY3RlZCkge1xuICAgICAgICAgIGNvbnN0IHNlbGVjdEluZm8gPSB0aGlzLl9vYmplY3RzLmdldChzaGFwZXNbaV0pXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRTaGFwZSA9IHRoaXMuX3NlbGVjdGVkU2hhcGVzLmdldChzaGFwZXNbaV0pXG4gICAgICAgICAgbGV0IGhpdEluZm8gPSBudWxsXG4gICAgICAgICAgaWYgKHNlbGVjdGVkU2hhcGUgJiYgKGhpdEluZm8gPSBzZWxlY3RlZFNoYXBlLmNvbnRhaW5zUG9pbnQodG1wUHQxLCB0bXBQdDIsIHdvcmxkVG9TY3JlZW5NYXRyaXgsIHRoaXMuX2RyYXdDdHgpKS5oaXQpIHtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFNoYXBlIGluc3RhbmNlb2YgWGZvcm1TaGFwZSkge1xuICAgICAgICAgICAgICBjb25zdCBjdXJzb3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3Vyc29yJylcbiAgICAgICAgICAgICAgdGhpcy5fcGFyZW50LnN0eWxlLmN1cnNvciA9ICdub25lJ1xuICAgICAgICAgICAgICAvLyBmb3JFYWNoIG5vdCBzdXBwb3J0ZWQgb24gbm9kZWxpc3QgaW4gSUUvRWRnZVxuICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX3BhcmVudC5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXNbaV0uc3R5bGUuY3Vyc29yID0gJ25vbmUnXG4gICAgICAgICAgICAgICAgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXNbaV0uc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChoaXRJbmZvLnJvdGF0ZSkge1xuICAgICAgICAgICAgICAgIGxldCBkZWdyZWVzID0gc2hhcGVzW2ldLmdldFJvdGF0aW9uKClcbiAgICAgICAgICAgICAgICBpZiAoZmxpcHkpIHtcbiAgICAgICAgICAgICAgICAgIGRlZ3JlZXMgKj0gLTFcbiAgICAgICAgICAgICAgICAgIGlmIChoaXRJbmZvLmNvbnRyb2xJbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBkZWdyZWVzIC09IDkwXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhpdEluZm8uY29udHJvbEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlZ3JlZXMgKz0gMTgwXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhpdEluZm8uY29udHJvbEluZGV4ID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlZ3JlZXMgKz0gOTBcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgaWYgKGhpdEluZm8uY29udHJvbEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlZ3JlZXMgLT0gOTBcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaGl0SW5mby5jb250cm9sSW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVncmVlcyArPSAxODBcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaGl0SW5mby5jb250cm9sSW5kZXggPT09IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVncmVlcyArPSA5MFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhcHBlbmRDdXN0b21DdXJzb3IoZXZlbnQsIHRoaXMuX3BhcmVudCwgYCR7cm90YXRlU3ZnLnJlcGxhY2UoL1xcPGRlZ3JlZXNcXD4vZywgYCR7ZGVncmVlc31gKX1gKVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhpdEluZm8uY29udHJvbEluZGV4IDwgNCkge1xuICAgICAgICAgICAgICAgIGlmIChoaXRJbmZvLmNvbnRyb2xJbmRleCA9PT0gMCB8fCBoaXRJbmZvLmNvbnRyb2xJbmRleCA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgYXBwZW5kQ3VzdG9tQ3Vyc29yKGV2ZW50LCB0aGlzLl9wYXJlbnQsIGAke3NjYWxlU3ZnLnJlcGxhY2UoL1xcPGRlZ3JlZXNcXD4vZywgYCR7LXNoYXBlc1tpXS5nZXRSb3RhdGlvbigpIC0gNDV9YCl9YClcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhpdEluZm8uY29udHJvbEluZGV4ID09PSAxIHx8IGhpdEluZm8uY29udHJvbEluZGV4ID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICBhcHBlbmRDdXN0b21DdXJzb3IoZXZlbnQsIHRoaXMuX3BhcmVudCwgYCR7c2NhbGVTdmcucmVwbGFjZSgvXFw8ZGVncmVlc1xcPi9nLCBgJHstc2hhcGVzW2ldLmdldFJvdGF0aW9uKCkgKyA0NX1gKX1gKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoaGl0SW5mby5jb250cm9sSW5kZXggJSAyID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICBhcHBlbmRDdXN0b21DdXJzb3IoZXZlbnQsIHRoaXMuX3BhcmVudCwgYCR7c2NhbGVTdmcucmVwbGFjZSgvXFw8ZGVncmVlc1xcPi9nLCBgJHstc2hhcGVzW2ldLmdldFJvdGF0aW9uKCl9YCl9YClcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgYXBwZW5kQ3VzdG9tQ3Vyc29yKGV2ZW50LCB0aGlzLl9wYXJlbnQsIGAke3NjYWxlU3ZnLnJlcGxhY2UoL1xcPGRlZ3JlZXNcXD4vZywgYCR7LXNoYXBlc1tpXS5nZXRSb3RhdGlvbigpICsgOTB9YCl9YClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRTaGFwZSBpbnN0YW5jZW9mIFZlcnRFZGl0YWJsZVNoYXBlKSB7XG4gICAgICAgICAgICAgIHRoaXMuX3BhcmVudC5zdHlsZS5jdXJzb3IgPSAnbm9uZSdcbiAgICAgICAgICAgICAgLy8gZm9yRWFjaCBub3Qgc3VwcG9ydGVkIG9uIG5vZGVsaXN0IGluIElFL0VkZ2VcbiAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl9wYXJlbnQuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BhcmVudC5jaGlsZE5vZGVzW2ldLnN0eWxlLmN1cnNvciA9ICdub25lJ1xuICAgICAgICAgICAgICAgIHRoaXMuX3BhcmVudC5jaGlsZE5vZGVzW2ldLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoaGl0SW5mby5jb250cm9sSW5kZXggPj0gc2hhcGVzW2ldLm51bVZlcnRzKSB7XG4gICAgICAgICAgICAgICAgYXBwZW5kQ3VzdG9tQ3Vyc29yKGV2ZW50LCB0aGlzLl9wYXJlbnQsIGFkZFN2ZywgLTgsIC02KVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmFsdEtleSkge1xuICAgICAgICAgICAgICAgIGFwcGVuZEN1c3RvbUN1cnNvcihldmVudCwgdGhpcy5fcGFyZW50LCByZW1vdmVTdmcsIC04LCAtNilcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhcHBlbmRDdXN0b21DdXJzb3IoZXZlbnQsIHRoaXMuX3BhcmVudCwgcmVwb3NpdGlvblN2ZywgLTE0LCAtMTQpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH0gZWxzZSBpZiAoc2hhcGVzW2ldLmNvbnRhaW5zUG9pbnQodG1wUHQxLCB0bXBQdDIsIHdvcmxkVG9TY3JlZW5NYXRyaXgsIHRoaXMuX2RyYXdDdHgpKSB7XG4gICAgICAgICAgICBpZiAoc2VsZWN0SW5mbyAmJiBzZWxlY3RJbmZvLm1vdmFibGUpIHtcbiAgICAgICAgICAgICAgY29uc3QgY3Vyc29yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1cnNvcicpXG4gICAgICAgICAgICAgIGlmIChjdXJzb3IgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjdXJzb3IucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjdXJzb3IpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5fcGFyZW50LnN0eWxlLmN1cnNvciA9IFwibW92ZVwiXG4gICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wYXJlbnQuY2hpbGROb2Rlc1tpXS5zdHlsZS5jdXJzb3IgPSAnbW92ZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgcmVtb3ZlQ3VzdG9tQ3Vyc29yKClcbiAgICAgICAgdGhpcy5fcGFyZW50LnN0eWxlLmN1cnNvciA9IFwiZGVmYXVsdFwiXG4gICAgICAgIC8vIGZvckVhY2ggbm90IHN1cHBvcnRlZCBvbiBub2RlbGlzdCBpbiBJRS9FZGdlXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB0aGlzLl9wYXJlbnQuY2hpbGROb2Rlc1tpXS5zdHlsZS5jdXJzb3IgPSAnZGVmYXVsdCdcbiAgICAgICAgICB0aGlzLl9wYXJlbnQuY2hpbGROb2Rlc1tpXS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2F1dG8nXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfY2xpY2tDQihldmVudCkge1xuICAgIC8vIG5vb3BcbiAgfVxuXG4gIF9kYmxjbGlja0NCKGV2ZW50KSB7XG4gICAgaWYgKCFpbkNhbnZhcyh0aGlzLl9kcmF3Q2FudmFzLCBldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgUG9pbnQyZC5zZXQodG1wUHQxLCBldmVudC5vZmZzZXRYLCBldmVudC5vZmZzZXRZKVxuICAgIFBvaW50MmQudHJhbnNmb3JtTWF0MmQodG1wUHQyLCB0bXBQdDEsIHRoaXMuX2NhbWVyYS5zY3JlZW5Ub1dvcmxkTWF0cml4KVxuICAgIGNvbnN0IHdvcmxkVG9TY3JlZW5NYXRyaXggPSB0aGlzLl9jYW1lcmEud29ybGRUb1NjcmVlbk1hdHJpeFxuICAgIGNvbnN0IHNoYXBlcyA9IHRoaXMuc29ydGVkU2hhcGVzXG4gICAgbGV0IGkgPSAtMVxuICAgIGZvciAoaSA9IHNoYXBlcy5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMSkge1xuICAgICAgY29uc3Qgc2hhcGVJbmZvID0gdGhpcy5fb2JqZWN0cy5nZXQoc2hhcGVzW2ldKVxuICAgICAgaWYgKHNoYXBlSW5mby5zZWxlY3RhYmxlICYmIHNoYXBlc1tpXS5jb250YWluc1BvaW50KHRtcFB0MSwgdG1wUHQyLCB3b3JsZFRvU2NyZWVuTWF0cml4LCB0aGlzLl9kcmF3Q3R4KSkge1xuICAgICAgICBpZiAoc2hhcGVJbmZvLmVkaXRhYmxlICYmIHNoYXBlc1tpXSBpbnN0YW5jZW9mIFBvbHlMaW5lKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRTaGFwZSA9IHNoYXBlc1tpXVxuICAgICAgICAgIGxldCBkb1hmb3JtID0gZmFsc2VcbiAgICAgICAgICBpZiAoc2hhcGVzW2ldLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICBjb25zdCBpbnRlcmFjdGl2ZVNoYXBlID0gdGhpcy5fc2VsZWN0ZWRTaGFwZXMuZ2V0KHNoYXBlc1tpXSlcbiAgICAgICAgICAgIGlmIChpbnRlcmFjdGl2ZVNoYXBlKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGVkU2hhcGUucmVzdG9yZSgpXG4gICAgICAgICAgICAgIHNlbGVjdGVkU2hhcGUucmVtb3ZlQ2hpbGRYZm9ybShpbnRlcmFjdGl2ZVNoYXBlKVxuICAgICAgICAgICAgICBkb1hmb3JtID0gIShpbnRlcmFjdGl2ZVNoYXBlIGluc3RhbmNlb2YgWGZvcm1TaGFwZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZWxlY3RlZFNoYXBlLnNlbGVjdGVkID0gdHJ1ZVxuICAgICAgICAgIHNlbGVjdGVkU2hhcGUuc2F2ZSgpXG4gICAgICAgICAgY29uc3QgbWF4WiA9IHNoYXBlc1tzaGFwZXMubGVuZ3RoIC0gMV0uekluZGV4XG4gICAgICAgICAgc2VsZWN0ZWRTaGFwZS56SW5kZXggPSBtYXhaICsgMVxuICAgICAgICAgIEJhc2ljU3R5bGUuY29weUJhc2ljU3R5bGUodGhpcy5fc2VsZWN0U3R5bGUsIHNlbGVjdGVkU2hhcGUpXG4gICAgICAgICAgbGV0IG5ld1NlbGVjdFNoYXBlID0gbnVsbFxuICAgICAgICAgIGlmIChkb1hmb3JtKSB7XG4gICAgICAgICAgICBpZiAoc2hhcGVJbmZvLnJvdGF0YWJsZSB8fCBzaGFwZUluZm8uc2NhbGFibGUpIHtcbiAgICAgICAgICAgICAgbmV3U2VsZWN0U2hhcGUgPSBuZXcgWGZvcm1TaGFwZSh0aGlzLl94Zm9ybVN0eWxlIHx8IGRlZmF1bHRYZm9ybVN0eWxlLCBzaGFwZUluZm8pXG4gICAgICAgICAgICAgIHNlbGVjdGVkU2hhcGUuYWRkQ2hpbGRYZm9ybShuZXdTZWxlY3RTaGFwZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3U2VsZWN0U2hhcGUgPSBuZXcgVmVydEVkaXRhYmxlU2hhcGUoc2VsZWN0ZWRTaGFwZSwgdGhpcy5feGZvcm1TdHlsZSlcbiAgICAgICAgICAgIHNlbGVjdGVkU2hhcGUuYWRkQ2hpbGRYZm9ybShuZXdTZWxlY3RTaGFwZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTaGFwZXMuc2V0KHNlbGVjdGVkU2hhcGUsIG5ld1NlbGVjdFNoYXBlKVxuICAgICAgICB9IGVsc2UgaWYgKCFzaGFwZXNbaV0uc2VsZWN0ZWQpIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RFdmVudE9iaiA9IHNlbGVjdFNoYXBlKHNoYXBlc1tpXSwgc2hhcGVzLCB0aGlzLl9zZWxlY3RlZFNoYXBlcywgdGhpcy5fc2VsZWN0U3R5bGUsIHRoaXMuX3hmb3JtU3R5bGUsIHNoYXBlSW5mbylcbiAgICAgICAgICB0aGlzLmZpcmUoRXZlbnRDb25zdGFudHMuU0VMRUNUSU9OX0NIQU5HRUQsIHNlbGVjdEV2ZW50T2JqKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGkgPCAwICYmIHRoaXMuX3NlbGVjdGVkU2hhcGVzLnNpemUpIHtcbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFNoYXBlcy5zaXplKSB7XG4gICAgICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5TRUxFQ1RJT05fQ0hBTkdFRCwge1xuICAgICAgICAgIHVuc2VsZWN0ZWRTaGFwZXM6IGdldFNlbGVjdGVkT2Jqc0Zyb21NYXAodGhpcy5fc2VsZWN0ZWRTaGFwZXMpLFxuICAgICAgICAgIHNlbGVjdGVkU2hhcGVzOiBbXVxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgdGhpcy5fZHJhZ0luZm8gPSBudWxsXG4gICAgICBjbGVhclNlbGVjdGVkU2hhcGVzKHRoaXMuX3NlbGVjdGVkU2hhcGVzKVxuICAgIH0gZWxzZSB7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgIH1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH1cblxuICBfbW91c2VvdmVyQ0IoZXZlbnQpIHtcbiAgICAvLyBub29wXG4gIH1cblxuICBfbW91c2VvdXRDQihldmVudCkge1xuICAgIC8vIG5vb3BcbiAgfVxuXG4gIF9pbml0KHBhcmVudCwgb3B0cykge1xuICAgIHRoaXMuX2FjdGl2YXRlZCA9IChvcHRzICYmIG9wdHMuZW5hYmxlSW50ZXJhY3Rpb25zKVxuICAgIHN1cGVyLl9pbml0KHBhcmVudCwgb3B0cywgdGhpcy5fYWN0aXZhdGVkKVxuICAgIGNvbnN0IG15ZXZlbnRzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoRXZlbnRDb25zdGFudHMpLm1hcChldmVudCA9PiB7XG4gICAgICByZXR1cm4gRXZlbnRDb25zdGFudHNbZXZlbnRdXG4gICAgfSlcbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG15ZXZlbnRzKVxuICAgIHRoaXMuX2RyYWdJbmZvID0gbnVsbFxuICAgIHRoaXMuX3NlbGVjdGVkU2hhcGVzID0gbmV3IE1hcCgpXG4gICAgdGhpcy5fc2VsZWN0U3R5bGUgPSBuZXcgQmFzaWNTdHlsZSgob3B0cyAmJiBvcHRzLnNlbGVjdFN0eWxlID8gb3B0cy5zZWxlY3RTdHlsZSA6IHtcbiAgICAgIGZpbGxDb2xvcjogXCJvcmFuZ2VcIlxuICAgIH0pKVxuXG4gICAgdGhpcy5feGZvcm1TdHlsZSA9IG5ldyBCYXNpY1N0eWxlKChvcHRzICYmIG9wdHMueGZvcm1TdHlsZSA/IG9wdHMueGZvcm1TdHlsZSA6IHtcbiAgICAgIGZpbGxDb2xvcjogXCJ3aGl0ZVwiLFxuICAgICAgc3Ryb2tlQ29sb3I6IFwiYmxhY2tcIixcbiAgICAgIHN0cm9rZVdpZHRoOiAyXG4gICAgfSkpXG5cbiAgICB0aGlzLnRpbWVyID0gMFxuICB9XG5cbiAgX3JlbmRlclNoYXBlcyhjdHgsIGRyYXdTaGFwZXMsIGNhbWVyYSkge1xuICAgIGNvbnN0IHdvcmxkVG9TY3JlZW5NYXQgPSBjYW1lcmEud29ybGRUb1NjcmVlbk1hdHJpeFxuICAgIGRyYXdTaGFwZXMuZm9yRWFjaChzaGFwZSA9PiB7XG4gICAgICBpZiAoc2hhcGUudmlzaWJsZSkge1xuICAgICAgICBzaGFwZS5yZW5kZXIoY3R4LCB3b3JsZFRvU2NyZWVuTWF0LCB0aGlzLl9zdHlsZVN0YXRlKVxuICAgICAgICAvLyBzaGFwZS5yZW5kZXJCb3VuZHMoY3R4LCB3b3JsZFRvU2NyZWVuTWF0LCBib3VuZHNTdHJva2VTdHlsZSlcbiAgICAgICAgaWYgKHNoYXBlLnNlbGVjdGVkKSB7XG4gICAgICAgICAgY29uc3QgaW50ZXJhY1NoYXBlID0gdGhpcy5fc2VsZWN0ZWRTaGFwZXMuZ2V0KHNoYXBlKVxuICAgICAgICAgIGlmIChpbnRlcmFjU2hhcGUpIHtcbiAgICAgICAgICAgIGludGVyYWNTaGFwZS5yZW5kZXIoY3R4LCB3b3JsZFRvU2NyZWVuTWF0LCB0aGlzLl9zdHlsZVN0YXRlKVxuICAgICAgICAgICAgLy8gaW50ZXJhY1NoYXBlLnJlbmRlckJvdW5kcyhjdHgsIHdvcmxkVG9TY3JlZW5NYXQsIGJvdW5kc1N0cm9rZVN0eWxlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBzZXQgc2VsZWN0U3R5bGUoc2VsZWN0U3R5bGUpIHtcbiAgICBCYXNpY1N0eWxlLmNvcHlCYXNpY1N0eWxlKHNlbGVjdFN0eWxlLCB0aGlzLl9zZWxlY3RTdHlsZSlcbiAgfVxuXG4gIGdldCBzZWxlY3RTdHlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0U3R5bGVcbiAgfVxuXG4gIGdldCBzZWxlY3RlZFNoYXBlcygpIHtcbiAgICByZXR1cm4gZ2V0U2VsZWN0ZWRPYmpzRnJvbU1hcCh0aGlzLl9zZWxlY3RlZFNoYXBlcylcbiAgfVxuXG4gIHNlbGVjdFNoYXBlKHNoYXBlKSB7XG4gICAgY29uc3Qgc2hhcGVJbmZvID0gdGhpcy5fb2JqZWN0cy5nZXQoc2hhcGUpXG4gICAgaWYgKHNoYXBlSW5mbyAmJiBzaGFwZUluZm8uc2VsZWN0YWJsZSkge1xuICAgICAgY29uc3Qgc2VsZWN0RXZlbnRPYmogPSBzZWxlY3RTaGFwZShzaGFwZSwgdGhpcy5zb3J0ZWRTaGFwZXMsIHRoaXMuX3NlbGVjdGVkU2hhcGVzLCB0aGlzLl9zZWxlY3RTdHlsZSwgdGhpcy5feGZvcm1TdHlsZSwgc2hhcGVJbmZvKVxuICAgICAgdGhpcy5maXJlKEV2ZW50Q29uc3RhbnRzLlNFTEVDVElPTl9DSEFOR0VELCBzZWxlY3RFdmVudE9iailcbiAgICB9XG4gIH1cblxuICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGFwZXMuc2l6ZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRTaGFwZXMgPSBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHRoaXMuX3NlbGVjdGVkU2hhcGVzKVxuICAgICAgY2xlYXJTZWxlY3RlZFNoYXBlcyh0aGlzLl9zZWxlY3RlZFNoYXBlcylcbiAgICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5TRUxFQ1RJT05fQ0hBTkdFRCwge1xuICAgICAgICB1bnNlbGVjdGVkU2hhcGVzOiBzZWxlY3RlZFNoYXBlcyxcbiAgICAgICAgc2VsZWN0ZWRTaGFwZXM6IFtdXG4gICAgICB9KVxuICAgICAgdGhpcy5fcmVyZW5kZXJDYigpXG4gICAgfVxuICB9XG5cbiAgYWRkU2hhcGUoc2hhcGUsIG9wdHMgPSBudWxsLCBzZWxlY3QgPSBmYWxzZSkge1xuICAgIGxldCBzaGFwZXMgPSBzaGFwZVxuICAgIGlmICghQXJyYXkuaXNBcnJheShzaGFwZXMpKSB7XG4gICAgICBzaGFwZXMgPSBbc2hhcGVdXG4gICAgfVxuXG4gICAgc3VwZXIuYWRkU2hhcGUoc2hhcGVzKVxuICAgIHNoYXBlcy5mb3JFYWNoKHNoYXBlID0+IHtcbiAgICAgIGNvbnN0IHNoYXBlSW5mbyA9IHRoaXMuX29iamVjdHMuZ2V0KHNoYXBlKVxuICAgICAgaWYgKHNoYXBlSW5mbykge1xuICAgICAgICBzaGFwZUluZm8uc2VsZWN0YWJsZSA9IChvcHRzICYmIHR5cGVvZiBvcHRzLnNlbGVjdGFibGUgIT09IFwidW5kZWZpbmVkXCIgPyBCb29sZWFuKG9wdHMuc2VsZWN0YWJsZSkgOiB0cnVlKVxuICAgICAgICBzaGFwZUluZm8ubW92YWJsZSA9IChvcHRzICYmIHR5cGVvZiBvcHRzLm1vdmFibGUgIT09IFwidW5kZWZpbmVkXCIgPyBCb29sZWFuKG9wdHMubW92YWJsZSkgOiB0cnVlKVxuICAgICAgICBzaGFwZUluZm8ucm90YXRhYmxlID0gKG9wdHMgJiYgdHlwZW9mIG9wdHMucm90YXRhYmxlICE9PSBcInVuZGVmaW5lZFwiID8gQm9vbGVhbihvcHRzLnJvdGF0YWJsZSkgOiB0cnVlKVxuICAgICAgICBzaGFwZUluZm8uc2NhbGFibGUgPSAob3B0cyAmJiB0eXBlb2Ygb3B0cy5zY2FsYWJsZSAhPT0gXCJ1bmRlZmluZWRcIiA/IEJvb2xlYW4ob3B0cy5zY2FsYWJsZSkgOiB0cnVlKVxuICAgICAgICBzaGFwZUluZm8udW5pZm9ybVNjYWxlT25seSA9IChvcHRzICYmIHR5cGVvZiBvcHRzLnVuaWZvcm1TY2FsZU9ubHkgIT09IFwidW5kZWZpbmVkXCIgPyBCb29sZWFuKG9wdHMudW5pZm9ybVNjYWxlT25seSkgOiBmYWxzZSlcbiAgICAgICAgc2hhcGVJbmZvLmNlbnRlclNjYWxlT25seSA9IChvcHRzICYmIHR5cGVvZiBvcHRzLmNlbnRlclNjYWxlT25seSAhPT0gXCJ1bmRlZmluZWRcIiA/IEJvb2xlYW4ob3B0cy5jZW50ZXJTY2FsZU9ubHkpIDogZmFsc2UpXG4gICAgICAgIHNoYXBlSW5mby5lZGl0YWJsZSA9IChvcHRzICYmIHR5cGVvZiBvcHRzLmVkaXRhYmxlICE9PSBcInVuZGVmaW5lZFwiID8gQm9vbGVhbihvcHRzLmVkaXRhYmxlKSA6IHRydWUpXG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmIChzZWxlY3QpIHtcbiAgICAgIGNvbnN0IHNlbGVjdEV2ZW50T2JqID0ge1xuICAgICAgICB1bnNlbGVjdGVkU2hhcGVzOiBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHRoaXMuX3NlbGVjdGVkU2hhcGVzKVxuICAgICAgfVxuICAgICAgY29uc3Qgc2VsZWN0ZWRTaGFwZXMgPSBbXVxuICAgICAgc2hhcGVzLmZvckVhY2goc2hhcGUgPT4ge1xuICAgICAgICBjb25zdCBzaGFwZUluZm8gPSB0aGlzLl9vYmplY3RzLmdldChzaGFwZSlcbiAgICAgICAgaWYgKHNoYXBlSW5mby5zZWxlY3RhYmxlKSB7XG4gICAgICAgICAgc2VsZWN0U2hhcGUoc2hhcGUsIHRoaXMuc29ydGVkU2hhcGVzLCB0aGlzLl9zZWxlY3RlZFNoYXBlcywgdGhpcy5fc2VsZWN0U3R5bGUsIHRoaXMuX3hmb3JtU3R5bGUsIHNoYXBlSW5mbylcbiAgICAgICAgICBzZWxlY3RlZFNoYXBlcy5wdXNoKHNoYXBlKVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBpZiAoc2VsZWN0ZWRTaGFwZXMubGVuZ3RoKSB7XG4gICAgICAgIHNlbGVjdEV2ZW50T2JqLnNlbGVjdGVkU2hhcGVzID0gc2VsZWN0ZWRTaGFwZXNcbiAgICAgICAgdGhpcy5maXJlKEV2ZW50Q29uc3RhbnRzLlNFTEVDVElPTl9DSEFOR0VELCBzZWxlY3RFdmVudE9iailcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cblxuICBkZWxldGVTaGFwZShzaGFwZSkge1xuICAgIGxldCBzaGFwZXMgPSBzaGFwZVxuICAgIGlmICghQXJyYXkuaXNBcnJheShzaGFwZXMpKSB7XG4gICAgICBzaGFwZXMgPSBbc2hhcGVdXG4gICAgfVxuICAgIGNvbnN0IHNlbGVjdENsZWFyZWRTaGFwZXMgPSBjbGVhclNwZWNpZmljU2hhcGVzKHRoaXMuX3NlbGVjdGVkU2hhcGVzLCBzaGFwZXMpXG4gICAgdGhpcy5maXJlKEV2ZW50Q29uc3RhbnRzLlNFTEVDVElPTl9DSEFOR0VELCB7XG4gICAgICB1bnNlbGVjdGVkU2hhcGVzOiBzZWxlY3RDbGVhcmVkU2hhcGVzLFxuICAgICAgc2VsZWN0ZWRTaGFwZXM6IGdldFNlbGVjdGVkT2Jqc0Zyb21NYXAodGhpcy5fc2VsZWN0ZWRTaGFwZXMpXG4gICAgfSlcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlU2hhcGUoc2hhcGVzKVxuICB9XG5cbiAgZGVsZXRlU2VsZWN0ZWRTaGFwZXMoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTaGFwZXMgPSBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHRoaXMuX3NlbGVjdGVkU2hhcGVzKVxuICAgIGNsZWFyU2VsZWN0ZWRTaGFwZXModGhpcy5fc2VsZWN0ZWRTaGFwZXMpXG4gICAgdGhpcy5maXJlKEV2ZW50Q29uc3RhbnRzLlNFTEVDVElPTl9DSEFOR0VELCB7XG4gICAgICB1bnNlbGVjdGVkU2hhcGVzOiBzZWxlY3RlZFNoYXBlcyxcbiAgICAgIHNlbGVjdGVkU2hhcGVzOiBbXVxuICAgIH0pXG4gICAgcmV0dXJuIHN1cGVyLmRlbGV0ZVNoYXBlKHNlbGVjdGVkU2hhcGVzKVxuICB9XG5cbiAgZ2V0IGludGVyYWN0aW9uc0VuYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2YXRlZFxuICB9XG5cbiAgZW5hYmxlSW50ZXJhY3Rpb25zKCkge1xuICAgIHRoaXMuX2VuYWJsZUV2ZW50cygpXG4gICAgdGhpcy5fYWN0aXZhdGVkID0gdHJ1ZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBkaXNhYmxlSW50ZXJhY3Rpb25zKGNsZWFyU2VsZWN0aW9uID0gdHJ1ZSkge1xuICAgIGlmIChjbGVhclNlbGVjdGlvbikge1xuICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpXG4gICAgfVxuICAgIHRoaXMuX2Rpc2FibGVFdmVudHMoKVxuICAgIHRoaXMuX2FjdGl2YXRlZCA9IGZhbHNlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEV2ZW50Q29uc3RhbnRzLCBEcmF3RW5naW5lLkV2ZW50Q29uc3RhbnRzKVxuU2hhcGVCdWlsZGVyLkV2ZW50Q29uc3RhbnRzID0gRXZlbnRDb25zdGFudHNcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2VuZ2luZS9zaGFwZS1idWlsZGVyLmpzIl0sInNvdXJjZVJvb3QiOiIifQ=="); + eval("\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _interactUtils = __webpack_require__(24);\n\nvar InteractUtils = _interopRequireWildcard(_interactUtils);\n\nvar _point2d = __webpack_require__(3);\n\nvar Point2d = _interopRequireWildcard(_point2d);\n\nvar _basicStyle = __webpack_require__(9);\n\nvar _basicStyle2 = _interopRequireDefault(_basicStyle);\n\nvar _drawEngine = __webpack_require__(16);\n\nvar _drawEngine2 = _interopRequireDefault(_drawEngine);\n\nvar _mat2d = __webpack_require__(7);\n\nvar _mat2d2 = _interopRequireDefault(_mat2d);\n\nvar _polyLine = __webpack_require__(13);\n\nvar _polyLine2 = _interopRequireDefault(_polyLine);\n\nvar _strokeStyle = __webpack_require__(10);\n\nvar _strokeStyle2 = _interopRequireDefault(_strokeStyle);\n\nvar _vertEditableShape = __webpack_require__(25);\n\nvar _vertEditableShape2 = _interopRequireDefault(_vertEditableShape);\n\nvar _xformShape = __webpack_require__(26);\n\nvar _xformShape2 = _interopRequireDefault(_xformShape);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar scaleSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg transform='rotate(,24,24)'%3E%3Cpolygon style='fill:%23ffffff;' points='16,20 16,12 4,24 16,36 16,28 32,28 32,36 44,24 32,12 32,20 '/%3E%3Cpolygon points='14,22 14,17 7,24 14,31 14,26 34,26 34,31 41,24 34,17 34,22 '/%3E%3C/g%3E%3C/svg%3E\\\") no-repeat\";\n\nvar rotateSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg transform='rotate(,24,24)'%3E%3Cpath style='fill:%23ffffff;' d='M25.9,4C16.6,4,8.8,11.2,7.4,20.8H6.7H3.3l1.6,2.9l3.8,7.1l1.8,3.3l1.8-3.3l3.8-7.1l1.6-2.9h-3.3h-0.1 c1.3-5.7,6.1-9.9,11.7-9.9c8,0,12.1,4.4,12.1,13.1c0,7.2-5.4,13.1-12.1,13.1h-2v2V42v2h2c10.4,0,18.8-9,18.8-20 C44.7,11.7,37.5,4,25.9,4L25.9,4z'/%3E%3Cpath d='M25.9,6c10.5,0,16.8,6.7,16.8,18c0,9.9-7.5,18-16.8,18v-2.9c7.8,0,14.1-6.8,14.1-15.1c0-5.6-1.8-15.1-14.1-15.1 c-7.4,0-13.4,6.1-14,13.9h2.4l-3.8,7.1l-3.8-7.1h2.5C9.7,13.4,17,6,25.9,6'/%3E%3C/g%3E%3C/svg%3E\\\") no-repeat\";\n\nvar addSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpolygon style='fill:%23ffffff;' points='31.2,28 24.8,28 24.8,32.8 20,32.8 20,39.2 24.8,39.2 24.8,44 31.2,44 31.2,39.2 36,39.2 36,32.8 31.2,32.8 '/%3E %3Cpolygon style='fill:%23ffffff' points='12,32 12,4 32.3,24.3 20,24.3 19.7,24.6 '/%3E%3Cpolygon points='13.8,8.2 13.8,27.8 19,22.8 19.2,22.5 28,22.5 '/%3E%3Cpolyline points='29.6,29.6 29.6,34.4 34.4,34.4 34.4,37.6 29.6,37.6 29.6,42.4 26.4,42.4 26.4,37.6 21.6,37.6 21.6,34.4 26.4,34.4 26.4,29.6 29.6,29.6 '/%3E%3C/svg%3E\\\") no-repeat\";\n\nvar removeSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect style='fill:%23ffffff;' x='20' y='32.8' width='16' height='6.4'/%3E%3Cpolygon style='fill:%23ffffff;' points='12,32 12,4 32.3,24.3 20,24.3 19.7,24.6 '/%3E%3Cpolygon points='13.8,8.2 13.8,27.8 19,22.8 19.2,22.5 28,22.5 '/%3E%3Cpolyline points='34.4,34.4 34.4,37.6 21.6,37.6 21.6,34.4 '/%3E%3C/svg%3E\\\") no-repeat\";\n\nvar repositionSvg = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath style='fill:%23ffffff;' d='M24,17.5c-3.6,0-6.5,2.9-6.5,6.5s2.9,6.5,6.5,6.5s6.5-2.9,6.5-6.5S27.6,17.5,24,17.5L24,17.5z'/%3E%3Cpath style='fill:%23ffffff;' d='M24,4L4,24l20,20l20-20L24,4z M31.5,31.5h-15v-15h15V31.5z'/%3E%3Cpolygon points='17,34 24,40.5 31,34 '/%3E%3Cpolygon points='31,14 24,7.5 17,14 '/%3E%3Cpolygon points='14,17 7.5,24 14,31 '/%3E%3Cpolygon points='34,31 40.5,24 34,17 '/%3E%3Cpath d='M24,20c2.2,0,4,1.8,4,4s-1.8,4-4,4s-4-1.8-4-4S21.8,20,24,20'/%3E%3C/svg%3E\\\") no-repeat\";\n\nvar EventConstants = {\n SELECTION_CHANGED: \"draw:selectionChanged\",\n DRAG_BEGIN: \"draw:drag:begin\",\n DRAG_END: \"draw:drag:end\"\n};\n\nvar tmpPt1 = Point2d.create(0, 0);\nvar tmpPt2 = Point2d.create(0, 0);\n\nvar boundsStrokeStyle = new _strokeStyle2.default({\n strokeColor: \"darkgray\",\n strokeWidth: 2\n});\n\nvar defaultXformStyle = {\n fillColor: \"white\",\n strokeColor: \"black\",\n strokeWidth: 2\n};\n\nfunction inCanvas(canvas, x, y) {\n var domrect = canvas.getBoundingClientRect();\n var localX = 0;\n var localY = 0;\n return (localX = x - domrect.left - canvas.clientLeft) >= 0 && localX <= canvas.clientWidth && (localY = y - domrect.top - canvas.clientTop) >= 0 && localY <= canvas.clientHeight;\n}\n\nfunction getLocalMousePos(out, elem, event) {\n var domrect = elem.getBoundingClientRect();\n out[0] = event.clientX - domrect.left - elem.clientLeft;\n out[1] = event.clientY - domrect.top - elem.clientTop;\n}\n\nfunction transformSelectedShape(canvas, event, selectedInfo, camera) {\n getLocalMousePos(tmpPt1, canvas, event);\n Point2d.transformMat2d(tmpPt2, tmpPt1, camera.screenToWorldMatrix);\n var shape = selectedInfo.shape;\n if (shape instanceof _xformShape2.default) {\n InteractUtils.transformXformShape(shape, selectedInfo, tmpPt1, tmpPt2, camera);\n } else if (shape instanceof _vertEditableShape2.default) {\n InteractUtils.translateVert(shape, selectedInfo, tmpPt1, tmpPt2, camera);\n } else {\n InteractUtils.translateShape(shape, selectedInfo, tmpPt1, tmpPt2, camera);\n }\n}\n\nfunction addEventKeysToSelectedInfo(event, selectedInfo) {\n selectedInfo.keys = {\n altKey: event.altKey,\n ctrlKey: event.ctrlKey,\n shiftKey: event.shiftKey,\n metaKey: event.metaKey\n };\n}\n\nfunction getSelectedObjsFromMap(selectionMap) {\n var selectedObjs = [];\n selectionMap.forEach(function (subshape, shape) {\n selectedObjs.push(shape);\n });\n return selectedObjs;\n}\n\nfunction _selectShape(selectedShape, sortedShapes, currSelectedShapes, selectStyle, xformStyle, selectOpts) {\n var fireObject = {\n unselectedShapes: getSelectedObjsFromMap(currSelectedShapes)\n };\n clearSelectedShapes(currSelectedShapes);\n selectedShape.save();\n var maxZ = sortedShapes[sortedShapes.length - 1].zIndex;\n selectedShape.zIndex = maxZ + 1;\n _basicStyle2.default.copyBasicStyle(selectStyle, selectedShape);\n selectedShape.selected = true;\n // const dimensions = selectedShape.getDimensions()\n\n var newSelectShape = null;\n if (selectOpts.scalable || selectOpts.rotatable) {\n newSelectShape = new _xformShape2.default(xformStyle || defaultXformStyle, selectOpts);\n selectedShape.addChildXform(newSelectShape);\n }\n currSelectedShapes.set(selectedShape, newSelectShape);\n\n fireObject.selectedShapes = [selectedShape];\n return fireObject;\n}\n\nfunction clearSelectedShapes(selectedShapeMap) {\n selectedShapeMap.forEach(function (selectedShape, shape) {\n shape.restore();\n shape.selected = false;\n shape.removeChildXform(selectedShape);\n });\n selectedShapeMap.clear();\n}\n\nfunction clearSpecificShapes(selectedShapeMap, shapes) {\n var clearedShapes = [];\n shapes.forEach(function (shape) {\n var selectedShape = selectedShapeMap.get(shape);\n shape.restore();\n shape.selected = false;\n shape.removeChildXform(selectedShape);\n selectedShapeMap.delete(shape);\n clearedShapes.push(shape);\n });\n return clearedShapes;\n}\n\nvar hideCursor = function hideCursor() {\n var cursor = document.getElementById('cursor');\n if (cursor !== null) {\n cursor.style.display = 'none';\n }\n};\n\nvar showCursor = function showCursor() {\n var cursor = document.getElementById('cursor');\n if (cursor !== null) {\n cursor.style.display = 'block';\n }\n};\n\nvar hideCursorWithPointer = function hideCursorWithPointer(e) {\n e.target.parentNode.style.cursor = 'default';\n hideCursor();\n};\n\nvar showCursorWithPointer = function showCursorWithPointer(e) {\n e.target.parentNode.style.cursor = 'none';\n showCursor();\n};\n\n// understands how to return mouse coordinates as an object in the format {x: , y: }\n// accepts a mouse event and a DOM element as arguments\nfunction getMouseCoordinates(e, target) {\n var canvas = document.querySelector(\"\" + ('#' + target.id + ' canvas'));\n\n var coords = {\n 'x': e.offsetX + canvas.offsetLeft,\n 'y': e.offsetY + canvas.offsetTop\n };\n\n return coords;\n}\n\n// understands how to append custom cursors to the DOM\n// accepts a mouse event, a DOM element, a cursorStyle, and pixel offsets as arguments\nfunction appendCustomCursor(_event, target, cursorStyle) {\n var offsetX = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -14;\n var offsetY = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -14;\n\n var cursor = document.getElementById('cursor');\n var mouse = getMouseCoordinates(_event, target);\n\n if (cursor === null) {\n var newCursor = document.createElement('span');\n newCursor.setAttribute('id', 'cursor');\n newCursor.setAttribute('style', \"position: absolute; top: \" + (mouse.y + 'px') + \"; left: \" + (mouse.x + 'px') + \"; width: 28px; height: 28px; background: \" + cursorStyle + \"; cursor: none; z-index: 10; pointer-events: none; transform: translate(\" + offsetX + \"px, \" + offsetY + \"px)\");\n target.appendChild(newCursor);\n } else if (cursor.style.background !== cursorStyle) {\n cursor.style.background = cursorStyle;\n updateCursorPosition(_event, target);\n } else {\n updateCursorPosition(_event, target);\n }\n}\n\n// understands how to remove the custom cursor from the DOM\nfunction removeCustomCursor() {\n var cursor = document.getElementById('cursor');\n if (cursor !== null) {\n cursor.parentNode.removeChild(cursor);\n }\n}\n\n// understands how to change the position of the custom cursor on the page\n// accepts a mouse event and a DOM element as arguments\nfunction updateCursorPosition(_event, target) {\n var cursor = document.getElementById('cursor');\n var mouse = getMouseCoordinates(_event, target);\n\n if (cursor !== null) {\n cursor.style.top = \"\" + (mouse.y + 'px');\n cursor.style.left = \"\" + (mouse.x + 'px');\n }\n}\n\nvar ShapeBuilder = function (_DrawEngine) {\n _inherits(ShapeBuilder, _DrawEngine);\n\n function ShapeBuilder(parent, opts) {\n _classCallCheck(this, ShapeBuilder);\n\n return _possibleConstructorReturn(this, (ShapeBuilder.__proto__ || Object.getPrototypeOf(ShapeBuilder)).call(this, parent, opts));\n }\n\n _createClass(ShapeBuilder, [{\n key: \"_mousedownCB\",\n value: function _mousedownCB(event) {\n if (!inCanvas(this._drawCanvas, event.clientX, event.clientY)) {\n return;\n }\n\n this.timer = performance.now();\n\n Point2d.set(tmpPt1, event.offsetX, event.offsetY);\n Point2d.transformMat2d(tmpPt2, tmpPt1, this._camera.screenToWorldMatrix);\n var worldToScreenMatrix = this._camera.worldToScreenMatrix;\n var shapes = this.sortedShapes;\n var i = -1;\n var selectedShape = null;\n var selectedInfo = null;\n for (i = shapes.length - 1; i >= 0; i -= 1) {\n var shapeInfo = this._objects.get(shapes[i]);\n if (shapes[i].selected) {\n selectedShape = this._selectedShapes.get(shapes[i]);\n selectedInfo = shapeInfo;\n var hitInfo = null;\n if (selectedShape && (hitInfo = selectedShape.containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)).hit) {\n if (selectedShape instanceof _vertEditableShape2.default && event.altKey && hitInfo.controlIndex < shapes[i].numVerts) {\n shapes[i].removeVert(hitInfo.controlIndex);\n selectedShape = null;\n } else {\n var localXform = selectedShape.parent.localXform;\n var invLocalXform = _mat2d2.default.clone(localXform);\n _mat2d2.default.invert(invLocalXform, invLocalXform);\n var startObjPos = Point2d.clone(tmpPt2);\n Point2d.transformMat2d(startObjPos, startObjPos, invLocalXform);\n this._dragInfo = Object.assign({\n rotate: Boolean(hitInfo.rotate),\n controlIndex: hitInfo.controlIndex,\n startObjectPos: startObjPos,\n worldToObjectMatrix: invLocalXform,\n startLocalPos: selectedShape.parent.getPosition(),\n startLocalScale: selectedShape.parent.getScale(),\n startLocalRot: selectedShape.parent.getRotation(),\n shapeWidth: selectedShape.parent.width,\n shapeHeight: selectedShape.parent.height\n }, selectedInfo);\n }\n break;\n } else if (shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n selectedShape = shapes[i];\n break;\n }\n }\n // else if (shapeInfo.selectable && shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n // selectedShape = shapes[i]\n // selectedInfo = shapeInfo\n // const selectEventObj = selectShape(selectedShape, shapes, this._selectedShapes, this._selectStyle, this._xformStyle, selectedInfo)\n // this.fire(EventConstants.SELECTION_CHANGED, selectEventObj)\n // break\n // }\n }\n\n if (i < 0 && this._selectedShapes.size) {\n if (this._selectedShapes.size) {\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: getSelectedObjsFromMap(this._selectedShapes),\n selectedShapes: []\n });\n }\n this._dragInfo = null;\n clearSelectedShapes(this._selectedShapes);\n } else if (selectedShape && selectedInfo && (selectedInfo.movable || selectedInfo.rotatable || selectedInfo.scalable)) {\n var canvas = document.querySelector(\"\" + ('#' + this._parent.id + ' > canvas'));\n if (canvas !== null) {\n canvas.addEventListener('mouseout', hideCursorWithPointer);\n canvas.addEventListener('mouseover', showCursorWithPointer);\n } else {\n this._parent.addEventListener('mouseout', hideCursor);\n this._parent.addEventListener('mouseover', showCursor);\n }\n if (!this._dragInfo && selectedInfo.movable) {\n this._dragInfo = {\n startLocalPos: selectedShape.getPosition()\n };\n }\n\n if (this._dragInfo) {\n this._dragInfo.shape = selectedShape;\n this._dragInfo.startPos = Point2d.clone(tmpPt1);\n this._dragInfo.startWorldPos = Point2d.clone(tmpPt2);\n this._dragInfo.objectToWorldMatrix = _mat2d2.default.clone(selectedShape.globalXform);\n addEventKeysToSelectedInfo(event, this._dragInfo);\n event.stopImmediatePropagation();\n this.fire(EventConstants.DRAG_BEGIN, {\n shapes: getSelectedObjsFromMap(this._selectedShapes)\n });\n }\n }\n event.preventDefault();\n }\n }, {\n key: \"_mouseupCB\",\n value: function _mouseupCB(event) {\n if (this._dragInfo && this._dragInfo.shape) {\n event.stopImmediatePropagation();\n event.preventDefault();\n var canvas = document.querySelector(\"\" + ('#' + this._parent.id + ' > canvas'));\n if (canvas !== null) {\n canvas.removeEventListener('mouseout', hideCursorWithPointer);\n canvas.removeEventListener('mouseover', showCursorWithPointer);\n } else {\n this._parent.removeEventListener('mouseout', hideCursor);\n this._parent.removeEventListener('mouseover', showCursor);\n }\n this._dragInfo = null;\n this.fire(EventConstants.DRAG_END, {\n shapes: getSelectedObjsFromMap(this._selectedShapes)\n });\n } else if (performance.now() - this.timer < 500) {\n // this is a relatively quick click\n Point2d.set(tmpPt1, event.offsetX, event.offsetY);\n Point2d.transformMat2d(tmpPt2, tmpPt1, this._camera.screenToWorldMatrix);\n var worldToScreenMatrix = this._camera.worldToScreenMatrix;\n var shapes = this.sortedShapes;\n var selectedShape = null;\n var selectedInfo = null;\n for (var i = shapes.length - 1; i >= 0; i -= 1) {\n selectedInfo = this._objects.get(shapes[i]);\n if (selectedInfo.selectable && shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n selectedShape = shapes[i];\n break;\n }\n }\n if (selectedShape && !selectedShape.selected) {\n var selectEventObj = _selectShape(selectedShape, shapes, this._selectedShapes, this._selectStyle, this._xformStyle, selectedInfo);\n this.fire(EventConstants.SELECTION_CHANGED, selectEventObj);\n }\n }\n }\n }, {\n key: \"_mousemoveCB\",\n value: function _mousemoveCB(event) {\n var incanvas = false;\n if (!(incanvas = inCanvas(this._drawCanvas, event.clientX, event.clientY)) && !this._dragInfo) {\n return;\n }\n\n if (this._dragInfo && this._dragInfo.shape) {\n updateCursorPosition(event, this._parent);\n addEventKeysToSelectedInfo(event, this._dragInfo);\n transformSelectedShape(this._drawCanvas, event, this._dragInfo, this._camera);\n event.stopImmediatePropagation();\n event.preventDefault();\n } else if (!event.buttons && this._selectedShapes.size) {\n Point2d.set(tmpPt1, event.offsetX, event.offsetY);\n Point2d.transformMat2d(tmpPt2, tmpPt1, this._camera.screenToWorldMatrix);\n var worldToScreenMatrix = this._camera.worldToScreenMatrix;\n var shapes = this.sortedShapes;\n var i = 0;\n var flipy = this._camera.isYFlipped();\n for (i = shapes.length - 1; i >= 0; i -= 1) {\n if (shapes[i].selected) {\n var selectInfo = this._objects.get(shapes[i]);\n var selectedShape = this._selectedShapes.get(shapes[i]);\n var hitInfo = null;\n var cursor = document.getElementById('cursor');\n this._parent.style.cursor = 'none';\n // forEach not supported on nodelist in IE/Edge\n for (var _i = 0; _i < this._parent.childNodes.length; _i++) {\n if (this._parent.childNodes[_i].nodeName.toLowerCase() === 'canvas') {\n continue;\n }\n this._parent.childNodes[_i].style.cursor = 'none';\n this._parent.childNodes[_i].style.pointerEvents = 'none';\n }\n if (selectedShape && (hitInfo = selectedShape.containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)).hit) {\n if (selectedShape instanceof _xformShape2.default) {\n if (hitInfo.rotate) {\n var degrees = shapes[i].getRotation();\n if (flipy) {\n degrees *= -1;\n if (hitInfo.controlIndex === 1) {\n degrees -= 90;\n } else if (hitInfo.controlIndex === 0) {\n degrees += 180;\n } else if (hitInfo.controlIndex === 2) {\n degrees += 90;\n }\n } else {\n if (hitInfo.controlIndex === 0) {\n degrees -= 90;\n } else if (hitInfo.controlIndex === 1) {\n degrees += 180;\n } else if (hitInfo.controlIndex === 3) {\n degrees += 90;\n }\n }\n appendCustomCursor(event, this._parent, \"\" + rotateSvg.replace(/\\/g, \"\" + degrees));\n } else if (hitInfo.controlIndex < 4) {\n if (hitInfo.controlIndex === 0 || hitInfo.controlIndex === 3) {\n appendCustomCursor(event, this._parent, \"\" + scaleSvg.replace(/\\/g, \"\" + (-shapes[i].getRotation() - 45)));\n } else if (hitInfo.controlIndex === 1 || hitInfo.controlIndex === 2) {\n appendCustomCursor(event, this._parent, \"\" + scaleSvg.replace(/\\/g, \"\" + (-shapes[i].getRotation() + 45)));\n }\n } else {\n if (hitInfo.controlIndex % 2 === 0) {\n appendCustomCursor(event, this._parent, \"\" + scaleSvg.replace(/\\/g, \"\" + -shapes[i].getRotation()));\n } else {\n appendCustomCursor(event, this._parent, \"\" + scaleSvg.replace(/\\/g, \"\" + (-shapes[i].getRotation() + 90)));\n }\n }\n } else if (selectedShape instanceof _vertEditableShape2.default) {\n this._parent.style.cursor = 'none';\n // forEach not supported on nodelist in IE/Edge\n for (var _i2 = 0; _i2 < this._parent.childNodes.length; _i2++) {\n if (this._parent.childNodes[_i2].nodeName.toLowerCase() === 'canvas') {\n continue;\n }\n this._parent.childNodes[_i2].style.cursor = 'none';\n this._parent.childNodes[_i2].style.pointerEvents = 'none';\n }\n if (hitInfo.controlIndex >= shapes[i].numVerts) {\n appendCustomCursor(event, this._parent, addSvg, -8, -6);\n } else if (event.altKey) {\n appendCustomCursor(event, this._parent, removeSvg, -8, -6);\n } else {\n appendCustomCursor(event, this._parent, repositionSvg, -14, -14);\n }\n }\n event.stopImmediatePropagation();\n event.preventDefault();\n break;\n } else if (shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n if (selectInfo && selectInfo.movable) {\n var _cursor = document.getElementById('cursor');\n if (_cursor !== null) {\n _cursor.parentNode.removeChild(_cursor);\n }\n this._parent.style.cursor = \"move\";\n for (var _i3 = 0; _i3 < this._parent.childNodes.length; _i3++) {\n if (this._parent.childNodes[_i3].nodeName.toLowerCase() === 'canvas') {\n continue;\n }\n this._parent.childNodes[_i3].style.cursor = 'move';\n }\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n break;\n }\n }\n }\n\n if (i < 0) {\n removeCustomCursor();\n this._parent.style.cursor = \"default\";\n // forEach not supported on nodelist in IE/Edge\n for (var _i4 = 0; _i4 < this._parent.childNodes.length; _i4++) {\n if (this._parent.childNodes[_i4].nodeName.toLowerCase() === 'canvas') {\n continue;\n }\n this._parent.childNodes[_i4].style.cursor = 'default';\n this._parent.childNodes[_i4].style.pointerEvents = 'auto';\n }\n }\n }\n }\n }, {\n key: \"_clickCB\",\n value: function _clickCB(event) {\n // noop\n }\n }, {\n key: \"_dblclickCB\",\n value: function _dblclickCB(event) {\n if (!inCanvas(this._drawCanvas, event.clientX, event.clientY)) {\n return;\n }\n\n Point2d.set(tmpPt1, event.offsetX, event.offsetY);\n Point2d.transformMat2d(tmpPt2, tmpPt1, this._camera.screenToWorldMatrix);\n var worldToScreenMatrix = this._camera.worldToScreenMatrix;\n var shapes = this.sortedShapes;\n var i = -1;\n for (i = shapes.length - 1; i >= 0; i -= 1) {\n var shapeInfo = this._objects.get(shapes[i]);\n if (shapeInfo.selectable && shapes[i].containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)) {\n if (shapeInfo.editable && shapes[i] instanceof _polyLine2.default) {\n var selectedShape = shapes[i];\n var doXform = false;\n if (shapes[i].selected) {\n var interactiveShape = this._selectedShapes.get(shapes[i]);\n if (interactiveShape) {\n selectedShape.restore();\n selectedShape.removeChildXform(interactiveShape);\n doXform = !(interactiveShape instanceof _xformShape2.default);\n }\n }\n\n selectedShape.selected = true;\n selectedShape.save();\n var maxZ = shapes[shapes.length - 1].zIndex;\n selectedShape.zIndex = maxZ + 1;\n _basicStyle2.default.copyBasicStyle(this._selectStyle, selectedShape);\n var newSelectShape = null;\n if (doXform) {\n if (shapeInfo.rotatable || shapeInfo.scalable) {\n newSelectShape = new _xformShape2.default(this._xformStyle || defaultXformStyle, shapeInfo);\n selectedShape.addChildXform(newSelectShape);\n }\n } else {\n newSelectShape = new _vertEditableShape2.default(selectedShape, this._xformStyle);\n selectedShape.addChildXform(newSelectShape);\n }\n this._selectedShapes.set(selectedShape, newSelectShape);\n } else if (!shapes[i].selected) {\n var selectEventObj = _selectShape(shapes[i], shapes, this._selectedShapes, this._selectStyle, this._xformStyle, shapeInfo);\n this.fire(EventConstants.SELECTION_CHANGED, selectEventObj);\n }\n break;\n }\n }\n\n if (i < 0 && this._selectedShapes.size) {\n if (this._selectedShapes.size) {\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: getSelectedObjsFromMap(this._selectedShapes),\n selectedShapes: []\n });\n }\n this._dragInfo = null;\n clearSelectedShapes(this._selectedShapes);\n } else {\n event.stopImmediatePropagation();\n }\n event.preventDefault();\n }\n }, {\n key: \"_mouseoverCB\",\n value: function _mouseoverCB(event) {\n // noop\n }\n }, {\n key: \"_mouseoutCB\",\n value: function _mouseoutCB(event) {\n // noop\n }\n }, {\n key: \"_init\",\n value: function _init(parent, opts) {\n this._activated = opts && opts.enableInteractions;\n _get(ShapeBuilder.prototype.__proto__ || Object.getPrototypeOf(ShapeBuilder.prototype), \"_init\", this).call(this, parent, opts, this._activated);\n var myevents = Object.getOwnPropertyNames(EventConstants).map(function (event) {\n return EventConstants[event];\n });\n this.registerEvents(myevents);\n this._dragInfo = null;\n this._selectedShapes = new Map();\n this._selectStyle = new _basicStyle2.default(opts && opts.selectStyle ? opts.selectStyle : {\n fillColor: \"orange\"\n });\n\n this._xformStyle = new _basicStyle2.default(opts && opts.xformStyle ? opts.xformStyle : {\n fillColor: \"white\",\n strokeColor: \"black\",\n strokeWidth: 2\n });\n\n this.timer = 0;\n }\n }, {\n key: \"_renderShapes\",\n value: function _renderShapes(ctx, drawShapes, camera) {\n var _this2 = this;\n\n var worldToScreenMat = camera.worldToScreenMatrix;\n drawShapes.forEach(function (shape) {\n if (shape.visible) {\n shape.render(ctx, worldToScreenMat, _this2._styleState);\n // shape.renderBounds(ctx, worldToScreenMat, boundsStrokeStyle)\n if (shape.selected) {\n var interacShape = _this2._selectedShapes.get(shape);\n if (interacShape) {\n interacShape.render(ctx, worldToScreenMat, _this2._styleState);\n // interacShape.renderBounds(ctx, worldToScreenMat, boundsStrokeStyle)\n }\n }\n }\n });\n }\n }, {\n key: \"selectShape\",\n value: function selectShape(shape) {\n var shapeInfo = this._objects.get(shape);\n if (shapeInfo && shapeInfo.selectable) {\n var selectEventObj = _selectShape(shape, this.sortedShapes, this._selectedShapes, this._selectStyle, this._xformStyle, shapeInfo);\n this.fire(EventConstants.SELECTION_CHANGED, selectEventObj);\n }\n }\n }, {\n key: \"clearSelection\",\n value: function clearSelection() {\n if (this._selectedShapes.size) {\n var selectedShapes = getSelectedObjsFromMap(this._selectedShapes);\n clearSelectedShapes(this._selectedShapes);\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: selectedShapes,\n selectedShapes: []\n });\n this._rerenderCb();\n }\n }\n }, {\n key: \"addShape\",\n value: function addShape(shape) {\n var _this3 = this;\n\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var select = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var shapes = shape;\n if (!Array.isArray(shapes)) {\n shapes = [shape];\n }\n\n _get(ShapeBuilder.prototype.__proto__ || Object.getPrototypeOf(ShapeBuilder.prototype), \"addShape\", this).call(this, shapes);\n shapes.forEach(function (shape) {\n var shapeInfo = _this3._objects.get(shape);\n if (shapeInfo) {\n shapeInfo.selectable = opts && typeof opts.selectable !== \"undefined\" ? Boolean(opts.selectable) : true;\n shapeInfo.movable = opts && typeof opts.movable !== \"undefined\" ? Boolean(opts.movable) : true;\n shapeInfo.rotatable = opts && typeof opts.rotatable !== \"undefined\" ? Boolean(opts.rotatable) : true;\n shapeInfo.scalable = opts && typeof opts.scalable !== \"undefined\" ? Boolean(opts.scalable) : true;\n shapeInfo.uniformScaleOnly = opts && typeof opts.uniformScaleOnly !== \"undefined\" ? Boolean(opts.uniformScaleOnly) : false;\n shapeInfo.centerScaleOnly = opts && typeof opts.centerScaleOnly !== \"undefined\" ? Boolean(opts.centerScaleOnly) : false;\n shapeInfo.editable = opts && typeof opts.editable !== \"undefined\" ? Boolean(opts.editable) : true;\n }\n });\n\n if (select) {\n var selectEventObj = {\n unselectedShapes: getSelectedObjsFromMap(this._selectedShapes)\n };\n var selectedShapes = [];\n shapes.forEach(function (shape) {\n var shapeInfo = _this3._objects.get(shape);\n if (shapeInfo.selectable) {\n _selectShape(shape, _this3.sortedShapes, _this3._selectedShapes, _this3._selectStyle, _this3._xformStyle, shapeInfo);\n selectedShapes.push(shape);\n }\n });\n\n if (selectedShapes.length) {\n selectEventObj.selectedShapes = selectedShapes;\n this.fire(EventConstants.SELECTION_CHANGED, selectEventObj);\n }\n }\n\n return this;\n }\n }, {\n key: \"deleteShape\",\n value: function deleteShape(shape) {\n var shapes = shape;\n if (!Array.isArray(shapes)) {\n shapes = [shape];\n }\n var selectClearedShapes = clearSpecificShapes(this._selectedShapes, shapes);\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: selectClearedShapes,\n selectedShapes: getSelectedObjsFromMap(this._selectedShapes)\n });\n return _get(ShapeBuilder.prototype.__proto__ || Object.getPrototypeOf(ShapeBuilder.prototype), \"deleteShape\", this).call(this, shapes);\n }\n }, {\n key: \"deleteSelectedShapes\",\n value: function deleteSelectedShapes() {\n var selectedShapes = getSelectedObjsFromMap(this._selectedShapes);\n clearSelectedShapes(this._selectedShapes);\n this.fire(EventConstants.SELECTION_CHANGED, {\n unselectedShapes: selectedShapes,\n selectedShapes: []\n });\n return _get(ShapeBuilder.prototype.__proto__ || Object.getPrototypeOf(ShapeBuilder.prototype), \"deleteShape\", this).call(this, selectedShapes);\n }\n }, {\n key: \"enableInteractions\",\n value: function enableInteractions() {\n this._enableEvents();\n this._activated = true;\n return this;\n }\n }, {\n key: \"disableInteractions\",\n value: function disableInteractions() {\n var clearSelection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (clearSelection) {\n this.clearSelection();\n }\n this._disableEvents();\n this._activated = false;\n return this;\n }\n }, {\n key: \"selectStyle\",\n set: function set(selectStyle) {\n _basicStyle2.default.copyBasicStyle(selectStyle, this._selectStyle);\n },\n get: function get() {\n return this._selectStyle;\n }\n }, {\n key: \"selectedShapes\",\n get: function get() {\n return getSelectedObjsFromMap(this._selectedShapes);\n }\n }, {\n key: \"interactionsEnabled\",\n get: function get() {\n return this._activated;\n }\n }]);\n\n return ShapeBuilder;\n}(_drawEngine2.default);\n\nexports.default = ShapeBuilder;\n\n\nObject.assign(EventConstants, _drawEngine2.default.EventConstants);\nShapeBuilder.EventConstants = EventConstants;//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9lbmdpbmUvc2hhcGUtYnVpbGRlci5qcz8yNjg0Il0sIm5hbWVzIjpbIkludGVyYWN0VXRpbHMiLCJQb2ludDJkIiwic2NhbGVTdmciLCJyb3RhdGVTdmciLCJhZGRTdmciLCJyZW1vdmVTdmciLCJyZXBvc2l0aW9uU3ZnIiwiRXZlbnRDb25zdGFudHMiLCJTRUxFQ1RJT05fQ0hBTkdFRCIsIkRSQUdfQkVHSU4iLCJEUkFHX0VORCIsInRtcFB0MSIsImNyZWF0ZSIsInRtcFB0MiIsImJvdW5kc1N0cm9rZVN0eWxlIiwic3Ryb2tlQ29sb3IiLCJzdHJva2VXaWR0aCIsImRlZmF1bHRYZm9ybVN0eWxlIiwiZmlsbENvbG9yIiwiaW5DYW52YXMiLCJjYW52YXMiLCJ4IiwieSIsImRvbXJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJsb2NhbFgiLCJsb2NhbFkiLCJsZWZ0IiwiY2xpZW50TGVmdCIsImNsaWVudFdpZHRoIiwidG9wIiwiY2xpZW50VG9wIiwiY2xpZW50SGVpZ2h0IiwiZ2V0TG9jYWxNb3VzZVBvcyIsIm91dCIsImVsZW0iLCJldmVudCIsImNsaWVudFgiLCJjbGllbnRZIiwidHJhbnNmb3JtU2VsZWN0ZWRTaGFwZSIsInNlbGVjdGVkSW5mbyIsImNhbWVyYSIsInRyYW5zZm9ybU1hdDJkIiwic2NyZWVuVG9Xb3JsZE1hdHJpeCIsInNoYXBlIiwidHJhbnNmb3JtWGZvcm1TaGFwZSIsInRyYW5zbGF0ZVZlcnQiLCJ0cmFuc2xhdGVTaGFwZSIsImFkZEV2ZW50S2V5c1RvU2VsZWN0ZWRJbmZvIiwia2V5cyIsImFsdEtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsIm1ldGFLZXkiLCJnZXRTZWxlY3RlZE9ianNGcm9tTWFwIiwic2VsZWN0aW9uTWFwIiwic2VsZWN0ZWRPYmpzIiwiZm9yRWFjaCIsInN1YnNoYXBlIiwicHVzaCIsInNlbGVjdFNoYXBlIiwic2VsZWN0ZWRTaGFwZSIsInNvcnRlZFNoYXBlcyIsImN1cnJTZWxlY3RlZFNoYXBlcyIsInNlbGVjdFN0eWxlIiwieGZvcm1TdHlsZSIsInNlbGVjdE9wdHMiLCJmaXJlT2JqZWN0IiwidW5zZWxlY3RlZFNoYXBlcyIsImNsZWFyU2VsZWN0ZWRTaGFwZXMiLCJzYXZlIiwibWF4WiIsImxlbmd0aCIsInpJbmRleCIsImNvcHlCYXNpY1N0eWxlIiwic2VsZWN0ZWQiLCJuZXdTZWxlY3RTaGFwZSIsInNjYWxhYmxlIiwicm90YXRhYmxlIiwiYWRkQ2hpbGRYZm9ybSIsInNldCIsInNlbGVjdGVkU2hhcGVzIiwic2VsZWN0ZWRTaGFwZU1hcCIsInJlc3RvcmUiLCJyZW1vdmVDaGlsZFhmb3JtIiwiY2xlYXIiLCJjbGVhclNwZWNpZmljU2hhcGVzIiwic2hhcGVzIiwiY2xlYXJlZFNoYXBlcyIsImdldCIsImRlbGV0ZSIsImhpZGVDdXJzb3IiLCJjdXJzb3IiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwic3R5bGUiLCJkaXNwbGF5Iiwic2hvd0N1cnNvciIsImhpZGVDdXJzb3JXaXRoUG9pbnRlciIsImUiLCJ0YXJnZXQiLCJwYXJlbnROb2RlIiwic2hvd0N1cnNvcldpdGhQb2ludGVyIiwiZ2V0TW91c2VDb29yZGluYXRlcyIsInF1ZXJ5U2VsZWN0b3IiLCJpZCIsImNvb3JkcyIsIm9mZnNldFgiLCJvZmZzZXRMZWZ0Iiwib2Zmc2V0WSIsIm9mZnNldFRvcCIsImFwcGVuZEN1c3RvbUN1cnNvciIsIl9ldmVudCIsImN1cnNvclN0eWxlIiwibW91c2UiLCJuZXdDdXJzb3IiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiYXBwZW5kQ2hpbGQiLCJiYWNrZ3JvdW5kIiwidXBkYXRlQ3Vyc29yUG9zaXRpb24iLCJyZW1vdmVDdXN0b21DdXJzb3IiLCJyZW1vdmVDaGlsZCIsIlNoYXBlQnVpbGRlciIsInBhcmVudCIsIm9wdHMiLCJfZHJhd0NhbnZhcyIsInRpbWVyIiwicGVyZm9ybWFuY2UiLCJub3ciLCJfY2FtZXJhIiwid29ybGRUb1NjcmVlbk1hdHJpeCIsImkiLCJzaGFwZUluZm8iLCJfb2JqZWN0cyIsIl9zZWxlY3RlZFNoYXBlcyIsImhpdEluZm8iLCJjb250YWluc1BvaW50IiwiX2RyYXdDdHgiLCJoaXQiLCJjb250cm9sSW5kZXgiLCJudW1WZXJ0cyIsInJlbW92ZVZlcnQiLCJsb2NhbFhmb3JtIiwiaW52TG9jYWxYZm9ybSIsImNsb25lIiwiaW52ZXJ0Iiwic3RhcnRPYmpQb3MiLCJfZHJhZ0luZm8iLCJPYmplY3QiLCJhc3NpZ24iLCJyb3RhdGUiLCJCb29sZWFuIiwic3RhcnRPYmplY3RQb3MiLCJ3b3JsZFRvT2JqZWN0TWF0cml4Iiwic3RhcnRMb2NhbFBvcyIsImdldFBvc2l0aW9uIiwic3RhcnRMb2NhbFNjYWxlIiwiZ2V0U2NhbGUiLCJzdGFydExvY2FsUm90IiwiZ2V0Um90YXRpb24iLCJzaGFwZVdpZHRoIiwid2lkdGgiLCJzaGFwZUhlaWdodCIsImhlaWdodCIsInNpemUiLCJmaXJlIiwibW92YWJsZSIsIl9wYXJlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwic3RhcnRQb3MiLCJzdGFydFdvcmxkUG9zIiwib2JqZWN0VG9Xb3JsZE1hdHJpeCIsImdsb2JhbFhmb3JtIiwic3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VsZWN0YWJsZSIsInNlbGVjdEV2ZW50T2JqIiwiX3NlbGVjdFN0eWxlIiwiX3hmb3JtU3R5bGUiLCJpbmNhbnZhcyIsImJ1dHRvbnMiLCJmbGlweSIsImlzWUZsaXBwZWQiLCJzZWxlY3RJbmZvIiwiY2hpbGROb2RlcyIsIm5vZGVOYW1lIiwidG9Mb3dlckNhc2UiLCJwb2ludGVyRXZlbnRzIiwiZGVncmVlcyIsInJlcGxhY2UiLCJlZGl0YWJsZSIsImRvWGZvcm0iLCJpbnRlcmFjdGl2ZVNoYXBlIiwiX2FjdGl2YXRlZCIsImVuYWJsZUludGVyYWN0aW9ucyIsIm15ZXZlbnRzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsIm1hcCIsInJlZ2lzdGVyRXZlbnRzIiwiTWFwIiwiY3R4IiwiZHJhd1NoYXBlcyIsIndvcmxkVG9TY3JlZW5NYXQiLCJ2aXNpYmxlIiwicmVuZGVyIiwiX3N0eWxlU3RhdGUiLCJpbnRlcmFjU2hhcGUiLCJfcmVyZW5kZXJDYiIsInNlbGVjdCIsIkFycmF5IiwiaXNBcnJheSIsInVuaWZvcm1TY2FsZU9ubHkiLCJjZW50ZXJTY2FsZU9ubHkiLCJzZWxlY3RDbGVhcmVkU2hhcGVzIiwiX2VuYWJsZUV2ZW50cyIsImNsZWFyU2VsZWN0aW9uIiwiX2Rpc2FibGVFdmVudHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0FBRUE7O0lBQVlBLGE7O0FBQ1o7O0lBQVlDLE87O0FBQ1o7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUMsV0FBVyxtV0FBakI7O0FBRUEsSUFBTUMsWUFBWSwrbkJBQWxCOztBQUVBLElBQU1DLFNBQVMsa2tCQUFmOztBQUVBLElBQU1DLFlBQVksMlpBQWxCOztBQUVBLElBQU1DLGdCQUFnQixzbEJBQXRCOztBQUVBLElBQU1DLGlCQUFpQjtBQUNyQkMscUJBQW1CLHVCQURFO0FBRXJCQyxjQUFZLGlCQUZTO0FBR3JCQyxZQUFVO0FBSFcsQ0FBdkI7O0FBTUEsSUFBTUMsU0FBU1YsUUFBUVcsTUFBUixDQUFlLENBQWYsRUFBa0IsQ0FBbEIsQ0FBZjtBQUNBLElBQU1DLFNBQVNaLFFBQVFXLE1BQVIsQ0FBZSxDQUFmLEVBQWtCLENBQWxCLENBQWY7O0FBRUEsSUFBTUUsb0JBQW9CLDBCQUFnQjtBQUN4Q0MsZUFBYSxVQUQyQjtBQUV4Q0MsZUFBYTtBQUYyQixDQUFoQixDQUExQjs7QUFLQSxJQUFNQyxvQkFBb0I7QUFDeEJDLGFBQVcsT0FEYTtBQUV4QkgsZUFBYSxPQUZXO0FBR3hCQyxlQUFhO0FBSFcsQ0FBMUI7O0FBTUEsU0FBU0csUUFBVCxDQUFrQkMsTUFBbEIsRUFBMEJDLENBQTFCLEVBQTZCQyxDQUE3QixFQUFn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QUF2QjtBQUNBbEUsMEJBQW9CLEtBQUtrRSxlQUF6QjtBQUNBLFdBQUsrQixJQUFMLENBQVUvSixlQUFlQyxpQkFBekIsRUFBNEM7QUFDMUM0RCwwQkFBa0JhLGNBRHdCO0FBRTFDQSx3QkFBZ0I7QUFGMEIsT0FBNUM7QUFJQSxxSUFBeUJBLGNBQXpCO0FBQ0Q7Ozt5Q0FNb0I7QUFDbkIsV0FBS3VJLGFBQUw7QUFDQSxXQUFLckIsVUFBTCxHQUFrQixJQUFsQjtBQUNBLGFBQU8sSUFBUDtBQUNEOzs7MENBRTBDO0FBQUEsVUFBdkJzQixjQUF1Qix1RUFBTixJQUFNOztBQUN6QyxVQUFJQSxjQUFKLEVBQW9CO0FBQ2xCLGFBQUtBLGNBQUw7QUFDRDtBQUNELFdBQUtDLGNBQUw7QUFDQSxXQUFLdkIsVUFBTCxHQUFrQixLQUFsQjtBQUNBLGFBQU8sSUFBUDtBQUNEOzs7c0JBbkhlbkksVyxFQUFhO0FBQzNCLDJCQUFXVSxjQUFYLENBQTBCVixXQUExQixFQUF1QyxLQUFLbUgsWUFBNUM7QUFDRCxLO3dCQUVpQjtBQUNoQixhQUFPLEtBQUtBLFlBQVo7QUFDRDs7O3dCQUVvQjtBQUNuQixhQUFPN0gsdUJBQXVCLEtBQUtpRixlQUE1QixDQUFQO0FBQ0Q7Ozt3QkF3RnlCO0FBQ3hCLGFBQU8sS0FBSzRELFVBQVo7QUFDRDs7Ozs7O2tCQWpla0J4RSxZOzs7QUFtZnJCMEIsT0FBT0MsTUFBUCxDQUFjL0ksY0FBZCxFQUE4QixxQkFBV0EsY0FBekM7QUFDQW9ILGFBQWFwSCxjQUFiLEdBQThCQSxjQUE5QiIsImZpbGUiOiIyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiXG5cbmltcG9ydCAqIGFzIEludGVyYWN0VXRpbHMgZnJvbSBcIi4uL2ludGVyYWN0aW9ucy9pbnRlcmFjdC11dGlsc1wiXG5pbXBvcnQgKiBhcyBQb2ludDJkIGZyb20gXCIuLi9jb3JlL3BvaW50MmRcIlxuaW1wb3J0IEJhc2ljU3R5bGUgZnJvbSBcIi4uL3N0eWxlL2Jhc2ljLXN0eWxlXCJcbmltcG9ydCBEcmF3RW5naW5lIGZyb20gXCIuL2RyYXctZW5naW5lXCJcbmltcG9ydCBNYXQyZCBmcm9tIFwiLi4vY29yZS9tYXQyZFwiXG5pbXBvcnQgUG9seUxpbmUgZnJvbSBcIi4uL3NoYXBlcy9wb2x5LWxpbmVcIlxuaW1wb3J0IFN0cm9rZVN0eWxlIGZyb20gXCIuLi9zdHlsZS9zdHJva2Utc3R5bGVcIlxuaW1wb3J0IFZlcnRFZGl0YWJsZVNoYXBlIGZyb20gXCIuLi9pbnRlcmFjdGlvbnMvdmVydC1lZGl0YWJsZS1zaGFwZVwiXG5pbXBvcnQgWGZvcm1TaGFwZSBmcm9tIFwiLi4vaW50ZXJhY3Rpb25zL3hmb3JtLXNoYXBlXCJcblxuY29uc3Qgc2NhbGVTdmcgPSBcInVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0OCA0OCclM0UlM0NnIHRyYW5zZm9ybT0ncm90YXRlKDxkZWdyZWVzPiwyNCwyNCknJTNFJTNDcG9seWdvbiBzdHlsZT0nZmlsbDolMjNmZmZmZmY7JyBwb2ludHM9JzE2LDIwIDE2LDEyIDQsMjQgMTYsMzYgMTYsMjggMzIsMjggMzIsMzYgNDQsMjQgMzIsMTIgMzIsMjAgJy8lM0UlM0Nwb2x5Z29uIHBvaW50cz0nMTQsMjIgMTQsMTcgNywyNCAxNCwzMSAxNCwyNiAzNCwyNiAzNCwzMSA0MSwyNCAzNCwxNyAzNCwyMiAnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVxcXCIpIG5vLXJlcGVhdFwiXG5cbmNvbnN0IHJvdGF0ZVN2ZyA9IFwidXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ4IDQ4JyUzRSUzQ2cgdHJhbnNmb3JtPSdyb3RhdGUoPGRlZ3JlZXM+LDI0LDI0KSclM0UlM0NwYXRoIHN0eWxlPSdmaWxsOiUyM2ZmZmZmZjsnIGQ9J00yNS45LDRDMTYuNiw0LDguOCwxMS4yLDcuNCwyMC44SDYuN0gzLjNsMS42LDIuOWwzLjgsNy4xbDEuOCwzLjNsMS44LTMuM2wzLjgtNy4xbDEuNi0yLjloLTMuM2gtMC4xIGMxLjMtNS43LDYuMS05LjksMTEuNy05LjljOCwwLDEyLjEsNC40LDEyLjEsMTMuMWMwLDcuMi01LjQsMTMuMS0xMi4xLDEzLjFoLTJ2MlY0MnYyaDJjMTAuNCwwLDE4LjgtOSwxOC44LTIwIEM0NC43LDExLjcsMzcuNSw0LDI1LjksNEwyNS45LDR6Jy8lM0UlM0NwYXRoIGQ9J00yNS45LDZjMTAuNSwwLDE2LjgsNi43LDE2LjgsMThjMCw5LjktNy41LDE4LTE2LjgsMTh2LTIuOWM3LjgsMCwxNC4xLTYuOCwxNC4xLTE1LjFjMC01LjYtMS44LTE1LjEtMTQuMS0xNS4xIGMtNy40LDAtMTMuNCw2LjEtMTQsMTMuOWgyLjRsLTMuOCw3LjFsLTMuOC03LjFoMi41QzkuNywxMy40LDE3LDYsMjUuOSw2Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcXFwiKSBuby1yZXBlYXRcIlxuXG5jb25zdCBhZGRTdmcgPSBcInVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0OCA0OCclM0UlM0Nwb2x5Z29uIHN0eWxlPSdmaWxsOiUyM2ZmZmZmZjsnIHBvaW50cz0nMzEuMiwyOCAyNC44LDI4IDI0LjgsMzIuOCAyMCwzMi44IDIwLDM5LjIgMjQuOCwzOS4yIDI0LjgsNDQgMzEuMiw0NCAzMS4yLDM5LjIgMzYsMzkuMiAzNiwzMi44IDMxLjIsMzIuOCAnLyUzRSAlM0Nwb2x5Z29uIHN0eWxlPSdmaWxsOiUyM2ZmZmZmZicgcG9pbnRzPScxMiwzMiAxMiw0IDMyLjMsMjQuMyAyMCwyNC4zIDE5LjcsMjQuNiAnLyUzRSUzQ3BvbHlnb24gcG9pbnRzPScxMy44LDguMiAxMy44LDI3LjggMTksMjIuOCAxOS4yLDIyLjUgMjgsMjIuNSAnLyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjkuNiwyOS42IDI5LjYsMzQuNCAzNC40LDM0LjQgMzQuNCwzNy42IDI5LjYsMzcuNiAyOS42LDQyLjQgMjYuNCw0Mi40IDI2LjQsMzcuNiAyMS42LDM3LjYgMjEuNiwzNC40IDI2LjQsMzQuNCAyNi40LDI5LjYgMjkuNiwyOS42ICAnLyUzRSUzQy9zdmclM0VcXFwiKSBuby1yZXBlYXRcIlxuXG5jb25zdCByZW1vdmVTdmcgPSBcInVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0OCA0OCclM0UlM0NyZWN0IHN0eWxlPSdmaWxsOiUyM2ZmZmZmZjsnIHg9JzIwJyB5PSczMi44JyB3aWR0aD0nMTYnIGhlaWdodD0nNi40Jy8lM0UlM0Nwb2x5Z29uICBzdHlsZT0nZmlsbDolMjNmZmZmZmY7JyBwb2ludHM9JzEyLDMyIDEyLDQgMzIuMywyNC4zIDIwLDI0LjMgMTkuNywyNC42ICcvJTNFJTNDcG9seWdvbiBwb2ludHM9JzEzLjgsOC4yIDEzLjgsMjcuOCAxOSwyMi44IDE5LjIsMjIuNSAyOCwyMi41ICcvJTNFJTNDcG9seWxpbmUgcG9pbnRzPSczNC40LDM0LjQgMzQuNCwzNy42IDIxLjYsMzcuNiAyMS42LDM0LjQgJy8lM0UlM0Mvc3ZnJTNFXFxcIikgbm8tcmVwZWF0XCJcblxuY29uc3QgcmVwb3NpdGlvblN2ZyA9IFwidXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ4IDQ4JyUzRSUzQ3BhdGggc3R5bGU9J2ZpbGw6JTIzZmZmZmZmOycgZD0nTTI0LDE3LjVjLTMuNiwwLTYuNSwyLjktNi41LDYuNXMyLjksNi41LDYuNSw2LjVzNi41LTIuOSw2LjUtNi41UzI3LjYsMTcuNSwyNCwxNy41TDI0LDE3LjV6Jy8lM0UlM0NwYXRoIHN0eWxlPSdmaWxsOiUyM2ZmZmZmZjsnIGQ9J00yNCw0TDQsMjRsMjAsMjBsMjAtMjBMMjQsNHogTTMxLjUsMzEuNWgtMTV2LTE1aDE1VjMxLjV6Jy8lM0UlM0Nwb2x5Z29uIHBvaW50cz0nMTcsMzQgMjQsNDAuNSAzMSwzNCAgJy8lM0UlM0Nwb2x5Z29uIHBvaW50cz0nMzEsMTQgMjQsNy41IDE3LDE0ICAgICAnLyUzRSUzQ3BvbHlnb24gcG9pbnRzPScxNCwxNyA3LjUsMjQgMTQsMzEgICAnLyUzRSUzQ3BvbHlnb24gcG9pbnRzPSczNCwzMSA0MC41LDI0IDM0LDE3ICAgICcvJTNFJTNDcGF0aCBkPSdNMjQsMjBjMi4yLDAsNCwxLjgsNCw0cy0xLjgsNC00LDRzLTQtMS44LTQtNFMyMS44LDIwLDI0LDIwJy8lM0UlM0Mvc3ZnJTNFXFxcIikgbm8tcmVwZWF0XCJcblxuY29uc3QgRXZlbnRDb25zdGFudHMgPSB7XG4gIFNFTEVDVElPTl9DSEFOR0VEOiBcImRyYXc6c2VsZWN0aW9uQ2hhbmdlZFwiLFxuICBEUkFHX0JFR0lOOiBcImRyYXc6ZHJhZzpiZWdpblwiLFxuICBEUkFHX0VORDogXCJkcmF3OmRyYWc6ZW5kXCJcbn1cblxuY29uc3QgdG1wUHQxID0gUG9pbnQyZC5jcmVhdGUoMCwgMClcbmNvbnN0IHRtcFB0MiA9IFBvaW50MmQuY3JlYXRlKDAsIDApXG5cbmNvbnN0IGJvdW5kc1N0cm9rZVN0eWxlID0gbmV3IFN0cm9rZVN0eWxlKHtcbiAgc3Ryb2tlQ29sb3I6IFwiZGFya2dyYXlcIixcbiAgc3Ryb2tlV2lkdGg6IDJcbn0pXG5cbmNvbnN0IGRlZmF1bHRYZm9ybVN0eWxlID0ge1xuICBmaWxsQ29sb3I6IFwid2hpdGVcIixcbiAgc3Ryb2tlQ29sb3I6IFwiYmxhY2tcIixcbiAgc3Ryb2tlV2lkdGg6IDJcbn1cblxuZnVuY3Rpb24gaW5DYW52YXMoY2FudmFzLCB4LCB5KSB7XG4gIGNvbnN0IGRvbXJlY3QgPSBjYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgbGV0IGxvY2FsWCA9IDBcbiAgbGV0IGxvY2FsWSA9IDBcbiAgcmV0dXJuICgobG9jYWxYID0geCAtIGRvbXJlY3QubGVmdCAtIGNhbnZhcy5jbGllbnRMZWZ0KSA+PSAwICYmIGxvY2FsWCA8PSBjYW52YXMuY2xpZW50V2lkdGggJiYgKGxvY2FsWSA9IHkgLSBkb21yZWN0LnRvcCAtIGNhbnZhcy5jbGllbnRUb3ApID49IDAgJiYgbG9jYWxZIDw9IGNhbnZhcy5jbGllbnRIZWlnaHQpXG59XG5cbmZ1bmN0aW9uIGdldExvY2FsTW91c2VQb3Mob3V0LCBlbGVtLCBldmVudCkge1xuICBjb25zdCBkb21yZWN0ID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICBvdXRbMF0gPSBldmVudC5jbGllbnRYIC0gZG9tcmVjdC5sZWZ0IC0gZWxlbS5jbGllbnRMZWZ0XG4gIG91dFsxXSA9IGV2ZW50LmNsaWVudFkgLSBkb21yZWN0LnRvcCAtIGVsZW0uY2xpZW50VG9wXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlbGVjdGVkU2hhcGUoY2FudmFzLCBldmVudCwgc2VsZWN0ZWRJbmZvLCBjYW1lcmEpIHtcbiAgZ2V0TG9jYWxNb3VzZVBvcyh0bXBQdDEsIGNhbnZhcywgZXZlbnQpXG4gIFBvaW50MmQudHJhbnNmb3JtTWF0MmQodG1wUHQyLCB0bXBQdDEsIGNhbWVyYS5zY3JlZW5Ub1dvcmxkTWF0cml4KVxuICBjb25zdCBzaGFwZSA9IHNlbGVjdGVkSW5mby5zaGFwZVxuICBpZiAoc2hhcGUgaW5zdGFuY2VvZiBYZm9ybVNoYXBlKSB7XG4gICAgSW50ZXJhY3RVdGlscy50cmFuc2Zvcm1YZm9ybVNoYXBlKHNoYXBlLCBzZWxlY3RlZEluZm8sIHRtcFB0MSwgdG1wUHQyLCBjYW1lcmEpXG4gIH0gZWxzZSBpZiAoc2hhcGUgaW5zdGFuY2VvZiBWZXJ0RWRpdGFibGVTaGFwZSkge1xuICAgIEludGVyYWN0VXRpbHMudHJhbnNsYXRlVmVydChzaGFwZSwgc2VsZWN0ZWRJbmZvLCB0bXBQdDEsIHRtcFB0MiwgY2FtZXJhKVxuICB9IGVsc2Uge1xuICAgIEludGVyYWN0VXRpbHMudHJhbnNsYXRlU2hhcGUoc2hhcGUsIHNlbGVjdGVkSW5mbywgdG1wUHQxLCB0bXBQdDIsIGNhbWVyYSlcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRFdmVudEtleXNUb1NlbGVjdGVkSW5mbyhldmVudCwgc2VsZWN0ZWRJbmZvKSB7XG4gIHNlbGVjdGVkSW5mby5rZXlzID0ge1xuICAgIGFsdEtleTogZXZlbnQuYWx0S2V5LFxuICAgIGN0cmxLZXk6IGV2ZW50LmN0cmxLZXksXG4gICAgc2hpZnRLZXk6IGV2ZW50LnNoaWZ0S2V5LFxuICAgIG1ldGFLZXk6IGV2ZW50Lm1ldGFLZXlcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHNlbGVjdGlvbk1hcCkge1xuICBjb25zdCBzZWxlY3RlZE9ianMgPSBbXVxuICBzZWxlY3Rpb25NYXAuZm9yRWFjaCgoc3Vic2hhcGUsIHNoYXBlKSA9PiB7XG4gICAgc2VsZWN0ZWRPYmpzLnB1c2goc2hhcGUpXG4gIH0pXG4gIHJldHVybiBzZWxlY3RlZE9ianNcbn1cblxuZnVuY3Rpb24gc2VsZWN0U2hhcGUoc2VsZWN0ZWRTaGFwZSwgc29ydGVkU2hhcGVzLCBjdXJyU2VsZWN0ZWRTaGFwZXMsIHNlbGVjdFN0eWxlLCB4Zm9ybVN0eWxlLCBzZWxlY3RPcHRzKSB7XG4gIGNvbnN0IGZpcmVPYmplY3QgPSB7XG4gICAgdW5zZWxlY3RlZFNoYXBlczogZ2V0U2VsZWN0ZWRPYmpzRnJvbU1hcChjdXJyU2VsZWN0ZWRTaGFwZXMpXG4gIH1cbiAgY2xlYXJTZWxlY3RlZFNoYXBlcyhjdXJyU2VsZWN0ZWRTaGFwZXMpXG4gIHNlbGVjdGVkU2hhcGUuc2F2ZSgpXG4gIGNvbnN0IG1heFogPSBzb3J0ZWRTaGFwZXNbc29ydGVkU2hhcGVzLmxlbmd0aCAtIDFdLnpJbmRleFxuICBzZWxlY3RlZFNoYXBlLnpJbmRleCA9IG1heFogKyAxXG4gIEJhc2ljU3R5bGUuY29weUJhc2ljU3R5bGUoc2VsZWN0U3R5bGUsIHNlbGVjdGVkU2hhcGUpXG4gIHNlbGVjdGVkU2hhcGUuc2VsZWN0ZWQgPSB0cnVlXG4gICAgLy8gY29uc3QgZGltZW5zaW9ucyA9IHNlbGVjdGVkU2hhcGUuZ2V0RGltZW5zaW9ucygpXG5cbiAgbGV0IG5ld1NlbGVjdFNoYXBlID0gbnVsbFxuICBpZiAoc2VsZWN0T3B0cy5zY2FsYWJsZSB8fCBzZWxlY3RPcHRzLnJvdGF0YWJsZSkge1xuICAgIG5ld1NlbGVjdFNoYXBlID0gbmV3IFhmb3JtU2hhcGUoeGZvcm1TdHlsZSB8fCBkZWZhdWx0WGZvcm1TdHlsZSwgc2VsZWN0T3B0cylcbiAgICBzZWxlY3RlZFNoYXBlLmFkZENoaWxkWGZvcm0obmV3U2VsZWN0U2hhcGUpXG4gIH1cbiAgY3VyclNlbGVjdGVkU2hhcGVzLnNldChzZWxlY3RlZFNoYXBlLCBuZXdTZWxlY3RTaGFwZSlcblxuICBmaXJlT2JqZWN0LnNlbGVjdGVkU2hhcGVzID0gW3NlbGVjdGVkU2hhcGVdXG4gIHJldHVybiBmaXJlT2JqZWN0XG59XG5cbmZ1bmN0aW9uIGNsZWFyU2VsZWN0ZWRTaGFwZXMoc2VsZWN0ZWRTaGFwZU1hcCkge1xuICBzZWxlY3RlZFNoYXBlTWFwLmZvckVhY2goKHNlbGVjdGVkU2hhcGUsIHNoYXBlKSA9PiB7XG4gICAgc2hhcGUucmVzdG9yZSgpXG4gICAgc2hhcGUuc2VsZWN0ZWQgPSBmYWxzZVxuICAgIHNoYXBlLnJlbW92ZUNoaWxkWGZvcm0oc2VsZWN0ZWRTaGFwZSlcbiAgfSlcbiAgc2VsZWN0ZWRTaGFwZU1hcC5jbGVhcigpXG59XG5cbmZ1bmN0aW9uIGNsZWFyU3BlY2lmaWNTaGFwZXMoc2VsZWN0ZWRTaGFwZU1hcCwgc2hhcGVzKSB7XG4gIGNvbnN0IGNsZWFyZWRTaGFwZXMgPSBbXVxuICBzaGFwZXMuZm9yRWFjaChzaGFwZSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTaGFwZSA9IHNlbGVjdGVkU2hhcGVNYXAuZ2V0KHNoYXBlKVxuICAgIHNoYXBlLnJlc3RvcmUoKVxuICAgIHNoYXBlLnNlbGVjdGVkID0gZmFsc2VcbiAgICBzaGFwZS5yZW1vdmVDaGlsZFhmb3JtKHNlbGVjdGVkU2hhcGUpXG4gICAgc2VsZWN0ZWRTaGFwZU1hcC5kZWxldGUoc2hhcGUpXG4gICAgY2xlYXJlZFNoYXBlcy5wdXNoKHNoYXBlKVxuICB9KVxuICByZXR1cm4gY2xlYXJlZFNoYXBlc1xufVxuXG5jb25zdCBoaWRlQ3Vyc29yID0gZnVuY3Rpb24gKCkge1xuICBjb25zdCBjdXJzb3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3Vyc29yJylcbiAgaWYgKGN1cnNvciAhPT0gbnVsbCkge1xuICAgIGN1cnNvci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnXG4gIH1cbn1cblxuY29uc3Qgc2hvd0N1cnNvciA9IGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgY3Vyc29yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1cnNvcicpXG4gIGlmIChjdXJzb3IgIT09IG51bGwpIHtcbiAgICBjdXJzb3Iuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgfVxufVxuXG5jb25zdCBoaWRlQ3Vyc29yV2l0aFBvaW50ZXIgPSAoZSkgPT4ge1xuICBlLnRhcmdldC5wYXJlbnROb2RlLnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0J1xuICBoaWRlQ3Vyc29yKClcbn1cblxuY29uc3Qgc2hvd0N1cnNvcldpdGhQb2ludGVyID0gKGUpID0+IHtcbiAgZS50YXJnZXQucGFyZW50Tm9kZS5zdHlsZS5jdXJzb3IgPSAnbm9uZSdcbiAgc2hvd0N1cnNvcigpXG59XG5cbi8vIHVuZGVyc3RhbmRzIGhvdyB0byByZXR1cm4gbW91c2UgY29vcmRpbmF0ZXMgYXMgYW4gb2JqZWN0IGluIHRoZSBmb3JtYXQge3g6IDxYLUNPT1JEPiwgeTogPFktQ09PUkQ+fVxuLy8gYWNjZXB0cyBhIG1vdXNlIGV2ZW50IGFuZCBhIERPTSBlbGVtZW50IGFzIGFyZ3VtZW50c1xuZnVuY3Rpb24gZ2V0TW91c2VDb29yZGluYXRlcyhlLCB0YXJnZXQpIHtcbiAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgJHsnIycgKyB0YXJnZXQuaWQgKyAgJyBjYW52YXMnfWApXG5cbiAgY29uc3QgY29vcmRzID0ge1xuICAgICd4JzogZS5vZmZzZXRYICsgY2FudmFzLm9mZnNldExlZnQsXG4gICAgJ3knOiBlLm9mZnNldFkgKyBjYW52YXMub2Zmc2V0VG9wXG4gIH1cblxuICByZXR1cm4gY29vcmRzXG59XG5cbi8vIHVuZGVyc3RhbmRzIGhvdyB0byBhcHBlbmQgY3VzdG9tIGN1cnNvcnMgdG8gdGhlIERPTVxuLy8gYWNjZXB0cyBhIG1vdXNlIGV2ZW50LCBhIERPTSBlbGVtZW50LCBhIGN1cnNvclN0eWxlLCBhbmQgcGl4ZWwgb2Zmc2V0cyBhcyBhcmd1bWVudHNcbmZ1bmN0aW9uIGFwcGVuZEN1c3RvbUN1cnNvcihfZXZlbnQsIHRhcmdldCwgY3Vyc29yU3R5bGUsIG9mZnNldFggPSAtMTQsIG9mZnNldFkgPSAtMTQpIHtcbiAgY29uc3QgY3Vyc29yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1cnNvcicpXG4gIGNvbnN0IG1vdXNlID0gZ2V0TW91c2VDb29yZGluYXRlcyhfZXZlbnQsIHRhcmdldClcblxuICBpZiAoY3Vyc29yID09PSBudWxsKSB7XG4gICAgY29uc3QgbmV3Q3Vyc29yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gICAgbmV3Q3Vyc29yLnNldEF0dHJpYnV0ZSgnaWQnLCAnY3Vyc29yJylcbiAgICBuZXdDdXJzb3Iuc2V0QXR0cmlidXRlKCdzdHlsZScsIGBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogJHttb3VzZS55ICsgJ3B4J307IGxlZnQ6ICR7bW91c2UueCArICdweCd9OyB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBiYWNrZ3JvdW5kOiAke2N1cnNvclN0eWxlfTsgY3Vyc29yOiBub25lOyB6LWluZGV4OiAxMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKCR7b2Zmc2V0WH1weCwgJHtvZmZzZXRZfXB4KWApXG4gICAgdGFyZ2V0LmFwcGVuZENoaWxkKG5ld0N1cnNvcilcbiAgfSBlbHNlIGlmIChjdXJzb3Iuc3R5bGUuYmFja2dyb3VuZCAhPT0gY3Vyc29yU3R5bGUpIHtcbiAgICBjdXJzb3Iuc3R5bGUuYmFja2dyb3VuZCA9IGN1cnNvclN0eWxlXG4gICAgdXBkYXRlQ3Vyc29yUG9zaXRpb24oX2V2ZW50LCB0YXJnZXQpXG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlQ3Vyc29yUG9zaXRpb24oX2V2ZW50LCB0YXJnZXQpXG4gIH1cbn1cblxuLy8gdW5kZXJzdGFuZHMgaG93IHRvIHJlbW92ZSB0aGUgY3VzdG9tIGN1cnNvciBmcm9tIHRoZSBET01cbmZ1bmN0aW9uIHJlbW92ZUN1c3RvbUN1cnNvcigpIHtcbiAgY29uc3QgY3Vyc29yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1cnNvcicpXG4gIGlmIChjdXJzb3IgIT09IG51bGwpIHtcbiAgICBjdXJzb3IucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjdXJzb3IpXG4gIH1cbn1cblxuLy8gdW5kZXJzdGFuZHMgaG93IHRvIGNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIGN1c3RvbSBjdXJzb3Igb24gdGhlIHBhZ2Vcbi8vIGFjY2VwdHMgYSBtb3VzZSBldmVudCBhbmQgYSBET00gZWxlbWVudCBhcyBhcmd1bWVudHNcbmZ1bmN0aW9uIHVwZGF0ZUN1cnNvclBvc2l0aW9uKF9ldmVudCwgdGFyZ2V0KSB7XG4gIGNvbnN0IGN1cnNvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXJzb3InKVxuICBjb25zdCBtb3VzZSA9IGdldE1vdXNlQ29vcmRpbmF0ZXMoX2V2ZW50LCB0YXJnZXQpXG5cbiAgaWYgKGN1cnNvciAhPT0gbnVsbCkge1xuICAgIGN1cnNvci5zdHlsZS50b3AgPSBgJHttb3VzZS55ICsgJ3B4J31gXG4gICAgY3Vyc29yLnN0eWxlLmxlZnQgPSBgJHttb3VzZS54ICsgJ3B4J31gXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2hhcGVCdWlsZGVyIGV4dGVuZHMgRHJhd0VuZ2luZSB7XG4gIGNvbnN0cnVjdG9yKHBhcmVudCwgb3B0cykge1xuICAgIHN1cGVyKHBhcmVudCwgb3B0cylcbiAgfVxuXG4gIF9tb3VzZWRvd25DQihldmVudCkge1xuICAgIGlmICghaW5DYW52YXModGhpcy5fZHJhd0NhbnZhcywgZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMudGltZXIgPSBwZXJmb3JtYW5jZS5ub3coKVxuXG4gICAgUG9pbnQyZC5zZXQodG1wUHQxLCBldmVudC5vZmZzZXRYLCBldmVudC5vZmZzZXRZKVxuICAgIFBvaW50MmQudHJhbnNmb3JtTWF0MmQodG1wUHQyLCB0bXBQdDEsIHRoaXMuX2NhbWVyYS5zY3JlZW5Ub1dvcmxkTWF0cml4KVxuICAgIGNvbnN0IHdvcmxkVG9TY3JlZW5NYXRyaXggPSB0aGlzLl9jYW1lcmEud29ybGRUb1NjcmVlbk1hdHJpeFxuICAgIGNvbnN0IHNoYXBlcyA9IHRoaXMuc29ydGVkU2hhcGVzXG4gICAgbGV0IGkgPSAtMVxuICAgIGxldCBzZWxlY3RlZFNoYXBlID0gbnVsbFxuICAgIGxldCBzZWxlY3RlZEluZm8gPSBudWxsXG4gICAgZm9yIChpID0gc2hhcGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtPSAxKSB7XG4gICAgICBjb25zdCBzaGFwZUluZm8gPSB0aGlzLl9vYmplY3RzLmdldChzaGFwZXNbaV0pXG4gICAgICBpZiAoc2hhcGVzW2ldLnNlbGVjdGVkKSB7XG4gICAgICAgIHNlbGVjdGVkU2hhcGUgPSB0aGlzLl9zZWxlY3RlZFNoYXBlcy5nZXQoc2hhcGVzW2ldKVxuICAgICAgICBzZWxlY3RlZEluZm8gPSBzaGFwZUluZm9cbiAgICAgICAgbGV0IGhpdEluZm8gPSBudWxsXG4gICAgICAgIGlmIChzZWxlY3RlZFNoYXBlICYmIChoaXRJbmZvID0gc2VsZWN0ZWRTaGFwZS5jb250YWluc1BvaW50KHRtcFB0MSwgdG1wUHQyLCB3b3JsZFRvU2NyZWVuTWF0cml4LCB0aGlzLl9kcmF3Q3R4KSkuaGl0KSB7XG4gICAgICAgICAgaWYgKHNlbGVjdGVkU2hhcGUgaW5zdGFuY2VvZiBWZXJ0RWRpdGFibGVTaGFwZSAmJiBldmVudC5hbHRLZXkgJiYgaGl0SW5mby5jb250cm9sSW5kZXggPCBzaGFwZXNbaV0ubnVtVmVydHMpIHtcbiAgICAgICAgICAgIHNoYXBlc1tpXS5yZW1vdmVWZXJ0KGhpdEluZm8uY29udHJvbEluZGV4KVxuICAgICAgICAgICAgc2VsZWN0ZWRTaGFwZSA9IG51bGxcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbG9jYWxYZm9ybSA9IHNlbGVjdGVkU2hhcGUucGFyZW50LmxvY2FsWGZvcm1cbiAgICAgICAgICAgIGNvbnN0IGludkxvY2FsWGZvcm0gPSBNYXQyZC5jbG9uZShsb2NhbFhmb3JtKVxuICAgICAgICAgICAgTWF0MmQuaW52ZXJ0KGludkxvY2FsWGZvcm0sIGludkxvY2FsWGZvcm0pXG4gICAgICAgICAgICBjb25zdCBzdGFydE9ialBvcyA9IFBvaW50MmQuY2xvbmUodG1wUHQyKVxuICAgICAgICAgICAgUG9pbnQyZC50cmFuc2Zvcm1NYXQyZChzdGFydE9ialBvcywgc3RhcnRPYmpQb3MsIGludkxvY2FsWGZvcm0pXG4gICAgICAgICAgICB0aGlzLl9kcmFnSW5mbyA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgICByb3RhdGU6IEJvb2xlYW4oaGl0SW5mby5yb3RhdGUpLFxuICAgICAgICAgICAgICBjb250cm9sSW5kZXg6IGhpdEluZm8uY29udHJvbEluZGV4LFxuICAgICAgICAgICAgICBzdGFydE9iamVjdFBvczogc3RhcnRPYmpQb3MsXG4gICAgICAgICAgICAgIHdvcmxkVG9PYmplY3RNYXRyaXg6IGludkxvY2FsWGZvcm0sXG4gICAgICAgICAgICAgIHN0YXJ0TG9jYWxQb3M6IHNlbGVjdGVkU2hhcGUucGFyZW50LmdldFBvc2l0aW9uKCksXG4gICAgICAgICAgICAgIHN0YXJ0TG9jYWxTY2FsZTogc2VsZWN0ZWRTaGFwZS5wYXJlbnQuZ2V0U2NhbGUoKSxcbiAgICAgICAgICAgICAgc3RhcnRMb2NhbFJvdDogc2VsZWN0ZWRTaGFwZS5wYXJlbnQuZ2V0Um90YXRpb24oKSxcbiAgICAgICAgICAgICAgc2hhcGVXaWR0aDogc2VsZWN0ZWRTaGFwZS5wYXJlbnQud2lkdGgsXG4gICAgICAgICAgICAgIHNoYXBlSGVpZ2h0OiBzZWxlY3RlZFNoYXBlLnBhcmVudC5oZWlnaHRcbiAgICAgICAgICAgIH0sIHNlbGVjdGVkSW5mbylcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfSBlbHNlIGlmIChzaGFwZXNbaV0uY29udGFpbnNQb2ludCh0bXBQdDEsIHRtcFB0Miwgd29ybGRUb1NjcmVlbk1hdHJpeCwgdGhpcy5fZHJhd0N0eCkpIHtcbiAgICAgICAgICBzZWxlY3RlZFNoYXBlID0gc2hhcGVzW2ldXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gZWxzZSBpZiAoc2hhcGVJbmZvLnNlbGVjdGFibGUgJiYgc2hhcGVzW2ldLmNvbnRhaW5zUG9pbnQodG1wUHQxLCB0bXBQdDIsIHdvcmxkVG9TY3JlZW5NYXRyaXgsIHRoaXMuX2RyYXdDdHgpKSB7XG4gICAgICAvLyAgIHNlbGVjdGVkU2hhcGUgPSBzaGFwZXNbaV1cbiAgICAgIC8vICAgc2VsZWN0ZWRJbmZvID0gc2hhcGVJbmZvXG4gICAgICAvLyAgIGNvbnN0IHNlbGVjdEV2ZW50T2JqID0gc2VsZWN0U2hhcGUoc2VsZWN0ZWRTaGFwZSwgc2hhcGVzLCB0aGlzLl9zZWxlY3RlZFNoYXBlcywgdGhpcy5fc2VsZWN0U3R5bGUsIHRoaXMuX3hmb3JtU3R5bGUsIHNlbGVjdGVkSW5mbylcbiAgICAgIC8vICAgdGhpcy5maXJlKEV2ZW50Q29uc3RhbnRzLlNFTEVDVElPTl9DSEFOR0VELCBzZWxlY3RFdmVudE9iailcbiAgICAgIC8vICAgYnJlYWtcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBpZiAoaSA8IDAgJiYgdGhpcy5fc2VsZWN0ZWRTaGFwZXMuc2l6ZSkge1xuICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkU2hhcGVzLnNpemUpIHtcbiAgICAgICAgdGhpcy5maXJlKEV2ZW50Q29uc3RhbnRzLlNFTEVDVElPTl9DSEFOR0VELCB7XG4gICAgICAgICAgdW5zZWxlY3RlZFNoYXBlczogZ2V0U2VsZWN0ZWRPYmpzRnJvbU1hcCh0aGlzLl9zZWxlY3RlZFNoYXBlcyksXG4gICAgICAgICAgc2VsZWN0ZWRTaGFwZXM6IFtdXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICB0aGlzLl9kcmFnSW5mbyA9IG51bGxcbiAgICAgIGNsZWFyU2VsZWN0ZWRTaGFwZXModGhpcy5fc2VsZWN0ZWRTaGFwZXMpXG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZFNoYXBlICYmIHNlbGVjdGVkSW5mbyAmJiAoc2VsZWN0ZWRJbmZvLm1vdmFibGUgfHwgc2VsZWN0ZWRJbmZvLnJvdGF0YWJsZSB8fCBzZWxlY3RlZEluZm8uc2NhbGFibGUpKSB7XG4gICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAkeycjJyArIHRoaXMuX3BhcmVudC5pZCArICAnID4gY2FudmFzJ31gKVxuICAgICAgaWYoIGNhbnZhcyAhPT0gbnVsbCkge1xuICAgICAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCBoaWRlQ3Vyc29yV2l0aFBvaW50ZXIpXG4gICAgICAgIGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCBzaG93Q3Vyc29yV2l0aFBvaW50ZXIpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCBoaWRlQ3Vyc29yKVxuICAgICAgICB0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgc2hvd0N1cnNvcilcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5fZHJhZ0luZm8gJiYgc2VsZWN0ZWRJbmZvLm1vdmFibGUpIHtcbiAgICAgICAgdGhpcy5fZHJhZ0luZm8gPSB7XG4gICAgICAgICAgc3RhcnRMb2NhbFBvczogc2VsZWN0ZWRTaGFwZS5nZXRQb3NpdGlvbigpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2RyYWdJbmZvKSB7XG4gICAgICAgIHRoaXMuX2RyYWdJbmZvLnNoYXBlID0gc2VsZWN0ZWRTaGFwZVxuICAgICAgICB0aGlzLl9kcmFnSW5mby5zdGFydFBvcyA9IFBvaW50MmQuY2xvbmUodG1wUHQxKVxuICAgICAgICB0aGlzLl9kcmFnSW5mby5zdGFydFdvcmxkUG9zID0gUG9pbnQyZC5jbG9uZSh0bXBQdDIpXG4gICAgICAgIHRoaXMuX2RyYWdJbmZvLm9iamVjdFRvV29ybGRNYXRyaXggPSBNYXQyZC5jbG9uZShzZWxlY3RlZFNoYXBlLmdsb2JhbFhmb3JtKVxuICAgICAgICBhZGRFdmVudEtleXNUb1NlbGVjdGVkSW5mbyhldmVudCwgdGhpcy5fZHJhZ0luZm8pXG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gICAgICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5EUkFHX0JFR0lOLCB7XG4gICAgICAgICAgc2hhcGVzOiBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHRoaXMuX3NlbGVjdGVkU2hhcGVzKVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH1cblxuICBfbW91c2V1cENCKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMuX2RyYWdJbmZvICYmIHRoaXMuX2RyYWdJbmZvLnNoYXBlKSB7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgJHsnIycgKyB0aGlzLl9wYXJlbnQuaWQgKyAgJyA+IGNhbnZhcyd9YClcbiAgICAgIGlmKCBjYW52YXMgIT09IG51bGwpIHtcbiAgICAgICAgY2FudmFzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgaGlkZUN1cnNvcldpdGhQb2ludGVyKVxuICAgICAgICBjYW52YXMucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgc2hvd0N1cnNvcldpdGhQb2ludGVyKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgaGlkZUN1cnNvcilcbiAgICAgICAgdGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIHNob3dDdXJzb3IpXG4gICAgICB9XG4gICAgICB0aGlzLl9kcmFnSW5mbyA9IG51bGxcbiAgICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5EUkFHX0VORCwge1xuICAgICAgICBzaGFwZXM6IGdldFNlbGVjdGVkT2Jqc0Zyb21NYXAodGhpcy5fc2VsZWN0ZWRTaGFwZXMpXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAocGVyZm9ybWFuY2Uubm93KCkgLSB0aGlzLnRpbWVyIDwgNTAwKSB7XG4gICAgICAvLyB0aGlzIGlzIGEgcmVsYXRpdmVseSBxdWljayBjbGlja1xuICAgICAgUG9pbnQyZC5zZXQodG1wUHQxLCBldmVudC5vZmZzZXRYLCBldmVudC5vZmZzZXRZKVxuICAgICAgUG9pbnQyZC50cmFuc2Zvcm1NYXQyZCh0bXBQdDIsIHRtcFB0MSwgdGhpcy5fY2FtZXJhLnNjcmVlblRvV29ybGRNYXRyaXgpXG4gICAgICBjb25zdCB3b3JsZFRvU2NyZWVuTWF0cml4ID0gdGhpcy5fY2FtZXJhLndvcmxkVG9TY3JlZW5NYXRyaXhcbiAgICAgIGNvbnN0IHNoYXBlcyA9IHRoaXMuc29ydGVkU2hhcGVzXG4gICAgICBsZXQgc2VsZWN0ZWRTaGFwZSA9IG51bGxcbiAgICAgIGxldCBzZWxlY3RlZEluZm8gPSBudWxsXG4gICAgICBmb3IgKGxldCBpID0gc2hhcGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtPSAxKSB7XG4gICAgICAgIHNlbGVjdGVkSW5mbyA9IHRoaXMuX29iamVjdHMuZ2V0KHNoYXBlc1tpXSlcbiAgICAgICAgaWYgKHNlbGVjdGVkSW5mby5zZWxlY3RhYmxlICYmIHNoYXBlc1tpXS5jb250YWluc1BvaW50KHRtcFB0MSwgdG1wUHQyLCB3b3JsZFRvU2NyZWVuTWF0cml4LCB0aGlzLl9kcmF3Q3R4KSkge1xuICAgICAgICAgIHNlbGVjdGVkU2hhcGUgPSBzaGFwZXNbaV1cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VsZWN0ZWRTaGFwZSAmJiAhc2VsZWN0ZWRTaGFwZS5zZWxlY3RlZCkge1xuICAgICAgICBjb25zdCBzZWxlY3RFdmVudE9iaiA9IHNlbGVjdFNoYXBlKHNlbGVjdGVkU2hhcGUsIHNoYXBlcywgdGhpcy5fc2VsZWN0ZWRTaGFwZXMsIHRoaXMuX3NlbGVjdFN0eWxlLCB0aGlzLl94Zm9ybVN0eWxlLCBzZWxlY3RlZEluZm8pXG4gICAgICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5TRUxFQ1RJT05fQ0hBTkdFRCwgc2VsZWN0RXZlbnRPYmopXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX21vdXNlbW92ZUNCKGV2ZW50KSB7XG4gICAgbGV0IGluY2FudmFzID0gZmFsc2VcbiAgICBpZiAoIShpbmNhbnZhcyA9IGluQ2FudmFzKHRoaXMuX2RyYXdDYW52YXMsIGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFkpKSAmJiAhdGhpcy5fZHJhZ0luZm8pIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICh0aGlzLl9kcmFnSW5mbyAmJiB0aGlzLl9kcmFnSW5mby5zaGFwZSkge1xuICAgICAgdXBkYXRlQ3Vyc29yUG9zaXRpb24oZXZlbnQsIHRoaXMuX3BhcmVudClcbiAgICAgIGFkZEV2ZW50S2V5c1RvU2VsZWN0ZWRJbmZvKGV2ZW50LCB0aGlzLl9kcmFnSW5mbylcbiAgICAgIHRyYW5zZm9ybVNlbGVjdGVkU2hhcGUodGhpcy5fZHJhd0NhbnZhcywgZXZlbnQsIHRoaXMuX2RyYWdJbmZvLCB0aGlzLl9jYW1lcmEpXG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIH0gZWxzZSBpZiAoIWV2ZW50LmJ1dHRvbnMgJiYgdGhpcy5fc2VsZWN0ZWRTaGFwZXMuc2l6ZSkge1xuICAgICAgUG9pbnQyZC5zZXQodG1wUHQxLCBldmVudC5vZmZzZXRYLCBldmVudC5vZmZzZXRZKVxuICAgICAgUG9pbnQyZC50cmFuc2Zvcm1NYXQyZCh0bXBQdDIsIHRtcFB0MSwgdGhpcy5fY2FtZXJhLnNjcmVlblRvV29ybGRNYXRyaXgpXG4gICAgICBjb25zdCB3b3JsZFRvU2NyZWVuTWF0cml4ID0gdGhpcy5fY2FtZXJhLndvcmxkVG9TY3JlZW5NYXRyaXhcbiAgICAgIGNvbnN0IHNoYXBlcyA9IHRoaXMuc29ydGVkU2hhcGVzXG4gICAgICBsZXQgaSA9IDBcbiAgICAgIGNvbnN0IGZsaXB5ID0gdGhpcy5fY2FtZXJhLmlzWUZsaXBwZWQoKVxuICAgICAgZm9yIChpID0gc2hhcGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtPSAxKSB7XG4gICAgICAgIGlmIChzaGFwZXNbaV0uc2VsZWN0ZWQpIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RJbmZvID0gdGhpcy5fb2JqZWN0cy5nZXQoc2hhcGVzW2ldKVxuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkU2hhcGUgPSB0aGlzLl9zZWxlY3RlZFNoYXBlcy5nZXQoc2hhcGVzW2ldKVxuICAgICAgICAgIGxldCBoaXRJbmZvID0gbnVsbFxuICAgICAgICAgIGNvbnN0IGN1cnNvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXJzb3InKVxuICAgICAgICAgIHRoaXMuX3BhcmVudC5zdHlsZS5jdXJzb3IgPSAnbm9uZSdcbiAgICAgICAgICAvLyBmb3JFYWNoIG5vdCBzdXBwb3J0ZWQgb24gbm9kZWxpc3QgaW4gSUUvRWRnZVxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmKHRoaXMuX3BhcmVudC5jaGlsZE5vZGVzW2ldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdjYW52YXMnKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9wYXJlbnQuY2hpbGROb2Rlc1tpXS5zdHlsZS5jdXJzb3IgPSAnbm9uZSdcbiAgICAgICAgICAgIHRoaXMuX3BhcmVudC5jaGlsZE5vZGVzW2ldLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSdcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNlbGVjdGVkU2hhcGUgJiYgKGhpdEluZm8gPSBzZWxlY3RlZFNoYXBlLmNvbnRhaW5zUG9pbnQodG1wUHQxLCB0bXBQdDIsIHdvcmxkVG9TY3JlZW5NYXRyaXgsIHRoaXMuX2RyYXdDdHgpKS5oaXQpIHtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFNoYXBlIGluc3RhbmNlb2YgWGZvcm1TaGFwZSkge1xuICAgICAgICAgICAgICBpZiAoaGl0SW5mby5yb3RhdGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgZGVncmVlcyA9IHNoYXBlc1tpXS5nZXRSb3RhdGlvbigpXG4gICAgICAgICAgICAgICAgaWYgKGZsaXB5KSB7XG4gICAgICAgICAgICAgICAgICBkZWdyZWVzICo9IC0xXG4gICAgICAgICAgICAgICAgICBpZiAoaGl0SW5mby5jb250cm9sSW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVncmVlcyAtPSA5MFxuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoaXRJbmZvLmNvbnRyb2xJbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBkZWdyZWVzICs9IDE4MFxuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoaXRJbmZvLmNvbnRyb2xJbmRleCA9PT0gMikge1xuICAgICAgICAgICAgICAgICAgICBkZWdyZWVzICs9IDkwXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGlmIChoaXRJbmZvLmNvbnRyb2xJbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBkZWdyZWVzIC09IDkwXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhpdEluZm8uY29udHJvbEluZGV4ID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlZ3JlZXMgKz0gMTgwXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhpdEluZm8uY29udHJvbEluZGV4ID09PSAzKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlZ3JlZXMgKz0gOTBcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYXBwZW5kQ3VzdG9tQ3Vyc29yKGV2ZW50LCB0aGlzLl9wYXJlbnQsIGAke3JvdGF0ZVN2Zy5yZXBsYWNlKC9cXDxkZWdyZWVzXFw+L2csIGAke2RlZ3JlZXN9YCl9YClcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChoaXRJbmZvLmNvbnRyb2xJbmRleCA8IDQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaGl0SW5mby5jb250cm9sSW5kZXggPT09IDAgfHwgaGl0SW5mby5jb250cm9sSW5kZXggPT09IDMpIHtcbiAgICAgICAgICAgICAgICAgIGFwcGVuZEN1c3RvbUN1cnNvcihldmVudCwgdGhpcy5fcGFyZW50LCBgJHtzY2FsZVN2Zy5yZXBsYWNlKC9cXDxkZWdyZWVzXFw+L2csIGAkey1zaGFwZXNbaV0uZ2V0Um90YXRpb24oKSAtIDQ1fWApfWApXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoaXRJbmZvLmNvbnRyb2xJbmRleCA9PT0gMSB8fCBoaXRJbmZvLmNvbnRyb2xJbmRleCA9PT0gMikge1xuICAgICAgICAgICAgICAgICAgYXBwZW5kQ3VzdG9tQ3Vyc29yKGV2ZW50LCB0aGlzLl9wYXJlbnQsIGAke3NjYWxlU3ZnLnJlcGxhY2UoL1xcPGRlZ3JlZXNcXD4vZywgYCR7LXNoYXBlc1tpXS5nZXRSb3RhdGlvbigpICsgNDV9YCl9YClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGhpdEluZm8uY29udHJvbEluZGV4ICUgMiA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgYXBwZW5kQ3VzdG9tQ3Vyc29yKGV2ZW50LCB0aGlzLl9wYXJlbnQsIGAke3NjYWxlU3ZnLnJlcGxhY2UoL1xcPGRlZ3JlZXNcXD4vZywgYCR7LXNoYXBlc1tpXS5nZXRSb3RhdGlvbigpfWApfWApXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGFwcGVuZEN1c3RvbUN1cnNvcihldmVudCwgdGhpcy5fcGFyZW50LCBgJHtzY2FsZVN2Zy5yZXBsYWNlKC9cXDxkZWdyZWVzXFw+L2csIGAkey1zaGFwZXNbaV0uZ2V0Um90YXRpb24oKSArIDkwfWApfWApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkU2hhcGUgaW5zdGFuY2VvZiBWZXJ0RWRpdGFibGVTaGFwZSkge1xuICAgICAgICAgICAgICB0aGlzLl9wYXJlbnQuc3R5bGUuY3Vyc29yID0gJ25vbmUnXG4gICAgICAgICAgICAgIC8vIGZvckVhY2ggbm90IHN1cHBvcnRlZCBvbiBub2RlbGlzdCBpbiBJRS9FZGdlXG4gICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZih0aGlzLl9wYXJlbnQuY2hpbGROb2Rlc1tpXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXNbaV0uc3R5bGUuY3Vyc29yID0gJ25vbmUnXG4gICAgICAgICAgICAgICAgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXNbaV0uc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChoaXRJbmZvLmNvbnRyb2xJbmRleCA+PSBzaGFwZXNbaV0ubnVtVmVydHMpIHtcbiAgICAgICAgICAgICAgICBhcHBlbmRDdXN0b21DdXJzb3IoZXZlbnQsIHRoaXMuX3BhcmVudCwgYWRkU3ZnLCAtOCwgLTYpXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuYWx0S2V5KSB7XG4gICAgICAgICAgICAgICAgYXBwZW5kQ3VzdG9tQ3Vyc29yKGV2ZW50LCB0aGlzLl9wYXJlbnQsIHJlbW92ZVN2ZywgLTgsIC02KVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFwcGVuZEN1c3RvbUN1cnNvcihldmVudCwgdGhpcy5fcGFyZW50LCByZXBvc2l0aW9uU3ZnLCAtMTQsIC0xNClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfSBlbHNlIGlmIChzaGFwZXNbaV0uY29udGFpbnNQb2ludCh0bXBQdDEsIHRtcFB0Miwgd29ybGRUb1NjcmVlbk1hdHJpeCwgdGhpcy5fZHJhd0N0eCkpIHtcbiAgICAgICAgICAgIGlmIChzZWxlY3RJbmZvICYmIHNlbGVjdEluZm8ubW92YWJsZSkge1xuICAgICAgICAgICAgICBjb25zdCBjdXJzb3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3Vyc29yJylcbiAgICAgICAgICAgICAgaWYgKGN1cnNvciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGN1cnNvci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGN1cnNvcilcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLl9wYXJlbnQuc3R5bGUuY3Vyc29yID0gXCJtb3ZlXCJcbiAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl9wYXJlbnQuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuX3BhcmVudC5jaGlsZE5vZGVzW2ldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdjYW52YXMnKSB7XG4gICAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9wYXJlbnQuY2hpbGROb2Rlc1tpXS5zdHlsZS5jdXJzb3IgPSAnbW92ZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgcmVtb3ZlQ3VzdG9tQ3Vyc29yKClcbiAgICAgICAgdGhpcy5fcGFyZW50LnN0eWxlLmN1cnNvciA9IFwiZGVmYXVsdFwiXG4gICAgICAgIC8vIGZvckVhY2ggbm90IHN1cHBvcnRlZCBvbiBub2RlbGlzdCBpbiBJRS9FZGdlXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZih0aGlzLl9wYXJlbnQuY2hpbGROb2Rlc1tpXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXNbaV0uc3R5bGUuY3Vyc29yID0gJ2RlZmF1bHQnXG4gICAgICAgICAgdGhpcy5fcGFyZW50LmNoaWxkTm9kZXNbaV0uc3R5bGUucG9pbnRlckV2ZW50cyA9ICdhdXRvJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX2NsaWNrQ0IoZXZlbnQpIHtcbiAgICAvLyBub29wXG4gIH1cblxuICBfZGJsY2xpY2tDQihldmVudCkge1xuICAgIGlmICghaW5DYW52YXModGhpcy5fZHJhd0NhbnZhcywgZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIFBvaW50MmQuc2V0KHRtcFB0MSwgZXZlbnQub2Zmc2V0WCwgZXZlbnQub2Zmc2V0WSlcbiAgICBQb2ludDJkLnRyYW5zZm9ybU1hdDJkKHRtcFB0MiwgdG1wUHQxLCB0aGlzLl9jYW1lcmEuc2NyZWVuVG9Xb3JsZE1hdHJpeClcbiAgICBjb25zdCB3b3JsZFRvU2NyZWVuTWF0cml4ID0gdGhpcy5fY2FtZXJhLndvcmxkVG9TY3JlZW5NYXRyaXhcbiAgICBjb25zdCBzaGFwZXMgPSB0aGlzLnNvcnRlZFNoYXBlc1xuICAgIGxldCBpID0gLTFcbiAgICBmb3IgKGkgPSBzaGFwZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICAgIGNvbnN0IHNoYXBlSW5mbyA9IHRoaXMuX29iamVjdHMuZ2V0KHNoYXBlc1tpXSlcbiAgICAgIGlmIChzaGFwZUluZm8uc2VsZWN0YWJsZSAmJiBzaGFwZXNbaV0uY29udGFpbnNQb2ludCh0bXBQdDEsIHRtcFB0Miwgd29ybGRUb1NjcmVlbk1hdHJpeCwgdGhpcy5fZHJhd0N0eCkpIHtcbiAgICAgICAgaWYgKHNoYXBlSW5mby5lZGl0YWJsZSAmJiBzaGFwZXNbaV0gaW5zdGFuY2VvZiBQb2x5TGluZSkge1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkU2hhcGUgPSBzaGFwZXNbaV1cbiAgICAgICAgICBsZXQgZG9YZm9ybSA9IGZhbHNlXG4gICAgICAgICAgaWYgKHNoYXBlc1tpXS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgY29uc3QgaW50ZXJhY3RpdmVTaGFwZSA9IHRoaXMuX3NlbGVjdGVkU2hhcGVzLmdldChzaGFwZXNbaV0pXG4gICAgICAgICAgICBpZiAoaW50ZXJhY3RpdmVTaGFwZSkge1xuICAgICAgICAgICAgICBzZWxlY3RlZFNoYXBlLnJlc3RvcmUoKVxuICAgICAgICAgICAgICBzZWxlY3RlZFNoYXBlLnJlbW92ZUNoaWxkWGZvcm0oaW50ZXJhY3RpdmVTaGFwZSlcbiAgICAgICAgICAgICAgZG9YZm9ybSA9ICEoaW50ZXJhY3RpdmVTaGFwZSBpbnN0YW5jZW9mIFhmb3JtU2hhcGUpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VsZWN0ZWRTaGFwZS5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICBzZWxlY3RlZFNoYXBlLnNhdmUoKVxuICAgICAgICAgIGNvbnN0IG1heFogPSBzaGFwZXNbc2hhcGVzLmxlbmd0aCAtIDFdLnpJbmRleFxuICAgICAgICAgIHNlbGVjdGVkU2hhcGUuekluZGV4ID0gbWF4WiArIDFcbiAgICAgICAgICBCYXNpY1N0eWxlLmNvcHlCYXNpY1N0eWxlKHRoaXMuX3NlbGVjdFN0eWxlLCBzZWxlY3RlZFNoYXBlKVxuICAgICAgICAgIGxldCBuZXdTZWxlY3RTaGFwZSA9IG51bGxcbiAgICAgICAgICBpZiAoZG9YZm9ybSkge1xuICAgICAgICAgICAgaWYgKHNoYXBlSW5mby5yb3RhdGFibGUgfHwgc2hhcGVJbmZvLnNjYWxhYmxlKSB7XG4gICAgICAgICAgICAgIG5ld1NlbGVjdFNoYXBlID0gbmV3IFhmb3JtU2hhcGUodGhpcy5feGZvcm1TdHlsZSB8fCBkZWZhdWx0WGZvcm1TdHlsZSwgc2hhcGVJbmZvKVxuICAgICAgICAgICAgICBzZWxlY3RlZFNoYXBlLmFkZENoaWxkWGZvcm0obmV3U2VsZWN0U2hhcGUpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1NlbGVjdFNoYXBlID0gbmV3IFZlcnRFZGl0YWJsZVNoYXBlKHNlbGVjdGVkU2hhcGUsIHRoaXMuX3hmb3JtU3R5bGUpXG4gICAgICAgICAgICBzZWxlY3RlZFNoYXBlLmFkZENoaWxkWGZvcm0obmV3U2VsZWN0U2hhcGUpXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkU2hhcGVzLnNldChzZWxlY3RlZFNoYXBlLCBuZXdTZWxlY3RTaGFwZSlcbiAgICAgICAgfSBlbHNlIGlmICghc2hhcGVzW2ldLnNlbGVjdGVkKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0RXZlbnRPYmogPSBzZWxlY3RTaGFwZShzaGFwZXNbaV0sIHNoYXBlcywgdGhpcy5fc2VsZWN0ZWRTaGFwZXMsIHRoaXMuX3NlbGVjdFN0eWxlLCB0aGlzLl94Zm9ybVN0eWxlLCBzaGFwZUluZm8pXG4gICAgICAgICAgdGhpcy5maXJlKEV2ZW50Q29uc3RhbnRzLlNFTEVDVElPTl9DSEFOR0VELCBzZWxlY3RFdmVudE9iailcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpIDwgMCAmJiB0aGlzLl9zZWxlY3RlZFNoYXBlcy5zaXplKSB7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGFwZXMuc2l6ZSkge1xuICAgICAgICB0aGlzLmZpcmUoRXZlbnRDb25zdGFudHMuU0VMRUNUSU9OX0NIQU5HRUQsIHtcbiAgICAgICAgICB1bnNlbGVjdGVkU2hhcGVzOiBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHRoaXMuX3NlbGVjdGVkU2hhcGVzKSxcbiAgICAgICAgICBzZWxlY3RlZFNoYXBlczogW11cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRoaXMuX2RyYWdJbmZvID0gbnVsbFxuICAgICAgY2xlYXJTZWxlY3RlZFNoYXBlcyh0aGlzLl9zZWxlY3RlZFNoYXBlcylcbiAgICB9IGVsc2Uge1xuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbiAgICB9XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICB9XG5cbiAgX21vdXNlb3ZlckNCKGV2ZW50KSB7XG4gICAgLy8gbm9vcFxuICB9XG5cbiAgX21vdXNlb3V0Q0IoZXZlbnQpIHtcbiAgICAvLyBub29wXG4gIH1cblxuICBfaW5pdChwYXJlbnQsIG9wdHMpIHtcbiAgICB0aGlzLl9hY3RpdmF0ZWQgPSAob3B0cyAmJiBvcHRzLmVuYWJsZUludGVyYWN0aW9ucylcbiAgICBzdXBlci5faW5pdChwYXJlbnQsIG9wdHMsIHRoaXMuX2FjdGl2YXRlZClcbiAgICBjb25zdCBteWV2ZW50cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEV2ZW50Q29uc3RhbnRzKS5tYXAoZXZlbnQgPT4ge1xuICAgICAgcmV0dXJuIEV2ZW50Q29uc3RhbnRzW2V2ZW50XVxuICAgIH0pXG4gICAgdGhpcy5yZWdpc3RlckV2ZW50cyhteWV2ZW50cylcbiAgICB0aGlzLl9kcmFnSW5mbyA9IG51bGxcbiAgICB0aGlzLl9zZWxlY3RlZFNoYXBlcyA9IG5ldyBNYXAoKVxuICAgIHRoaXMuX3NlbGVjdFN0eWxlID0gbmV3IEJhc2ljU3R5bGUoKG9wdHMgJiYgb3B0cy5zZWxlY3RTdHlsZSA/IG9wdHMuc2VsZWN0U3R5bGUgOiB7XG4gICAgICBmaWxsQ29sb3I6IFwib3JhbmdlXCJcbiAgICB9KSlcblxuICAgIHRoaXMuX3hmb3JtU3R5bGUgPSBuZXcgQmFzaWNTdHlsZSgob3B0cyAmJiBvcHRzLnhmb3JtU3R5bGUgPyBvcHRzLnhmb3JtU3R5bGUgOiB7XG4gICAgICBmaWxsQ29sb3I6IFwid2hpdGVcIixcbiAgICAgIHN0cm9rZUNvbG9yOiBcImJsYWNrXCIsXG4gICAgICBzdHJva2VXaWR0aDogMlxuICAgIH0pKVxuXG4gICAgdGhpcy50aW1lciA9IDBcbiAgfVxuXG4gIF9yZW5kZXJTaGFwZXMoY3R4LCBkcmF3U2hhcGVzLCBjYW1lcmEpIHtcbiAgICBjb25zdCB3b3JsZFRvU2NyZWVuTWF0ID0gY2FtZXJhLndvcmxkVG9TY3JlZW5NYXRyaXhcbiAgICBkcmF3U2hhcGVzLmZvckVhY2goc2hhcGUgPT4ge1xuICAgICAgaWYgKHNoYXBlLnZpc2libGUpIHtcbiAgICAgICAgc2hhcGUucmVuZGVyKGN0eCwgd29ybGRUb1NjcmVlbk1hdCwgdGhpcy5fc3R5bGVTdGF0ZSlcbiAgICAgICAgLy8gc2hhcGUucmVuZGVyQm91bmRzKGN0eCwgd29ybGRUb1NjcmVlbk1hdCwgYm91bmRzU3Ryb2tlU3R5bGUpXG4gICAgICAgIGlmIChzaGFwZS5zZWxlY3RlZCkge1xuICAgICAgICAgIGNvbnN0IGludGVyYWNTaGFwZSA9IHRoaXMuX3NlbGVjdGVkU2hhcGVzLmdldChzaGFwZSlcbiAgICAgICAgICBpZiAoaW50ZXJhY1NoYXBlKSB7XG4gICAgICAgICAgICBpbnRlcmFjU2hhcGUucmVuZGVyKGN0eCwgd29ybGRUb1NjcmVlbk1hdCwgdGhpcy5fc3R5bGVTdGF0ZSlcbiAgICAgICAgICAgIC8vIGludGVyYWNTaGFwZS5yZW5kZXJCb3VuZHMoY3R4LCB3b3JsZFRvU2NyZWVuTWF0LCBib3VuZHNTdHJva2VTdHlsZSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgc2V0IHNlbGVjdFN0eWxlKHNlbGVjdFN0eWxlKSB7XG4gICAgQmFzaWNTdHlsZS5jb3B5QmFzaWNTdHlsZShzZWxlY3RTdHlsZSwgdGhpcy5fc2VsZWN0U3R5bGUpXG4gIH1cblxuICBnZXQgc2VsZWN0U3R5bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFN0eWxlXG4gIH1cblxuICBnZXQgc2VsZWN0ZWRTaGFwZXMoKSB7XG4gICAgcmV0dXJuIGdldFNlbGVjdGVkT2Jqc0Zyb21NYXAodGhpcy5fc2VsZWN0ZWRTaGFwZXMpXG4gIH1cblxuICBzZWxlY3RTaGFwZShzaGFwZSkge1xuICAgIGNvbnN0IHNoYXBlSW5mbyA9IHRoaXMuX29iamVjdHMuZ2V0KHNoYXBlKVxuICAgIGlmIChzaGFwZUluZm8gJiYgc2hhcGVJbmZvLnNlbGVjdGFibGUpIHtcbiAgICAgIGNvbnN0IHNlbGVjdEV2ZW50T2JqID0gc2VsZWN0U2hhcGUoc2hhcGUsIHRoaXMuc29ydGVkU2hhcGVzLCB0aGlzLl9zZWxlY3RlZFNoYXBlcywgdGhpcy5fc2VsZWN0U3R5bGUsIHRoaXMuX3hmb3JtU3R5bGUsIHNoYXBlSW5mbylcbiAgICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5TRUxFQ1RJT05fQ0hBTkdFRCwgc2VsZWN0RXZlbnRPYmopXG4gICAgfVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkU2hhcGVzLnNpemUpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkU2hhcGVzID0gZ2V0U2VsZWN0ZWRPYmpzRnJvbU1hcCh0aGlzLl9zZWxlY3RlZFNoYXBlcylcbiAgICAgIGNsZWFyU2VsZWN0ZWRTaGFwZXModGhpcy5fc2VsZWN0ZWRTaGFwZXMpXG4gICAgICB0aGlzLmZpcmUoRXZlbnRDb25zdGFudHMuU0VMRUNUSU9OX0NIQU5HRUQsIHtcbiAgICAgICAgdW5zZWxlY3RlZFNoYXBlczogc2VsZWN0ZWRTaGFwZXMsXG4gICAgICAgIHNlbGVjdGVkU2hhcGVzOiBbXVxuICAgICAgfSlcbiAgICAgIHRoaXMuX3JlcmVuZGVyQ2IoKVxuICAgIH1cbiAgfVxuXG4gIGFkZFNoYXBlKHNoYXBlLCBvcHRzID0gbnVsbCwgc2VsZWN0ID0gZmFsc2UpIHtcbiAgICBsZXQgc2hhcGVzID0gc2hhcGVcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoc2hhcGVzKSkge1xuICAgICAgc2hhcGVzID0gW3NoYXBlXVxuICAgIH1cblxuICAgIHN1cGVyLmFkZFNoYXBlKHNoYXBlcylcbiAgICBzaGFwZXMuZm9yRWFjaChzaGFwZSA9PiB7XG4gICAgICBjb25zdCBzaGFwZUluZm8gPSB0aGlzLl9vYmplY3RzLmdldChzaGFwZSlcbiAgICAgIGlmIChzaGFwZUluZm8pIHtcbiAgICAgICAgc2hhcGVJbmZvLnNlbGVjdGFibGUgPSAob3B0cyAmJiB0eXBlb2Ygb3B0cy5zZWxlY3RhYmxlICE9PSBcInVuZGVmaW5lZFwiID8gQm9vbGVhbihvcHRzLnNlbGVjdGFibGUpIDogdHJ1ZSlcbiAgICAgICAgc2hhcGVJbmZvLm1vdmFibGUgPSAob3B0cyAmJiB0eXBlb2Ygb3B0cy5tb3ZhYmxlICE9PSBcInVuZGVmaW5lZFwiID8gQm9vbGVhbihvcHRzLm1vdmFibGUpIDogdHJ1ZSlcbiAgICAgICAgc2hhcGVJbmZvLnJvdGF0YWJsZSA9IChvcHRzICYmIHR5cGVvZiBvcHRzLnJvdGF0YWJsZSAhPT0gXCJ1bmRlZmluZWRcIiA/IEJvb2xlYW4ob3B0cy5yb3RhdGFibGUpIDogdHJ1ZSlcbiAgICAgICAgc2hhcGVJbmZvLnNjYWxhYmxlID0gKG9wdHMgJiYgdHlwZW9mIG9wdHMuc2NhbGFibGUgIT09IFwidW5kZWZpbmVkXCIgPyBCb29sZWFuKG9wdHMuc2NhbGFibGUpIDogdHJ1ZSlcbiAgICAgICAgc2hhcGVJbmZvLnVuaWZvcm1TY2FsZU9ubHkgPSAob3B0cyAmJiB0eXBlb2Ygb3B0cy51bmlmb3JtU2NhbGVPbmx5ICE9PSBcInVuZGVmaW5lZFwiID8gQm9vbGVhbihvcHRzLnVuaWZvcm1TY2FsZU9ubHkpIDogZmFsc2UpXG4gICAgICAgIHNoYXBlSW5mby5jZW50ZXJTY2FsZU9ubHkgPSAob3B0cyAmJiB0eXBlb2Ygb3B0cy5jZW50ZXJTY2FsZU9ubHkgIT09IFwidW5kZWZpbmVkXCIgPyBCb29sZWFuKG9wdHMuY2VudGVyU2NhbGVPbmx5KSA6IGZhbHNlKVxuICAgICAgICBzaGFwZUluZm8uZWRpdGFibGUgPSAob3B0cyAmJiB0eXBlb2Ygb3B0cy5lZGl0YWJsZSAhPT0gXCJ1bmRlZmluZWRcIiA/IEJvb2xlYW4ob3B0cy5lZGl0YWJsZSkgOiB0cnVlKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAoc2VsZWN0KSB7XG4gICAgICBjb25zdCBzZWxlY3RFdmVudE9iaiA9IHtcbiAgICAgICAgdW5zZWxlY3RlZFNoYXBlczogZ2V0U2VsZWN0ZWRPYmpzRnJvbU1hcCh0aGlzLl9zZWxlY3RlZFNoYXBlcylcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlbGVjdGVkU2hhcGVzID0gW11cbiAgICAgIHNoYXBlcy5mb3JFYWNoKHNoYXBlID0+IHtcbiAgICAgICAgY29uc3Qgc2hhcGVJbmZvID0gdGhpcy5fb2JqZWN0cy5nZXQoc2hhcGUpXG4gICAgICAgIGlmIChzaGFwZUluZm8uc2VsZWN0YWJsZSkge1xuICAgICAgICAgIHNlbGVjdFNoYXBlKHNoYXBlLCB0aGlzLnNvcnRlZFNoYXBlcywgdGhpcy5fc2VsZWN0ZWRTaGFwZXMsIHRoaXMuX3NlbGVjdFN0eWxlLCB0aGlzLl94Zm9ybVN0eWxlLCBzaGFwZUluZm8pXG4gICAgICAgICAgc2VsZWN0ZWRTaGFwZXMucHVzaChzaGFwZSlcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgaWYgKHNlbGVjdGVkU2hhcGVzLmxlbmd0aCkge1xuICAgICAgICBzZWxlY3RFdmVudE9iai5zZWxlY3RlZFNoYXBlcyA9IHNlbGVjdGVkU2hhcGVzXG4gICAgICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5TRUxFQ1RJT05fQ0hBTkdFRCwgc2VsZWN0RXZlbnRPYmopXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG5cbiAgZGVsZXRlU2hhcGUoc2hhcGUpIHtcbiAgICBsZXQgc2hhcGVzID0gc2hhcGVcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoc2hhcGVzKSkge1xuICAgICAgc2hhcGVzID0gW3NoYXBlXVxuICAgIH1cbiAgICBjb25zdCBzZWxlY3RDbGVhcmVkU2hhcGVzID0gY2xlYXJTcGVjaWZpY1NoYXBlcyh0aGlzLl9zZWxlY3RlZFNoYXBlcywgc2hhcGVzKVxuICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5TRUxFQ1RJT05fQ0hBTkdFRCwge1xuICAgICAgdW5zZWxlY3RlZFNoYXBlczogc2VsZWN0Q2xlYXJlZFNoYXBlcyxcbiAgICAgIHNlbGVjdGVkU2hhcGVzOiBnZXRTZWxlY3RlZE9ianNGcm9tTWFwKHRoaXMuX3NlbGVjdGVkU2hhcGVzKVxuICAgIH0pXG4gICAgcmV0dXJuIHN1cGVyLmRlbGV0ZVNoYXBlKHNoYXBlcylcbiAgfVxuXG4gIGRlbGV0ZVNlbGVjdGVkU2hhcGVzKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkU2hhcGVzID0gZ2V0U2VsZWN0ZWRPYmpzRnJvbU1hcCh0aGlzLl9zZWxlY3RlZFNoYXBlcylcbiAgICBjbGVhclNlbGVjdGVkU2hhcGVzKHRoaXMuX3NlbGVjdGVkU2hhcGVzKVxuICAgIHRoaXMuZmlyZShFdmVudENvbnN0YW50cy5TRUxFQ1RJT05fQ0hBTkdFRCwge1xuICAgICAgdW5zZWxlY3RlZFNoYXBlczogc2VsZWN0ZWRTaGFwZXMsXG4gICAgICBzZWxlY3RlZFNoYXBlczogW11cbiAgICB9KVxuICAgIHJldHVybiBzdXBlci5kZWxldGVTaGFwZShzZWxlY3RlZFNoYXBlcylcbiAgfVxuXG4gIGdldCBpbnRlcmFjdGlvbnNFbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmF0ZWRcbiAgfVxuXG4gIGVuYWJsZUludGVyYWN0aW9ucygpIHtcbiAgICB0aGlzLl9lbmFibGVFdmVudHMoKVxuICAgIHRoaXMuX2FjdGl2YXRlZCA9IHRydWVcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgZGlzYWJsZUludGVyYWN0aW9ucyhjbGVhclNlbGVjdGlvbiA9IHRydWUpIHtcbiAgICBpZiAoY2xlYXJTZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKVxuICAgIH1cbiAgICB0aGlzLl9kaXNhYmxlRXZlbnRzKClcbiAgICB0aGlzLl9hY3RpdmF0ZWQgPSBmYWxzZVxuICAgIHJldHVybiB0aGlzXG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihFdmVudENvbnN0YW50cywgRHJhd0VuZ2luZS5FdmVudENvbnN0YW50cylcblNoYXBlQnVpbGRlci5FdmVudENvbnN0YW50cyA9IEV2ZW50Q29uc3RhbnRzXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9lbmdpbmUvc2hhcGUtYnVpbGRlci5qcyJdLCJzb3VyY2VSb290IjoiIn0="); /***/ }, /* 24 */ diff --git a/dist/mapd-draw.js b/dist/mapd-draw.js index f9587d8..16c1042 100644 --- a/dist/mapd-draw.js +++ b/dist/mapd-draw.js @@ -1,7 +1,7 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.MapdDraw=e():t.MapdDraw=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var a=r[n]={exports:{},id:n,loaded:!1};return t[n].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.simpleHull_2D=e.Math=e.Point=e.PolyLine=e.Poly=e.Rect=e.Circle=e.Vec2d=e.BasicStyle=e.Mat2=e.Point2d=e.Mat2d=e.AABox2d=e.DrawEngine=e.ShapeBuilder=e.version=void 0;var i=r(39);Object.defineProperty(e,"version",{enumerable:!0,get:function(){return i.version}});var o=r(1);Object.defineProperty(e,"Mat2",{enumerable:!0,get:function(){return o.mat2}});var s=r(12);Object.defineProperty(e,"simpleHull_2D",{enumerable:!0,get:function(){return s.simpleHull_2D}});var l=r(23),u=a(l),c=r(16),f=a(c),h=r(2),d=n(h),p=r(7),_=a(p),v=r(3),y=n(v),m=r(9),b=a(m),M=r(11),x=a(M),g=r(27),S=a(g),D=r(17),I=a(D),w=r(29),F=a(w),O=r(13),k=a(O),E=r(28),P=a(E),C=r(5),A=a(C);e.ShapeBuilder=u.default,e.DrawEngine=f.default,e.AABox2d=d,e.Mat2d=_.default,e.Point2d=y,e.BasicStyle=b.default,e.Vec2d=x.default,e.Circle=S.default,e.Rect=I.default,e.Poly=F.default,e.PolyLine=k.default,e.Point=P.default,e.Math=A.default},function(t,e,r){e.glMatrix=r(4),e.mat2=r(34),e.mat2d=r(35),e.mat3=r(20),e.mat4=r(36),e.quat=r(37),e.vec2=r(38),e.vec3=r(21),e.vec4=r(22)},function(t,e,r){"use strict";function n(t,e,r,n,a){return t[P]="number"==typeof e?e:1/0,t[C]="number"==typeof r?r:1/0,t[A]="number"==typeof n?n:-(1/0),t[j]="number"==typeof a?a:-(1/0),t}function a(t,e,r,a){var i=new E.glMatrix.ARRAY_TYPE(4);return n(i,t,e,r,a)}function i(t){var e=new E.glMatrix.ARRAY_TYPE(4);return e[P]=t[P],e[C]=t[C],e[A]=t[A],e[j]=t[j],e}function o(t,e){return t[P]=e[P],t[C]=e[C],t[A]=e[A],t[j]=e[j],t}function s(t){return t[P]=1/0,t[C]=1/0,t[A]=-(1/0),t[j]=-(1/0),t}function l(t){return t[P]=-(1/0),t[C]=-(1/0),t[A]=1/0,t[j]=1/0,t}function u(t,e){return e[0]<0?(t[P]=-e[0],t[A]=0):(t[P]=0,t[A]=e[0]),e[1]<0?(t[C]=-e[1],t[j]=0):(t[C]=0,t[j]=e[1]),t}function c(t,e,r){for(var n=0;n<2;n+=1)r[n]<0?(t[n]=e[n]-r[n],t[n+2]=e[n]):(t[n]=e[n],t[n+2]=e[n]+r[n]);return t}function f(t,e,r){for(var n=0;n<2;n+=1)r[n]<0?(t[n]=e[n]+r[n],t[n+2]=e[n]-r[n]):(t[n]=e[n]-r[n],t[n+2]=e[n]+r[n]);return t}function h(t){return t[P]>t[A]||t[C]>t[j]}function d(t){return!(isFinite(t[P])&&isFinite(t[C])&&isFinite(t[A])&&isFinite(t[j]))}function p(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=e[0],s=e[1],l=e[2],u=e[3];return Math.abs(r-o)<=E.glMatrix.EPSILON&&Math.abs(n-s)<=E.glMatrix.EPSILON&&Math.abs(a-l)<=E.glMatrix.EPSILON&&Math.abs(i-u)<=E.glMatrix.EPSILON}function _(t,e){return E.vec2.set(t,e[A]-e[P],e[j]-e[C])}function v(t,e){return _(t,e),E.vec2.scale(t,t,.5)}function y(t,e){return v(t,e),t[P]+=e[P],t[C]+=e[C],t}function m(t,e,r){t[P]=e[P]-r[0],t[A]=e[A]+r[0],t[C]=e[C]-r[1],t[j]=e[j]+r[1]}function b(t){return(t[A]-t[P])*(t[j]-t[C])}function M(t,e,r){return a(Math.min(e[P],r[P]),Math.min(e[C],r[C]),Math.max(e[A],r[A]),Math.max(e[j],r[j]))}function x(t,e,r){var n=t;t===e&&(n=a());for(var i=P,l=A;i<=C&&!(e[l]r[l]);i+=1,l+=1)n[i]=Math.max(e[i],r[i]),n[l]=Math.min(e[l],r[l]);return i!==C+1&&s(n),t===e&&o(t,n),t}function g(t,e){return!(t[A]<=e[P]||t[P]>=e[A]||t[j]<=e[C]||t[C]>=e[j])}function S(t,e){return!(e[P]t[A]||e[C]t[j])}function D(t,e){return e[P]>=t[P]&&e[P]<=t[A]&&e[C]>=t[C]&&e[C]<=t[j]}function I(t,e,r){return t!==e&&o(t,e),h(e)?(t[P]=r[P],t[A]=r[P],t[C]=r[C],t[j]=r[C]):(r[P]t[A]&&(t[A]=r[P]),r[C]t[j]&&(t[j]=r[C])),t}function w(t,e,r){t[P]=e[P]+r[0],t[C]=e[C]+r[1],t[A]=e[A]+r[0],t[j]=e[j]+r[1]}function F(t,e,r,n){var i=t;t===e&&(i=a()),s(i);var l=E.vec2.set(E.vec2.create(),e[P],e[C]),u=E.vec2.create();return n(u,l,r),I(i,i,u),l[P]=e[A],n(u,l,r),I(i,i,u),l[C]=e[j],n(u,l,r),I(i,i,u),l[P]=e[P],n(u,l,r),I(i,i,u),t===e&&o(t,i),t}function O(t,e,r){return F(t,e,r,E.vec2.transformMat2)}function k(t,e,r){return F(t,e,r,E.vec2.transformMat2d)}Object.defineProperty(e,"__esModule",{value:!0}),e.MAXY=e.MAXX=e.MINY=e.MINX=void 0,e.set=n,e.create=a,e.clone=i,e.copy=o,e.initEmpty=s,e.initInfinity=l,e.initSizeFromOrigin=u,e.initSizeFromLocation=c,e.initCenterExtents=f,e.isEmpty=h,e.isInfinite=d,e.equals=p,e.getSize=_,e.getExtents=v,e.getCenter=y,e.expand=m,e.area=b,e.hull=M,e.intersection=x,e.overlaps=g,e.contains=S,e.containsPt=D,e.encapsulatePt=I,e.translate=w,e.transformMat2=O,e.transformMat2d=k;var E=r(1),P=e.MINX=0,C=e.MINY=1,A=e.MAXX=2,j=e.MAXY=3},function(t,e,r){"use strict";function n(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return t[b]=e,t[M]=r,t}function a(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=new m.glMatrix.ARRAY_TYPE(2);return n(r,t,e)}function i(t){var e=new m.glMatrix.ARRAY_TYPE(2);return e[b]=t[b],e[M]=t[M],e}function o(t,e){return t[b]=e[b],t[M]=e[M],t}function s(t,e){return a(t,e)}function l(t,e,r){return m.vec2.add(t,e,r)}function u(t,e,r){return m.vec2.sub(t,e,r)}function c(t,e,r){return m.vec2.transformMat2(t,e,r)}function f(t,e,r){return m.vec2.transformMat2d(t,e,r)}function h(t){return"point2d("+t[0]+" , "+t[1]+")"}function d(t,e){return m.vec2.distance(t,e)}function p(t,e){return m.vec2.squaredDistance(t,e)}function _(t,e,r,n){return m.vec2.lerp(t,e,r,n)}function v(t,e){return m.vec2.equals(t,e)}function y(t,e){return m.vec2.exactEquals(t,e)}Object.defineProperty(e,"__esModule",{value:!0}),e.sqrDist=e.dist=void 0,e.set=n,e.create=a,e.clone=i,e.copy=o,e.initFromValues=s,e.addVec2=l,e.sub=u,e.transformMat2=c,e.transformMat2d=f,e.str=h,e.distance=d,e.squaredDistance=p,e.lerp=_,e.equals=v,e.exactEquals=y;var m=r(1),b=0,M=1;e.dist=d,e.sqrDist=p},function(t,e){var r={};r.EPSILON=1e-6,r.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,r.RANDOM=Math.random,r.ENABLE_SIMD=!1,r.SIMD_AVAILABLE=r.ARRAY_TYPE===Float32Array&&"SIMD"in this,r.USE_SIMD=r.ENABLE_SIMD&&r.SIMD_AVAILABLE,r.setMatrixArrayType=function(t){r.ARRAY_TYPE=t};var n=Math.PI/180;r.toRadian=function(t){return t*n},r.equals=function(t,e){return Math.abs(t-e)<=r.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},t.exports=r},function(t,e){"use strict";function r(t,e,r){return tr?r:t}function n(t){return t<0?0:t>1?1:t}function a(t,e,r){return t*(1-r)+e*r}Object.defineProperty(e,"__esModule",{value:!0});var i=1e-5,o=.25,s=.5,l=2;Math.QUATER_PI=o*Math.PI,Math.HALF_PI=s*Math.PI,Math.HALF_NPI=-s*Math.PI,Math.TWO_PI=l*Math.PI,Math.NPI=-Math.PI,Math.NQUATER_PI=o*Math.NPI,Math.NHALF_PI=s*Math.NPI,Math.NTWO_PI=l*Math.NPI,Math.INV_PI=1/Math.PI,Math.RAD_TO_DEG=180/Math.PI,Math.DEG_TO_RAD=Math.PI/180,Math.EPS=i,Math.clamp=r,Math.clamp01=n,Math.lerp=a,e.default=Math},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var r=0;r3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;this.transformCtx(t,this._fullXform,e),t.beginPath();var i=this._draw(t);(i||"undefined"==typeof i)&&(this.isFillVisible()&&(null===n||Boolean(n))&&(r.setFillStyle(t,this),t.fill()),this.isStrokeVisible()&&(null===a||Boolean(a))&&(r.setStrokeStyle(t,this),t.setTransform(1,0,0,1,0,0),t.stroke()))}},{key:"setStyle",value:function(t){return M.default.copyBasicStyle(t,this),this}},{key:"toJSON",value:function(){var t=this;return this._stateStack&&this._stateStack.length&&(t=this._stateStack[0]),Object.assign({visible:this.visible,zIndex:t.zIndex},M.default.toJSON(t),v.default.toJSON(this))}},{key:"visible",get:function(){return this._visible&&(this.isFillVisible()||this.isStrokeVisible())}}],[{key:"shapeCompare",value:function(t,e){var r=t.zIndex,n=e.zIndex;if(rn)return 1;var a=h.default.compareFillStyle(t,e);return a||(a=p.default.compareStrokeStyle(t,e)),a}}]),e}((0,m.default)(D,(0,_.createEventedTransform2dMixin)("changed:xform"),(0,f.createEventedFillStyleMixin)("changed:style"),(0,d.createEventedStrokeStyleMixin)("changed:style")));e.default=I},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(1);n.mat2d.svd=function(t,e,r,n){if(t&&(t[0]=n[4],t[1]=n[5]),e||r){var a=(n[0]+n[3])/2,i=(n[0]-n[3])/2,o=(n[1]+n[2])/2,s=(n[1]-n[2])/2;if(e){var l=Math.sqrt(a*a+s*s),u=Math.sqrt(i*i+o*o);e[0]=l+u,e[1]=l-u}if(r){var c=Math.atan2(o,i),f=Math.atan2(s,a);r[0]=(f-c)/2,r[1]=(f+c)/2}}},e.default=n.mat2d},function(t,e){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),o=1;o0&&this._strokeWidth>0}},{key:"isTransparent",value:function(){return this._strokeColor.isTransparent()}},{key:"setStrokeCtx",value:function(t){t.strokeStyle=this.strokeColor,t.lineWidth=this._strokeWidth,t.lineJoin=this._lineJoin,t.lineCap=this._lineCap,t.setLineDash(this._dashPattern),t.lineDashOffset=this._dashOffset}},{key:"strokeColor",set:function(t){return this._strokeColor.value=t,this},get:function(){return this._strokeColor.value}},{key:"strokeOpacity",set:function(t){this._strokeColor.opacity=t},get:function(){return this._strokeColor.opacity}},{key:"packedStrokeColor",set:function(t){this._strokeColor.packedValue=t},get:function(){return this._strokeColor.packedValue}},{key:"strokeWidth",set:function(t){return i(t),this._strokeWidth=t,this},get:function(){return this._strokeWidth}},{key:"lineJoin",set:function(t){var e=o(t);return this._lineJoin=e,this},get:function(){return y[this._lineJoin]}},{key:"lineCap",set:function(t){var e=s(t);return this._lineCap=e,this},get:function(){return b[this._lineJoin]}},{key:"dashPattern",set:function(t){return l(t),this._dashPattern=t.slice(),this},get:function(){return this._dashPattern.slice()}},{key:"dashOffset",set:function(t){return u(t),this._dashOffset=t,this},get:function(){return this._dashOffset}}],[{key:"copyStrokeStyle",value:function(t,e){"undefined"!=typeof t.packedStrokeColor?e.packedStrokeColor=t.packedStrokeColor:("undefined"!=typeof t.strokeColor&&(e.strokeColor=t.strokeColor),"undefined"!=typeof t.strokeOpacity&&(e.strokeOpacity=t.strokeOpacity)),"undefined"!=typeof t.strokeWidth&&(e.strokeWidth=t.strokeWidth),"undefined"!=typeof t.lineJoin&&(e.lineJoin=t.lineJoin),"undefined"!=typeof t.lineCap&&(e.lineCap=t.lineCap),"undefined"!=typeof t.dashPattern&&(e.dashPattern=t.dashPattern),"undefined"!=typeof t.dashOffset&&(e.dashOffset=t.dashOffset)}},{key:"compareStrokeStyle",value:function(t,e){var r=t.isStrokeVisible(),n=e.isStrokeVisible();if(r!==n)return r-n;if(r=t.packedStrokeColor,n=e.packedStrokeColor,r!==n)return r-n;if(r=t.strokeWidth,n=e.strokeWidth,r!==n)return r-n;if(r=t._lineJoin,n=e._lineJoin,r!==n)return r-n;if(r=t._lineCap,n=e._lineCap,r!==n)return r-n;if(r=t._dashPattern,n=e._dashPattern,r.length===n.length&&r.length>0){for(var a=0;a0?(i[o+1]=0,i[o+2]=1):(i[o+1]=1,i[o+2]=0);for(var l=3;l=0&&i[o+1]>=0&&r(t[i[o]],t[i[o+1]],t[l])<=0;)o+=1;for(o-=1,i[o]=l;i[s]>=0&&i[s+1]>=0&&r(t[i[s-1]],t[i[s]],t[l])<=0;)s-=1;s+=1,i[s]=l}var u=0;for(u=0;u<=s-o-1;u+=1)e[u]=i[o+u];return i[o+u]!==e[0]&&(e[u]=i[o+u]),e}Object.defineProperty(e,"__esModule",{value:!0}),e.simpleHull_2D=n;var a=0,i=1},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function l(t,e,r,n){p.isEmpty(t)?(t[0]=e[0],t[2]=e[0],n[0]=n[2]=r,t[1]=e[1],t[3]=e[1],n[1]=n[3]=r):(e[0]t[2]&&(t[2]=e[0],n[2]=r),e[1]t[3]&&(t[3]=e[1],n[3]=r))}function u(t,e,r){var n=e[0]*r[1]-r[0]*e[1];return t[0]+=(e[0]+r[0])*n,t[1]+=(e[1]+r[1])*n,n}function c(t){return Array.isArray(t)||ArrayBuffer&&ArrayBuffer.isView(t)}Object.defineProperty(e,"__esModule",{value:!0});var f=function(){function t(t,e){for(var r=0;r=this._verts.length)throw new Error("Cannot translate vertex at index "+t+". There are only "+this._verts.length+" vertices in the polygon.");if(e[0]||e[1]){var r=v.clone(this._verts[t]),n=v.clone(this._verts[t]);v.addVec2(n,n,e),this._collapseVerts(),this._resetAABox=!0,this._geomDirty=!0,v.copy(n),this.fire("changed:geom",{attr:"verts["+t+"]",prevVal:r,currVal:n})}return this}},{key:"setVertPosition",value:function(t,e){if(t>=this._verts.length)throw new Error("Cannot translate vertex at index "+t+". There are only "+this._verts.length+" vertices in the polygon.");if(!v.equals(e,this._verts[t])){var r=v.clone(this._verts[t]);this._collapseVerts(),v.copy(this._verts[t],e),this._resetAABox=!0,this._geomDirty=!0,this.fire("changed:geom",{attr:"verts["+t+"]",prevVal:r,currVal:e})}}},{key:"insertVert",value:function(t,e){var r=x.default.min(x.default.max(t,0),this._verts.length);return this._collapseVerts(),t>=this._verts.length?(this._verts.push(v.clone(e)),r=this._verts.length-1):this._verts.splice(t,0,v.clone(e)),this._resetAABox=!0,this._geomDirty=!0,this.fire("changed:geom:addvert",{attr:"verts["+r+"]",currVal:e}),r}},{key:"appendVert",value:function(t){return this.insertVert(this._verts.length,t)}},{key:"removeVert",value:function(t){if(t>=this._verts.length||t<0)throw new Error("Cannot remove vertex "+t+". Invalid index. There are only "+this._verts.length+" vertices in the shape.");var e=this._verts[t];return this._verts.splice(t,1),this._collapseVerts(),this._resetAABox=!0,this._geomDirty=!0,this.fire("changed:geom:removevert",{attr:"verts["+t+"]",currVal:e}),t}},{key:"_rebuildAABox",value:function(){var t=this;p.initEmpty(this._aabox),this._verts.length<3?this._convexHull=this._verts.map(function(t,e){return e}):this._convexHull=(0,g.simpleHull_2D)(this._verts),this._convexHull.forEach(function(e){l(t._aabox,t._verts[e],e,t._extentIndices)});var e=v.create(0,0);p.getCenter(e,this._aabox),this.pivot=e}},{key:"_updateAABox",value:function(){var t=this;if(this._resetAABox&&(this._rebuildAABox(),this._resetAABox=!1),this._boundsOutOfDate||this._geomDirty){p.initEmpty(this._aabox);var e=[0,0],r=this.globalXform;if(this._convexHull.forEach(function(n){p.encapsulatePt(t._aabox,t._aabox,v.transformMat2d(e,t._verts[n],r))}),this._boundsOutOfDate=!1,this._geomDirty){var n=v.create();n[0]=this._verts[this._extentIndices[0]][0]+.5*(this._verts[this._extentIndices[2]][0]-this._verts[this._extentIndices[0]][0]),n[1]=this._verts[this._extentIndices[1]][1]+.5*(this._verts[this._extentIndices[3]][1]-this._verts[this._extentIndices[1]][1]),this.pivot=n,this._geomDirty=!1}}}},{key:"_draw",value:function(t){var e=!1;if(this._verts.length>=2){t.moveTo(this._verts[0][0],this._verts[0][1]);for(var r=1;r=e.length)return 0;var o=0,s=null;return s=t.get(e[r]),s&&(o=n(s[0],e,r+1,a),s[1].forEach(function(t){return t.call(i,a)}),o+=s[1].length),o}function a(t,e){var r=-1,n=t[0],i=t[1];i.length&&e.forEach(function(t){(r=i.indexOf(t))>=0&&i.splice(r,1)}),n.forEach(function(t){a(t,e)})}function i(t){var e=t;if("string"==typeof t)e=[t];else if(!Array.isArray(t))throw new Error("Input must be an array of strings");return e}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:null;this._margins=e&&e.margins?Object.assign({},e.margins):{},P.forEach(function(t){"number"!=typeof r._margins[t]&&(r._margins[t]=0)});var a=u(t),i=a.canvasContainer,o=a.canvas,s=a.canvasContext,l=a.ratio;this._container=i,this._drawCanvas=o,this._drawCtx=s,this._pixelRatio=l,this._parent=t,(0,x.bindAll)(["_resize"],this),this._resize(e),this._resizeSensor=new F.default(t,this._resize),(n||null===n&&e&&e.enableEvents)&&this._enableEvents()}},{key:"_destroyCanvas",value:function(){this._drawCanvas&&this._disableEvents(),this._parent&&(this._parent.removeChild(this._drawCanvas),this._resizeSensor&&this._resizeSensor.detach(this._parent,this._resize)),this._drawCanvas=null,this._drawCtx=null,this._parent=null}},{key:"_init",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.registerEvents([C.SHAPE_ADD,C.SHAPE_DELETE]),(0,x.bindAll)(["_reorderCb","_rerenderCb"],this),(0,x.bindAll)(["_mousedownCB","_mouseupCB","_mousemoveCB","_clickCB","_dblclickCB","_mouseoverCB","_mouseoutCB"],this),this._renderFrameCb=this.renderAll.bind(this),this._renderRequestId=0,this._ids={shapeId:1},this._objects=new Map,this._sortedObjs=[],this._reorderedObjIdxs=new Set,this._initCanvas(t,e,r),this._styleState=new A({fillColor:"red"})}},{key:"getContainer",value:function(){return this._parent}},{key:"getCanvasContainer",value:function(){return this._container}},{key:"getCanvas",value:function(){return this._drawCanvas}},{key:"project",value:function(t,e){var r=this._camera.screenToWorldMatrix;return v.transformMat2d(t,e,r)}},{key:"unproject",value:function(t,e){var r=this._camera.worldToScreenMatrix;return v.transformMat2d(t,e,r)}},{key:"hasShape",value:function(t){return this._objects.has(t)}},{key:"addShape",value:function(t){var e=t;Array.isArray(e)||(e=[t]),c(e,this._objects,this._ids,this._reorderCb,this._rerenderCb),this.fire("shape:add",{shape:e});var r={target:e};return this._reorderCb(r),this}},{key:"deleteShape",value:function(t){var e=t;Array.isArray(e)||(e=[t]);for(var r=f(e,this._objects,this._reorderCb,this._rerenderCb),n=-1,a=0;a=0&&this._sortedObjs.splice(n,1),this._reorderedObjIdxs.add(r[a]);return this._rerenderCb(),this.fire("shape:delete",{shape:e}),this}},{key:"deleteAllShapes",value:function(){return this.deleteShape(this.sortedShapes.slice()),this}},{key:"moveShapeToTop",value:function(t){if(this._objects.has(t)){var e=this.sortedShapes,r=e[e.length-1].zIndex;t.zIndex=r+1}}},{key:"moveShapeToBack",value:function(t){if(this._objects.has(t)){var e=this.sortedShapes,r=e[0].zIndex;t.zIndex=r}}},{key:"getShapesAsJSON",value:function(){var t=this.sortedShapes;return t.map(function(t){return t.toJSON()})}},{key:"_rerenderCb",value:function(t){this._renderRequestId&&window.cancelAnimationFrame(this._renderRequestId),this._renderRequestId=window.requestAnimationFrame(this._renderFrameCb)}},{key:"_reorderCb",value:function(t){var e=this,r=t.target;Array.isArray(r)||(r=[t.target]),r.forEach(function(t){console.assert(t,"A changed event doesn't have an object");var r=e._objects.get(t);console.assert(r,"A changed event target isn't in the list of shapes "+t),r.shapeIdx<0&&(r.shapeIdx=e._sortedObjs.push(t)-1),e._reorderedObjIdxs.add(r.shapeIdx)}),this._rerenderCb()}},{key:"_renderShapes",value:function(t,e,r){var n=this,a=r.worldToScreenMatrix;e.forEach(function(e){e.visible&&e.render(t,a,n._styleState)})}},{key:"renderAll",value:function(){var t=this._drawCtx;if(t.clearRect(0,0,this._drawCanvas.offsetWidth,this._drawCanvas.offsetHeight),this._objects.size){t.save();var e=this.sortedShapes;this._styleState.applyDefaults(t),this._renderShapes(t,e,this._camera),t.restore()}}},{key:"sortedShapes",get:function(){return this._reorderedObjIdxs.size&&(console.assert(this._sortedObjs.length===this._objects.size,"Size mismatch when rendering objets. Something got out of sync - sorted objs length: "+this._sortedObjs.length+", objects length: "+this._objects.size),this._sortedObjs.sort(m.default.shapeCompare),this._reorderedObjIdxs.clear()),this._sortedObjs}},{key:"margins",get:function(){var t=this,e={};return P.forEach(function(r){e[r]=t._margins[r]}),e},set:function(t){var e=this,r=!1;P.forEach(function(n){"number"==typeof t[n]&&t[n]!==e._margins[n]&&(e._margins[n]=t.prop,r=!0)}),this._resize()}},{key:"viewport",get:function(){return this._camera.viewport},set:function(t){this._camera.viewport=t}},{key:"projectionDimensions",get:function(){return this._camera.projectionDimensions},set:function(t){return this._camera.projectionDimensions=t,this}},{key:"cameraPosition",get:function(){return this._camera.getPosition()},set:function(t){return this._camera.setPosition(t),this}}]),e}(I.default));e.default=j,j.EventConstants=C},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var r=0;r>>24)+", "+((16711680&t)>>16)+", "+((65280&t)>>8)+", "+s(t)+")"}function c(t){if("string"!=typeof t)throw new Error(t+" is not a valid color string");var e=0,r=null;if(r=t.match(y))e=255,e|=_.default.clamp(Number.parseInt(r[3],10),0,255)<<8,e|=_.default.clamp(Number.parseInt(r[2],10),0,255)<<16,e|=_.default.clamp(Number.parseInt(r[1],10),0,255)<<24;else if(r=t.match(m))e=l(Number.parseFloat(r[4],10)),e|=_.default.clamp(Number.parseInt(r[3],10),0,255)<<8,e|=_.default.clamp(Number.parseInt(r[2],10),0,255)<<16,e|=_.default.clamp(Number.parseInt(r[1],10),0,255)<<24;else if(r=t.match(b))e=255,e|=_.default.clamp(Number.parseInt(r[3],16),0,255)<<8,e|=_.default.clamp(Number.parseInt(r[2],16),0,255)<<16,e|=_.default.clamp(Number.parseInt(r[1],16),0,255)<<24;else{if(!v.has(t))throw new Error(t+" is not a valid color string");r=v.get(t).match(b),e=255,e|=_.default.clamp(Number.parseInt(r[3],16),0,255)<<8,e|=_.default.clamp(Number.parseInt(r[2],16),0,255)<<16,e|=_.default.clamp(Number.parseInt(r[1],16),0,255)<<24}return e}function f(t,e){return function(r){function n(){return o(this,n),a(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return i(n,r),d(n,[{key:"initializer",value:function(t,e){this._eventHandler=e,h(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"initializer",this).call(this,t)}},{key:"_checkPackedColorChanged",value:function(r){if(r!==this._color){var n=this._color,a=s(n),i=s(r);this._color=r,this._eventHandler.fire(t,{attr:e,prevVal:u(n),currVal:u(this._color)}),i!==a&&this._eventHandler.fire(t,{attr:"opacity",prevVal:a,currVal:i})}}},{key:"value",set:function(t){var e=c(t);return this._checkPackedColorChanged(e),this},get:function(){return u(this._color)}},{key:"packedValue",set:function(t){var e=0;return e|=t,this._checkPackedColorChanged(e),this},get:function(){return this._color}},{key:"opacity",set:function(e){if("number"!=typeof e)throw new Error("Opacity must be a number between 0-1");var r=255&this._color,n=l(e);return n!==r&&(this._color&=4294967040,this._color|=n,this._eventHandler.fire(t,{attr:"opacity",prevVal:r/255,currVal:n/255})),this},get:function(){return s(this._color)}}]),n}(M)}Object.defineProperty(e,"__esModule",{value:!0});var h=function t(e,r,n){null===e&&(e=Function.prototype);var a=Object.getOwnPropertyDescriptor(e,r);if(void 0===a){var i=Object.getPrototypeOf(e);return null===i?void 0:t(i,r,n)}if("value"in a)return a.value;var o=a.get;if(void 0!==o)return o.call(n)},d=function(){function t(t,e){for(var r=0;r1?r-1:0),a=1;a0}},{key:"isTransparent",value:function(){return this._fillColor.isTransparent()}},{key:"setFillCtx",value:function(t){t.fillStyle=this.fillColor}},{key:"fillColor",set:function(t){return this._fillColor.value=t,this},get:function(){return this._fillColor.value}},{key:"fillOpacity",set:function(t){return this._fillColor.opacity=t,this},get:function(){return this._fillColor.opacity}},{key:"packedFillColor",set:function(t){return this._fillColor.packedValue=t,this},get:function(){return this._fillColor.packedValue}}],[{key:"copyFillStyle",value:function(t,e){"undefined"!=typeof t.packedFillColor?e.packedFillColor=t.packedFillColor:("undefined"!=typeof t.fillColor&&(e.fillColor=t.fillColor),"undefined"!=typeof t.fillOpacity&&(e.fillOpacity=t.fillOpacity))}},{key:"compareFillStyle",value:function(t,e){var r=t.isFillVisible(),n=e.isFillVisible(); -return r!==n?r-n:t.packedFillColor-e.packedFillColor}},{key:"toJSON",value:function(t){return{fillColor:t.fillColor}}}]),t}();e.default=f},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},a.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},a.clone=function(t){var e=new n.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},a.fromValues=function(t,e,r,a,i,o,s,l,u){var c=new n.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=r,c[3]=a,c[4]=i,c[5]=o,c[6]=s,c[7]=l,c[8]=u,c},a.set=function(t,e,r,n,a,i,o,s,l,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},a.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],a=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=a}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},a.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=c*o-s*u,h=-c*i+s*l,d=u*i-o*l,p=r*f+n*h+a*d;return p?(p=1/p,t[0]=f*p,t[1]=(-c*n+a*u)*p,t[2]=(s*n-a*o)*p,t[3]=h*p,t[4]=(c*r-a*l)*p,t[5]=(-s*r+a*i)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(o*r-n*i)*p,t):null},a.adjoint=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8];return t[0]=o*c-s*u,t[1]=a*u-n*c,t[2]=n*s-a*o,t[3]=s*l-i*c,t[4]=r*c-a*l,t[5]=a*i-r*s,t[6]=i*u-o*l,t[7]=n*l-r*u,t[8]=r*o-n*i,t},a.determinant=function(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],l=t[7],u=t[8];return e*(u*i-o*l)+r*(-u*a+o*s)+n*(l*a-i*s)},a.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=r[0],d=r[1],p=r[2],_=r[3],v=r[4],y=r[5],m=r[6],b=r[7],M=r[8];return t[0]=h*n+d*o+p*u,t[1]=h*a+d*s+p*c,t[2]=h*i+d*l+p*f,t[3]=_*n+v*o+y*u,t[4]=_*a+v*s+y*c,t[5]=_*i+v*l+y*f,t[6]=m*n+b*o+M*u,t[7]=m*a+b*s+M*c,t[8]=m*i+b*l+M*f,t},a.mul=a.multiply,a.translate=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=r[0],d=r[1];return t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=h*n+d*o+u,t[7]=h*a+d*s+c,t[8]=h*i+d*l+f,t},a.rotate=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*o,t[1]=d*a+h*s,t[2]=d*i+h*l,t[3]=d*o-h*n,t[4]=d*s-h*a,t[5]=d*l-h*i,t[6]=u,t[7]=c,t[8]=f,t},a.scale=function(t,e,r){var n=r[0],a=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=a*e[3],t[4]=a*e[4],t[5]=a*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},a.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},a.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},a.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},a.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},a.fromQuat=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,l=a+a,u=r*o,c=n*o,f=n*s,h=a*o,d=a*s,p=a*l,_=i*o,v=i*s,y=i*l;return t[0]=1-f-p,t[3]=c-y,t[6]=h+v,t[1]=c+y,t[4]=1-u-p,t[7]=d-_,t[2]=h-v,t[5]=d+_,t[8]=1-u-f,t},a.normalFromMat4=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],_=e[13],v=e[14],y=e[15],m=r*s-n*o,b=r*l-a*o,M=r*u-i*o,x=n*l-a*s,g=n*u-i*s,S=a*u-i*l,D=c*_-f*p,I=c*v-h*p,w=c*y-d*p,F=f*v-h*_,O=f*y-d*_,k=h*y-d*v,E=m*k-b*O+M*F+x*w-g*I+S*D;return E?(E=1/E,t[0]=(s*k-l*O+u*F)*E,t[1]=(l*w-o*k-u*I)*E,t[2]=(o*O-s*w+u*D)*E,t[3]=(a*O-n*k-i*F)*E,t[4]=(r*k-a*w+i*I)*E,t[5]=(n*w-r*O-i*D)*E,t[6]=(_*S-v*g+y*x)*E,t[7]=(v*M-p*S-y*b)*E,t[8]=(p*g-_*M+y*m)*E,t):null},a.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},a.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},a.sub=a.subtract,a.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},a.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},a.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},a.equals=function(t,e){var r=t[0],a=t[1],i=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=e[0],d=e[1],p=e[2],_=e[3],v=e[4],y=e[5],m=t[6],b=e[7],M=e[8];return Math.abs(r-h)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(a-d)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(d))&&Math.abs(i-p)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(p))&&Math.abs(o-_)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(_))&&Math.abs(s-v)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(v))&&Math.abs(l-y)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(u-m)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(m))&&Math.abs(c-b)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(f-M)<=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(M))},t.exports=a},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},a.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},a.fromValues=function(t,e,r){var a=new n.ARRAY_TYPE(3);return a[0]=t,a[1]=e,a[2]=r,a},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},a.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},a.sub=a.subtract,a.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},a.mul=a.multiply,a.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},a.div=a.divide,a.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},a.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},a.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t},a.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t},a.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},a.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},a.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t},a.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)},a.dist=a.distance,a.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a},a.sqrDist=a.squaredDistance,a.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},a.len=a.length,a.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},a.sqrLen=a.squaredLength,a.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},a.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},a.normalize=function(t,e){var r=e[0],n=e[1],a=e[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t},a.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},a.cross=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t},a.lerp=function(t,e,r,n){var a=e[0],i=e[1],o=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t},a.hermite=function(t,e,r,n,a,i){var o=i*i,s=o*(2*i-3)+1,l=o*(i-2)+i,u=o*(i-1),c=o*(3-2*i);return t[0]=e[0]*s+r[0]*l+n[0]*u+a[0]*c,t[1]=e[1]*s+r[1]*l+n[1]*u+a[1]*c,t[2]=e[2]*s+r[2]*l+n[2]*u+a[2]*c,t},a.bezier=function(t,e,r,n,a,i){var o=1-i,s=o*o,l=i*i,u=s*o,c=3*i*s,f=3*l*o,h=l*i;return t[0]=e[0]*u+r[0]*c+n[0]*f+a[0]*h,t[1]=e[1]*u+r[1]*c+n[1]*f+a[1]*h,t[2]=e[2]*u+r[2]*c+n[2]*f+a[2]*h,t},a.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,a=2*n.RANDOM()-1,i=Math.sqrt(1-a*a)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=a*e,t},a.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t},a.transformMat3=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t},a.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*i-l*a,f=u*a+l*n-o*i,h=u*i+o*a-s*n,d=-o*n-s*a-l*i;return t[0]=c*u+d*-o+f*-l-h*-s,t[1]=f*u+d*-s+h*-o-c*-l,t[2]=h*u+d*-l+c*-s-f*-o,t},a.rotateX=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},a.rotateY=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},a.rotateZ=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},a.forEach=function(){var t=a.create();return function(e,r,n,a,i,o){var s,l;for(r||(r=3),n||(n=0),l=a?Math.min(a*r+n,e.length):e.length,s=n;s1?0:Math.acos(i)},a.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},a.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},a.equals=function(t,e){var r=t[0],a=t[1],i=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-s)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(i-l)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))},t.exports=a},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},a.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},a.fromValues=function(t,e,r,a){var i=new n.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=a,i},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},a.set=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t},a.sub=a.subtract,a.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t},a.mul=a.multiply,a.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t},a.div=a.divide,a.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},a.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},a.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t},a.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t},a.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},a.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},a.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t},a.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(r*r+n*n+a*a+i*i)},a.dist=a.distance,a.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return r*r+n*n+a*a+i*i},a.sqrDist=a.squaredDistance,a.length=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return Math.sqrt(e*e+r*r+n*n+a*a)},a.len=a.length,a.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return e*e+r*r+n*n+a*a},a.sqrLen=a.squaredLength,a.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},a.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},a.normalize=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o),t},a.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},a.lerp=function(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t},a.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),a.normalize(t,t),a.scale(t,t,e),t},a.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t},a.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*i-l*a,f=u*a+l*n-o*i,h=u*i+o*a-s*n,d=-o*n-s*a-l*i;return t[0]=c*u+d*-o+f*-l-h*-s,t[1]=f*u+d*-s+h*-o-c*-l,t[2]=h*u+d*-l+c*-s-f*-o,t[3]=e[3],t},a.forEach=function(){var t=a.create();return function(e,r,n,a,i,o){var s,l;for(r||(r=4),n||(n=0),l=a?Math.min(a*r+n,e.length):e.length,s=n;s=0&&a<=t.clientWidth&&(i=r-n.top-t.clientTop)>=0&&i<=t.clientHeight}function u(t,e,r){var n=e.getBoundingClientRect();t[0]=r.clientX-n.left-e.clientLeft,t[1]=r.clientY-n.top-e.clientTop}function c(t,e,r,n){u(Y,t,e),D.transformMat2d(H,Y,n.screenToWorldMatrix);var a=r.shape;a instanceof B.default?g.transformXformShape(a,r,Y,H,n):a instanceof T.default?g.translateVert(a,r,Y,H,n):g.translateShape(a,r,Y,H,n)}function f(t,e){e.keys={altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey}}function h(t){var e=[];return t.forEach(function(t,r){e.push(r)}),e}function d(t,e,r,n,a,i){var o={unselectedShapes:h(r)};p(r),t.save();var s=e[e.length-1].zIndex;t.zIndex=s+1,w.default.copyBasicStyle(n,t),t.selected=!0;var l=null;return(i.scalable||i.rotatable)&&(l=new B.default(a||J,i),t.addChildXform(l)),r.set(t,l),o.selectedShapes=[t],o}function p(t){t.forEach(function(t,e){e.restore(),e.selected=!1,e.removeChildXform(t)}),t.clear()}function _(t,e){var r=[];return e.forEach(function(e){var n=t.get(e);e.restore(),e.selected=!1,e.removeChildXform(n),t.delete(e),r.push(e)}),r}function v(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-14,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-14,i=document.getElementById("cursor"),o=function(t){return""+(t.offsetX+"px")},s=function(t){return""+(t.offsetY+"px")};if(null===i){var l=document.createElement("span");l.setAttribute("id","cursor"),l.setAttribute("style","position: absolute; top: "+s(t)+"; left: "+o(t)+"; width: 28px; height: 28px; background: "+r+"; cursor: none; z-index: 10; pointer-events: none; transform: translate("+n+"px, "+a+"px)"),e.appendChild(l)}else i.style.background!==r?(i.style.background=r,i.style.top=s(t),i.style.left=o(t)):(i.style.top=s(t),i.style.left=o(t))}function y(){var t=document.getElementById("cursor");null!==t&&t.parentNode.removeChild(t)}function m(t){var e=document.getElementById("cursor"),r=function(t){return""+(t.offsetX+"px")},n=function(t){return""+(t.offsetY+"px")};null!==e&&(e.style.top=n(t),e.style.left=r(t))}Object.defineProperty(e,"__esModule",{value:!0});var b=function(){function t(t,e){for(var r=0;r=0;n-=1){var o=this._objects.get(r[n]);if(r[n].selected){a=this._selectedShapes.get(r[n]),i=o;var s=null;if(a&&(s=a.containsPoint(Y,H,e,this._drawCtx)).hit){if(this._parent.addEventListener("mouseout",U),this._parent.addEventListener("mouseover",G),a instanceof T.default&&t.altKey&&s.controlIndex=0;i-=1)if(a=this._objects.get(r[i]),a.selectable&&r[i].containsPoint(Y,H,e,this._drawCtx)){n=r[i];break}if(n&&!n.selected){var o=d(n,r,this._selectedShapes,this._selectStyle,this._xformStyle,a);this.fire(W.SELECTION_CHANGED,o)}}}},{key:"_mousemoveCB",value:function(t){var e=!1;if((e=l(this._drawCanvas,t.clientX,t.clientY))||this._dragInfo)if(this._dragInfo&&this._dragInfo.shape)m(t),f(t,this._dragInfo),c(this._drawCanvas,t,this._dragInfo,this._camera),t.stopImmediatePropagation(),t.preventDefault();else if(!t.buttons&&this._selectedShapes.size){D.set(Y,t.offsetX,t.offsetY),D.transformMat2d(H,Y,this._camera.screenToWorldMatrix);var r=this._camera.worldToScreenMatrix,n=this.sortedShapes,a=0,i=this._camera.isYFlipped();for(a=n.length-1;a>=0;a-=1)if(n[a].selected){var o=this._objects.get(n[a]),s=this._selectedShapes.get(n[a]),u=null;if(s&&(u=s.containsPoint(Y,H,r,this._drawCtx)).hit){if(s instanceof B.default){document.getElementById("cursor");this._parent.style.cursor="none";for(var h=0;h/g,""+d))}else u.controlIndex<4?0===u.controlIndex||3===u.controlIndex?v(t,this._parent,""+N.replace(/\/g,""+(-n[a].getRotation()-45))):1!==u.controlIndex&&2!==u.controlIndex||v(t,this._parent,""+N.replace(/\/g,""+(-n[a].getRotation()+45))):u.controlIndex%2===0?v(t,this._parent,""+N.replace(/\/g,""+-n[a].getRotation())):v(t,this._parent,""+N.replace(/\/g,""+(-n[a].getRotation()+90)))}else if(s instanceof T.default){this._parent.style.cursor="none";for(var p=0;p=n[a].numVerts?v(t,this._parent,L,-8,-6):t.altKey?v(t,this._parent,q,-8,-6):v(t,this._parent,X,-14,-14)}t.stopImmediatePropagation(),t.preventDefault();break}if(n[a].containsPoint(Y,H,r,this._drawCtx)){if(o&&o.movable){var _=document.getElementById("cursor");null!==_&&_.parentNode.removeChild(_),this._parent.style.cursor="move";for(var b=0;b=0;n-=1){var a=this._objects.get(r[n]);if(a.selectable&&r[n].containsPoint(Y,H,e,this._drawCtx)){if(a.editable&&r[n]instanceof C.default){var i=r[n],o=!1;if(r[n].selected){var s=this._selectedShapes.get(r[n]);s&&(i.restore(),i.removeChildXform(s),o=!(s instanceof B.default))}i.selected=!0,i.save();var u=r[r.length-1].zIndex;i.zIndex=u+1,w.default.copyBasicStyle(this._selectStyle,i);var c=null;o?(a.rotatable||a.scalable)&&(c=new B.default(this._xformStyle||J,a),i.addChildXform(c)):(c=new T.default(i,this._xformStyle),i.addChildXform(c)),this._selectedShapes.set(i,c)}else if(!r[n].selected){var f=d(r[n],r,this._selectedShapes,this._selectStyle,this._xformStyle,a);this.fire(W.SELECTION_CHANGED,f)}break}}n<0&&this._selectedShapes.size?(this._selectedShapes.size&&this.fire(W.SELECTION_CHANGED,{unselectedShapes:h(this._selectedShapes),selectedShapes:[]}),this._dragInfo=null,p(this._selectedShapes)):t.stopImmediatePropagation(),t.preventDefault()}}},{key:"_mouseoverCB",value:function(t){}},{key:"_mouseoutCB",value:function(t){}},{key:"_init",value:function(t,r){this._activated=r&&r.enableInteractions,M(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_init",this).call(this,t,r,this._activated);var n=Object.getOwnPropertyNames(W).map(function(t){return W[t]});this.registerEvents(n),this._dragInfo=null,this._selectedShapes=new Map,this._selectStyle=new w.default(r&&r.selectStyle?r.selectStyle:{fillColor:"orange"}),this._xformStyle=new w.default(r&&r.xformStyle?r.xformStyle:{fillColor:"white",strokeColor:"black",strokeWidth:2}),this.timer=0}},{key:"_renderShapes",value:function(t,e,r){var n=this,a=r.worldToScreenMatrix;e.forEach(function(e){if(e.visible&&(e.render(t,a,n._styleState),e.selected)){var r=n._selectedShapes.get(e);r&&r.render(t,a,n._styleState)}})}},{key:"selectShape",value:function(t){var e=this._objects.get(t);if(e&&e.selectable){var r=d(t,this.sortedShapes,this._selectedShapes,this._selectStyle,this._xformStyle,e);this.fire(W.SELECTION_CHANGED,r)}}},{key:"clearSelection",value:function(){if(this._selectedShapes.size){var t=h(this._selectedShapes);p(this._selectedShapes),this.fire(W.SELECTION_CHANGED,{unselectedShapes:t,selectedShapes:[]}),this._rerenderCb()}}},{key:"addShape",value:function(t){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=t;if(Array.isArray(i)||(i=[t]),M(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"addShape",this).call(this,i),i.forEach(function(t){var e=r._objects.get(t);e&&(e.selectable=!n||"undefined"==typeof n.selectable||Boolean(n.selectable),e.movable=!n||"undefined"==typeof n.movable||Boolean(n.movable),e.rotatable=!n||"undefined"==typeof n.rotatable||Boolean(n.rotatable),e.scalable=!n||"undefined"==typeof n.scalable||Boolean(n.scalable),e.uniformScaleOnly=!(!n||"undefined"==typeof n.uniformScaleOnly)&&Boolean(n.uniformScaleOnly),e.centerScaleOnly=!(!n||"undefined"==typeof n.centerScaleOnly)&&Boolean(n.centerScaleOnly),e.editable=!n||"undefined"==typeof n.editable||Boolean(n.editable))}),a){var o={unselectedShapes:h(this._selectedShapes)},s=[];i.forEach(function(t){var e=r._objects.get(t);e.selectable&&(d(t,r.sortedShapes,r._selectedShapes,r._selectStyle,r._xformStyle,e),s.push(t))}),s.length&&(o.selectedShapes=s,this.fire(W.SELECTION_CHANGED,o))}return this}},{key:"deleteShape",value:function(t){var r=t;Array.isArray(r)||(r=[t]);var n=_(this._selectedShapes,r);return this.fire(W.SELECTION_CHANGED,{unselectedShapes:n,selectedShapes:h(this._selectedShapes)}),M(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"deleteShape",this).call(this,r)}},{key:"deleteSelectedShapes",value:function(){var t=h(this._selectedShapes);return p(this._selectedShapes),this.fire(W.SELECTION_CHANGED,{unselectedShapes:t,selectedShapes:[]}),M(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"deleteShape",this).call(this,t)}},{key:"enableInteractions",value:function(){return this._enableEvents(),this._activated=!0,this}},{key:"disableInteractions",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return t&&this.clearSelection(),this._disableEvents(),this._activated=!1,this}},{key:"selectStyle",set:function(t){w.default.copyBasicStyle(t,this._selectStyle)},get:function(){return this._selectStyle}},{key:"selectedShapes",get:function(){return h(this._selectedShapes)}},{key:"interactionsEnabled",get:function(){return this._activated}}]),e}(O.default);e.default=K,Object.assign(W,O.default.EventConstants),K.EventConstants=W},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function i(t,e,r,n,a,i){var o=[0,0],s=[0,0];h.default.svd(o,s,null,r.objectToWorldMatrix);var l=[0,0];c.sub(l,r.startWorldPos,o), -p.default.normalize(l,l);var u=o;c.sub(u,a,o),p.default.normalize(u,u);var f=p.default.angle(l,u);r.keys.shiftKey&&(f=Math.round(f/Math.QUATER_PI)*Math.QUATER_PI),e.setRotation(r.startLocalRot+Math.RAD_TO_DEG*f)}function o(t,e,r,n,a,o){var s=t.parent,l=[0,0],u=[0,0],f=[0,0];if(e.rotate)return void i(t,s,e,r,n,a);var d=e.keys.shiftKey||e.uniformScaleOnly,_=e.keys.altKey||e.centerScaleOnly,v=[0,0];if(h.default.svd(v,null,null,e.objectToWorldMatrix),p.default.sub(u,n,e.startWorldPos),d&&e.controlIndex<4){var y=[e.objectToWorldMatrix[0],e.objectToWorldMatrix[1]],m=[e.objectToWorldMatrix[2],e.objectToWorldMatrix[3]],b=[0,0];e.controlIndex<2&&p.default.negate(y,y),e.controlIndex%2===0&&p.default.negate(m,m),p.default.normalize(y,y),p.default.normalize(m,m),p.default.add(b,y,m),p.default.normalize(b,b);var M=p.default.cross2d(u,b),x=null;0===e.controlIndex||3===e.controlIndex?(x=m,M<0&&(x=y)):(x=y,M<0&&(x=m));var g=p.default.dot(u,x);g=Math.sign(g)*Math.sqrt(2*g*g),p.default.scale(u,b,g),c.addVec2(n,e.startWorldPos,u)}c.copy(l,n),c.transformMat2d(l,l,e.worldToObjectMatrix),p.default.sub(f,l,e.startObjectPos),c.copy(v,e.startLocalPos);var S=0,D=0;if(e.controlIndex<4)S=e.controlIndex<2?-1:1,D=e.controlIndex%2===0?-1:1,_||c.addVec2(v,v,p.default.scale(u,u,.5)),s.setPosition(v);else{var I=e.controlIndex-4,w=[0,0];I%2===0?(p.default.set(w,e.objectToWorldMatrix[0],e.objectToWorldMatrix[1]),D=0,S=I<2?-1:1,d&&(D=S,f[1]=f[0])):(p.default.set(w,e.objectToWorldMatrix[2],e.objectToWorldMatrix[3]),S=0,D=I<2?-1:1,d&&(S=D,f[0]=f[1])),_||(p.default.normalize(w,w),p.default.scale(w,w,p.default.dot(u,w)),c.addVec2(v,v,p.default.scale(w,w,.5))),s.setPosition(v)}_&&(S*=2,D*=2),s.setScale([e.startLocalScale[0]*(1+S*f[0]/e.shapeWidth),e.startLocalScale[1]*(1+D*f[1]/e.shapeHeight)])}function s(t,e,r,n,a){var i=[0,0],o=[0,0];if(h.default.svd(o,null,null,e.objectToWorldMatrix),e.keys.shiftKey){c.sub(i,r,e.startPos);var s=Math.atan2(i[1],i[0]);s=Math.round(s/Math.QUATER_PI)*Math.QUATER_PI;var l=[Math.cos(s),Math.sin(s)];p.default.scale(i,l,p.default.dot(i,l)),p.default.transformMat2(i,i,a.screenToWorldMatrix)}else p.default.sub(i,n,e.startWorldPos);c.addVec2(o,e.startLocalPos,i),t.setPosition(o)}function l(t,e,r,n,a){var i=t.parent,o=i.numVerts;if(e.controlIndex>=o){var s=Math.min(e.controlIndex-o,o-1),l=s===o-1?0:s+1,u=[0,0],f=[0,0],h=[0,0],d=[0,0],_=i.vertsRef,v=i.globalXform;c.transformMat2d(f,_[s],v),c.transformMat2d(h,_[l],v),c.sub(d,h,f),p.default.scale(d,d,.5),c.addVec2(u,f,d),e.controlIndex=i.insertVert(s+1,u)}else i.setVertPosition(e.controlIndex,n)}Object.defineProperty(e,"__esModule",{value:!0}),e.transformXformShape=o,e.translateShape=s,e.translateVert=l;var u=r(3),c=a(u),f=r(7),h=n(f),d=r(11),p=n(d)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var r=0;r0&&l===this._transformedVerts.length-1&&(h.sub(f,this._transformedVerts[0],this._transformedVerts[l]),_.vec2.scale(f,f,.5),h.addVec2(u,this._transformedVerts[l],f),c.initCenterExtents(i,u,s),c.containsPt(i,t)&&(a.hit=!0,a.controlIndex=this._transformedVerts.length+l))}}return a}},{key:"renderBounds",value:function(t,e,r){this._updateAABox(e),t.save(),t.setTransform(1,0,0,1,0,0),r.setStrokeCtx(t);var n=[0,0],a=[0,0];c.getCenter(n,this._aabox),c.getExtents(a,this._aabox),t.beginPath(),t.rect(n[0]-a[0],n[1]-a[1],2*a[0],2*a[1]),t.stroke(),t.restore()}},{key:"render",value:function(t,e,r){var n=this;t.save(),t.setTransform(1,0,0,1,0,0);var a=this._baseVertShape._fullXform,i=this._baseVertShape.vertsRef;this._transformedVerts=new Array(i.length);var o=[0,0],s=[0,0];t.beginPath();var l=0;this._transformedVerts[l]=[0,0],h.transformMat2d(this._transformedVerts[l],i[l],a);var u=Math.max(1.5*t.lineWidth,2.5);for(l=0;l0&&(h.sub(s,this._transformedVerts[0],this._transformedVerts[l]),_.vec2.scale(s,s,.5),h.addVec2(o,this._transformedVerts[l],s),t.moveTo(o[0]+u,o[1]),t.arc(o[0],o[1],u,0,Math.TWO_PI),t.fillStyle=t.strokeStyle,t.fill()),t.beginPath(),this._transformedVerts.forEach(function(e){t.moveTo(e[0]+n._vertRadius,e[1]),t.arc(e[0],e[1],n._vertRadius,0,Math.TWO_PI)}),this.isFillVisible()&&(this.setFillCtx(t),t.fill()),this.isStrokeVisible()&&(this.setStrokeCtx(t),t.stroke()),t.restore()}}]),e}(p.default);e.default=v},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function l(t,e,r,n,a,i,o,s){_.transformMat2d(e,e,r),t.setTransform(1,0,0,1,0,0),t.translate(e[0],e[1]),t.rotate(i[1]),t.scale(o[0],o[1]),t.rotate(i[0]),t.translate(-e[0],-e[1]),t.rect(e[0]-a,e[1]-a,n,n)}function u(t,e,r,n,a,i,o,s,l,u){var c=!1,f=!1;if(_.transformMat2d(e,e,r),_.distance(e,t)<=s){g.default.negate(e,e),n[4]=n[0]*e[0]+n[2]*e[1],n[5]=n[1]*e[0]+n[3]*e[1];var h=0,d=0;_.transformMat2d(e,t,n),(Math.abs(e[0])<=a&&Math.abs(e[1])<=a||Boolean(l)&&Boolean(u)&&(f=(h=l*e[0])>-a&&h<=o&&(d=u*e[1])>-a&&d<=o))&&(c=!0)}return{hit:c,rotate:f}}Object.defineProperty(e,"__esModule",{value:!0});var c=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{scalable:!0,rotatable:!0};i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n._interactiveBoxSize=8,n._interactiveBoxPadding=10,t&&"undefined"!=typeof t.vertexSize&&(n._interactiveBoxSize=t.vertexSize),n._scalable=!0,n._rotatable=!0,r&&("undefined"!=typeof r.scalable&&(n._scalable=Boolean(r.scalable)),"undefined"!=typeof r.rotatable&&(n._rotatable=Boolean(r.rotatable))),n}return s(e,t),c(e,[{key:"containsPoint",value:function(t,e,r,n){var a={hit:!1,rotate:!1,controlIndex:-1},i=this.aabox;if((this._rotatable||this._scalable)&&this.visible&&d.containsPt(i,t)){var o=[0,0],s=[0,0];m.default.svd(null,o,s,this._fullXform);var l=m.default.create();o[0]=o[0]<0?-1:1,o[1]=o[1]<0?-1:1,o[0]*o[1]>0&&g.default.negate(s,s),m.default.rotate(l,l,s[1]),m.default.scale(l,l,o),m.default.rotate(l,l,s[0]);for(var c=this._rotatable?this._interactiveBoxPadding:0,f=this._interactiveBoxSize/2,h=this.width/2,p=this.height/2,v=[0,0],y=f+c,b=Math.sqrt(2*y*y),M=0,x=0,S=0;S<4;S+=1)if(M=S<2?-1:1,x=S%2===0?-1:1,_.set(v,M*h,x*p),a=u(t,v,this._fullXform,l,f,this._interactiveBoxSize,y,b,M,x,o),a.hit){a.controlIndex=S;break}if(!a.hit&&this._scalable)for(var D=0;D<4;D+=1)if(M=D%2===0?D<2?-1:1:0,x=D%2===0?0:D<2?-1:1,_.set(v,M*h,x*p),a=u(t,v,this._fullXform,l,f,this._interactiveBoxSize,y,b,M,x,o),a.hit){a.controlIndex=D+4;break}a.rotate&&!this._rotatable?a.rotate=!1:a.rotate||this._scalable||(a.rotate=!0)}return a}},{key:"_updatelocalxform",value:function(t){if(this._lxformDirty||t){var e=_.clone(this._pos);_.addVec2(e,e,this._parent.pivotRef),(0,v.buildXformMatrix)(this._localXform,this._rotDeg,this._scale,e,this._pivot),this._localXformUpdated&&this._localXformUpdated(),this._lxformDirty=!1}}},{key:"_updateglobalxform",value:function(){(this._lxformDirty||this._xformDirty)&&(this._updatelocalxform(!0),this._parent?m.default.multiply(this._globalXform,this._parent.globalXform,this._localXform):m.default.copy(this._globalXform,this._localXform),this._globalXformUpdated&&this._globalXformUpdated(),this._xformDirty=!1)}},{key:"_updateAABox",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(t||this._geomDirty||this._boundsOutOfDate){var e=this._rotatable?this._interactiveBoxPadding:0,r=e+this._interactiveBoxSize/2;d.initCenterExtents(this._aabox,[0,0],[this.width/2,this.height/2]),d.transformMat2d(this._aabox,this._aabox,this._fullXform),d.expand(this._aabox,this._aabox,[r,r]),this._aaboxUpdated=!0,this._geomDirty=this._boundsOutOfDate=!1}}},{key:"renderBounds",value:function(t,e,r){var n=this.aabox;t.save(),t.setTransform(1,0,0,1,0,0),r.setStrokeCtx(t);var a=[0,0],i=[0,0];d.getCenter(a,n),d.getExtents(i,n),t.beginPath(),t.rect(a[0]-i[0],a[1]-i[1],2*i[0],2*i[1]),t.stroke(),t.restore()}},{key:"render",value:function(t,r,n){if(this.parent&&"undefined"!=typeof this.parent.width&&"undefined"!==this.parent.height){this._aaboxUpdated=!1,f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"render",this).call(this,t,r,n,!1),this._aaboxUpdated||this._updateAABox(!0);var a=[0,0],i=[0,0];m.default.svd(null,a,i,this._fullXform),a[0]=a[0]<0?-1:1,a[1]=a[1]<0?-1:1;var o=this._interactiveBoxSize/2,s=this.width/2,u=this.height/2,c=[s,u];t.save(),t.beginPath(),l(t,c,this._fullXform,this._interactiveBoxSize,o,i,a,"3"),_.set(c,s,-u),l(t,c,this._fullXform,this._interactiveBoxSize,o,i,a,"2"),_.set(c,-s,-u),l(t,c,this._fullXform,this._interactiveBoxSize,o,i,a,"0"),_.set(c,-s,u),l(t,c,this._fullXform,this._interactiveBoxSize,o,i,a,"1"),this._scalable&&(_.set(c,0,u),l(t,c,this._fullXform,this._interactiveBoxSize,o,i,a),_.set(c,0,-u),l(t,c,this._fullXform,this._interactiveBoxSize,o,i,a),_.set(c,s,0),l(t,c,this._fullXform,this._interactiveBoxSize,o,i,a),_.set(c,-s,0),l(t,c,this._fullXform,this._interactiveBoxSize,o,i,a)),this.isFillVisible()&&(n.setFillStyle(t,this),t.fill()),this.isStrokeVisible()&&(n.setStrokeStyle(t,this),t.setTransform(1,0,0,1,0,0),t.stroke()),t.restore()}}},{key:"width",get:function(){return this.parent&&"undefined"!==this.parent.width?this.parent.width:0}},{key:"height",get:function(){return this.parent&&"undefined"!==this.parent.height?this.parent.height:0}}]),e}(M.default);e.default=S},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var r=0;r=3){t.moveTo(this._verts[0][0],this._verts[0][1]);for(var r=1;r2&&void 0!==arguments[2]&&arguments[2];i(this,e);var a=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,["changed","changed:xform"]));return a._viewport=c.clone(t),a._projectionDimensions=m.vec2.clone(r),a._yflip=n,a._screenMatrix=y.default.create(),a._screenDirty=!0,a}return s(e,t),l(e,[{key:"isYFlipped",value:function(){return this._yflip}},{key:"viewport",set:function(t){if(!c.equals(t,this._viewport)){var e=c.clone(this._viewport);c.copy(this._viewport,t),this._screenDirty=!0,this._worldToScreenOutdated=!0,this.fire("changed",{attr:"viewport",prevVal:e,currVal:t})}return this},get:function(){return c.clone(this._viewport)}},{key:"viewportRef",get:function(){return this._viewport}},{key:"screenMatrix",get:function(){if(this._screenDirty){var t=[0,0],e=[0,0];c.getCenter(t,this._viewport),c.getExtents(e,this._viewport),y.default.set(this._screenMatrix,e[0],0,0,e[1],t[0],t[1]),this._worldToScreenOutdated=!0,this._screenDirty=!1}return this._screenMatrix}}]),e}(_.default),M=function(t){function e(t,r,n){i(this,e);var a=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,r,n));return a._viewMatrix=y.default.create(),a._viewDirty=!0,a._projMatrix=y.default.create(),a._projDirty=!0,a}return s(e,t),l(e,[{key:"_localXformUpdated",value:function(){this._boundsOutOfDate=!0}},{key:"_globalXformUpdated",value:function(){this._boundsOutOfDate=!0}},{key:"_matricesDirty",value:function(){return this._boundsOutOfDate||this._lxformDirty||this._xformDirty||this._viewDirty||this._projDirty||this._screenDirty}},{key:"projectionDimensions",set:function(t){if(!m.vec2.equals(t,this._projectionDimensions)){var e=m.vec2.clone(this._projectionDimensions);c.copy(this._projectionDimensions,t),this._viewDirty=!0,this._projDirty=!0,this.fire("changed",{attr:"projectionDimensions",prevVal:e,currVal:t})}return this},get:function(){return m.vec2.clone(this._projectionDimensions)}},{key:"projectionDimensionsRef",get:function(){return this._projectionDimensions}},{key:"viewMatrix",get:function(){if(this._viewDirty||this._boundsOutOfDate||this._xformDirty||this._lxformDirty){var t=[0,0],e=[0,0],r=[0,0],n=this.globalXform;y.default.svd(t,e,r,n),y.default.fromTranslation(this._viewMatrix,m.vec2.negate(t,t)),y.default.rotate(this._viewMatrix,this._viewMatrix,-r[0]),y.default.scale(this._viewMatrix,this._viewMatrix,e),y.default.rotate(this._viewMatrix,this._viewMatrix,-r[1]),this._worldToScreenOutdated=!0,this._viewDirty=!1}return this._viewMatrix}},{key:"projMatrix",get:function(){if(this._projDirty){var t=this._yflip?-1:1;y.default.set(this._projMatrix,2/this._projectionDimensions[0],0,0,2*t/this._projectionDimensions[1],0,0),this._worldToScreenOutdated=!0,this._projDirty=!1}return this._projMatrix}},{key:"worldToScreenMatrix",get:function(){return(!this._worldToScreenMatrix||this._worldToScreenOutdated||this._matricesDirty())&&(this._worldToScreenMatrix||(this._worldToScreenMatrix=y.default.create()),y.default.copy(this._worldToScreenMatrix,this.viewMatrix),y.default.multiply(this._worldToScreenMatrix,this.projMatrix,this._worldToScreenMatrix),y.default.multiply(this._worldToScreenMatrix,this.screenMatrix,this._worldToScreenMatrix),this._worldToScreenOutdated=!1,this._screenToWorldOutdated=!0),this._worldToScreenMatrix}},{key:"screenToWorldMatrix",get:function(){return(!this._screenToWorld||this._screenToWorldOutdated||this._matricesDirty())&&(this._screenToWorld||(this._screenToWorld=y.default.create()),y.default.copy(this._screenToWorld,this.worldToScreenMatrix),y.default.invert(this._screenToWorld,this._screenToWorld),this._screenToWorldOutdated=!1),this._screenToWorld}}]),e}((0,h.default)(b,(0,d.createEventedTransform2dMixin)("changed:xform")));e.default=M},function(t,e,r){var n,a;!function(i,o){n=o,a="function"==typeof n?n.call(e,r,e,t):n,!(void 0!==a&&(t.exports=a))}(this,function(){function t(t,e){var r=Object.prototype.toString.call(t),n="[object Array]"===r||"[object NodeList]"===r||"[object HTMLCollection]"===r||"[object Object]"===r||"undefined"!=typeof jQuery&&t instanceof jQuery||"undefined"!=typeof Elements&&t instanceof Elements,a=0,i=t.length;if(n)for(;a
',t.appendChild(t.resizeSensor),"static"==o(t,"position")&&(t.style.position="relative");var s,l,u,c,f=t.resizeSensor.childNodes[0],h=f.childNodes[0],d=t.resizeSensor.childNodes[1],p=t.offsetWidth,_=t.offsetHeight,v=function(){h.style.width="100000px",h.style.height="100000px",f.scrollLeft=1e5,f.scrollTop=1e5,d.scrollLeft=1e5,d.scrollTop=1e5};v();var y=function(){l=0,s&&(p=u,_=c,t.resizedAttached&&t.resizedAttached.call())},m=function(){u=t.offsetWidth,c=t.offsetHeight,s=u!=p||c!=_,s&&!l&&(l=e(y)),v()},b=function(t,e,r){t.attachEvent?t.attachEvent("on"+e,r):t.addEventListener(e,r)};b(f,"scroll",m),b(d,"scroll",m)}t(n,function(t){s(t,a)}),this.detach=function(t){r.detach(n,t)}};return r.detach=function(e,r){t(e,function(t){t.resizedAttached&&"function"==typeof r&&(t.resizedAttached.remove(r),t.resizedAttached.length())||t.resizeSensor&&(t.contains(t.resizeSensor)&&t.removeChild(t.resizeSensor),delete t.resizeSensor,delete t.resizedAttached)})},r})},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},a.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},a.fromValues=function(t,e,r,a){var i=new n.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=a,i},a.set=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t},a.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},a.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*i-a*n;return o?(o=1/o,t[0]=i*o,t[1]=-n*o,t[2]=-a*o,t[3]=r*o,t):null},a.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},a.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},a.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*s+i*l,t[1]=a*s+o*l,t[2]=n*u+i*c,t[3]=a*u+o*c,t},a.mul=a.multiply,a.rotate=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=a*l+o*s,t[2]=n*-s+i*l,t[3]=a*-s+o*l,t},a.scale=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=a*s,t[2]=i*l,t[3]=o*l,t},a.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},a.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},a.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},a.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},a.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t},a.sub=a.subtract,a.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},a.equals=function(t,e){var r=t[0],a=t[1],i=t[2],o=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(a-l)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))&&Math.abs(i-u)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c)); -},a.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},a.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t},t.exports=a},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},a.clone=function(t){var e=new n.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},a.fromValues=function(t,e,r,a,i,o){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=a,s[4]=i,s[5]=o,s},a.set=function(t,e,r,n,a,i,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t},a.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=r*i-n*a;return l?(l=1/l,t[0]=i*l,t[1]=-n*l,t[2]=-a*l,t[3]=r*l,t[4]=(a*s-i*o)*l,t[5]=(n*o-r*s)*l,t):null},a.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},a.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1],f=r[2],h=r[3],d=r[4],p=r[5];return t[0]=n*u+i*c,t[1]=a*u+o*c,t[2]=n*f+i*h,t[3]=a*f+o*h,t[4]=n*d+i*p+s,t[5]=a*d+o*p+l,t},a.mul=a.multiply,a.rotate=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+i*u,t[1]=a*c+o*u,t[2]=n*-u+i*c,t[3]=a*-u+o*c,t[4]=s,t[5]=l,t},a.scale=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n*u,t[1]=a*u,t[2]=i*c,t[3]=o*c,t[4]=s,t[5]=l,t},a.translate=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=n*u+i*c+s,t[5]=a*u+o*c+l,t},a.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},a.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},a.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},a.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},a.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t},a.sub=a.subtract,a.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t},a.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},a.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},a.equals=function(t,e){var r=t[0],a=t[1],i=t[2],o=t[3],s=t[4],l=t[5],u=e[0],c=e[1],f=e[2],h=e[3],d=e[4],p=e[5];return Math.abs(r-u)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(a-c)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&&Math.abs(i-f)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(o-h)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(h))&&Math.abs(s-d)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(l-p)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},t.exports=a},function(t,e,r){var n=r(4),a={scalar:{},SIMD:{}};a.create=function(){var t=new n.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},a.clone=function(t){var e=new n.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},a.fromValues=function(t,e,r,a,i,o,s,l,u,c,f,h,d,p,_,v){var y=new n.ARRAY_TYPE(16);return y[0]=t,y[1]=e,y[2]=r,y[3]=a,y[4]=i,y[5]=o,y[6]=s,y[7]=l,y[8]=u,y[9]=c,y[10]=f,y[11]=h,y[12]=d,y[13]=p,y[14]=_,y[15]=v,y},a.set=function(t,e,r,n,a,i,o,s,l,u,c,f,h,d,p,_,v){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t[9]=c,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=_,t[15]=v,t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},a.scalar.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],a=e[3],i=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=a,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},a.SIMD.transpose=function(t,e){var r,n,a,i,o,s,l,u,c,f;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(a,i,0,1,4,5),l=SIMD.Float32x4.shuffle(o,s,0,2,4,6),u=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,u),o=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(a,i,2,3,6,7),c=SIMD.Float32x4.shuffle(o,s,0,2,4,6),f=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,f),t},a.transpose=n.USE_SIMD?a.SIMD.transpose:a.scalar.transpose,a.scalar.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],_=e[13],v=e[14],y=e[15],m=r*s-n*o,b=r*l-a*o,M=r*u-i*o,x=n*l-a*s,g=n*u-i*s,S=a*u-i*l,D=c*_-f*p,I=c*v-h*p,w=c*y-d*p,F=f*v-h*_,O=f*y-d*_,k=h*y-d*v,E=m*k-b*O+M*F+x*w-g*I+S*D;return E?(E=1/E,t[0]=(s*k-l*O+u*F)*E,t[1]=(a*O-n*k-i*F)*E,t[2]=(_*S-v*g+y*x)*E,t[3]=(h*g-f*S-d*x)*E,t[4]=(l*w-o*k-u*I)*E,t[5]=(r*k-a*w+i*I)*E,t[6]=(v*M-p*S-y*b)*E,t[7]=(c*S-h*M+d*b)*E,t[8]=(o*O-s*w+u*D)*E,t[9]=(n*w-r*O-i*D)*E,t[10]=(p*g-_*M+y*m)*E,t[11]=(f*M-c*g-d*m)*E,t[12]=(s*I-o*F-l*D)*E,t[13]=(r*F-n*I+a*D)*E,t[14]=(_*b-p*x-v*m)*E,t[15]=(c*x-f*b+h*m)*E,t):null},a.SIMD.invert=function(t,e){var r,n,a,i,o,s,l,u,c,f,h=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),_=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(h,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,_,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(h,d,2,3,6,7),i=SIMD.Float32x4.shuffle(p,_,2,3,6,7),a=SIMD.Float32x4.shuffle(o,i,0,2,4,6),i=SIMD.Float32x4.shuffle(i,o,1,3,5,7),o=SIMD.Float32x4.mul(a,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),a=SIMD.Float32x4.swizzle(a,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),u),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),u),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(a,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),f=SIMD.Float32x4.mul(r,s),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,2,3,0,1),f),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,1,0,3,2),f),o=SIMD.Float32x4.reciprocalApproximation(f),f=SIMD.Float32x4.sub(SIMD.Float32x4.add(o,o),SIMD.Float32x4.mul(f,SIMD.Float32x4.mul(o,o))),(f=SIMD.Float32x4.swizzle(f,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(f,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(f,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(f,u)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(f,c)),t):null},a.invert=n.USE_SIMD?a.SIMD.invert:a.scalar.invert,a.scalar.adjoint=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],_=e[13],v=e[14],y=e[15];return t[0]=s*(h*y-d*v)-f*(l*y-u*v)+_*(l*d-u*h),t[1]=-(n*(h*y-d*v)-f*(a*y-i*v)+_*(a*d-i*h)),t[2]=n*(l*y-u*v)-s*(a*y-i*v)+_*(a*u-i*l),t[3]=-(n*(l*d-u*h)-s*(a*d-i*h)+f*(a*u-i*l)),t[4]=-(o*(h*y-d*v)-c*(l*y-u*v)+p*(l*d-u*h)),t[5]=r*(h*y-d*v)-c*(a*y-i*v)+p*(a*d-i*h),t[6]=-(r*(l*y-u*v)-o*(a*y-i*v)+p*(a*u-i*l)),t[7]=r*(l*d-u*h)-o*(a*d-i*h)+c*(a*u-i*l),t[8]=o*(f*y-d*_)-c*(s*y-u*_)+p*(s*d-u*f),t[9]=-(r*(f*y-d*_)-c*(n*y-i*_)+p*(n*d-i*f)),t[10]=r*(s*y-u*_)-o*(n*y-i*_)+p*(n*u-i*s),t[11]=-(r*(s*d-u*f)-o*(n*d-i*f)+c*(n*u-i*s)),t[12]=-(o*(f*v-h*_)-c*(s*v-l*_)+p*(s*h-l*f)),t[13]=r*(f*v-h*_)-c*(n*v-a*_)+p*(n*h-a*f),t[14]=-(r*(s*v-l*_)-o*(n*v-a*_)+p*(n*l-a*s)),t[15]=r*(s*h-l*f)-o*(n*h-a*f)+c*(n*l-a*s),t},a.SIMD.adjoint=function(t,e){var r,n,a,i,o,s,l,u,c,f,h,d,p,r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12);return c=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(a,i,0,1,4,5),o=SIMD.Float32x4.shuffle(c,s,0,2,4,6),s=SIMD.Float32x4.shuffle(s,c,1,3,5,7),c=SIMD.Float32x4.shuffle(r,n,2,3,6,7),u=SIMD.Float32x4.shuffle(a,i,2,3,6,7),l=SIMD.Float32x4.shuffle(c,u,0,2,4,6),u=SIMD.Float32x4.shuffle(u,c,1,3,5,7),c=SIMD.Float32x4.mul(l,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.mul(s,c),h=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),f),h=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),h),h=SIMD.Float32x4.swizzle(h,2,3,0,1),c=SIMD.Float32x4.mul(s,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),f),p=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),p),p=SIMD.Float32x4.swizzle(p,2,3,0,1),c=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,3,0,1),u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),l=SIMD.Float32x4.swizzle(l,2,3,0,1),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),f),d=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),d),d=SIMD.Float32x4.swizzle(d,2,3,0,1),c=SIMD.Float32x4.mul(o,s),c=SIMD.Float32x4.swizzle(c,1,0,3,2),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(l,c),p),c=SIMD.Float32x4.swizzle(c,2,3,0,1),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(l,c)),c=SIMD.Float32x4.mul(o,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),d),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),h),d=SIMD.Float32x4.sub(d,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.mul(o,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),h),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),p),SIMD.Float32x4.store(t,0,f),SIMD.Float32x4.store(t,4,h),SIMD.Float32x4.store(t,8,d),SIMD.Float32x4.store(t,12,p),t},a.adjoint=n.USE_SIMD?a.SIMD.adjoint:a.scalar.adjoint,a.determinant=function(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],d=t[12],p=t[13],_=t[14],v=t[15],y=e*o-r*i,m=e*s-n*i,b=e*l-a*i,M=r*s-n*o,x=r*l-a*o,g=n*l-a*s,S=u*p-c*d,D=u*_-f*d,I=u*v-h*d,w=c*_-f*p,F=c*v-h*p,O=f*v-h*_;return y*O-m*F+b*w+M*I-x*D+g*S},a.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),a=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),a),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),o))));SIMD.Float32x4.store(t,0,l);var u=SIMD.Float32x4.load(r,4),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,1,1,1,1),a),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,3,3,3,3),o))));SIMD.Float32x4.store(t,4,c);var f=SIMD.Float32x4.load(r,8),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,1,1,1,1),a),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,3,3,3,3),o))));SIMD.Float32x4.store(t,8,h);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),a),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),o))));return SIMD.Float32x4.store(t,12,p),t},a.scalar.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],d=e[10],p=e[11],_=e[12],v=e[13],y=e[14],m=e[15],b=r[0],M=r[1],x=r[2],g=r[3];return t[0]=b*n+M*s+x*f+g*_,t[1]=b*a+M*l+x*h+g*v,t[2]=b*i+M*u+x*d+g*y,t[3]=b*o+M*c+x*p+g*m,b=r[4],M=r[5],x=r[6],g=r[7],t[4]=b*n+M*s+x*f+g*_,t[5]=b*a+M*l+x*h+g*v,t[6]=b*i+M*u+x*d+g*y,t[7]=b*o+M*c+x*p+g*m,b=r[8],M=r[9],x=r[10],g=r[11],t[8]=b*n+M*s+x*f+g*_,t[9]=b*a+M*l+x*h+g*v,t[10]=b*i+M*u+x*d+g*y,t[11]=b*o+M*c+x*p+g*m,b=r[12],M=r[13],x=r[14],g=r[15],t[12]=b*n+M*s+x*f+g*_,t[13]=b*a+M*l+x*h+g*v,t[14]=b*i+M*u+x*d+g*y,t[15]=b*o+M*c+x*p+g*m,t},a.multiply=n.USE_SIMD?a.SIMD.multiply:a.scalar.multiply,a.mul=a.multiply,a.scalar.translate=function(t,e,r){var n,a,i,o,s,l,u,c,f,h,d,p,_=r[0],v=r[1],y=r[2];return e===t?(t[12]=e[0]*_+e[4]*v+e[8]*y+e[12],t[13]=e[1]*_+e[5]*v+e[9]*y+e[13],t[14]=e[2]*_+e[6]*v+e[10]*y+e[14],t[15]=e[3]*_+e[7]*v+e[11]*y+e[15]):(n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],d=e[10],p=e[11],t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=d,t[11]=p,t[12]=n*_+s*v+f*y+e[12],t[13]=a*_+l*v+h*y+e[13],t[14]=i*_+u*v+d*y+e[14],t[15]=o*_+c*v+p*y+e[15]),t},a.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),a=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,1,1,1,1)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(a,SIMD.Float32x4.add(i,o)));return SIMD.Float32x4.store(t,12,l),t},a.translate=n.USE_SIMD?a.SIMD.translate:a.scalar.translate,a.scalar.scale=function(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},a.SIMD.scale=function(t,e,r){var n,a,i,o=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,0,0,0,0))),a=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(o,1,1,1,1))),i=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},a.scale=n.USE_SIMD?a.SIMD.scale:a.scalar.scale,a.rotate=function(t,e,r,a){var i,o,s,l,u,c,f,h,d,p,_,v,y,m,b,M,x,g,S,D,I,w,F,O,k=a[0],E=a[1],P=a[2],C=Math.sqrt(k*k+E*E+P*P);return Math.abs(C)0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]>e[5]&e[0]>e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]>e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},a.fromRotationTranslationScale=function(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3],l=a+a,u=i+i,c=o+o,f=a*l,h=a*u,d=a*c,p=i*u,_=i*c,v=o*c,y=s*l,m=s*u,b=s*c,M=n[0],x=n[1],g=n[2];return t[0]=(1-(p+v))*M,t[1]=(h+b)*M,t[2]=(d-m)*M,t[3]=0,t[4]=(h-b)*x,t[5]=(1-(f+v))*x,t[6]=(_+y)*x,t[7]=0,t[8]=(d+m)*g,t[9]=(_-y)*g,t[10]=(1-(f+p))*g,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},a.fromRotationTranslationScaleOrigin=function(t,e,r,n,a){var i=e[0],o=e[1],s=e[2],l=e[3],u=i+i,c=o+o,f=s+s,h=i*u,d=i*c,p=i*f,_=o*c,v=o*f,y=s*f,m=l*u,b=l*c,M=l*f,x=n[0],g=n[1],S=n[2],D=a[0],I=a[1],w=a[2];return t[0]=(1-(_+y))*x,t[1]=(d+M)*x,t[2]=(p-b)*x,t[3]=0,t[4]=(d-M)*g,t[5]=(1-(h+y))*g,t[6]=(v+m)*g,t[7]=0,t[8]=(p+b)*S,t[9]=(v-m)*S,t[10]=(1-(h+_))*S,t[11]=0,t[12]=r[0]+D-(t[0]*D+t[4]*I+t[8]*w),t[13]=r[1]+I-(t[1]*D+t[5]*I+t[9]*w),t[14]=r[2]+w-(t[2]*D+t[6]*I+t[10]*w),t[15]=1,t},a.fromQuat=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,l=a+a,u=r*o,c=n*o,f=n*s,h=a*o,d=a*s,p=a*l,_=i*o,v=i*s,y=i*l;return t[0]=1-f-p,t[1]=c+y,t[2]=h-v,t[3]=0,t[4]=c-y,t[5]=1-u-p,t[6]=d+_,t[7]=0,t[8]=h+v,t[9]=d-_,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},a.frustum=function(t,e,r,n,a,i,o){var s=1/(r-e),l=1/(a-n),u=1/(i-o);return t[0]=2*i*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*i*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(a+n)*l,t[10]=(o+i)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*i*2*u,t[15]=0,t},a.perspective=function(t,e,r,n,a){var i=1/Math.tan(e/2),o=1/(n-a);return t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(a+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*a*n*o,t[15]=0,t},a.perspectiveFromFieldOfView=function(t,e,r,n){var a=Math.tan(e.upDegrees*Math.PI/180),i=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(a+i);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-((o-s)*l*.5),t[9]=(a-i)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t},a.ortho=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),u=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*u,t[15]=1,t},a.lookAt=function(t,e,r,i){var o,s,l,u,c,f,h,d,p,_,v=e[0],y=e[1],m=e[2],b=i[0],M=i[1],x=i[2],g=r[0],S=r[1],D=r[2];return Math.abs(v-g).999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(i.cross(t,a,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=a.create();return function(e,r,n,a){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=a[0],t[4]=a[1],t[7]=a[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=o.clone,s.fromValues=o.fromValues,s.copy=o.copy,s.set=o.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=o.add,s.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*c+o*s+a*u-i*l,t[1]=a*c+o*l+i*s-n*u,t[2]=i*c+o*u+n*l-a*s,t[3]=o*c-n*s-a*l-i*u,t},s.mul=s.multiply,s.scale=o.scale,s.rotateX=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+o*s,t[1]=a*l+i*s,t[2]=i*l-a*s,t[3]=o*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l-i*s,t[1]=a*l+o*s,t[2]=i*l+n*s,t[3]=o*l-a*s,t},s.rotateZ=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=a*l-n*s,t[2]=i*l+o*s,t[3]=o*l-i*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],a=e[2];return t[0]=r,t[1]=n,t[2]=a,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),t},s.dot=o.dot,s.lerp=o.lerp,s.slerp=function(t,e,r,n){var a,i,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],d=r[0],p=r[1],_=r[2],v=r[3];return i=u*d+c*p+f*_+h*v,i<0&&(i=-i,d=-d,p=-p,_=-_,v=-v),1-i>1e-6?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,l=Math.sin(n*a)/o):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*f+l*_,t[3]=s*h+l*v,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,a,i,o,l){return s.slerp(t,n,o,l),s.slerp(e,a,i,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-a*s,t[3]=i*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=o.length,s.len=s.length,s.squaredLength=o.squaredLength,s.sqrLen=s.squaredLength,s.normalize=o.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var a=0;e[4]>e[0]&&(a=1),e[8]>e[3*a+a]&&(a=2);var i=(a+1)%3,o=(a+2)%3;r=Math.sqrt(e[3*a+a]-e[3*i+i]-e[3*o+o]+1),t[a]=.5*r,r=.5/r,t[3]=(e[3*i+o]-e[3*o+i])*r,t[i]=(e[3*i+a]+e[3*a+i])*r,t[o]=(e[3*o+a]+e[3*a+o])*r}return t},s.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},s.exactEquals=o.exactEquals,s.equals=o.equals,t.exports=s},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},a.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},a.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},a.set=function(t,e,r){return t[0]=e,t[1]=r,t},a.add=function(t,e,r){return t[0]=e[0]+r[0], -t[1]=e[1]+r[1],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},a.sub=a.subtract,a.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},a.mul=a.multiply,a.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},a.div=a.divide,a.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},a.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},a.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},a.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},a.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},a.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},a.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},a.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},a.dist=a.distance,a.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},a.sqrDist=a.squaredDistance,a.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},a.len=a.length,a.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},a.sqrLen=a.squaredLength,a.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},a.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},a.normalize=function(t,e){var r=e[0],n=e[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a),t},a.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},a.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},a.lerp=function(t,e,r,n){var a=e[0],i=e[1];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t},a.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},a.transformMat2=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a,t[1]=r[1]*n+r[3]*a,t},a.transformMat2d=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a+r[4],t[1]=r[1]*n+r[3]*a+r[5],t},a.transformMat3=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[3]*a+r[6],t[1]=r[1]*n+r[4]*a+r[7],t},a.transformMat4=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t},a.forEach=function(){var t=a.create();return function(e,r,n,a,i,o){var s,l;for(r||(r=2),n||(n=0),l=a?Math.min(a*r+n,e.length):e.length,s=n;s=4.0.0"},repository:{type:"git",url:"git+https://github.com/map-d/mapd-draw.js.git"},dependencies:{"gl-matrix":"^2.3.2","css-element-queries":"^0.4.0"},devDependencies:{"babel-core":"^6.10.4","babel-loader":"^6.2.4","babel-plugin-lodash":"^3.1.2","babel-preset-es2015":"^6.9.0","babel-preset-stage-0":"^6.5.0",eslint:"^3.0.1","http-server":"^0.9.0","json-loader":"0.5.4",webpack:"^1.13.1"},scripts:{build:"npm run build:prod; npm run build:dev","build:prod":"npm run webpack","build:dev":"npm run webpack:dev",clean:"bash scripts/clean.sh",eslint:"eslint -c ./.eslintrc.json",lint:"eslint $(find src -name \"*.js\" ! -name '*.spec.js')",start:"npm run build; http-server -p 8080 -o;","watch:dev":"node node_modules/webpack/bin/webpack.js --progress --colors --watch --config webpack.dev.config.js",webpack:"node node_modules/webpack/bin/webpack.js","webpack:dev":"node node_modules/webpack/bin/webpack.js --config webpack.dev.config.js",test:"node_modules/.bin/mocha ./test --require ./test/config --require ./test/setup"},"pre-commit":["lint"]}}])}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.MapdDraw=e():t.MapdDraw=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var a=r[n]={exports:{},id:n,loaded:!1};return t[n].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.simpleHull_2D=e.Math=e.Point=e.PolyLine=e.Poly=e.Rect=e.Circle=e.Vec2d=e.BasicStyle=e.Mat2=e.Point2d=e.Mat2d=e.AABox2d=e.DrawEngine=e.ShapeBuilder=e.version=void 0;var o=r(39);Object.defineProperty(e,"version",{enumerable:!0,get:function(){return o.version}});var i=r(1);Object.defineProperty(e,"Mat2",{enumerable:!0,get:function(){return i.mat2}});var s=r(12);Object.defineProperty(e,"simpleHull_2D",{enumerable:!0,get:function(){return s.simpleHull_2D}});var l=r(23),u=a(l),c=r(16),f=a(c),h=r(2),d=n(h),p=r(7),_=a(p),v=r(3),y=n(v),m=r(9),b=a(m),M=r(11),x=a(M),g=r(27),S=a(g),D=r(17),I=a(D),w=r(29),F=a(w),O=r(13),k=a(O),E=r(28),P=a(E),C=r(5),A=a(C);e.ShapeBuilder=u.default,e.DrawEngine=f.default,e.AABox2d=d,e.Mat2d=_.default,e.Point2d=y,e.BasicStyle=b.default,e.Vec2d=x.default,e.Circle=S.default,e.Rect=I.default,e.Poly=F.default,e.PolyLine=k.default,e.Point=P.default,e.Math=A.default},function(t,e,r){e.glMatrix=r(4),e.mat2=r(34),e.mat2d=r(35),e.mat3=r(20),e.mat4=r(36),e.quat=r(37),e.vec2=r(38),e.vec3=r(21),e.vec4=r(22)},function(t,e,r){"use strict";function n(t,e,r,n,a){return t[P]="number"==typeof e?e:1/0,t[C]="number"==typeof r?r:1/0,t[A]="number"==typeof n?n:-(1/0),t[j]="number"==typeof a?a:-(1/0),t}function a(t,e,r,a){var o=new E.glMatrix.ARRAY_TYPE(4);return n(o,t,e,r,a)}function o(t){var e=new E.glMatrix.ARRAY_TYPE(4);return e[P]=t[P],e[C]=t[C],e[A]=t[A],e[j]=t[j],e}function i(t,e){return t[P]=e[P],t[C]=e[C],t[A]=e[A],t[j]=e[j],t}function s(t){return t[P]=1/0,t[C]=1/0,t[A]=-(1/0),t[j]=-(1/0),t}function l(t){return t[P]=-(1/0),t[C]=-(1/0),t[A]=1/0,t[j]=1/0,t}function u(t,e){return e[0]<0?(t[P]=-e[0],t[A]=0):(t[P]=0,t[A]=e[0]),e[1]<0?(t[C]=-e[1],t[j]=0):(t[C]=0,t[j]=e[1]),t}function c(t,e,r){for(var n=0;n<2;n+=1)r[n]<0?(t[n]=e[n]-r[n],t[n+2]=e[n]):(t[n]=e[n],t[n+2]=e[n]+r[n]);return t}function f(t,e,r){for(var n=0;n<2;n+=1)r[n]<0?(t[n]=e[n]+r[n],t[n+2]=e[n]-r[n]):(t[n]=e[n]-r[n],t[n+2]=e[n]+r[n]);return t}function h(t){return t[P]>t[A]||t[C]>t[j]}function d(t){return!(isFinite(t[P])&&isFinite(t[C])&&isFinite(t[A])&&isFinite(t[j]))}function p(t,e){var r=t[0],n=t[1],a=t[2],o=t[3],i=e[0],s=e[1],l=e[2],u=e[3];return Math.abs(r-i)<=E.glMatrix.EPSILON&&Math.abs(n-s)<=E.glMatrix.EPSILON&&Math.abs(a-l)<=E.glMatrix.EPSILON&&Math.abs(o-u)<=E.glMatrix.EPSILON}function _(t,e){return E.vec2.set(t,e[A]-e[P],e[j]-e[C])}function v(t,e){return _(t,e),E.vec2.scale(t,t,.5)}function y(t,e){return v(t,e),t[P]+=e[P],t[C]+=e[C],t}function m(t,e,r){t[P]=e[P]-r[0],t[A]=e[A]+r[0],t[C]=e[C]-r[1],t[j]=e[j]+r[1]}function b(t){return(t[A]-t[P])*(t[j]-t[C])}function M(t,e,r){return a(Math.min(e[P],r[P]),Math.min(e[C],r[C]),Math.max(e[A],r[A]),Math.max(e[j],r[j]))}function x(t,e,r){var n=t;t===e&&(n=a());for(var o=P,l=A;o<=C&&!(e[l]r[l]);o+=1,l+=1)n[o]=Math.max(e[o],r[o]),n[l]=Math.min(e[l],r[l]);return o!==C+1&&s(n),t===e&&i(t,n),t}function g(t,e){return!(t[A]<=e[P]||t[P]>=e[A]||t[j]<=e[C]||t[C]>=e[j])}function S(t,e){return!(e[P]t[A]||e[C]t[j])}function D(t,e){return e[P]>=t[P]&&e[P]<=t[A]&&e[C]>=t[C]&&e[C]<=t[j]}function I(t,e,r){return t!==e&&i(t,e),h(e)?(t[P]=r[P],t[A]=r[P],t[C]=r[C],t[j]=r[C]):(r[P]t[A]&&(t[A]=r[P]),r[C]t[j]&&(t[j]=r[C])),t}function w(t,e,r){t[P]=e[P]+r[0],t[C]=e[C]+r[1],t[A]=e[A]+r[0],t[j]=e[j]+r[1]}function F(t,e,r,n){var o=t;t===e&&(o=a()),s(o);var l=E.vec2.set(E.vec2.create(),e[P],e[C]),u=E.vec2.create();return n(u,l,r),I(o,o,u),l[P]=e[A],n(u,l,r),I(o,o,u),l[C]=e[j],n(u,l,r),I(o,o,u),l[P]=e[P],n(u,l,r),I(o,o,u),t===e&&i(t,o),t}function O(t,e,r){return F(t,e,r,E.vec2.transformMat2)}function k(t,e,r){return F(t,e,r,E.vec2.transformMat2d)}Object.defineProperty(e,"__esModule",{value:!0}),e.MAXY=e.MAXX=e.MINY=e.MINX=void 0,e.set=n,e.create=a,e.clone=o,e.copy=i,e.initEmpty=s,e.initInfinity=l,e.initSizeFromOrigin=u,e.initSizeFromLocation=c,e.initCenterExtents=f,e.isEmpty=h,e.isInfinite=d,e.equals=p,e.getSize=_,e.getExtents=v,e.getCenter=y,e.expand=m,e.area=b,e.hull=M,e.intersection=x,e.overlaps=g,e.contains=S,e.containsPt=D,e.encapsulatePt=I,e.translate=w,e.transformMat2=O,e.transformMat2d=k;var E=r(1),P=e.MINX=0,C=e.MINY=1,A=e.MAXX=2,j=e.MAXY=3},function(t,e,r){"use strict";function n(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return t[b]=e,t[M]=r,t}function a(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=new m.glMatrix.ARRAY_TYPE(2);return n(r,t,e)}function o(t){var e=new m.glMatrix.ARRAY_TYPE(2);return e[b]=t[b],e[M]=t[M],e}function i(t,e){return t[b]=e[b],t[M]=e[M],t}function s(t,e){return a(t,e)}function l(t,e,r){return m.vec2.add(t,e,r)}function u(t,e,r){return m.vec2.sub(t,e,r)}function c(t,e,r){return m.vec2.transformMat2(t,e,r)}function f(t,e,r){return m.vec2.transformMat2d(t,e,r)}function h(t){return"point2d("+t[0]+" , "+t[1]+")"}function d(t,e){return m.vec2.distance(t,e)}function p(t,e){return m.vec2.squaredDistance(t,e)}function _(t,e,r,n){return m.vec2.lerp(t,e,r,n)}function v(t,e){return m.vec2.equals(t,e)}function y(t,e){return m.vec2.exactEquals(t,e)}Object.defineProperty(e,"__esModule",{value:!0}),e.sqrDist=e.dist=void 0,e.set=n,e.create=a,e.clone=o,e.copy=i,e.initFromValues=s,e.addVec2=l,e.sub=u,e.transformMat2=c,e.transformMat2d=f,e.str=h,e.distance=d,e.squaredDistance=p,e.lerp=_,e.equals=v,e.exactEquals=y;var m=r(1),b=0,M=1;e.dist=d,e.sqrDist=p},function(t,e){var r={};r.EPSILON=1e-6,r.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,r.RANDOM=Math.random,r.ENABLE_SIMD=!1,r.SIMD_AVAILABLE=r.ARRAY_TYPE===Float32Array&&"SIMD"in this,r.USE_SIMD=r.ENABLE_SIMD&&r.SIMD_AVAILABLE,r.setMatrixArrayType=function(t){r.ARRAY_TYPE=t};var n=Math.PI/180;r.toRadian=function(t){return t*n},r.equals=function(t,e){return Math.abs(t-e)<=r.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},t.exports=r},function(t,e){"use strict";function r(t,e,r){return tr?r:t}function n(t){return t<0?0:t>1?1:t}function a(t,e,r){return t*(1-r)+e*r}Object.defineProperty(e,"__esModule",{value:!0});var o=1e-5,i=.25,s=.5,l=2;Math.QUATER_PI=i*Math.PI,Math.HALF_PI=s*Math.PI,Math.HALF_NPI=-s*Math.PI,Math.TWO_PI=l*Math.PI,Math.NPI=-Math.PI,Math.NQUATER_PI=i*Math.NPI,Math.NHALF_PI=s*Math.NPI,Math.NTWO_PI=l*Math.NPI,Math.INV_PI=1/Math.PI,Math.RAD_TO_DEG=180/Math.PI,Math.DEG_TO_RAD=Math.PI/180,Math.EPS=o,Math.clamp=r,Math.clamp01=n,Math.lerp=a,e.default=Math},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var r=0;r3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;this.transformCtx(t,this._fullXform,e),t.beginPath();var o=this._draw(t);(o||"undefined"==typeof o)&&(this.isFillVisible()&&(null===n||Boolean(n))&&(r.setFillStyle(t,this),t.fill()),this.isStrokeVisible()&&(null===a||Boolean(a))&&(r.setStrokeStyle(t,this),t.setTransform(1,0,0,1,0,0),t.stroke()))}},{key:"setStyle",value:function(t){return M.default.copyBasicStyle(t,this),this}},{key:"toJSON",value:function(){var t=this;return this._stateStack&&this._stateStack.length&&(t=this._stateStack[0]),Object.assign({visible:this.visible,zIndex:t.zIndex},M.default.toJSON(t),v.default.toJSON(this))}},{key:"visible",get:function(){return this._visible&&(this.isFillVisible()||this.isStrokeVisible())}}],[{key:"shapeCompare",value:function(t,e){var r=t.zIndex,n=e.zIndex;if(rn)return 1;var a=h.default.compareFillStyle(t,e);return a||(a=p.default.compareStrokeStyle(t,e)),a}}]),e}((0,m.default)(D,(0,_.createEventedTransform2dMixin)("changed:xform"),(0,f.createEventedFillStyleMixin)("changed:style"),(0,d.createEventedStrokeStyleMixin)("changed:style")));e.default=I},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(1);n.mat2d.svd=function(t,e,r,n){if(t&&(t[0]=n[4],t[1]=n[5]),e||r){var a=(n[0]+n[3])/2,o=(n[0]-n[3])/2,i=(n[1]+n[2])/2,s=(n[1]-n[2])/2;if(e){var l=Math.sqrt(a*a+s*s),u=Math.sqrt(o*o+i*i);e[0]=l+u,e[1]=l-u}if(r){var c=Math.atan2(i,o),f=Math.atan2(s,a);r[0]=(f-c)/2,r[1]=(f+c)/2}}},e.default=n.mat2d},function(t,e){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var o=function(t){for(var e=arguments.length,o=Array(e>1?e-1:0),i=1;i0&&this._strokeWidth>0}},{key:"isTransparent",value:function(){return this._strokeColor.isTransparent()}},{key:"setStrokeCtx",value:function(t){t.strokeStyle=this.strokeColor,t.lineWidth=this._strokeWidth,t.lineJoin=this._lineJoin,t.lineCap=this._lineCap,t.setLineDash(this._dashPattern),t.lineDashOffset=this._dashOffset}},{key:"strokeColor",set:function(t){return this._strokeColor.value=t,this},get:function(){return this._strokeColor.value}},{key:"strokeOpacity",set:function(t){this._strokeColor.opacity=t},get:function(){return this._strokeColor.opacity}},{key:"packedStrokeColor",set:function(t){this._strokeColor.packedValue=t},get:function(){return this._strokeColor.packedValue}},{key:"strokeWidth",set:function(t){return o(t),this._strokeWidth=t,this},get:function(){return this._strokeWidth}},{key:"lineJoin",set:function(t){var e=i(t);return this._lineJoin=e,this},get:function(){return y[this._lineJoin]}},{key:"lineCap",set:function(t){var e=s(t);return this._lineCap=e,this},get:function(){return b[this._lineJoin]}},{key:"dashPattern",set:function(t){return l(t),this._dashPattern=t.slice(),this},get:function(){return this._dashPattern.slice()}},{key:"dashOffset",set:function(t){return u(t),this._dashOffset=t,this},get:function(){return this._dashOffset}}],[{key:"copyStrokeStyle",value:function(t,e){"undefined"!=typeof t.packedStrokeColor?e.packedStrokeColor=t.packedStrokeColor:("undefined"!=typeof t.strokeColor&&(e.strokeColor=t.strokeColor),"undefined"!=typeof t.strokeOpacity&&(e.strokeOpacity=t.strokeOpacity)),"undefined"!=typeof t.strokeWidth&&(e.strokeWidth=t.strokeWidth),"undefined"!=typeof t.lineJoin&&(e.lineJoin=t.lineJoin),"undefined"!=typeof t.lineCap&&(e.lineCap=t.lineCap),"undefined"!=typeof t.dashPattern&&(e.dashPattern=t.dashPattern),"undefined"!=typeof t.dashOffset&&(e.dashOffset=t.dashOffset)}},{key:"compareStrokeStyle",value:function(t,e){var r=t.isStrokeVisible(),n=e.isStrokeVisible();if(r!==n)return r-n;if(r=t.packedStrokeColor,n=e.packedStrokeColor,r!==n)return r-n;if(r=t.strokeWidth,n=e.strokeWidth,r!==n)return r-n;if(r=t._lineJoin,n=e._lineJoin,r!==n)return r-n;if(r=t._lineCap,n=e._lineCap,r!==n)return r-n;if(r=t._dashPattern,n=e._dashPattern,r.length===n.length&&r.length>0){for(var a=0;a0?(o[i+1]=0,o[i+2]=1):(o[i+1]=1,o[i+2]=0);for(var l=3;l=0&&o[i+1]>=0&&r(t[o[i]],t[o[i+1]],t[l])<=0;)i+=1;for(i-=1,o[i]=l;o[s]>=0&&o[s+1]>=0&&r(t[o[s-1]],t[o[s]],t[l])<=0;)s-=1;s+=1,o[s]=l}var u=0;for(u=0;u<=s-i-1;u+=1)e[u]=o[i+u];return o[i+u]!==e[0]&&(e[u]=o[i+u]),e}Object.defineProperty(e,"__esModule",{value:!0}),e.simpleHull_2D=n;var a=0,o=1},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function l(t,e,r,n){p.isEmpty(t)?(t[0]=e[0],t[2]=e[0],n[0]=n[2]=r,t[1]=e[1],t[3]=e[1],n[1]=n[3]=r):(e[0]t[2]&&(t[2]=e[0],n[2]=r),e[1]t[3]&&(t[3]=e[1],n[3]=r))}function u(t,e,r){var n=e[0]*r[1]-r[0]*e[1];return t[0]+=(e[0]+r[0])*n,t[1]+=(e[1]+r[1])*n,n}function c(t){return Array.isArray(t)||ArrayBuffer&&ArrayBuffer.isView(t)}Object.defineProperty(e,"__esModule",{value:!0});var f=function(){function t(t,e){for(var r=0;r=this._verts.length)throw new Error("Cannot translate vertex at index "+t+". There are only "+this._verts.length+" vertices in the polygon.");if(e[0]||e[1]){var r=v.clone(this._verts[t]),n=v.clone(this._verts[t]);v.addVec2(n,n,e),this._collapseVerts(),this._resetAABox=!0,this._geomDirty=!0,v.copy(n),this.fire("changed:geom",{attr:"verts["+t+"]",prevVal:r,currVal:n})}return this}},{key:"setVertPosition",value:function(t,e){if(t>=this._verts.length)throw new Error("Cannot translate vertex at index "+t+". There are only "+this._verts.length+" vertices in the polygon.");if(!v.equals(e,this._verts[t])){var r=v.clone(this._verts[t]);this._collapseVerts(),v.copy(this._verts[t],e),this._resetAABox=!0,this._geomDirty=!0,this.fire("changed:geom",{attr:"verts["+t+"]",prevVal:r,currVal:e})}}},{key:"insertVert",value:function(t,e){var r=x.default.min(x.default.max(t,0),this._verts.length);return this._collapseVerts(),t>=this._verts.length?(this._verts.push(v.clone(e)),r=this._verts.length-1):this._verts.splice(t,0,v.clone(e)),this._resetAABox=!0,this._geomDirty=!0,this.fire("changed:geom:addvert",{attr:"verts["+r+"]",currVal:e}),r}},{key:"appendVert",value:function(t){return this.insertVert(this._verts.length,t)}},{key:"removeVert",value:function(t){if(t>=this._verts.length||t<0)throw new Error("Cannot remove vertex "+t+". Invalid index. There are only "+this._verts.length+" vertices in the shape.");var e=this._verts[t];return this._verts.splice(t,1),this._collapseVerts(),this._resetAABox=!0,this._geomDirty=!0,this.fire("changed:geom:removevert",{attr:"verts["+t+"]",currVal:e}),t}},{key:"_rebuildAABox",value:function(){var t=this;p.initEmpty(this._aabox),this._verts.length<3?this._convexHull=this._verts.map(function(t,e){return e}):this._convexHull=(0,g.simpleHull_2D)(this._verts),this._convexHull.forEach(function(e){l(t._aabox,t._verts[e],e,t._extentIndices)});var e=v.create(0,0);p.getCenter(e,this._aabox),this.pivot=e}},{key:"_updateAABox",value:function(){var t=this;if(this._resetAABox&&(this._rebuildAABox(),this._resetAABox=!1),this._boundsOutOfDate||this._geomDirty){p.initEmpty(this._aabox);var e=[0,0],r=this.globalXform;if(this._convexHull.forEach(function(n){p.encapsulatePt(t._aabox,t._aabox,v.transformMat2d(e,t._verts[n],r))}),this._boundsOutOfDate=!1,this._geomDirty){var n=v.create();n[0]=this._verts[this._extentIndices[0]][0]+.5*(this._verts[this._extentIndices[2]][0]-this._verts[this._extentIndices[0]][0]),n[1]=this._verts[this._extentIndices[1]][1]+.5*(this._verts[this._extentIndices[3]][1]-this._verts[this._extentIndices[1]][1]),this.pivot=n,this._geomDirty=!1}}}},{key:"_draw",value:function(t){var e=!1;if(this._verts.length>=2){t.moveTo(this._verts[0][0],this._verts[0][1]);for(var r=1;r=e.length)return 0;var i=0,s=null;return s=t.get(e[r]),s&&(i=n(s[0],e,r+1,a),s[1].forEach(function(t){return t.call(o,a)}),i+=s[1].length),i}function a(t,e){var r=-1,n=t[0],o=t[1];o.length&&e.forEach(function(t){(r=o.indexOf(t))>=0&&o.splice(r,1)}),n.forEach(function(t){a(t,e)})}function o(t){var e=t;if("string"==typeof t)e=[t];else if(!Array.isArray(t))throw new Error("Input must be an array of strings");return e}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:null;this._margins=e&&e.margins?Object.assign({},e.margins):{},P.forEach(function(t){"number"!=typeof r._margins[t]&&(r._margins[t]=0)});var a=u(t),o=a.canvasContainer,i=a.canvas,s=a.canvasContext,l=a.ratio;this._container=o,this._drawCanvas=i,this._drawCtx=s,this._pixelRatio=l,this._parent=t,(0,x.bindAll)(["_resize"],this),this._resize(e),this._resizeSensor=new F.default(t,this._resize),(n||null===n&&e&&e.enableEvents)&&this._enableEvents()}},{key:"_destroyCanvas",value:function(){this._drawCanvas&&this._disableEvents(),this._parent&&(this._parent.removeChild(this._drawCanvas),this._resizeSensor&&this._resizeSensor.detach(this._parent,this._resize)),this._drawCanvas=null,this._drawCtx=null,this._parent=null}},{key:"_init",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.registerEvents([C.SHAPE_ADD,C.SHAPE_DELETE]),(0,x.bindAll)(["_reorderCb","_rerenderCb"],this),(0,x.bindAll)(["_mousedownCB","_mouseupCB","_mousemoveCB","_clickCB","_dblclickCB","_mouseoverCB","_mouseoutCB"],this),this._renderFrameCb=this.renderAll.bind(this),this._renderRequestId=0,this._ids={shapeId:1},this._objects=new Map,this._sortedObjs=[],this._reorderedObjIdxs=new Set,this._initCanvas(t,e,r),this._styleState=new A({fillColor:"red"})}},{key:"getContainer",value:function(){return this._parent}},{key:"getCanvasContainer",value:function(){return this._container}},{key:"getCanvas",value:function(){return this._drawCanvas}},{key:"project",value:function(t,e){var r=this._camera.screenToWorldMatrix;return v.transformMat2d(t,e,r)}},{key:"unproject",value:function(t,e){var r=this._camera.worldToScreenMatrix;return v.transformMat2d(t,e,r)}},{key:"hasShape",value:function(t){return this._objects.has(t)}},{key:"addShape",value:function(t){var e=t;Array.isArray(e)||(e=[t]),c(e,this._objects,this._ids,this._reorderCb,this._rerenderCb),this.fire("shape:add",{shape:e});var r={target:e};return this._reorderCb(r),this}},{key:"deleteShape",value:function(t){var e=t;Array.isArray(e)||(e=[t]);for(var r=f(e,this._objects,this._reorderCb,this._rerenderCb),n=-1,a=0;a=0&&this._sortedObjs.splice(n,1),this._reorderedObjIdxs.add(r[a]);return this._rerenderCb(),this.fire("shape:delete",{shape:e}),this}},{key:"deleteAllShapes",value:function(){return this.deleteShape(this.sortedShapes.slice()),this}},{key:"moveShapeToTop",value:function(t){if(this._objects.has(t)){var e=this.sortedShapes,r=e[e.length-1].zIndex;t.zIndex=r+1}}},{key:"moveShapeToBack",value:function(t){if(this._objects.has(t)){var e=this.sortedShapes,r=e[0].zIndex;t.zIndex=r}}},{key:"getShapesAsJSON",value:function(){var t=this.sortedShapes;return t.map(function(t){return t.toJSON()})}},{key:"_rerenderCb",value:function(t){this._renderRequestId&&window.cancelAnimationFrame(this._renderRequestId),this._renderRequestId=window.requestAnimationFrame(this._renderFrameCb)}},{key:"_reorderCb",value:function(t){var e=this,r=t.target;Array.isArray(r)||(r=[t.target]),r.forEach(function(t){console.assert(t,"A changed event doesn't have an object");var r=e._objects.get(t);console.assert(r,"A changed event target isn't in the list of shapes "+t),r.shapeIdx<0&&(r.shapeIdx=e._sortedObjs.push(t)-1),e._reorderedObjIdxs.add(r.shapeIdx)}),this._rerenderCb()}},{key:"_renderShapes",value:function(t,e,r){var n=this,a=r.worldToScreenMatrix;e.forEach(function(e){e.visible&&e.render(t,a,n._styleState)})}},{key:"renderAll",value:function(){var t=this._drawCtx;if(t.clearRect(0,0,this._drawCanvas.offsetWidth,this._drawCanvas.offsetHeight),this._objects.size){t.save();var e=this.sortedShapes;this._styleState.applyDefaults(t),this._renderShapes(t,e,this._camera),t.restore()}}},{key:"sortedShapes",get:function(){return this._reorderedObjIdxs.size&&(console.assert(this._sortedObjs.length===this._objects.size,"Size mismatch when rendering objets. Something got out of sync - sorted objs length: "+this._sortedObjs.length+", objects length: "+this._objects.size),this._sortedObjs.sort(m.default.shapeCompare),this._reorderedObjIdxs.clear()),this._sortedObjs}},{key:"margins",get:function(){var t=this,e={};return P.forEach(function(r){e[r]=t._margins[r]}),e},set:function(t){var e=this,r=!1;P.forEach(function(n){"number"==typeof t[n]&&t[n]!==e._margins[n]&&(e._margins[n]=t.prop,r=!0)}),this._resize()}},{key:"viewport",get:function(){return this._camera.viewport},set:function(t){this._camera.viewport=t}},{key:"projectionDimensions",get:function(){return this._camera.projectionDimensions},set:function(t){return this._camera.projectionDimensions=t,this}},{key:"cameraPosition",get:function(){return this._camera.getPosition()},set:function(t){return this._camera.setPosition(t),this}}]),e}(I.default));e.default=j,j.EventConstants=C},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var r=0;r>>24)+", "+((16711680&t)>>16)+", "+((65280&t)>>8)+", "+s(t)+")"}function c(t){if("string"!=typeof t)throw new Error(t+" is not a valid color string");var e=0,r=null;if(r=t.match(y))e=255,e|=_.default.clamp(Number.parseInt(r[3],10),0,255)<<8,e|=_.default.clamp(Number.parseInt(r[2],10),0,255)<<16,e|=_.default.clamp(Number.parseInt(r[1],10),0,255)<<24;else if(r=t.match(m))e=l(Number.parseFloat(r[4],10)),e|=_.default.clamp(Number.parseInt(r[3],10),0,255)<<8,e|=_.default.clamp(Number.parseInt(r[2],10),0,255)<<16,e|=_.default.clamp(Number.parseInt(r[1],10),0,255)<<24;else if(r=t.match(b))e=255,e|=_.default.clamp(Number.parseInt(r[3],16),0,255)<<8,e|=_.default.clamp(Number.parseInt(r[2],16),0,255)<<16,e|=_.default.clamp(Number.parseInt(r[1],16),0,255)<<24;else{if(!v.has(t))throw new Error(t+" is not a valid color string");r=v.get(t).match(b),e=255,e|=_.default.clamp(Number.parseInt(r[3],16),0,255)<<8,e|=_.default.clamp(Number.parseInt(r[2],16),0,255)<<16,e|=_.default.clamp(Number.parseInt(r[1],16),0,255)<<24}return e}function f(t,e){return function(r){function n(){return i(this,n),a(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return o(n,r),d(n,[{key:"initializer",value:function(t,e){this._eventHandler=e,h(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"initializer",this).call(this,t)}},{key:"_checkPackedColorChanged",value:function(r){if(r!==this._color){var n=this._color,a=s(n),o=s(r);this._color=r,this._eventHandler.fire(t,{attr:e,prevVal:u(n),currVal:u(this._color)}),o!==a&&this._eventHandler.fire(t,{attr:"opacity",prevVal:a,currVal:o})}}},{key:"value",set:function(t){var e=c(t);return this._checkPackedColorChanged(e),this},get:function(){return u(this._color)}},{key:"packedValue",set:function(t){var e=0;return e|=t,this._checkPackedColorChanged(e),this},get:function(){return this._color}},{key:"opacity",set:function(e){if("number"!=typeof e)throw new Error("Opacity must be a number between 0-1");var r=255&this._color,n=l(e);return n!==r&&(this._color&=4294967040,this._color|=n,this._eventHandler.fire(t,{attr:"opacity",prevVal:r/255,currVal:n/255})),this},get:function(){return s(this._color)}}]),n}(M)}Object.defineProperty(e,"__esModule",{value:!0});var h=function t(e,r,n){null===e&&(e=Function.prototype);var a=Object.getOwnPropertyDescriptor(e,r);if(void 0===a){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,r,n)}if("value"in a)return a.value;var i=a.get;if(void 0!==i)return i.call(n)},d=function(){function t(t,e){for(var r=0;r1?r-1:0),a=1;a0}},{key:"isTransparent",value:function(){return this._fillColor.isTransparent()}},{key:"setFillCtx",value:function(t){t.fillStyle=this.fillColor}},{key:"fillColor",set:function(t){return this._fillColor.value=t,this},get:function(){return this._fillColor.value}},{key:"fillOpacity",set:function(t){return this._fillColor.opacity=t,this},get:function(){return this._fillColor.opacity}},{key:"packedFillColor",set:function(t){return this._fillColor.packedValue=t,this},get:function(){return this._fillColor.packedValue}}],[{key:"copyFillStyle",value:function(t,e){"undefined"!=typeof t.packedFillColor?e.packedFillColor=t.packedFillColor:("undefined"!=typeof t.fillColor&&(e.fillColor=t.fillColor),"undefined"!=typeof t.fillOpacity&&(e.fillOpacity=t.fillOpacity))}},{key:"compareFillStyle",value:function(t,e){var r=t.isFillVisible(),n=e.isFillVisible(); +return r!==n?r-n:t.packedFillColor-e.packedFillColor}},{key:"toJSON",value:function(t){return{fillColor:t.fillColor}}}]),t}();e.default=f},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},a.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},a.clone=function(t){var e=new n.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},a.fromValues=function(t,e,r,a,o,i,s,l,u){var c=new n.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=r,c[3]=a,c[4]=o,c[5]=i,c[6]=s,c[7]=l,c[8]=u,c},a.set=function(t,e,r,n,a,o,i,s,l,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=o,t[5]=i,t[6]=s,t[7]=l,t[8]=u,t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},a.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],a=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=a}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},a.invert=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=c*i-s*u,h=-c*o+s*l,d=u*o-i*l,p=r*f+n*h+a*d;return p?(p=1/p,t[0]=f*p,t[1]=(-c*n+a*u)*p,t[2]=(s*n-a*i)*p,t[3]=h*p,t[4]=(c*r-a*l)*p,t[5]=(-s*r+a*o)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(i*r-n*o)*p,t):null},a.adjoint=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=e[4],s=e[5],l=e[6],u=e[7],c=e[8];return t[0]=i*c-s*u,t[1]=a*u-n*c,t[2]=n*s-a*i,t[3]=s*l-o*c,t[4]=r*c-a*l,t[5]=a*o-r*s,t[6]=o*u-i*l,t[7]=n*l-r*u,t[8]=r*i-n*o,t},a.determinant=function(t){var e=t[0],r=t[1],n=t[2],a=t[3],o=t[4],i=t[5],s=t[6],l=t[7],u=t[8];return e*(u*o-i*l)+r*(-u*a+i*s)+n*(l*a-o*s)},a.multiply=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=r[0],d=r[1],p=r[2],_=r[3],v=r[4],y=r[5],m=r[6],b=r[7],M=r[8];return t[0]=h*n+d*i+p*u,t[1]=h*a+d*s+p*c,t[2]=h*o+d*l+p*f,t[3]=_*n+v*i+y*u,t[4]=_*a+v*s+y*c,t[5]=_*o+v*l+y*f,t[6]=m*n+b*i+M*u,t[7]=m*a+b*s+M*c,t[8]=m*o+b*l+M*f,t},a.mul=a.multiply,a.translate=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=r[0],d=r[1];return t[0]=n,t[1]=a,t[2]=o,t[3]=i,t[4]=s,t[5]=l,t[6]=h*n+d*i+u,t[7]=h*a+d*s+c,t[8]=h*o+d*l+f,t},a.rotate=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*i,t[1]=d*a+h*s,t[2]=d*o+h*l,t[3]=d*i-h*n,t[4]=d*s-h*a,t[5]=d*l-h*o,t[6]=u,t[7]=c,t[8]=f,t},a.scale=function(t,e,r){var n=r[0],a=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=a*e[3],t[4]=a*e[4],t[5]=a*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},a.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},a.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},a.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},a.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},a.fromQuat=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=r+r,s=n+n,l=a+a,u=r*i,c=n*i,f=n*s,h=a*i,d=a*s,p=a*l,_=o*i,v=o*s,y=o*l;return t[0]=1-f-p,t[3]=c-y,t[6]=h+v,t[1]=c+y,t[4]=1-u-p,t[7]=d-_,t[2]=h-v,t[5]=d+_,t[8]=1-u-f,t},a.normalFromMat4=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],_=e[13],v=e[14],y=e[15],m=r*s-n*i,b=r*l-a*i,M=r*u-o*i,x=n*l-a*s,g=n*u-o*s,S=a*u-o*l,D=c*_-f*p,I=c*v-h*p,w=c*y-d*p,F=f*v-h*_,O=f*y-d*_,k=h*y-d*v,E=m*k-b*O+M*F+x*w-g*I+S*D;return E?(E=1/E,t[0]=(s*k-l*O+u*F)*E,t[1]=(l*w-i*k-u*I)*E,t[2]=(i*O-s*w+u*D)*E,t[3]=(a*O-n*k-o*F)*E,t[4]=(r*k-a*w+o*I)*E,t[5]=(n*w-r*O-o*D)*E,t[6]=(_*S-v*g+y*x)*E,t[7]=(v*M-p*S-y*b)*E,t[8]=(p*g-_*M+y*m)*E,t):null},a.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},a.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},a.sub=a.subtract,a.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},a.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},a.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},a.equals=function(t,e){var r=t[0],a=t[1],o=t[2],i=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=e[0],d=e[1],p=e[2],_=e[3],v=e[4],y=e[5],m=t[6],b=e[7],M=e[8];return Math.abs(r-h)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(a-d)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(d))&&Math.abs(o-p)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(i-_)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(_))&&Math.abs(s-v)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(v))&&Math.abs(l-y)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(u-m)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(m))&&Math.abs(c-b)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(f-M)<=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(M))},t.exports=a},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},a.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},a.fromValues=function(t,e,r){var a=new n.ARRAY_TYPE(3);return a[0]=t,a[1]=e,a[2]=r,a},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},a.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},a.sub=a.subtract,a.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},a.mul=a.multiply,a.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},a.div=a.divide,a.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},a.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},a.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t},a.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t},a.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},a.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},a.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t},a.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)},a.dist=a.distance,a.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a},a.sqrDist=a.squaredDistance,a.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},a.len=a.length,a.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},a.sqrLen=a.squaredLength,a.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},a.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},a.normalize=function(t,e){var r=e[0],n=e[1],a=e[2],o=r*r+n*n+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o),t},a.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},a.cross=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=r[0],s=r[1],l=r[2];return t[0]=a*l-o*s,t[1]=o*i-n*l,t[2]=n*s-a*i,t},a.lerp=function(t,e,r,n){var a=e[0],o=e[1],i=e[2];return t[0]=a+n*(r[0]-a),t[1]=o+n*(r[1]-o),t[2]=i+n*(r[2]-i),t},a.hermite=function(t,e,r,n,a,o){var i=o*o,s=i*(2*o-3)+1,l=i*(o-2)+o,u=i*(o-1),c=i*(3-2*o);return t[0]=e[0]*s+r[0]*l+n[0]*u+a[0]*c,t[1]=e[1]*s+r[1]*l+n[1]*u+a[1]*c,t[2]=e[2]*s+r[2]*l+n[2]*u+a[2]*c,t},a.bezier=function(t,e,r,n,a,o){var i=1-o,s=i*i,l=o*o,u=s*i,c=3*o*s,f=3*l*i,h=l*o;return t[0]=e[0]*u+r[0]*c+n[0]*f+a[0]*h,t[1]=e[1]*u+r[1]*c+n[1]*f+a[1]*h,t[2]=e[2]*u+r[2]*c+n[2]*f+a[2]*h,t},a.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,a=2*n.RANDOM()-1,o=Math.sqrt(1-a*a)*e;return t[0]=Math.cos(r)*o,t[1]=Math.sin(r)*o,t[2]=a*e,t},a.transformMat4=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=r[3]*n+r[7]*a+r[11]*o+r[15];return i=i||1,t[0]=(r[0]*n+r[4]*a+r[8]*o+r[12])/i,t[1]=(r[1]*n+r[5]*a+r[9]*o+r[13])/i,t[2]=(r[2]*n+r[6]*a+r[10]*o+r[14])/i,t},a.transformMat3=function(t,e,r){var n=e[0],a=e[1],o=e[2];return t[0]=n*r[0]+a*r[3]+o*r[6],t[1]=n*r[1]+a*r[4]+o*r[7],t[2]=n*r[2]+a*r[5]+o*r[8],t},a.transformQuat=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*o-l*a,f=u*a+l*n-i*o,h=u*o+i*a-s*n,d=-i*n-s*a-l*o;return t[0]=c*u+d*-i+f*-l-h*-s,t[1]=f*u+d*-s+h*-i-c*-l,t[2]=h*u+d*-l+c*-s-f*-i,t},a.rotateX=function(t,e,r,n){var a=[],o=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],o[0]=a[0],o[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),o[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t},a.rotateY=function(t,e,r,n){var a=[],o=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],o[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),o[1]=a[1],o[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t},a.rotateZ=function(t,e,r,n){var a=[],o=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],o[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),o[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),o[2]=a[2],t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t},a.forEach=function(){var t=a.create();return function(e,r,n,a,o,i){var s,l;for(r||(r=3),n||(n=0),l=a?Math.min(a*r+n,e.length):e.length,s=n;s1?0:Math.acos(o)},a.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},a.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},a.equals=function(t,e){var r=t[0],a=t[1],o=t[2],i=e[0],s=e[1],l=e[2];return Math.abs(r-i)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(a-s)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(o-l)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(l))},t.exports=a},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},a.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},a.fromValues=function(t,e,r,a){var o=new n.ARRAY_TYPE(4);return o[0]=t,o[1]=e,o[2]=r,o[3]=a,o},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},a.set=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t},a.sub=a.subtract,a.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t},a.mul=a.multiply,a.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t},a.div=a.divide,a.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},a.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},a.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t},a.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t},a.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},a.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},a.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t},a.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],o=e[3]-t[3];return Math.sqrt(r*r+n*n+a*a+o*o)},a.dist=a.distance,a.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],o=e[3]-t[3];return r*r+n*n+a*a+o*o},a.sqrDist=a.squaredDistance,a.length=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return Math.sqrt(e*e+r*r+n*n+a*a)},a.len=a.length,a.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return e*e+r*r+n*n+a*a},a.sqrLen=a.squaredLength,a.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},a.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},a.normalize=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=r*r+n*n+a*a+o*o;return i>0&&(i=1/Math.sqrt(i),t[0]=r*i,t[1]=n*i,t[2]=a*i,t[3]=o*i),t},a.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},a.lerp=function(t,e,r,n){var a=e[0],o=e[1],i=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=o+n*(r[1]-o),t[2]=i+n*(r[2]-i),t[3]=s+n*(r[3]-s),t},a.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),a.normalize(t,t),a.scale(t,t,e),t},a.transformMat4=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*o+r[12]*i,t[1]=r[1]*n+r[5]*a+r[9]*o+r[13]*i,t[2]=r[2]*n+r[6]*a+r[10]*o+r[14]*i,t[3]=r[3]*n+r[7]*a+r[11]*o+r[15]*i,t},a.transformQuat=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*o-l*a,f=u*a+l*n-i*o,h=u*o+i*a-s*n,d=-i*n-s*a-l*o;return t[0]=c*u+d*-i+f*-l-h*-s,t[1]=f*u+d*-s+h*-i-c*-l,t[2]=h*u+d*-l+c*-s-f*-i,t[3]=e[3],t},a.forEach=function(){var t=a.create();return function(e,r,n,a,o,i){var s,l;for(r||(r=4),n||(n=0),l=a?Math.min(a*r+n,e.length):e.length,s=n;s=0&&a<=t.clientWidth&&(o=r-n.top-t.clientTop)>=0&&o<=t.clientHeight}function u(t,e,r){var n=e.getBoundingClientRect();t[0]=r.clientX-n.left-e.clientLeft,t[1]=r.clientY-n.top-e.clientTop}function c(t,e,r,n){u(H,t,e),I.transformMat2d(J,H,n.screenToWorldMatrix);var a=r.shape;a instanceof B.default?S.transformXformShape(a,r,H,J,n):a instanceof R.default?S.translateVert(a,r,H,J,n):S.translateShape(a,r,H,J,n)}function f(t,e){e.keys={altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey}}function h(t){var e=[];return t.forEach(function(t,r){e.push(r)}),e}function d(t,e,r,n,a,o){var i={unselectedShapes:h(r)};p(r),t.save();var s=e[e.length-1].zIndex;t.zIndex=s+1,F.default.copyBasicStyle(n,t),t.selected=!0;var l=null;return(o.scalable||o.rotatable)&&(l=new B.default(a||U,o),t.addChildXform(l)),r.set(t,l),i.selectedShapes=[t],i}function p(t){t.forEach(function(t,e){e.restore(),e.selected=!1,e.removeChildXform(t)}),t.clear()}function _(t,e){var r=[];return e.forEach(function(e){var n=t.get(e);e.restore(),e.selected=!1,e.removeChildXform(n),t.delete(e),r.push(e)}),r}function v(t,e){var r=document.querySelector(""+("#"+e.id+" canvas")),n={x:t.offsetX+r.offsetLeft,y:t.offsetY+r.offsetTop};return n}function y(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-14,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-14,o=document.getElementById("cursor"),i=v(t,e);if(null===o){var s=document.createElement("span");s.setAttribute("id","cursor"),s.setAttribute("style","position: absolute; top: "+(i.y+"px")+"; left: "+(i.x+"px")+"; width: 28px; height: 28px; background: "+r+"; cursor: none; z-index: 10; pointer-events: none; transform: translate("+n+"px, "+a+"px)"),e.appendChild(s)}else o.style.background!==r?(o.style.background=r,b(t,e)):b(t,e)}function m(){var t=document.getElementById("cursor");null!==t&&t.parentNode.removeChild(t)}function b(t,e){var r=document.getElementById("cursor"),n=v(t,e);null!==r&&(r.style.top=""+(n.y+"px"),r.style.left=""+(n.x+"px"))}Object.defineProperty(e,"__esModule",{value:!0});var M=function(){function t(t,e){for(var r=0;r=0;n-=1){var i=this._objects.get(r[n]);if(r[n].selected){a=this._selectedShapes.get(r[n]),o=i;var s=null;if(a&&(s=a.containsPoint(H,J,e,this._drawCtx)).hit){if(a instanceof R.default&&t.altKey&&s.controlIndex canvas"));null!==_?(_.addEventListener("mouseout",Q),_.addEventListener("mouseover",Z)):(this._parent.addEventListener("mouseout",G),this._parent.addEventListener("mouseover",K)),!this._dragInfo&&o.movable&&(this._dragInfo={startLocalPos:a.getPosition()}),this._dragInfo&&(this._dragInfo.shape=a,this._dragInfo.startPos=I.clone(H),this._dragInfo.startWorldPos=I.clone(J),this._dragInfo.objectToWorldMatrix=P.default.clone(a.globalXform),f(t,this._dragInfo),t.stopImmediatePropagation(),this.fire(Y.DRAG_BEGIN,{shapes:h(this._selectedShapes)}))}t.preventDefault()}}},{key:"_mouseupCB",value:function(t){if(this._dragInfo&&this._dragInfo.shape){t.stopImmediatePropagation(),t.preventDefault();var e=document.querySelector(""+("#"+this._parent.id+" > canvas"));null!==e?(e.removeEventListener("mouseout",Q),e.removeEventListener("mouseover",Z)):(this._parent.removeEventListener("mouseout",G),this._parent.removeEventListener("mouseover",K)),this._dragInfo=null,this.fire(Y.DRAG_END,{shapes:h(this._selectedShapes)})}else if(performance.now()-this.timer<500){I.set(H,t.offsetX,t.offsetY),I.transformMat2d(J,H,this._camera.screenToWorldMatrix);for(var r=this._camera.worldToScreenMatrix,n=this.sortedShapes,a=null,o=null,i=n.length-1;i>=0;i-=1)if(o=this._objects.get(n[i]),o.selectable&&n[i].containsPoint(H,J,r,this._drawCtx)){a=n[i];break}if(a&&!a.selected){var s=d(a,n,this._selectedShapes,this._selectStyle,this._xformStyle,o);this.fire(Y.SELECTION_CHANGED,s)}}}},{key:"_mousemoveCB",value:function(t){var e=!1;if((e=l(this._drawCanvas,t.clientX,t.clientY))||this._dragInfo)if(this._dragInfo&&this._dragInfo.shape)b(t,this._parent),f(t,this._dragInfo),c(this._drawCanvas,t,this._dragInfo,this._camera),t.stopImmediatePropagation(),t.preventDefault();else if(!t.buttons&&this._selectedShapes.size){I.set(H,t.offsetX,t.offsetY),I.transformMat2d(J,H,this._camera.screenToWorldMatrix);var r=this._camera.worldToScreenMatrix,n=this.sortedShapes,a=0,o=this._camera.isYFlipped();for(a=n.length-1;a>=0;a-=1)if(n[a].selected){var i=this._objects.get(n[a]),s=this._selectedShapes.get(n[a]),u=null;document.getElementById("cursor");this._parent.style.cursor="none";for(var h=0;h/g,""+d))}else u.controlIndex<4?0===u.controlIndex||3===u.controlIndex?y(t,this._parent,""+V.replace(/\/g,""+(-n[a].getRotation()-45))):1!==u.controlIndex&&2!==u.controlIndex||y(t,this._parent,""+V.replace(/\/g,""+(-n[a].getRotation()+45))):u.controlIndex%2===0?y(t,this._parent,""+V.replace(/\/g,""+-n[a].getRotation())):y(t,this._parent,""+V.replace(/\/g,""+(-n[a].getRotation()+90)));else if(s instanceof R.default){this._parent.style.cursor="none";for(var p=0;p=n[a].numVerts?y(t,this._parent,q,-8,-6):t.altKey?y(t,this._parent,X,-8,-6):y(t,this._parent,W,-14,-14)}t.stopImmediatePropagation(),t.preventDefault();break}if(n[a].containsPoint(H,J,r,this._drawCtx)){if(i&&i.movable){var _=document.getElementById("cursor");null!==_&&_.parentNode.removeChild(_),this._parent.style.cursor="move";for(var v=0;v=0;n-=1){var a=this._objects.get(r[n]);if(a.selectable&&r[n].containsPoint(H,J,e,this._drawCtx)){if(a.editable&&r[n]instanceof A.default){var o=r[n],i=!1;if(r[n].selected){var s=this._selectedShapes.get(r[n]);s&&(o.restore(),o.removeChildXform(s),i=!(s instanceof B.default))}o.selected=!0,o.save();var u=r[r.length-1].zIndex;o.zIndex=u+1,F.default.copyBasicStyle(this._selectStyle,o);var c=null;i?(a.rotatable||a.scalable)&&(c=new B.default(this._xformStyle||U,a),o.addChildXform(c)):(c=new R.default(o,this._xformStyle),o.addChildXform(c)),this._selectedShapes.set(o,c)}else if(!r[n].selected){var f=d(r[n],r,this._selectedShapes,this._selectStyle,this._xformStyle,a);this.fire(Y.SELECTION_CHANGED,f)}break}}n<0&&this._selectedShapes.size?(this._selectedShapes.size&&this.fire(Y.SELECTION_CHANGED,{unselectedShapes:h(this._selectedShapes),selectedShapes:[]}),this._dragInfo=null,p(this._selectedShapes)):t.stopImmediatePropagation(),t.preventDefault()}}},{key:"_mouseoverCB",value:function(t){}},{key:"_mouseoutCB",value:function(t){}},{key:"_init",value:function(t,r){this._activated=r&&r.enableInteractions,x(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_init",this).call(this,t,r,this._activated);var n=Object.getOwnPropertyNames(Y).map(function(t){return Y[t]});this.registerEvents(n),this._dragInfo=null,this._selectedShapes=new Map,this._selectStyle=new F.default(r&&r.selectStyle?r.selectStyle:{fillColor:"orange"}),this._xformStyle=new F.default(r&&r.xformStyle?r.xformStyle:{fillColor:"white",strokeColor:"black",strokeWidth:2}),this.timer=0}},{key:"_renderShapes",value:function(t,e,r){var n=this,a=r.worldToScreenMatrix;e.forEach(function(e){if(e.visible&&(e.render(t,a,n._styleState),e.selected)){var r=n._selectedShapes.get(e);r&&r.render(t,a,n._styleState)}})}},{key:"selectShape",value:function(t){var e=this._objects.get(t);if(e&&e.selectable){var r=d(t,this.sortedShapes,this._selectedShapes,this._selectStyle,this._xformStyle,e);this.fire(Y.SELECTION_CHANGED,r)}}},{key:"clearSelection",value:function(){if(this._selectedShapes.size){var t=h(this._selectedShapes);p(this._selectedShapes),this.fire(Y.SELECTION_CHANGED,{unselectedShapes:t,selectedShapes:[]}),this._rerenderCb()}}},{key:"addShape",value:function(t){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=t;if(Array.isArray(o)||(o=[t]),x(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"addShape",this).call(this,o),o.forEach(function(t){var e=r._objects.get(t);e&&(e.selectable=!n||"undefined"==typeof n.selectable||Boolean(n.selectable),e.movable=!n||"undefined"==typeof n.movable||Boolean(n.movable),e.rotatable=!n||"undefined"==typeof n.rotatable||Boolean(n.rotatable),e.scalable=!n||"undefined"==typeof n.scalable||Boolean(n.scalable),e.uniformScaleOnly=!(!n||"undefined"==typeof n.uniformScaleOnly)&&Boolean(n.uniformScaleOnly),e.centerScaleOnly=!(!n||"undefined"==typeof n.centerScaleOnly)&&Boolean(n.centerScaleOnly),e.editable=!n||"undefined"==typeof n.editable||Boolean(n.editable))}),a){var i={unselectedShapes:h(this._selectedShapes)},s=[];o.forEach(function(t){var e=r._objects.get(t);e.selectable&&(d(t,r.sortedShapes,r._selectedShapes,r._selectStyle,r._xformStyle,e),s.push(t))}),s.length&&(i.selectedShapes=s,this.fire(Y.SELECTION_CHANGED,i))}return this}},{key:"deleteShape",value:function(t){var r=t;Array.isArray(r)||(r=[t]);var n=_(this._selectedShapes,r);return this.fire(Y.SELECTION_CHANGED,{unselectedShapes:n,selectedShapes:h(this._selectedShapes)}),x(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"deleteShape",this).call(this,r)}},{key:"deleteSelectedShapes",value:function(){var t=h(this._selectedShapes);return p(this._selectedShapes),this.fire(Y.SELECTION_CHANGED,{unselectedShapes:t,selectedShapes:[]}),x(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"deleteShape",this).call(this,t)}},{key:"enableInteractions",value:function(){return this._enableEvents(),this._activated=!0,this}},{key:"disableInteractions",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return t&&this.clearSelection(),this._disableEvents(),this._activated=!1,this}},{key:"selectStyle",set:function(t){F.default.copyBasicStyle(t,this._selectStyle); +},get:function(){return this._selectStyle}},{key:"selectedShapes",get:function(){return h(this._selectedShapes)}},{key:"interactionsEnabled",get:function(){return this._activated}}]),e}(k.default);e.default=$,Object.assign(Y,k.default.EventConstants),$.EventConstants=Y},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function o(t,e,r,n,a,o){var i=[0,0],s=[0,0];h.default.svd(i,s,null,r.objectToWorldMatrix);var l=[0,0];c.sub(l,r.startWorldPos,i),p.default.normalize(l,l);var u=i;c.sub(u,a,i),p.default.normalize(u,u);var f=p.default.angle(l,u);r.keys.shiftKey&&(f=Math.round(f/Math.QUATER_PI)*Math.QUATER_PI),e.setRotation(r.startLocalRot+Math.RAD_TO_DEG*f)}function i(t,e,r,n,a,i){var s=t.parent,l=[0,0],u=[0,0],f=[0,0];if(e.rotate)return void o(t,s,e,r,n,a);var d=e.keys.shiftKey||e.uniformScaleOnly,_=e.keys.altKey||e.centerScaleOnly,v=[0,0];if(h.default.svd(v,null,null,e.objectToWorldMatrix),p.default.sub(u,n,e.startWorldPos),d&&e.controlIndex<4){var y=[e.objectToWorldMatrix[0],e.objectToWorldMatrix[1]],m=[e.objectToWorldMatrix[2],e.objectToWorldMatrix[3]],b=[0,0];e.controlIndex<2&&p.default.negate(y,y),e.controlIndex%2===0&&p.default.negate(m,m),p.default.normalize(y,y),p.default.normalize(m,m),p.default.add(b,y,m),p.default.normalize(b,b);var M=p.default.cross2d(u,b),x=null;0===e.controlIndex||3===e.controlIndex?(x=m,M<0&&(x=y)):(x=y,M<0&&(x=m));var g=p.default.dot(u,x);g=Math.sign(g)*Math.sqrt(2*g*g),p.default.scale(u,b,g),c.addVec2(n,e.startWorldPos,u)}c.copy(l,n),c.transformMat2d(l,l,e.worldToObjectMatrix),p.default.sub(f,l,e.startObjectPos),c.copy(v,e.startLocalPos);var S=0,D=0;if(e.controlIndex<4)S=e.controlIndex<2?-1:1,D=e.controlIndex%2===0?-1:1,_||c.addVec2(v,v,p.default.scale(u,u,.5)),s.setPosition(v);else{var I=e.controlIndex-4,w=[0,0];I%2===0?(p.default.set(w,e.objectToWorldMatrix[0],e.objectToWorldMatrix[1]),D=0,S=I<2?-1:1,d&&(D=S,f[1]=f[0])):(p.default.set(w,e.objectToWorldMatrix[2],e.objectToWorldMatrix[3]),S=0,D=I<2?-1:1,d&&(S=D,f[0]=f[1])),_||(p.default.normalize(w,w),p.default.scale(w,w,p.default.dot(u,w)),c.addVec2(v,v,p.default.scale(w,w,.5))),s.setPosition(v)}_&&(S*=2,D*=2),s.setScale([e.startLocalScale[0]*(1+S*f[0]/e.shapeWidth),e.startLocalScale[1]*(1+D*f[1]/e.shapeHeight)])}function s(t,e,r,n,a){var o=[0,0],i=[0,0];if(h.default.svd(i,null,null,e.objectToWorldMatrix),e.keys.shiftKey){c.sub(o,r,e.startPos);var s=Math.atan2(o[1],o[0]);s=Math.round(s/Math.QUATER_PI)*Math.QUATER_PI;var l=[Math.cos(s),Math.sin(s)];p.default.scale(o,l,p.default.dot(o,l)),p.default.transformMat2(o,o,a.screenToWorldMatrix)}else p.default.sub(o,n,e.startWorldPos);c.addVec2(i,e.startLocalPos,o),t.setPosition(i)}function l(t,e,r,n,a){var o=t.parent,i=o.numVerts;if(e.controlIndex>=i){var s=Math.min(e.controlIndex-i,i-1),l=s===i-1?0:s+1,u=[0,0],f=[0,0],h=[0,0],d=[0,0],_=o.vertsRef,v=o.globalXform;c.transformMat2d(f,_[s],v),c.transformMat2d(h,_[l],v),c.sub(d,h,f),p.default.scale(d,d,.5),c.addVec2(u,f,d),e.controlIndex=o.insertVert(s+1,u)}else o.setVertPosition(e.controlIndex,n)}Object.defineProperty(e,"__esModule",{value:!0}),e.transformXformShape=i,e.translateShape=s,e.translateVert=l;var u=r(3),c=a(u),f=r(7),h=n(f),d=r(11),p=n(d)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var r=0;r0&&l===this._transformedVerts.length-1&&(h.sub(f,this._transformedVerts[0],this._transformedVerts[l]),_.vec2.scale(f,f,.5),h.addVec2(u,this._transformedVerts[l],f),c.initCenterExtents(o,u,s),c.containsPt(o,t)&&(a.hit=!0,a.controlIndex=this._transformedVerts.length+l))}}return a}},{key:"renderBounds",value:function(t,e,r){this._updateAABox(e),t.save(),t.setTransform(1,0,0,1,0,0),r.setStrokeCtx(t);var n=[0,0],a=[0,0];c.getCenter(n,this._aabox),c.getExtents(a,this._aabox),t.beginPath(),t.rect(n[0]-a[0],n[1]-a[1],2*a[0],2*a[1]),t.stroke(),t.restore()}},{key:"render",value:function(t,e,r){var n=this;t.save(),t.setTransform(1,0,0,1,0,0);var a=this._baseVertShape._fullXform,o=this._baseVertShape.vertsRef;this._transformedVerts=new Array(o.length);var i=[0,0],s=[0,0];t.beginPath();var l=0;this._transformedVerts[l]=[0,0],h.transformMat2d(this._transformedVerts[l],o[l],a);var u=Math.max(1.5*t.lineWidth,2.5);for(l=0;l0&&(h.sub(s,this._transformedVerts[0],this._transformedVerts[l]),_.vec2.scale(s,s,.5),h.addVec2(i,this._transformedVerts[l],s),t.moveTo(i[0]+u,i[1]),t.arc(i[0],i[1],u,0,Math.TWO_PI),t.fillStyle=t.strokeStyle,t.fill()),t.beginPath(),this._transformedVerts.forEach(function(e){t.moveTo(e[0]+n._vertRadius,e[1]),t.arc(e[0],e[1],n._vertRadius,0,Math.TWO_PI)}),this.isFillVisible()&&(this.setFillCtx(t),t.fill()),this.isStrokeVisible()&&(this.setStrokeCtx(t),t.stroke()),t.restore()}}]),e}(p.default);e.default=v},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function l(t,e,r,n,a,o,i,s){_.transformMat2d(e,e,r),t.setTransform(1,0,0,1,0,0),t.translate(e[0],e[1]),t.rotate(o[1]),t.scale(i[0],i[1]),t.rotate(o[0]),t.translate(-e[0],-e[1]),t.rect(e[0]-a,e[1]-a,n,n)}function u(t,e,r,n,a,o,i,s,l,u){var c=!1,f=!1;if(_.transformMat2d(e,e,r),_.distance(e,t)<=s){g.default.negate(e,e),n[4]=n[0]*e[0]+n[2]*e[1],n[5]=n[1]*e[0]+n[3]*e[1];var h=0,d=0;_.transformMat2d(e,t,n),(Math.abs(e[0])<=a&&Math.abs(e[1])<=a||Boolean(l)&&Boolean(u)&&(f=(h=l*e[0])>-a&&h<=i&&(d=u*e[1])>-a&&d<=i))&&(c=!0)}return{hit:c,rotate:f}}Object.defineProperty(e,"__esModule",{value:!0});var c=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{scalable:!0,rotatable:!0};o(this,e);var n=i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n._interactiveBoxSize=8,n._interactiveBoxPadding=10,t&&"undefined"!=typeof t.vertexSize&&(n._interactiveBoxSize=t.vertexSize),n._scalable=!0,n._rotatable=!0,r&&("undefined"!=typeof r.scalable&&(n._scalable=Boolean(r.scalable)),"undefined"!=typeof r.rotatable&&(n._rotatable=Boolean(r.rotatable))),n}return s(e,t),c(e,[{key:"containsPoint",value:function(t,e,r,n){var a={hit:!1,rotate:!1,controlIndex:-1},o=this.aabox;if((this._rotatable||this._scalable)&&this.visible&&d.containsPt(o,t)){var i=[0,0],s=[0,0];m.default.svd(null,i,s,this._fullXform);var l=m.default.create();i[0]=i[0]<0?-1:1,i[1]=i[1]<0?-1:1,i[0]*i[1]>0&&g.default.negate(s,s),m.default.rotate(l,l,s[1]),m.default.scale(l,l,i),m.default.rotate(l,l,s[0]);for(var c=this._rotatable?this._interactiveBoxPadding:0,f=this._interactiveBoxSize/2,h=this.width/2,p=this.height/2,v=[0,0],y=f+c,b=Math.sqrt(2*y*y),M=0,x=0,S=0;S<4;S+=1)if(M=S<2?-1:1,x=S%2===0?-1:1,_.set(v,M*h,x*p),a=u(t,v,this._fullXform,l,f,this._interactiveBoxSize,y,b,M,x,i),a.hit){a.controlIndex=S;break}if(!a.hit&&this._scalable)for(var D=0;D<4;D+=1)if(M=D%2===0?D<2?-1:1:0,x=D%2===0?0:D<2?-1:1,_.set(v,M*h,x*p),a=u(t,v,this._fullXform,l,f,this._interactiveBoxSize,y,b,M,x,i),a.hit){a.controlIndex=D+4;break}a.rotate&&!this._rotatable?a.rotate=!1:a.rotate||this._scalable||(a.rotate=!0)}return a}},{key:"_updatelocalxform",value:function(t){if(this._lxformDirty||t){var e=_.clone(this._pos);_.addVec2(e,e,this._parent.pivotRef),(0,v.buildXformMatrix)(this._localXform,this._rotDeg,this._scale,e,this._pivot),this._localXformUpdated&&this._localXformUpdated(),this._lxformDirty=!1}}},{key:"_updateglobalxform",value:function(){(this._lxformDirty||this._xformDirty)&&(this._updatelocalxform(!0),this._parent?m.default.multiply(this._globalXform,this._parent.globalXform,this._localXform):m.default.copy(this._globalXform,this._localXform),this._globalXformUpdated&&this._globalXformUpdated(),this._xformDirty=!1)}},{key:"_updateAABox",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(t||this._geomDirty||this._boundsOutOfDate){var e=this._rotatable?this._interactiveBoxPadding:0,r=e+this._interactiveBoxSize/2;d.initCenterExtents(this._aabox,[0,0],[this.width/2,this.height/2]),d.transformMat2d(this._aabox,this._aabox,this._fullXform),d.expand(this._aabox,this._aabox,[r,r]),this._aaboxUpdated=!0,this._geomDirty=this._boundsOutOfDate=!1}}},{key:"renderBounds",value:function(t,e,r){var n=this.aabox;t.save(),t.setTransform(1,0,0,1,0,0),r.setStrokeCtx(t);var a=[0,0],o=[0,0];d.getCenter(a,n),d.getExtents(o,n),t.beginPath(),t.rect(a[0]-o[0],a[1]-o[1],2*o[0],2*o[1]),t.stroke(),t.restore()}},{key:"render",value:function(t,r,n){if(this.parent&&"undefined"!=typeof this.parent.width&&"undefined"!==this.parent.height){this._aaboxUpdated=!1,f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"render",this).call(this,t,r,n,!1),this._aaboxUpdated||this._updateAABox(!0);var a=[0,0],o=[0,0];m.default.svd(null,a,o,this._fullXform),a[0]=a[0]<0?-1:1,a[1]=a[1]<0?-1:1;var i=this._interactiveBoxSize/2,s=this.width/2,u=this.height/2,c=[s,u];t.save(),t.beginPath(),l(t,c,this._fullXform,this._interactiveBoxSize,i,o,a,"3"),_.set(c,s,-u),l(t,c,this._fullXform,this._interactiveBoxSize,i,o,a,"2"),_.set(c,-s,-u),l(t,c,this._fullXform,this._interactiveBoxSize,i,o,a,"0"),_.set(c,-s,u),l(t,c,this._fullXform,this._interactiveBoxSize,i,o,a,"1"),this._scalable&&(_.set(c,0,u),l(t,c,this._fullXform,this._interactiveBoxSize,i,o,a),_.set(c,0,-u),l(t,c,this._fullXform,this._interactiveBoxSize,i,o,a),_.set(c,s,0),l(t,c,this._fullXform,this._interactiveBoxSize,i,o,a),_.set(c,-s,0),l(t,c,this._fullXform,this._interactiveBoxSize,i,o,a)),this.isFillVisible()&&(n.setFillStyle(t,this),t.fill()),this.isStrokeVisible()&&(n.setStrokeStyle(t,this),t.setTransform(1,0,0,1,0,0),t.stroke()),t.restore()}}},{key:"width",get:function(){return this.parent&&"undefined"!==this.parent.width?this.parent.width:0}},{key:"height",get:function(){return this.parent&&"undefined"!==this.parent.height?this.parent.height:0}}]),e}(M.default);e.default=S},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var r=0;r=3){t.moveTo(this._verts[0][0],this._verts[0][1]);for(var r=1;r2&&void 0!==arguments[2]&&arguments[2];o(this,e);var a=i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,["changed","changed:xform"]));return a._viewport=c.clone(t),a._projectionDimensions=m.vec2.clone(r),a._yflip=n,a._screenMatrix=y.default.create(),a._screenDirty=!0,a}return s(e,t),l(e,[{key:"isYFlipped",value:function(){return this._yflip}},{key:"viewport",set:function(t){if(!c.equals(t,this._viewport)){var e=c.clone(this._viewport);c.copy(this._viewport,t),this._screenDirty=!0,this._worldToScreenOutdated=!0,this.fire("changed",{attr:"viewport",prevVal:e,currVal:t})}return this},get:function(){return c.clone(this._viewport)}},{key:"viewportRef",get:function(){return this._viewport}},{key:"screenMatrix",get:function(){if(this._screenDirty){var t=[0,0],e=[0,0];c.getCenter(t,this._viewport),c.getExtents(e,this._viewport),y.default.set(this._screenMatrix,e[0],0,0,e[1],t[0],t[1]),this._worldToScreenOutdated=!0,this._screenDirty=!1}return this._screenMatrix}}]),e}(_.default),M=function(t){function e(t,r,n){o(this,e);var a=i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,r,n));return a._viewMatrix=y.default.create(),a._viewDirty=!0,a._projMatrix=y.default.create(),a._projDirty=!0,a}return s(e,t),l(e,[{key:"_localXformUpdated",value:function(){this._boundsOutOfDate=!0}},{key:"_globalXformUpdated",value:function(){this._boundsOutOfDate=!0}},{key:"_matricesDirty",value:function(){return this._boundsOutOfDate||this._lxformDirty||this._xformDirty||this._viewDirty||this._projDirty||this._screenDirty}},{key:"projectionDimensions",set:function(t){if(!m.vec2.equals(t,this._projectionDimensions)){var e=m.vec2.clone(this._projectionDimensions);c.copy(this._projectionDimensions,t),this._viewDirty=!0,this._projDirty=!0,this.fire("changed",{attr:"projectionDimensions",prevVal:e,currVal:t})}return this},get:function(){return m.vec2.clone(this._projectionDimensions)}},{key:"projectionDimensionsRef",get:function(){return this._projectionDimensions}},{key:"viewMatrix",get:function(){if(this._viewDirty||this._boundsOutOfDate||this._xformDirty||this._lxformDirty){var t=[0,0],e=[0,0],r=[0,0],n=this.globalXform;y.default.svd(t,e,r,n),y.default.fromTranslation(this._viewMatrix,m.vec2.negate(t,t)),y.default.rotate(this._viewMatrix,this._viewMatrix,-r[0]),y.default.scale(this._viewMatrix,this._viewMatrix,e),y.default.rotate(this._viewMatrix,this._viewMatrix,-r[1]),this._worldToScreenOutdated=!0,this._viewDirty=!1}return this._viewMatrix}},{key:"projMatrix",get:function(){if(this._projDirty){var t=this._yflip?-1:1;y.default.set(this._projMatrix,2/this._projectionDimensions[0],0,0,2*t/this._projectionDimensions[1],0,0),this._worldToScreenOutdated=!0,this._projDirty=!1}return this._projMatrix}},{key:"worldToScreenMatrix",get:function(){return(!this._worldToScreenMatrix||this._worldToScreenOutdated||this._matricesDirty())&&(this._worldToScreenMatrix||(this._worldToScreenMatrix=y.default.create()),y.default.copy(this._worldToScreenMatrix,this.viewMatrix),y.default.multiply(this._worldToScreenMatrix,this.projMatrix,this._worldToScreenMatrix),y.default.multiply(this._worldToScreenMatrix,this.screenMatrix,this._worldToScreenMatrix),this._worldToScreenOutdated=!1,this._screenToWorldOutdated=!0),this._worldToScreenMatrix}},{key:"screenToWorldMatrix",get:function(){return(!this._screenToWorld||this._screenToWorldOutdated||this._matricesDirty())&&(this._screenToWorld||(this._screenToWorld=y.default.create()),y.default.copy(this._screenToWorld,this.worldToScreenMatrix),y.default.invert(this._screenToWorld,this._screenToWorld),this._screenToWorldOutdated=!1),this._screenToWorld}}]),e}((0,h.default)(b,(0,d.createEventedTransform2dMixin)("changed:xform")));e.default=M},function(t,e,r){var n,a;!function(o,i){n=i,a="function"==typeof n?n.call(e,r,e,t):n,!(void 0!==a&&(t.exports=a))}(this,function(){function t(t,e){var r=Object.prototype.toString.call(t),n="[object Array]"===r||"[object NodeList]"===r||"[object HTMLCollection]"===r||"[object Object]"===r||"undefined"!=typeof jQuery&&t instanceof jQuery||"undefined"!=typeof Elements&&t instanceof Elements,a=0,o=t.length;if(n)for(;a
',t.appendChild(t.resizeSensor),"static"==i(t,"position")&&(t.style.position="relative");var s,l,u,c,f=t.resizeSensor.childNodes[0],h=f.childNodes[0],d=t.resizeSensor.childNodes[1],p=t.offsetWidth,_=t.offsetHeight,v=function(){h.style.width="100000px",h.style.height="100000px",f.scrollLeft=1e5,f.scrollTop=1e5,d.scrollLeft=1e5,d.scrollTop=1e5};v();var y=function(){l=0,s&&(p=u,_=c,t.resizedAttached&&t.resizedAttached.call())},m=function(){u=t.offsetWidth,c=t.offsetHeight,s=u!=p||c!=_,s&&!l&&(l=e(y)),v()},b=function(t,e,r){t.attachEvent?t.attachEvent("on"+e,r):t.addEventListener(e,r)};b(f,"scroll",m),b(d,"scroll",m)}t(n,function(t){s(t,a)}),this.detach=function(t){r.detach(n,t)}};return r.detach=function(e,r){t(e,function(t){t.resizedAttached&&"function"==typeof r&&(t.resizedAttached.remove(r),t.resizedAttached.length())||t.resizeSensor&&(t.contains(t.resizeSensor)&&t.removeChild(t.resizeSensor),delete t.resizeSensor,delete t.resizedAttached)})},r})},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},a.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},a.fromValues=function(t,e,r,a){var o=new n.ARRAY_TYPE(4);return o[0]=t,o[1]=e,o[2]=r,o[3]=a,o},a.set=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t},a.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},a.invert=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=r*o-a*n;return i?(i=1/i,t[0]=o*i,t[1]=-n*i,t[2]=-a*i,t[3]=r*i,t):null},a.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},a.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},a.multiply=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*s+o*l,t[1]=a*s+i*l,t[2]=n*u+o*c,t[3]=a*u+i*c,t},a.mul=a.multiply,a.rotate=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+o*s,t[1]=a*l+i*s,t[2]=n*-s+o*l,t[3]=a*-s+i*l,t},a.scale=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=a*s,t[2]=o*l,t[3]=i*l,t},a.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},a.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},a.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},a.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)); +},a.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t},a.sub=a.subtract,a.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},a.equals=function(t,e){var r=t[0],a=t[1],o=t[2],i=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(a-l)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))&&Math.abs(o-u)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))&&Math.abs(i-c)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(c))},a.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},a.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t},t.exports=a},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},a.clone=function(t){var e=new n.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},a.fromValues=function(t,e,r,a,o,i){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=a,s[4]=o,s[5]=i,s},a.set=function(t,e,r,n,a,o,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=o,t[5]=i,t},a.invert=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=e[4],s=e[5],l=r*o-n*a;return l?(l=1/l,t[0]=o*l,t[1]=-n*l,t[2]=-a*l,t[3]=r*l,t[4]=(a*s-o*i)*l,t[5]=(n*i-r*s)*l,t):null},a.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},a.multiply=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=e[4],l=e[5],u=r[0],c=r[1],f=r[2],h=r[3],d=r[4],p=r[5];return t[0]=n*u+o*c,t[1]=a*u+i*c,t[2]=n*f+o*h,t[3]=a*f+i*h,t[4]=n*d+o*p+s,t[5]=a*d+i*p+l,t},a.mul=a.multiply,a.rotate=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=e[4],l=e[5],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+o*u,t[1]=a*c+i*u,t[2]=n*-u+o*c,t[3]=a*-u+i*c,t[4]=s,t[5]=l,t},a.scale=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n*u,t[1]=a*u,t[2]=o*c,t[3]=i*c,t[4]=s,t[5]=l,t},a.translate=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n,t[1]=a,t[2]=o,t[3]=i,t[4]=n*u+o*c+s,t[5]=a*u+i*c+l,t},a.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},a.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},a.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},a.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},a.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t},a.sub=a.subtract,a.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t},a.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},a.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},a.equals=function(t,e){var r=t[0],a=t[1],o=t[2],i=t[3],s=t[4],l=t[5],u=e[0],c=e[1],f=e[2],h=e[3],d=e[4],p=e[5];return Math.abs(r-u)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(a-c)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&&Math.abs(o-f)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(f))&&Math.abs(i-h)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(s-d)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(l-p)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},t.exports=a},function(t,e,r){var n=r(4),a={scalar:{},SIMD:{}};a.create=function(){var t=new n.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},a.clone=function(t){var e=new n.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},a.fromValues=function(t,e,r,a,o,i,s,l,u,c,f,h,d,p,_,v){var y=new n.ARRAY_TYPE(16);return y[0]=t,y[1]=e,y[2]=r,y[3]=a,y[4]=o,y[5]=i,y[6]=s,y[7]=l,y[8]=u,y[9]=c,y[10]=f,y[11]=h,y[12]=d,y[13]=p,y[14]=_,y[15]=v,y},a.set=function(t,e,r,n,a,o,i,s,l,u,c,f,h,d,p,_,v){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=o,t[5]=i,t[6]=s,t[7]=l,t[8]=u,t[9]=c,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=_,t[15]=v,t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},a.scalar.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],a=e[3],o=e[6],i=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=o,t[11]=e[14],t[12]=a,t[13]=i,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},a.SIMD.transpose=function(t,e){var r,n,a,o,i,s,l,u,c,f;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),i=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(a,o,0,1,4,5),l=SIMD.Float32x4.shuffle(i,s,0,2,4,6),u=SIMD.Float32x4.shuffle(i,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,u),i=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(a,o,2,3,6,7),c=SIMD.Float32x4.shuffle(i,s,0,2,4,6),f=SIMD.Float32x4.shuffle(i,s,1,3,5,7),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,f),t},a.transpose=n.USE_SIMD?a.SIMD.transpose:a.scalar.transpose,a.scalar.invert=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],_=e[13],v=e[14],y=e[15],m=r*s-n*i,b=r*l-a*i,M=r*u-o*i,x=n*l-a*s,g=n*u-o*s,S=a*u-o*l,D=c*_-f*p,I=c*v-h*p,w=c*y-d*p,F=f*v-h*_,O=f*y-d*_,k=h*y-d*v,E=m*k-b*O+M*F+x*w-g*I+S*D;return E?(E=1/E,t[0]=(s*k-l*O+u*F)*E,t[1]=(a*O-n*k-o*F)*E,t[2]=(_*S-v*g+y*x)*E,t[3]=(h*g-f*S-d*x)*E,t[4]=(l*w-i*k-u*I)*E,t[5]=(r*k-a*w+o*I)*E,t[6]=(v*M-p*S-y*b)*E,t[7]=(c*S-h*M+d*b)*E,t[8]=(i*O-s*w+u*D)*E,t[9]=(n*w-r*O-o*D)*E,t[10]=(p*g-_*M+y*m)*E,t[11]=(f*M-c*g-d*m)*E,t[12]=(s*I-i*F-l*D)*E,t[13]=(r*F-n*I+a*D)*E,t[14]=(_*b-p*x-v*m)*E,t[15]=(c*x-f*b+h*m)*E,t):null},a.SIMD.invert=function(t,e){var r,n,a,o,i,s,l,u,c,f,h=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),_=SIMD.Float32x4.load(e,12);return i=SIMD.Float32x4.shuffle(h,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,_,0,1,4,5),r=SIMD.Float32x4.shuffle(i,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,i,1,3,5,7),i=SIMD.Float32x4.shuffle(h,d,2,3,6,7),o=SIMD.Float32x4.shuffle(p,_,2,3,6,7),a=SIMD.Float32x4.shuffle(i,o,0,2,4,6),o=SIMD.Float32x4.shuffle(o,i,1,3,5,7),i=SIMD.Float32x4.mul(a,o),i=SIMD.Float32x4.swizzle(i,1,0,3,2),s=SIMD.Float32x4.mul(n,i),l=SIMD.Float32x4.mul(r,i),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,i),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,i),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),i=SIMD.Float32x4.mul(n,a),i=SIMD.Float32x4.swizzle(i,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(o,i),s),c=SIMD.Float32x4.mul(r,i),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(o,i)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,i),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),i=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),o),i=SIMD.Float32x4.swizzle(i,1,0,3,2),a=SIMD.Float32x4.swizzle(a,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),s),u=SIMD.Float32x4.mul(r,i),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,i)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,i),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),i=SIMD.Float32x4.mul(r,n),i=SIMD.Float32x4.swizzle(i,1,0,3,2),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(o,i),u),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,i),c),i=SIMD.Float32x4.swizzle(i,2,3,0,1),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),u),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(a,i)),i=SIMD.Float32x4.mul(r,o),i=SIMD.Float32x4.swizzle(i,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,i)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,i),u),i=SIMD.Float32x4.swizzle(i,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,i)),i=SIMD.Float32x4.mul(r,a),i=SIMD.Float32x4.swizzle(i,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(o,i),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,i)),i=SIMD.Float32x4.swizzle(i,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(o,i)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,i),c),f=SIMD.Float32x4.mul(r,s),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,2,3,0,1),f),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,1,0,3,2),f),i=SIMD.Float32x4.reciprocalApproximation(f),f=SIMD.Float32x4.sub(SIMD.Float32x4.add(i,i),SIMD.Float32x4.mul(f,SIMD.Float32x4.mul(i,i))),(f=SIMD.Float32x4.swizzle(f,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(f,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(f,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(f,u)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(f,c)),t):null},a.invert=n.USE_SIMD?a.SIMD.invert:a.scalar.invert,a.scalar.adjoint=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],_=e[13],v=e[14],y=e[15];return t[0]=s*(h*y-d*v)-f*(l*y-u*v)+_*(l*d-u*h),t[1]=-(n*(h*y-d*v)-f*(a*y-o*v)+_*(a*d-o*h)),t[2]=n*(l*y-u*v)-s*(a*y-o*v)+_*(a*u-o*l),t[3]=-(n*(l*d-u*h)-s*(a*d-o*h)+f*(a*u-o*l)),t[4]=-(i*(h*y-d*v)-c*(l*y-u*v)+p*(l*d-u*h)),t[5]=r*(h*y-d*v)-c*(a*y-o*v)+p*(a*d-o*h),t[6]=-(r*(l*y-u*v)-i*(a*y-o*v)+p*(a*u-o*l)),t[7]=r*(l*d-u*h)-i*(a*d-o*h)+c*(a*u-o*l),t[8]=i*(f*y-d*_)-c*(s*y-u*_)+p*(s*d-u*f),t[9]=-(r*(f*y-d*_)-c*(n*y-o*_)+p*(n*d-o*f)),t[10]=r*(s*y-u*_)-i*(n*y-o*_)+p*(n*u-o*s),t[11]=-(r*(s*d-u*f)-i*(n*d-o*f)+c*(n*u-o*s)),t[12]=-(i*(f*v-h*_)-c*(s*v-l*_)+p*(s*h-l*f)),t[13]=r*(f*v-h*_)-c*(n*v-a*_)+p*(n*h-a*f),t[14]=-(r*(s*v-l*_)-i*(n*v-a*_)+p*(n*l-a*s)),t[15]=r*(s*h-l*f)-i*(n*h-a*f)+c*(n*l-a*s),t},a.SIMD.adjoint=function(t,e){var r,n,a,o,i,s,l,u,c,f,h,d,p,r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12);return c=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(a,o,0,1,4,5),i=SIMD.Float32x4.shuffle(c,s,0,2,4,6),s=SIMD.Float32x4.shuffle(s,c,1,3,5,7),c=SIMD.Float32x4.shuffle(r,n,2,3,6,7),u=SIMD.Float32x4.shuffle(a,o,2,3,6,7),l=SIMD.Float32x4.shuffle(c,u,0,2,4,6),u=SIMD.Float32x4.shuffle(u,c,1,3,5,7),c=SIMD.Float32x4.mul(l,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.mul(s,c),h=SIMD.Float32x4.mul(i,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),f),h=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,c),h),h=SIMD.Float32x4.swizzle(h,2,3,0,1),c=SIMD.Float32x4.mul(s,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),f),p=SIMD.Float32x4.mul(i,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,c),p),p=SIMD.Float32x4.swizzle(p,2,3,0,1),c=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,3,0,1),u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),l=SIMD.Float32x4.swizzle(l,2,3,0,1),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),f),d=SIMD.Float32x4.mul(i,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,c),d),d=SIMD.Float32x4.swizzle(d,2,3,0,1),c=SIMD.Float32x4.mul(i,s),c=SIMD.Float32x4.swizzle(c,1,0,3,2),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(l,c),p),c=SIMD.Float32x4.swizzle(c,2,3,0,1),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(l,c)),c=SIMD.Float32x4.mul(i,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),d),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),h),d=SIMD.Float32x4.sub(d,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.mul(i,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),h),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),p),SIMD.Float32x4.store(t,0,f),SIMD.Float32x4.store(t,4,h),SIMD.Float32x4.store(t,8,d),SIMD.Float32x4.store(t,12,p),t},a.adjoint=n.USE_SIMD?a.SIMD.adjoint:a.scalar.adjoint,a.determinant=function(t){var e=t[0],r=t[1],n=t[2],a=t[3],o=t[4],i=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],d=t[12],p=t[13],_=t[14],v=t[15],y=e*i-r*o,m=e*s-n*o,b=e*l-a*o,M=r*s-n*i,x=r*l-a*i,g=n*l-a*s,S=u*p-c*d,D=u*_-f*d,I=u*v-h*d,w=c*_-f*p,F=c*v-h*p,O=f*v-h*_;return y*O-m*F+b*w+M*I-x*D+g*S},a.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),a),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),o),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),i))));SIMD.Float32x4.store(t,0,l);var u=SIMD.Float32x4.load(r,4),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,1,1,1,1),a),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,2,2,2,2),o),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,3,3,3,3),i))));SIMD.Float32x4.store(t,4,c);var f=SIMD.Float32x4.load(r,8),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,1,1,1,1),a),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,2,2,2,2),o),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,3,3,3,3),i))));SIMD.Float32x4.store(t,8,h);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),a),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),o),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),i))));return SIMD.Float32x4.store(t,12,p),t},a.scalar.multiply=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],d=e[10],p=e[11],_=e[12],v=e[13],y=e[14],m=e[15],b=r[0],M=r[1],x=r[2],g=r[3];return t[0]=b*n+M*s+x*f+g*_,t[1]=b*a+M*l+x*h+g*v,t[2]=b*o+M*u+x*d+g*y,t[3]=b*i+M*c+x*p+g*m,b=r[4],M=r[5],x=r[6],g=r[7],t[4]=b*n+M*s+x*f+g*_,t[5]=b*a+M*l+x*h+g*v,t[6]=b*o+M*u+x*d+g*y,t[7]=b*i+M*c+x*p+g*m,b=r[8],M=r[9],x=r[10],g=r[11],t[8]=b*n+M*s+x*f+g*_,t[9]=b*a+M*l+x*h+g*v,t[10]=b*o+M*u+x*d+g*y,t[11]=b*i+M*c+x*p+g*m,b=r[12],M=r[13],x=r[14],g=r[15],t[12]=b*n+M*s+x*f+g*_,t[13]=b*a+M*l+x*h+g*v,t[14]=b*o+M*u+x*d+g*y,t[15]=b*i+M*c+x*p+g*m,t},a.multiply=n.USE_SIMD?a.SIMD.multiply:a.scalar.multiply,a.mul=a.multiply,a.scalar.translate=function(t,e,r){var n,a,o,i,s,l,u,c,f,h,d,p,_=r[0],v=r[1],y=r[2];return e===t?(t[12]=e[0]*_+e[4]*v+e[8]*y+e[12],t[13]=e[1]*_+e[5]*v+e[9]*y+e[13],t[14]=e[2]*_+e[6]*v+e[10]*y+e[14],t[15]=e[3]*_+e[7]*v+e[11]*y+e[15]):(n=e[0],a=e[1],o=e[2],i=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],d=e[10],p=e[11],t[0]=n,t[1]=a,t[2]=o,t[3]=i,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=d,t[11]=p,t[12]=n*_+s*v+f*y+e[12],t[13]=a*_+l*v+h*y+e[13],t[14]=o*_+u*v+d*y+e[14],t[15]=i*_+c*v+p*y+e[15]),t},a.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,1,1,1,1)),o=SIMD.Float32x4.mul(o,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(a,SIMD.Float32x4.add(o,i)));return SIMD.Float32x4.store(t,12,l),t},a.translate=n.USE_SIMD?a.SIMD.translate:a.scalar.translate,a.scalar.scale=function(t,e,r){var n=r[0],a=r[1],o=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},a.SIMD.scale=function(t,e,r){var n,a,o,i=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(i,0,0,0,0))),a=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(i,1,1,1,1))),o=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(o,SIMD.Float32x4.swizzle(i,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},a.scale=n.USE_SIMD?a.SIMD.scale:a.scalar.scale,a.rotate=function(t,e,r,a){var o,i,s,l,u,c,f,h,d,p,_,v,y,m,b,M,x,g,S,D,I,w,F,O,k=a[0],E=a[1],P=a[2],C=Math.sqrt(k*k+E*E+P*P);return Math.abs(C)0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]>e[5]&e[0]>e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]>e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},a.fromRotationTranslationScale=function(t,e,r,n){var a=e[0],o=e[1],i=e[2],s=e[3],l=a+a,u=o+o,c=i+i,f=a*l,h=a*u,d=a*c,p=o*u,_=o*c,v=i*c,y=s*l,m=s*u,b=s*c,M=n[0],x=n[1],g=n[2];return t[0]=(1-(p+v))*M,t[1]=(h+b)*M,t[2]=(d-m)*M,t[3]=0,t[4]=(h-b)*x,t[5]=(1-(f+v))*x,t[6]=(_+y)*x,t[7]=0,t[8]=(d+m)*g,t[9]=(_-y)*g,t[10]=(1-(f+p))*g,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},a.fromRotationTranslationScaleOrigin=function(t,e,r,n,a){var o=e[0],i=e[1],s=e[2],l=e[3],u=o+o,c=i+i,f=s+s,h=o*u,d=o*c,p=o*f,_=i*c,v=i*f,y=s*f,m=l*u,b=l*c,M=l*f,x=n[0],g=n[1],S=n[2],D=a[0],I=a[1],w=a[2];return t[0]=(1-(_+y))*x,t[1]=(d+M)*x,t[2]=(p-b)*x,t[3]=0,t[4]=(d-M)*g,t[5]=(1-(h+y))*g,t[6]=(v+m)*g,t[7]=0,t[8]=(p+b)*S,t[9]=(v-m)*S,t[10]=(1-(h+_))*S,t[11]=0,t[12]=r[0]+D-(t[0]*D+t[4]*I+t[8]*w),t[13]=r[1]+I-(t[1]*D+t[5]*I+t[9]*w),t[14]=r[2]+w-(t[2]*D+t[6]*I+t[10]*w),t[15]=1,t},a.fromQuat=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=r+r,s=n+n,l=a+a,u=r*i,c=n*i,f=n*s,h=a*i,d=a*s,p=a*l,_=o*i,v=o*s,y=o*l;return t[0]=1-f-p,t[1]=c+y,t[2]=h-v,t[3]=0,t[4]=c-y,t[5]=1-u-p,t[6]=d+_,t[7]=0,t[8]=h+v,t[9]=d-_,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},a.frustum=function(t,e,r,n,a,o,i){var s=1/(r-e),l=1/(a-n),u=1/(o-i);return t[0]=2*o*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*o*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(a+n)*l,t[10]=(i+o)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=i*o*2*u,t[15]=0,t},a.perspective=function(t,e,r,n,a){var o=1/Math.tan(e/2),i=1/(n-a);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(a+n)*i,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*a*n*i,t[15]=0,t},a.perspectiveFromFieldOfView=function(t,e,r,n){var a=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),i=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(i+s),u=2/(a+o);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-((i-s)*l*.5),t[9]=(a-o)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t},a.ortho=function(t,e,r,n,a,o,i){var s=1/(e-r),l=1/(n-a),u=1/(o-i);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(i+o)*u,t[15]=1,t},a.lookAt=function(t,e,r,o){var i,s,l,u,c,f,h,d,p,_,v=e[0],y=e[1],m=e[2],b=o[0],M=o[1],x=o[2],g=r[0],S=r[1],D=r[2];return Math.abs(v-g).999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(o.cross(t,a,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=a.create();return function(e,r,n,a){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=a[0],t[4]=a[1],t[7]=a[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=i.clone,s.fromValues=i.fromValues,s.copy=i.copy,s.set=i.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=i.add,s.multiply=function(t,e,r){var n=e[0],a=e[1],o=e[2],i=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*c+i*s+a*u-o*l,t[1]=a*c+i*l+o*s-n*u,t[2]=o*c+i*u+n*l-a*s,t[3]=i*c-n*s-a*l-o*u,t},s.mul=s.multiply,s.scale=i.scale,s.rotateX=function(t,e,r){r*=.5;var n=e[0],a=e[1],o=e[2],i=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=a*l+o*s,t[2]=o*l-a*s,t[3]=i*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;var n=e[0],a=e[1],o=e[2],i=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l-o*s,t[1]=a*l+i*s,t[2]=o*l+n*s,t[3]=i*l-a*s,t},s.rotateZ=function(t,e,r){r*=.5;var n=e[0],a=e[1],o=e[2],i=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=a*l-n*s,t[2]=o*l+i*s,t[3]=i*l-o*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],a=e[2];return t[0]=r,t[1]=n,t[2]=a,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),t},s.dot=i.dot,s.lerp=i.lerp,s.slerp=function(t,e,r,n){var a,o,i,s,l,u=e[0],c=e[1],f=e[2],h=e[3],d=r[0],p=r[1],_=r[2],v=r[3];return o=u*d+c*p+f*_+h*v,o<0&&(o=-o,d=-d,p=-p,_=-_,v=-v),1-o>1e-6?(a=Math.acos(o),i=Math.sin(a),s=Math.sin((1-n)*a)/i,l=Math.sin(n*a)/i):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*f+l*_,t[3]=s*h+l*v,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,a,o,i,l){return s.slerp(t,n,i,l),s.slerp(e,a,o,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=function(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],i=r*r+n*n+a*a+o*o,s=i?1/i:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-a*s,t[3]=o*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=i.length,s.len=s.length,s.squaredLength=i.squaredLength,s.sqrLen=s.squaredLength,s.normalize=i.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var a=0; +e[4]>e[0]&&(a=1),e[8]>e[3*a+a]&&(a=2);var o=(a+1)%3,i=(a+2)%3;r=Math.sqrt(e[3*a+a]-e[3*o+o]-e[3*i+i]+1),t[a]=.5*r,r=.5/r,t[3]=(e[3*o+i]-e[3*i+o])*r,t[o]=(e[3*o+a]+e[3*a+o])*r,t[i]=(e[3*i+a]+e[3*a+i])*r}return t},s.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},s.exactEquals=i.exactEquals,s.equals=i.equals,t.exports=s},function(t,e,r){var n=r(4),a={};a.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},a.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},a.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},a.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},a.set=function(t,e,r){return t[0]=e,t[1]=r,t},a.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},a.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},a.sub=a.subtract,a.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},a.mul=a.multiply,a.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},a.div=a.divide,a.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},a.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},a.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},a.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},a.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},a.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},a.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},a.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},a.dist=a.distance,a.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},a.sqrDist=a.squaredDistance,a.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},a.len=a.length,a.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},a.sqrLen=a.squaredLength,a.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},a.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},a.normalize=function(t,e){var r=e[0],n=e[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a),t},a.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},a.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},a.lerp=function(t,e,r,n){var a=e[0],o=e[1];return t[0]=a+n*(r[0]-a),t[1]=o+n*(r[1]-o),t},a.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},a.transformMat2=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a,t[1]=r[1]*n+r[3]*a,t},a.transformMat2d=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a+r[4],t[1]=r[1]*n+r[3]*a+r[5],t},a.transformMat3=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[3]*a+r[6],t[1]=r[1]*n+r[4]*a+r[7],t},a.transformMat4=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t},a.forEach=function(){var t=a.create();return function(e,r,n,a,o,i){var s,l;for(r||(r=2),n||(n=0),l=a?Math.min(a*r+n,e.length):e.length,s=n;s=4.0.0"},repository:{type:"git",url:"git+https://github.com/map-d/mapd-draw.js.git"},dependencies:{"gl-matrix":"^2.3.2","css-element-queries":"^0.4.0"},devDependencies:{"babel-core":"^6.10.4","babel-loader":"^6.2.4","babel-plugin-lodash":"^3.1.2","babel-preset-es2015":"^6.9.0","babel-preset-stage-0":"^6.5.0",eslint:"^3.0.1","http-server":"^0.9.0","json-loader":"0.5.4",webpack:"^1.13.1"},scripts:{build:"npm run build:prod; npm run build:dev","build:prod":"npm run webpack","build:dev":"npm run webpack:dev",clean:"bash scripts/clean.sh",eslint:"eslint -c ./.eslintrc.json",lint:"eslint $(find src -name \"*.js\" ! -name '*.spec.js')",start:"npm run build; http-server -p 8080 -o;","watch:dev":"node node_modules/webpack/bin/webpack.js --progress --colors --watch --config webpack.dev.config.js",webpack:"node node_modules/webpack/bin/webpack.js","webpack:dev":"node node_modules/webpack/bin/webpack.js --config webpack.dev.config.js",test:"node_modules/.bin/mocha ./test --require ./test/config --require ./test/setup"},"pre-commit":["lint"]}}])}); //# sourceMappingURL=mapd-draw.js.map \ No newline at end of file diff --git a/dist/mapd-draw.js.map b/dist/mapd-draw.js.map index c4889e2..3caa714 100644 --- a/dist/mapd-draw.js.map +++ b/dist/mapd-draw.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///mapd-draw.js","webpack:///webpack/bootstrap 69cdfefb913336a2f3ab","webpack:///./mapd-draw.js","webpack:///../~/gl-matrix/src/gl-matrix.js","webpack:///./core/aabox2d.js","webpack:///./core/point2d.js","webpack:///../~/gl-matrix/src/gl-matrix/common.js","webpack:///./math/math.js","webpack:///./shapes/base-shape.js","webpack:///./core/mat2d.js","webpack:///./util/aggregation.js","webpack:///./style/basic-style.js","webpack:///./style/stroke-style.js","webpack:///./core/vec2d.js","webpack:///./math/convex-hull.js","webpack:///./shapes/poly-line.js","webpack:///./shapes/transform2d.js","webpack:///./util/event-handler.js","webpack:///./engine/draw-engine.js","webpack:///./shapes/rect.js","webpack:///./style/color-rgba.js","webpack:///./style/fill-style.js","webpack:///../~/gl-matrix/src/gl-matrix/mat3.js","webpack:///../~/gl-matrix/src/gl-matrix/vec3.js","webpack:///../~/gl-matrix/src/gl-matrix/vec4.js","webpack:///./engine/shape-builder.js","webpack:///./interactions/interact-utils.js","webpack:///./interactions/vert-editable-shape.js","webpack:///./interactions/xform-shape.js","webpack:///./shapes/circle.js","webpack:///./shapes/point.js","webpack:///./shapes/poly.js","webpack:///./util/canvas-utils.js","webpack:///./util/utils.js","webpack:///./view/camera2d.js","webpack:///../~/css-element-queries/src/ResizeSensor.js","webpack:///../~/gl-matrix/src/gl-matrix/mat2.js","webpack:///../~/gl-matrix/src/gl-matrix/mat2d.js","webpack:///../~/gl-matrix/src/gl-matrix/mat4.js","webpack:///../~/gl-matrix/src/gl-matrix/quat.js","webpack:///../~/gl-matrix/src/gl-matrix/vec2.js","webpack:///../package.json"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireWildcard","obj","__esModule","newObj","key","Object","prototype","hasOwnProperty","default","_interopRequireDefault","defineProperty","value","simpleHull_2D","Math","Point","PolyLine","Poly","Rect","Circle","Vec2d","BasicStyle","Mat2","Point2d","Mat2d","AABox2d","DrawEngine","ShapeBuilder","version","undefined","_package","enumerable","get","_glMatrix","mat2","_convexHull","_shapeBuilder","_shapeBuilder2","_drawEngine","_drawEngine2","_aabox2d","_AABox2d","_mat2d","_mat2d2","_point2d","_Point2d","_basicStyle","_basicStyle2","_vec2d","_vec2d2","_circle","_circle2","_rect","_rect2","_poly","_poly2","_polyLine","_polyLine2","_point","_point2","_math","_math2","glMatrix","mat2d","mat3","mat4","quat","vec2","vec3","vec4","set","out","minx","miny","maxx","maxy","MINX","Infinity","MINY","MAXX","MAXY","create","ARRAY_TYPE","clone","box","copy","initEmpty","initInfinity","initSizeFromOrigin","sizes","initSizeFromLocation","pt","i","initCenterExtents","center","isEmpty","isInfinite","isFinite","equals","a","b","a0","a1","a2","a3","b0","b1","b2","b3","abs","EPSILON","getSize","getExtents","scale","getCenter","expand","expandSize","area","hull","min","max","intersection","boxToUse","minindex","maxindex","overlaps","contains","containsPt","encapsulatePt","translate","pos","transform","mat","xformFunc","pt1","pt2","transformMat2","transformMat2d","x","arguments","length","y","X","Y","initFromValues","addVec2","v","add","sub","str","distance","p1","p2","squaredDistance","lerp","t","exactEquals","sqrDist","dist","Float32Array","Array","RANDOM","random","ENABLE_SIMD","SIMD_AVAILABLE","USE_SIMD","setMatrixArrayType","type","degree","PI","toRadian","clamp","f","minv","maxv","clamp01","f1","f2","EPS","quarter","half","two","QUATER_PI","HALF_PI","HALF_NPI","TWO_PI","NPI","NQUATER_PI","NHALF_PI","NTWO_PI","INV_PI","RAD_TO_DEG","DEG_TO_RAD","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","constructor","writable","configurable","setPrototypeOf","__proto__","_createClass","defineProperties","target","props","descriptor","protoProps","staticProps","_fillStyle","_fillStyle2","_strokeStyle","_strokeStyle2","_transform2d","_transform2d2","_aggregation2","_aggregation3","_eventHandler","_eventHandler2","CoreBaseShape","_EventHandler","opts","_this","getPrototypeOf","_aabox","_zIndex","zIndex","_visible","_geomDirty","_fullXform","Number","isInteger","Error","prev","fire","attr","prevVal","currVal","_updateAABox","visible","BaseShape","_aggregation","_this2","_stateStack","state","copyBasicStyle","push","pop","svd","globalXform","width","height","screenPt","worldPt","worldToScreenMatrix","ctx","rtn","aabox","save","setTransform","beginPath","_draw","strokeStyle","lineWidth","strokeWidth","dashPattern","stroke","isFillVisible","isPointInPath","isStrokeVisible","isPointInStroke","restore","boundsStrokeStyle","setStrokeCtx","extents","rect","_boundsOutOfDate","styleState","doFill","doStroke","transformCtx","Boolean","setFillStyle","fill","setStrokeStyle","newStyle","assign","toJSON","shape1","shape2","zIndex1","zIndex2","compareFillStyle","compareStrokeStyle","createEventedTransform2dMixin","createEventedFillStyleMixin","createEventedStrokeStyleMixin","outTranslate","outScale","outRotate","E","F","G","H","Q","sqrt","R","atan2","aggregation","base","_len","mixins","_key","aggregate","__Aggregate","_ref","_len2","args","_key2","apply","concat","forEach","mixin","_mixin$prototype$init","initializer","_base","copyProps","source","getOwnPropertyNames","getOwnPropertySymbols","prop","match","getOwnPropertyDescriptor","srcBasicStyle","dstBasicStyle","copyFillStyle","copyStrokeStyle","basicStyleObj","BaseBasicStyle","validateStrokeWidth","validateLineJoin","lineJoin","idx","lineJoinOpts","indexOf","toLowerCase","join","validateLineCap","lineCap","lineCapOpts","validateDashPattern","isArray","validateDashOffset","dashOffset","eventName","StrokeColorClass","_colorRgba","createEventedColorRGBAClass","StrokeStyle","EventedStrokeStyle","_strokeColor","_strokeWidth","_lineJoin","JoinEnum","MITER","_lineCap","CapEnum","BUTT","_dashPattern","_dashOffset","_initStrokeStyleFromOptions","curral","enumVal","diff","slice","_colorRgba2","BEVEL","ROUND","SQUARE","strokeColor","strokeOpacity","lineMiter","opacity","isTransparent","setLineDash","lineDashOffset","packedStrokeColor","packedValue","srcStyle","dstStyle","strokeStyleA","strokeStyleB","valA","valB","strokeStyleObj","cross2d","v1","v2","angleFast","acos","dot","angle","s","anglePosX","isLeft","P0","P1","P2","verts","n","D","bot","top","h","aaboxEncapsulatePt","ptIdx","extentIndices","buildCentroid","centroidPt","ArrayBuffer","isView","_get","object","property","receiver","Function","desc","parent","getter","_baseShape","_baseShape2","identityMatrix","_BaseShape","_extentIndices","_localaabox","_verts","_centroid","signedArea","pivot","map","val","_pivot","xform","localXform","setTransformations","vertIndex","newPt","_collapseVerts","_resetAABox","splice","insertVert","_this3","_this4","_rebuildAABox","tmppt","moveTo","lineTo","vertsRef","vert","buildXformMatrix","rdeg","identity","rotate","dirtyChildren","children","child","_xformDirty","_children","Transform2d","EventedTransform2d","_pos","_lxformDirty","translation","_scale","scaleMult","multiply","deg","degToUse","_rotDeg","tx","ty","sx","sy","attrs","prevVals","currVals","position","setPosition","setScale","rotation","setRotation","_localXform","fromValues","_globalXform","_parent","Set","_initTransformFromOptions","childXform","has","removeChild","delete","_localXformUpdated","_updatelocalxform","_globalXformUpdated","currMatrix","_updateglobalxform","xformObj","getPositionRef","getScaleRef","pivotRef","getRotation","recursiveFire","currMap","subtypes","currIdx","fireData","cnt","data","listener","recursiveDelete","currNode","listeners","index","subnodes","nodelisteners","node","arrayify","intype","arrayToUse","EventHandler","eventsToRegister","_listeners","Map","registerEvents","events","eventsToUse","event","subevents","split","types","typesToUse","subtype","keys","_this5","wrapper","off","on","_eventParent","listens","_eventParentData","addClass","element","className","createCanvas","canvasContainer","document","createElement","canvas","canvasContext","getContext","ratio","CanvasUtils","makeCanvasAutoHighDPI","style","pointerEvents","appendChild","addShapesToMap","newShapes","existingObjectsMap","currIds","reorderCb","redrawCb","shape","shapeObj","shapeId","shapeIdx","deleteShapesFromMap","shapes","idxs","shapeInfo","EventConstants","_canvasUtils","_utils","_camera2d","_camera2d2","_ResizeSensor","_ResizeSensor2","mouseevents","marginProps","MOUSEDOWN","MOUSEUP","MOUSEMOVE","CLICK","DBLCLICK","MOUSEOVER","MOUSEOUT","SHAPE_ADD","SHAPE_DELETE","DrawStyleState","_BasicStyle","_defaults","packedFillColor","fillStyle","fillColor","setFillCtx","_EventHander","_init","_destroyCanvas","_objects","_reorderCb","_redrawCb","clear","_sortedObjs","_reorderedObjIdxs","offsetWidth","_margins","left","right","offsetHeight","bottom","_drawCanvas","_pixelRatio","_camera","projDims","projectionDimensions","flipY","cameraPosition","_rerenderCb","originalEvent","callbacks","addEventListener","removeEventListener","forceEvents","margins","_createCanvas","_container","_drawCtx","bindAll","_resize","_resizeSensor","enableEvents","_enableEvents","_disableEvents","detach","_renderFrameCb","renderAll","bind","_renderRequestId","_ids","_initCanvas","_styleState","screenToWorldMatrix","proxyEvent","deleteShape","sortedShapes","zindex","window","cancelAnimationFrame","requestAnimationFrame","_this6","changedShapes","changedShape","console","assert","drawShapes","camera","_this7","worldToScreenMat","render","clearRect","size","applyDefaults","_renderShapes","sort","shapeCompare","_this8","_this9","resize","viewport","getPosition","_width","_height","getOpacity","packedRgbaColor","packOpacity","floor","getRGBAString","getPackedColorRGBAFromString","color","packedColor","rgbRegex","parseInt","rgbaRegex","parseFloat","hexRegex","colorKeywords","colorName","_ColorRGBA","EventedColorRGBA","initColorStr","eventHandler","newPackedColor","_color","prevOpacity","tmpcolor","_checkPackedColorChanged","currOpacity","newOpacity","ColorRGBA","FillColorClass","FillStyle","EventedFillStyle","_fillColor","_initFillStyleFromOptions","fillOpacity","fillStyleA","fillStyleB","fillStyleObj","fromMat4","m00","m01","m02","m10","m11","m12","m20","m21","m22","transpose","a01","a02","a12","invert","a00","a10","a11","a20","a21","a22","b01","b11","b21","det","adjoint","determinant","b00","b02","b10","b12","b20","b22","mul","rad","sin","cos","fromTranslation","fromRotation","fromScaling","fromMat2d","fromQuat","q","z","w","x2","y2","z2","xx","yx","yy","zx","zy","zz","wx","wy","wz","normalFromMat4","a03","a13","a23","a30","a31","a32","a33","b03","b04","b05","b06","b07","b08","b09","frob","pow","subtract","multiplyScalar","multiplyScalarAndAdd","a4","a5","a6","a7","a8","b4","b5","b6","b7","b8","divide","div","ceil","round","scaleAndAdd","len","squaredLength","sqrLen","negate","inverse","normalize","cross","ax","ay","az","bx","by","bz","hermite","d","factorTimes2","factor1","factor2","factor3","factor4","bezier","inverseFactor","inverseFactorTimesTwo","r","zScale","transformMat4","transformMat3","transformQuat","qx","qy","qz","qw","ix","iy","iz","iw","rotateX","rotateY","rotateZ","vec","stride","offset","count","fn","arg","l","tempA","tempB","cosine","aw","inCanvas","domrect","getBoundingClientRect","localX","localY","clientLeft","clientWidth","clientTop","clientHeight","getLocalMousePos","elem","clientX","clientY","transformSelectedShape","selectedInfo","tmpPt1","tmpPt2","InteractUtils","transformXformShape","translateVert","translateShape","addEventKeysToSelectedInfo","altKey","ctrlKey","shiftKey","metaKey","getSelectedObjsFromMap","selectionMap","selectedObjs","subshape","selectShape","selectedShape","currSelectedShapes","selectStyle","xformStyle","selectOpts","fireObject","unselectedShapes","clearSelectedShapes","maxZ","selected","newSelectShape","scalable","rotatable","_xformShape2","defaultXformStyle","addChildXform","selectedShapes","selectedShapeMap","removeChildXform","clearSpecificShapes","clearedShapes","appendCustomCursor","_event","cursorStyle","offsetX","offsetY","cursor","getElementById","mouseX","e","mouseY","newCursor","setAttribute","background","removeCustomCursor","parentNode","updateCursorPosition","_interactUtils","_vertEditableShape","_vertEditableShape2","_xformShape","scaleSvg","rotateSvg","addSvg","removeSvg","repositionSvg","SELECTION_CHANGED","DRAG_BEGIN","DRAG_END","hideCursor","log","display","showCursor","_DrawEngine","timer","performance","now","_selectedShapes","hitInfo","containsPoint","hit","controlIndex","numVerts","removeVert","invLocalXform","startObjPos","_dragInfo","startObjectPos","worldToObjectMatrix","startLocalPos","startLocalScale","getScale","startLocalRot","shapeWidth","shapeHeight","movable","startPos","startWorldPos","objectToWorldMatrix","stopImmediatePropagation","preventDefault","selectable","selectEventObj","_selectStyle","_xformStyle","incanvas","buttons","flipy","isYFlipped","selectInfo","childNodes","degrees","replace","editable","doXform","interactiveShape","_activated","enableInteractions","myevents","interacShape","select","uniformScaleOnly","centerScaleOnly","selectClearedShapes","clearSelection","rotateOBBox","parentShape","screenPos","worldPos","startDir","dir","objPos","deltaPos","deltaDims","uniformScale","centerScale","xAxisDir","yAxisDir","diagDir","axisToUse","mindist","sign","xScale","yScale","axisDir","transformDir","idx1","idx2","setVertPosition","VertEditableShape","baseVertShape","_baseVertShape","_vertRadius","_transformedVerts","_baseaabox","_worldToScreenMatrix","pad","rtnObj","tmpPt","tmpVec","radius","objToScreenMatrix","arc","drawOBBoxModifierRect","objToScreenMat","modifierSize","modifierHalfSize","modifierRotation","text","isPointInOBBoxModifierRect","modifierPt","modifierMat","halfBoxSz","boxSz","padBoxSz","padBoxRadius","XformShape","_Rect","_interactiveBoxSize","_interactiveBoxPadding","vertexSize","_scalable","_rotatable","rot","boxPadding","halfWidth","halfHeight","padSz","padRadius","force","padding","_aaboxUpdated","_radius","diameter","cossqr","sinsqr","asqr","bsqr","A","B","_size","_PolyLine","closePath","getPixelRatio","canvasCtx","backingStore","backingStorePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","devicePixelRatio","pixelRatio","allRatioArgs","funcName","_super","setTransformArgs","funcNames","thisArg","BaseCamera2d","_viewport","_projectionDimensions","_yflip","_screenMatrix","_screenDirty","_worldToScreenOutdated","Camera2d","_viewMatrix","_viewDirty","_projMatrix","_projDirty","flip","_matricesDirty","viewMatrix","projMatrix","screenMatrix","_screenToWorldOutdated","_screenToWorld","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","forEachElement","elements","callback","elementsType","toString","isCollectionTyped","jQuery","Elements","j","mozRequestAnimationFrame","webkitRequestAnimationFrame","setTimeout","ResizeSensor","EventQueue","ev","remove","newQueue","getComputedStyle","currentStyle","getPropertyValue","attachResizeEvent","resized","resizedAttached","resizeSensor","styleChild","cssText","innerHTML","dirty","rafId","newWidth","newHeight","expandChild","shrink","lastWidth","lastHeight","reset","scrollLeft","scrollTop","onResized","onScroll","addEvent","el","name","cb","attachEvent","v0","LDU","L","U","aa","ab","ac","ad","atx","aty","scalar","SIMD","m03","m13","m23","m30","m31","m32","m33","tmp01","tmp23","out0","out1","out2","out3","Float32x4","load","shuffle","store","row0","row1","row2","row3","tmp1","minor0","minor1","minor2","minor3","swizzle","reciprocalApproximation","t0","axis","splat","a_1","a_2","a_0","fromXRotation","fromYRotation","fromZRotation","fromRotationTranslation","xy","xz","yz","getTranslation","trace","S","fromRotationTranslationScale","sz","fromRotationTranslationScaleOrigin","o","ox","oy","oz","frustum","near","far","rl","tb","nf","perspective","fovy","aspect","tan","perspectiveFromFieldOfView","fov","upTan","upDegrees","downTan","downDegrees","leftTan","leftDegrees","rightTan","rightDegrees","ortho","lr","bt","lookAt","eye","up","x0","x1","y0","y1","z0","z1","eyex","eyey","eyez","upx","upy","upz","centerx","centery","centerz","a9","a14","a15","b9","b13","b14","b15","rotationTo","tmpvec3","xUnitVec3","yUnitVec3","setAxisAngle","setAxes","matr","view","fromMat3","getAxisAngle","out_axis","bw","calculateW","slerp","omega","cosom","sinom","scale0","scale1","sqlerp","temp1","temp2","invDot","conjugate","fRoot","fTrace","k","description","homepage","bugs","main","author","license","engines","repository","url","dependencies","gl-matrix","css-element-queries","devDependencies","babel-core","babel-loader","babel-plugin-lodash","babel-preset-es2015","babel-preset-stage-0","eslint","http-server","json-loader","webpack","scripts","build","build:prod","build:dev","clean","lint","start","watch:dev","webpack:dev","test","pre-commit"],"mappings":"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","file":"mapd-draw.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///mapd-draw.js","webpack:///webpack/bootstrap 10397186b2df42973936","webpack:///./mapd-draw.js","webpack:///../~/gl-matrix/src/gl-matrix.js","webpack:///./core/aabox2d.js","webpack:///./core/point2d.js","webpack:///../~/gl-matrix/src/gl-matrix/common.js","webpack:///./math/math.js","webpack:///./shapes/base-shape.js","webpack:///./core/mat2d.js","webpack:///./util/aggregation.js","webpack:///./style/basic-style.js","webpack:///./style/stroke-style.js","webpack:///./core/vec2d.js","webpack:///./math/convex-hull.js","webpack:///./shapes/poly-line.js","webpack:///./shapes/transform2d.js","webpack:///./util/event-handler.js","webpack:///./engine/draw-engine.js","webpack:///./shapes/rect.js","webpack:///./style/color-rgba.js","webpack:///./style/fill-style.js","webpack:///../~/gl-matrix/src/gl-matrix/mat3.js","webpack:///../~/gl-matrix/src/gl-matrix/vec3.js","webpack:///../~/gl-matrix/src/gl-matrix/vec4.js","webpack:///./engine/shape-builder.js","webpack:///./interactions/interact-utils.js","webpack:///./interactions/vert-editable-shape.js","webpack:///./interactions/xform-shape.js","webpack:///./shapes/circle.js","webpack:///./shapes/point.js","webpack:///./shapes/poly.js","webpack:///./util/canvas-utils.js","webpack:///./util/utils.js","webpack:///./view/camera2d.js","webpack:///../~/css-element-queries/src/ResizeSensor.js","webpack:///../~/gl-matrix/src/gl-matrix/mat2.js","webpack:///../~/gl-matrix/src/gl-matrix/mat2d.js","webpack:///../~/gl-matrix/src/gl-matrix/mat4.js","webpack:///../~/gl-matrix/src/gl-matrix/quat.js","webpack:///../~/gl-matrix/src/gl-matrix/vec2.js","webpack:///../package.json"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireWildcard","obj","__esModule","newObj","key","Object","prototype","hasOwnProperty","default","_interopRequireDefault","defineProperty","value","simpleHull_2D","Math","Point","PolyLine","Poly","Rect","Circle","Vec2d","BasicStyle","Mat2","Point2d","Mat2d","AABox2d","DrawEngine","ShapeBuilder","version","undefined","_package","enumerable","get","_glMatrix","mat2","_convexHull","_shapeBuilder","_shapeBuilder2","_drawEngine","_drawEngine2","_aabox2d","_AABox2d","_mat2d","_mat2d2","_point2d","_Point2d","_basicStyle","_basicStyle2","_vec2d","_vec2d2","_circle","_circle2","_rect","_rect2","_poly","_poly2","_polyLine","_polyLine2","_point","_point2","_math","_math2","glMatrix","mat2d","mat3","mat4","quat","vec2","vec3","vec4","set","out","minx","miny","maxx","maxy","MINX","Infinity","MINY","MAXX","MAXY","create","ARRAY_TYPE","clone","box","copy","initEmpty","initInfinity","initSizeFromOrigin","sizes","initSizeFromLocation","pt","i","initCenterExtents","center","isEmpty","isInfinite","isFinite","equals","a","b","a0","a1","a2","a3","b0","b1","b2","b3","abs","EPSILON","getSize","getExtents","scale","getCenter","expand","expandSize","area","hull","min","max","intersection","boxToUse","minindex","maxindex","overlaps","contains","containsPt","encapsulatePt","translate","pos","transform","mat","xformFunc","pt1","pt2","transformMat2","transformMat2d","x","arguments","length","y","X","Y","initFromValues","addVec2","v","add","sub","str","distance","p1","p2","squaredDistance","lerp","t","exactEquals","sqrDist","dist","Float32Array","Array","RANDOM","random","ENABLE_SIMD","SIMD_AVAILABLE","USE_SIMD","setMatrixArrayType","type","degree","PI","toRadian","clamp","f","minv","maxv","clamp01","f1","f2","EPS","quarter","half","two","QUATER_PI","HALF_PI","HALF_NPI","TWO_PI","NPI","NQUATER_PI","NHALF_PI","NTWO_PI","INV_PI","RAD_TO_DEG","DEG_TO_RAD","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","constructor","writable","configurable","setPrototypeOf","__proto__","_createClass","defineProperties","target","props","descriptor","protoProps","staticProps","_fillStyle","_fillStyle2","_strokeStyle","_strokeStyle2","_transform2d","_transform2d2","_aggregation2","_aggregation3","_eventHandler","_eventHandler2","CoreBaseShape","_EventHandler","opts","_this","getPrototypeOf","_aabox","_zIndex","zIndex","_visible","_geomDirty","_fullXform","Number","isInteger","Error","prev","fire","attr","prevVal","currVal","_updateAABox","visible","BaseShape","_aggregation","_this2","_stateStack","state","copyBasicStyle","push","pop","svd","globalXform","width","height","screenPt","worldPt","worldToScreenMatrix","ctx","rtn","aabox","save","setTransform","beginPath","_draw","strokeStyle","lineWidth","strokeWidth","dashPattern","stroke","isFillVisible","isPointInPath","isStrokeVisible","isPointInStroke","restore","boundsStrokeStyle","setStrokeCtx","extents","rect","_boundsOutOfDate","styleState","doFill","doStroke","transformCtx","Boolean","setFillStyle","fill","setStrokeStyle","newStyle","assign","toJSON","shape1","shape2","zIndex1","zIndex2","compareFillStyle","compareStrokeStyle","createEventedTransform2dMixin","createEventedFillStyleMixin","createEventedStrokeStyleMixin","outTranslate","outScale","outRotate","E","F","G","H","Q","sqrt","R","atan2","aggregation","base","_len","mixins","_key","aggregate","__Aggregate","_ref","_len2","args","_key2","apply","concat","forEach","mixin","_mixin$prototype$init","initializer","_base","copyProps","source","getOwnPropertyNames","getOwnPropertySymbols","prop","match","getOwnPropertyDescriptor","srcBasicStyle","dstBasicStyle","copyFillStyle","copyStrokeStyle","basicStyleObj","BaseBasicStyle","validateStrokeWidth","validateLineJoin","lineJoin","idx","lineJoinOpts","indexOf","toLowerCase","join","validateLineCap","lineCap","lineCapOpts","validateDashPattern","isArray","validateDashOffset","dashOffset","eventName","StrokeColorClass","_colorRgba","createEventedColorRGBAClass","StrokeStyle","EventedStrokeStyle","_strokeColor","_strokeWidth","_lineJoin","JoinEnum","MITER","_lineCap","CapEnum","BUTT","_dashPattern","_dashOffset","_initStrokeStyleFromOptions","curral","enumVal","diff","slice","_colorRgba2","BEVEL","ROUND","SQUARE","strokeColor","strokeOpacity","lineMiter","opacity","isTransparent","setLineDash","lineDashOffset","packedStrokeColor","packedValue","srcStyle","dstStyle","strokeStyleA","strokeStyleB","valA","valB","strokeStyleObj","cross2d","v1","v2","angleFast","acos","dot","angle","s","anglePosX","isLeft","P0","P1","P2","verts","n","D","bot","top","h","aaboxEncapsulatePt","ptIdx","extentIndices","buildCentroid","centroidPt","ArrayBuffer","isView","_get","object","property","receiver","Function","desc","parent","getter","_baseShape","_baseShape2","identityMatrix","_BaseShape","_extentIndices","_localaabox","_verts","_centroid","signedArea","pivot","map","val","_pivot","xform","localXform","setTransformations","vertIndex","newPt","_collapseVerts","_resetAABox","splice","insertVert","_this3","_this4","_rebuildAABox","tmppt","moveTo","lineTo","vertsRef","vert","buildXformMatrix","rdeg","identity","rotate","dirtyChildren","children","child","_xformDirty","_children","Transform2d","EventedTransform2d","_pos","_lxformDirty","translation","_scale","scaleMult","multiply","deg","degToUse","_rotDeg","tx","ty","sx","sy","attrs","prevVals","currVals","position","setPosition","setScale","rotation","setRotation","_localXform","fromValues","_globalXform","_parent","Set","_initTransformFromOptions","childXform","has","removeChild","delete","_localXformUpdated","_updatelocalxform","_globalXformUpdated","currMatrix","_updateglobalxform","xformObj","getPositionRef","getScaleRef","pivotRef","getRotation","recursiveFire","currMap","subtypes","currIdx","fireData","cnt","data","listener","recursiveDelete","currNode","listeners","index","subnodes","nodelisteners","node","arrayify","intype","arrayToUse","EventHandler","eventsToRegister","_listeners","Map","registerEvents","events","eventsToUse","event","subevents","split","types","typesToUse","subtype","keys","_this5","wrapper","off","on","_eventParent","listens","_eventParentData","addClass","element","className","createCanvas","canvasContainer","document","createElement","canvas","canvasContext","getContext","ratio","CanvasUtils","makeCanvasAutoHighDPI","style","pointerEvents","appendChild","addShapesToMap","newShapes","existingObjectsMap","currIds","reorderCb","redrawCb","shape","shapeObj","shapeId","shapeIdx","deleteShapesFromMap","shapes","idxs","shapeInfo","EventConstants","_canvasUtils","_utils","_camera2d","_camera2d2","_ResizeSensor","_ResizeSensor2","mouseevents","marginProps","MOUSEDOWN","MOUSEUP","MOUSEMOVE","CLICK","DBLCLICK","MOUSEOVER","MOUSEOUT","SHAPE_ADD","SHAPE_DELETE","DrawStyleState","_BasicStyle","_defaults","packedFillColor","fillStyle","fillColor","setFillCtx","_EventHander","_init","_destroyCanvas","_objects","_reorderCb","_redrawCb","clear","_sortedObjs","_reorderedObjIdxs","offsetWidth","_margins","left","right","offsetHeight","bottom","_drawCanvas","_pixelRatio","_camera","projDims","projectionDimensions","flipY","cameraPosition","_rerenderCb","originalEvent","callbacks","addEventListener","removeEventListener","forceEvents","margins","_createCanvas","_container","_drawCtx","bindAll","_resize","_resizeSensor","enableEvents","_enableEvents","_disableEvents","detach","_renderFrameCb","renderAll","bind","_renderRequestId","_ids","_initCanvas","_styleState","screenToWorldMatrix","proxyEvent","deleteShape","sortedShapes","zindex","window","cancelAnimationFrame","requestAnimationFrame","_this6","changedShapes","changedShape","console","assert","drawShapes","camera","_this7","worldToScreenMat","render","clearRect","size","applyDefaults","_renderShapes","sort","shapeCompare","_this8","_this9","resize","viewport","getPosition","_width","_height","getOpacity","packedRgbaColor","packOpacity","floor","getRGBAString","getPackedColorRGBAFromString","color","packedColor","rgbRegex","parseInt","rgbaRegex","parseFloat","hexRegex","colorKeywords","colorName","_ColorRGBA","EventedColorRGBA","initColorStr","eventHandler","newPackedColor","_color","prevOpacity","tmpcolor","_checkPackedColorChanged","currOpacity","newOpacity","ColorRGBA","FillColorClass","FillStyle","EventedFillStyle","_fillColor","_initFillStyleFromOptions","fillOpacity","fillStyleA","fillStyleB","fillStyleObj","fromMat4","m00","m01","m02","m10","m11","m12","m20","m21","m22","transpose","a01","a02","a12","invert","a00","a10","a11","a20","a21","a22","b01","b11","b21","det","adjoint","determinant","b00","b02","b10","b12","b20","b22","mul","rad","sin","cos","fromTranslation","fromRotation","fromScaling","fromMat2d","fromQuat","q","z","w","x2","y2","z2","xx","yx","yy","zx","zy","zz","wx","wy","wz","normalFromMat4","a03","a13","a23","a30","a31","a32","a33","b03","b04","b05","b06","b07","b08","b09","frob","pow","subtract","multiplyScalar","multiplyScalarAndAdd","a4","a5","a6","a7","a8","b4","b5","b6","b7","b8","divide","div","ceil","round","scaleAndAdd","len","squaredLength","sqrLen","negate","inverse","normalize","cross","ax","ay","az","bx","by","bz","hermite","d","factorTimes2","factor1","factor2","factor3","factor4","bezier","inverseFactor","inverseFactorTimesTwo","r","zScale","transformMat4","transformMat3","transformQuat","qx","qy","qz","qw","ix","iy","iz","iw","rotateX","rotateY","rotateZ","vec","stride","offset","count","fn","arg","l","tempA","tempB","cosine","aw","inCanvas","domrect","getBoundingClientRect","localX","localY","clientLeft","clientWidth","clientTop","clientHeight","getLocalMousePos","elem","clientX","clientY","transformSelectedShape","selectedInfo","tmpPt1","tmpPt2","InteractUtils","transformXformShape","translateVert","translateShape","addEventKeysToSelectedInfo","altKey","ctrlKey","shiftKey","metaKey","getSelectedObjsFromMap","selectionMap","selectedObjs","subshape","selectShape","selectedShape","currSelectedShapes","selectStyle","xformStyle","selectOpts","fireObject","unselectedShapes","clearSelectedShapes","maxZ","selected","newSelectShape","scalable","rotatable","_xformShape2","defaultXformStyle","addChildXform","selectedShapes","selectedShapeMap","removeChildXform","clearSpecificShapes","clearedShapes","getMouseCoordinates","e","querySelector","coords","offsetX","offsetLeft","offsetY","offsetTop","appendCustomCursor","_event","cursorStyle","cursor","getElementById","mouse","newCursor","setAttribute","background","updateCursorPosition","removeCustomCursor","parentNode","_interactUtils","_vertEditableShape","_vertEditableShape2","_xformShape","scaleSvg","rotateSvg","addSvg","removeSvg","repositionSvg","SELECTION_CHANGED","DRAG_BEGIN","DRAG_END","hideCursor","display","showCursor","hideCursorWithPointer","showCursorWithPointer","_DrawEngine","timer","performance","now","_selectedShapes","hitInfo","containsPoint","hit","controlIndex","numVerts","removeVert","invLocalXform","startObjPos","_dragInfo","startObjectPos","worldToObjectMatrix","startLocalPos","startLocalScale","getScale","startLocalRot","shapeWidth","shapeHeight","movable","startPos","startWorldPos","objectToWorldMatrix","stopImmediatePropagation","preventDefault","selectable","selectEventObj","_selectStyle","_xformStyle","incanvas","buttons","flipy","isYFlipped","selectInfo","childNodes","nodeName","degrees","replace","editable","doXform","interactiveShape","_activated","enableInteractions","myevents","interacShape","select","uniformScaleOnly","centerScaleOnly","selectClearedShapes","clearSelection","rotateOBBox","parentShape","screenPos","worldPos","startDir","dir","objPos","deltaPos","deltaDims","uniformScale","centerScale","xAxisDir","yAxisDir","diagDir","axisToUse","mindist","sign","xScale","yScale","axisDir","transformDir","idx1","idx2","setVertPosition","VertEditableShape","baseVertShape","_baseVertShape","_vertRadius","_transformedVerts","_baseaabox","_worldToScreenMatrix","pad","rtnObj","tmpPt","tmpVec","radius","objToScreenMatrix","arc","drawOBBoxModifierRect","objToScreenMat","modifierSize","modifierHalfSize","modifierRotation","text","isPointInOBBoxModifierRect","modifierPt","modifierMat","halfBoxSz","boxSz","padBoxSz","padBoxRadius","XformShape","_Rect","_interactiveBoxSize","_interactiveBoxPadding","vertexSize","_scalable","_rotatable","rot","boxPadding","halfWidth","halfHeight","padSz","padRadius","force","padding","_aaboxUpdated","_radius","diameter","cossqr","sinsqr","asqr","bsqr","A","B","_size","_PolyLine","closePath","getPixelRatio","canvasCtx","backingStore","backingStorePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","devicePixelRatio","pixelRatio","allRatioArgs","funcName","_super","setTransformArgs","funcNames","thisArg","BaseCamera2d","_viewport","_projectionDimensions","_yflip","_screenMatrix","_screenDirty","_worldToScreenOutdated","Camera2d","_viewMatrix","_viewDirty","_projMatrix","_projDirty","flip","_matricesDirty","viewMatrix","projMatrix","screenMatrix","_screenToWorldOutdated","_screenToWorld","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","forEachElement","elements","callback","elementsType","toString","isCollectionTyped","jQuery","Elements","j","mozRequestAnimationFrame","webkitRequestAnimationFrame","setTimeout","ResizeSensor","EventQueue","ev","remove","newQueue","getComputedStyle","currentStyle","getPropertyValue","attachResizeEvent","resized","resizedAttached","resizeSensor","styleChild","cssText","innerHTML","dirty","rafId","newWidth","newHeight","expandChild","shrink","lastWidth","lastHeight","reset","scrollLeft","scrollTop","onResized","onScroll","addEvent","el","name","cb","attachEvent","v0","LDU","L","U","aa","ab","ac","ad","atx","aty","scalar","SIMD","m03","m13","m23","m30","m31","m32","m33","tmp01","tmp23","out0","out1","out2","out3","Float32x4","load","shuffle","store","row0","row1","row2","row3","tmp1","minor0","minor1","minor2","minor3","swizzle","reciprocalApproximation","t0","axis","splat","a_1","a_2","a_0","fromXRotation","fromYRotation","fromZRotation","fromRotationTranslation","xy","xz","yz","getTranslation","trace","S","fromRotationTranslationScale","sz","fromRotationTranslationScaleOrigin","o","ox","oy","oz","frustum","near","far","rl","tb","nf","perspective","fovy","aspect","tan","perspectiveFromFieldOfView","fov","upTan","upDegrees","downTan","downDegrees","leftTan","leftDegrees","rightTan","rightDegrees","ortho","lr","bt","lookAt","eye","up","x0","x1","y0","y1","z0","z1","eyex","eyey","eyez","upx","upy","upz","centerx","centery","centerz","a9","a14","a15","b9","b13","b14","b15","rotationTo","tmpvec3","xUnitVec3","yUnitVec3","setAxisAngle","setAxes","matr","view","fromMat3","getAxisAngle","out_axis","bw","calculateW","slerp","omega","cosom","sinom","scale0","scale1","sqlerp","temp1","temp2","invDot","conjugate","fRoot","fTrace","k","description","homepage","bugs","main","author","license","engines","repository","url","dependencies","gl-matrix","css-element-queries","devDependencies","babel-core","babel-loader","babel-plugin-lodash","babel-preset-es2015","babel-preset-stage-0","eslint","http-server","json-loader","webpack","scripts","build","build:prod","build:dev","clean","lint","start","watch:dev","webpack:dev","test","pre-commit"],"mappings":"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","file":"mapd-draw.js","sourceRoot":""} \ No newline at end of file diff --git a/src/engine/shape-builder.js b/src/engine/shape-builder.js index 9b98943..7f5d84e 100644 --- a/src/engine/shape-builder.js +++ b/src/engine/shape-builder.js @@ -129,7 +129,6 @@ function clearSpecificShapes(selectedShapeMap, shapes) { } const hideCursor = function () { - console.log('hiding cursor') const cursor = document.getElementById('cursor') if (cursor !== null) { cursor.style.display = 'none' @@ -143,32 +142,49 @@ const showCursor = function () { } } -function appendCustomCursor(_event, target, cursorStyle, offsetX = -14, offsetY = -14) { - const cursor = document.getElementById('cursor') +const hideCursorWithPointer = (e) => { + e.target.parentNode.style.cursor = 'default' + hideCursor() +} - const mouseX = (e) => { - return `${(e.offsetX) + 'px'}` - } +const showCursorWithPointer = (e) => { + e.target.parentNode.style.cursor = 'none' + showCursor() +} + +// understands how to return mouse coordinates as an object in the format {x: , y: } +// accepts a mouse event and a DOM element as arguments +function getMouseCoordinates(e, target) { + const canvas = document.querySelector(`${'#' + target.id + ' canvas'}`) - const mouseY = (e) => { - return `${(e.offsetY) + 'px'}` + const coords = { + 'x': e.offsetX + canvas.offsetLeft, + 'y': e.offsetY + canvas.offsetTop } + return coords +} + +// understands how to append custom cursors to the DOM +// accepts a mouse event, a DOM element, a cursorStyle, and pixel offsets as arguments +function appendCustomCursor(_event, target, cursorStyle, offsetX = -14, offsetY = -14) { + const cursor = document.getElementById('cursor') + const mouse = getMouseCoordinates(_event, target) + if (cursor === null) { const newCursor = document.createElement('span') newCursor.setAttribute('id', 'cursor') - newCursor.setAttribute('style', `position: absolute; top: ${mouseY(_event)}; left: ${mouseX(_event)}; width: 28px; height: 28px; background: ${cursorStyle}; cursor: none; z-index: 10; pointer-events: none; transform: translate(${offsetX}px, ${offsetY}px)`) + newCursor.setAttribute('style', `position: absolute; top: ${mouse.y + 'px'}; left: ${mouse.x + 'px'}; width: 28px; height: 28px; background: ${cursorStyle}; cursor: none; z-index: 10; pointer-events: none; transform: translate(${offsetX}px, ${offsetY}px)`) target.appendChild(newCursor) } else if (cursor.style.background !== cursorStyle) { cursor.style.background = cursorStyle - cursor.style.top = mouseY(_event) - cursor.style.left = mouseX(_event) + updateCursorPosition(_event, target) } else { - cursor.style.top = mouseY(_event) - cursor.style.left = mouseX(_event) + updateCursorPosition(_event, target) } } +// understands how to remove the custom cursor from the DOM function removeCustomCursor() { const cursor = document.getElementById('cursor') if (cursor !== null) { @@ -176,20 +192,15 @@ function removeCustomCursor() { } } -function updateCursorPosition(_event) { +// understands how to change the position of the custom cursor on the page +// accepts a mouse event and a DOM element as arguments +function updateCursorPosition(_event, target) { const cursor = document.getElementById('cursor') - - const mouseX = (e) => { - return `${(e.offsetX) + 'px'}` - } - - const mouseY = (e) => { - return `${(e.offsetY) + 'px'}` - } + const mouse = getMouseCoordinates(_event, target) if (cursor !== null) { - cursor.style.top = mouseY(_event) - cursor.style.left = mouseX(_event) + cursor.style.top = `${mouse.y + 'px'}` + cursor.style.left = `${mouse.x + 'px'}` } } @@ -219,8 +230,6 @@ export default class ShapeBuilder extends DrawEngine { selectedInfo = shapeInfo let hitInfo = null if (selectedShape && (hitInfo = selectedShape.containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)).hit) { - this._parent.addEventListener('mouseout', hideCursor) - this._parent.addEventListener('mouseover', showCursor) if (selectedShape instanceof VertEditableShape && event.altKey && hitInfo.controlIndex < shapes[i].numVerts) { shapes[i].removeVert(hitInfo.controlIndex) selectedShape = null @@ -267,6 +276,14 @@ export default class ShapeBuilder extends DrawEngine { this._dragInfo = null clearSelectedShapes(this._selectedShapes) } else if (selectedShape && selectedInfo && (selectedInfo.movable || selectedInfo.rotatable || selectedInfo.scalable)) { + const canvas = document.querySelector(`${'#' + this._parent.id + ' > canvas'}`) + if( canvas !== null) { + canvas.addEventListener('mouseout', hideCursorWithPointer) + canvas.addEventListener('mouseover', showCursorWithPointer) + } else { + this._parent.addEventListener('mouseout', hideCursor) + this._parent.addEventListener('mouseover', showCursor) + } if (!this._dragInfo && selectedInfo.movable) { this._dragInfo = { startLocalPos: selectedShape.getPosition() @@ -292,8 +309,14 @@ export default class ShapeBuilder extends DrawEngine { if (this._dragInfo && this._dragInfo.shape) { event.stopImmediatePropagation() event.preventDefault() - this._parent.removeEventListener('mouseout', hideCursor) - this._parent.removeEventListener('mouseover', showCursor) + const canvas = document.querySelector(`${'#' + this._parent.id + ' > canvas'}`) + if( canvas !== null) { + canvas.removeEventListener('mouseout', hideCursorWithPointer) + canvas.removeEventListener('mouseover', showCursorWithPointer) + } else { + this._parent.removeEventListener('mouseout', hideCursor) + this._parent.removeEventListener('mouseover', showCursor) + } this._dragInfo = null this.fire(EventConstants.DRAG_END, { shapes: getSelectedObjsFromMap(this._selectedShapes) @@ -327,7 +350,7 @@ export default class ShapeBuilder extends DrawEngine { } if (this._dragInfo && this._dragInfo.shape) { - updateCursorPosition(event) + updateCursorPosition(event, this._parent) addEventKeysToSelectedInfo(event, this._dragInfo) transformSelectedShape(this._drawCanvas, event, this._dragInfo, this._camera) event.stopImmediatePropagation() @@ -344,15 +367,18 @@ export default class ShapeBuilder extends DrawEngine { const selectInfo = this._objects.get(shapes[i]) const selectedShape = this._selectedShapes.get(shapes[i]) let hitInfo = null + const cursor = document.getElementById('cursor') + this._parent.style.cursor = 'none' + // forEach not supported on nodelist in IE/Edge + for (let i = 0; i < this._parent.childNodes.length; i++) { + if(this._parent.childNodes[i].nodeName.toLowerCase() === 'canvas') { + continue + } + this._parent.childNodes[i].style.cursor = 'none' + this._parent.childNodes[i].style.pointerEvents = 'none' + } if (selectedShape && (hitInfo = selectedShape.containsPoint(tmpPt1, tmpPt2, worldToScreenMatrix, this._drawCtx)).hit) { if (selectedShape instanceof XformShape) { - const cursor = document.getElementById('cursor') - this._parent.style.cursor = 'none' - // forEach not supported on nodelist in IE/Edge - for (let i = 0; i < this._parent.childNodes.length; i++) { - this._parent.childNodes[i].style.cursor = 'none' - this._parent.childNodes[i].style.pointerEvents = 'none' - } if (hitInfo.rotate) { let degrees = shapes[i].getRotation() if (flipy) { @@ -391,6 +417,9 @@ export default class ShapeBuilder extends DrawEngine { this._parent.style.cursor = 'none' // forEach not supported on nodelist in IE/Edge for (let i = 0; i < this._parent.childNodes.length; i++) { + if(this._parent.childNodes[i].nodeName.toLowerCase() === 'canvas') { + continue + } this._parent.childNodes[i].style.cursor = 'none' this._parent.childNodes[i].style.pointerEvents = 'none' } @@ -413,6 +442,9 @@ export default class ShapeBuilder extends DrawEngine { } this._parent.style.cursor = "move" for (let i = 0; i < this._parent.childNodes.length; i++) { + if(this._parent.childNodes[i].nodeName.toLowerCase() === 'canvas') { + continue + } this._parent.childNodes[i].style.cursor = 'move' } event.stopImmediatePropagation() @@ -428,6 +460,9 @@ export default class ShapeBuilder extends DrawEngine { this._parent.style.cursor = "default" // forEach not supported on nodelist in IE/Edge for (let i = 0; i < this._parent.childNodes.length; i++) { + if(this._parent.childNodes[i].nodeName.toLowerCase() === 'canvas') { + continue + } this._parent.childNodes[i].style.cursor = 'default' this._parent.childNodes[i].style.pointerEvents = 'auto' }