From db2a3f01f685435b11ab1ca930fda5444ecf1f2a Mon Sep 17 00:00:00 2001 From: Dimitrie Stefanescu Date: Sat, 20 Feb 2021 23:05:54 +0000 Subject: [PATCH] feat(viewer): intermeidate step --- packages/viewer/example/demo.js | 1000 +++++++++++------ packages/viewer/example/demo.js.map | 2 +- packages/viewer/example/example.html | 3 +- packages/viewer/src/assets/example.html | 3 +- packages/viewer/src/modules/EventEmitter.js | 4 + .../viewer/src/modules/InteractionHandler.js | 100 ++ .../viewer/src/modules/SceneObjectManager.js | 27 +- packages/viewer/src/modules/SectionBox.js | 234 ++-- packages/viewer/src/modules/SectionBox2.js | 241 ++++ .../viewer/src/modules/SelectionHelper.js | 23 +- packages/viewer/src/modules/Viewer.js | 53 +- 11 files changed, 1166 insertions(+), 524 deletions(-) create mode 100644 packages/viewer/src/modules/InteractionHandler.js create mode 100644 packages/viewer/src/modules/SectionBox2.js diff --git a/packages/viewer/example/demo.js b/packages/viewer/example/demo.js index e4b739d40..ad59048d1 100644 --- a/packages/viewer/example/demo.js +++ b/packages/viewer/example/demo.js @@ -224,7 +224,8 @@ function _asyncIterator(iterable) { var method; if (typeof Symbol !== "undefined var v = new _modules_Viewer__WEBPACK_IMPORTED_MODULE_0__.default({ - container: document.getElementById('renderer') + container: document.getElementById('renderer'), + showStats: true }); v.on('load-progress', args => console.log(args)); window.v = v; @@ -937,6 +938,11 @@ var EventEmitter = /*#__PURE__*/function () { this._events[name].forEach(fireCallbacks); } + }, { + key: "dispose", + value: function dispose() { + this._events = null; + } }]); return EventEmitter; @@ -944,6 +950,142 @@ var EventEmitter = /*#__PURE__*/function () { +/***/ }), + +/***/ "./src/modules/InteractionHandler.js": +/*!*******************************************!*\ + !*** ./src/modules/InteractionHandler.js ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => /* binding */ InteractionHandler +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "./node_modules/three/build/three.module.js"); +/* harmony import */ var _SectionBox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SectionBox */ "./src/modules/SectionBox.js"); +/* harmony import */ var _SectionBox2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SectionBox2 */ "./src/modules/SectionBox2.js"); +/* harmony import */ var _SelectionHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SelectionHelper */ "./src/modules/SelectionHelper.js"); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + + + + + +var InteractionHandler = /*#__PURE__*/function () { + function InteractionHandler(viewer) { + _classCallCheck(this, InteractionHandler); + + this.viewer = viewer; // this.sectionBox = new SectionBox( this.viewer ) + + this.sectionBoxEnabled = false; + this.selectionHelper = new _SelectionHelper__WEBPACK_IMPORTED_MODULE_3__.default(this.viewer, this.viewer.sceneManager.userObjects); + this.selectionMaterial = new three__WEBPACK_IMPORTED_MODULE_0__.MeshLambertMaterial({ + color: 0x0B55D2, + emissive: 0x0B55D2, + side: three__WEBPACK_IMPORTED_MODULE_0__.DoubleSide + }); // this.selectionMaterial.clippingPlanes = this.sectionBox.planes.map( c => c.plane ) + + this.selectionEdgesMaterial = new three__WEBPACK_IMPORTED_MODULE_0__.LineBasicMaterial({ + color: 0x23F3BD + }); // this.selectionEdgesMaterial.clippingPlanes = this.sectionBox.planes.map( c => c.plane ) + + this.selectedObjects = new three__WEBPACK_IMPORTED_MODULE_0__.Group(); + this.viewer.scene.add(this.selectedObjects); + this.selectedObjects.renderOrder = 1000; + this.selectionHelper.on('object-doubleclicked', this._handleDoubleClick.bind(this)); + this.selectionHelper.on('object-clicked', this._handleSelect.bind(this)); + } + + _createClass(InteractionHandler, [{ + key: "_handleDoubleClick", + value: function _handleDoubleClick(objs) { + if (!objs || objs.length === 0) this.viewer.sceneManager.zoomExtents();else this.viewer.sceneManager.zoomToObject(objs[0].object); + this.viewer.needsRender = true; + } + }, { + key: "_handleSelect", + value: function _handleSelect(obj) { + if (obj.length === 0) { + this.deselectObjects(); + return; + } + + if (!this.selectionHelper.multiSelect) this.deselectObjects(); + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(obj[0].object.geometry, this.selectionMaterial); + this.selectedObjects.add(mesh); + var bbox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3().setFromObject(mesh); + var size = bbox.getSize(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3()); + bbox.expandByVector(size.multiplyScalar(0.1)); + var helper = new three__WEBPACK_IMPORTED_MODULE_0__.Box3Helper(bbox, 0x29308C); + helper.material = this.selectionEdgesMaterial; // TODO: if selection box is active, add planes to helper material clipping + + this.selectedObjects.add(helper); + this.viewer.needsRender = true; + } + }, { + key: "deselectObjects", + value: function deselectObjects() { + this.selectedObjects.clear(); + this.viewer.needsRender = true; + } + }, { + key: "toggleSectionBox", + value: function toggleSectionBox() { + this.sectionBoxEnabled = !this.sectionBoxEnabled; + + if (this.sectionBoxEnabled) { + this.showSelectionBox(); + } else { + this.hideSelectionBox(); + } + } + }, { + key: "showSelectionBox", + value: function showSelectionBox() { + this.viewer.renderer.localClippingEnabled = true; + var bbox = null; + var setFromSelection = false; + + if (this.selectedObjects.children.length > 0) { + bbox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3().setFromObject(this.selectedObjects.children[0]); + setFromSelection = true; + } else { + bbox = this.viewer.sceneManager.getSceneBoundingBox(); + } + + this.viewer.sceneManager.zoomToBox(bbox); + this.sectionBox.setFromBbox(bbox, setFromSelection ? 0.3 : 0.1); + this.sectionBox.display.visible = true; + this.viewer.needsRender = true; + this.sectionBoxEnabled = true; + } + }, { + key: "hideSelectionBox", + value: function hideSelectionBox() { + this.viewer.renderer.localClippingEnabled = false; + this.sectionBox.display.visible = false; + this.viewer.needsRender = true; + this.sectionBoxEnabled = false; + } + }, { + key: "test", + value: function test() { + var tt = new _SectionBox2__WEBPACK_IMPORTED_MODULE_2__.default(this.viewer); + } + }]); + + return InteractionHandler; +}(); + + + /***/ }), /***/ "./src/modules/ObjectLoader.js": @@ -1305,15 +1447,15 @@ var SceneObjectManager = /*#__PURE__*/function () { if (renderMat.opacity !== 1) { - var material = this.transparentMaterial.clone(); - material.clippingPlanes = this.viewer.sectionBox.planes.map(p => p.plane); + var material = this.transparentMaterial.clone(); // material.clippingPlanes = this.viewer.interactions.sectionBox.planes.map( p => p.plane ) + material.color = color; material.opacity = renderMat.opacity !== 0 ? renderMat.opacity : 0.2; this.addTransparentSolid(wrapper, material); // It's not a transparent material! } else { - var _material = this.solidMaterial.clone(); + var _material = this.solidMaterial.clone(); // material.clippingPlanes = this.viewer.interactions.sectionBox.planes.map( p => p.plane ) + - _material.clippingPlanes = this.viewer.sectionBox.planes.map(p => p.plane); _material.color = color; _material.metalness = renderMat.metalness; if (_material.metalness !== 0) _material.roughness = 0.1; @@ -1323,9 +1465,9 @@ var SceneObjectManager = /*#__PURE__*/function () { } } else { // If we don't have defined material, just use the default - var _material2 = this.solidMaterial.clone(); + var _material2 = this.solidMaterial.clone(); // material.clippingPlanes = this.viewer.interactions.sectionBox.planes.map( p => p.plane ) + - _material2.clippingPlanes = this.viewer.sectionBox.planes.map(p => p.plane); this.addSolid(wrapper, _material2); } @@ -1395,7 +1537,8 @@ var SceneObjectManager = /*#__PURE__*/function () { this.transparentObjects.clear(); this.lineObjects.clear(); this.pointObjects.clear(); - this.viewer.selectionHelper.unselect(); + this.viewer.interactions.deselectObjects(); + this.viewer.interactions.hideSelectionBox(); this.objectIds = []; this._postLoadFunction(); @@ -1405,8 +1548,18 @@ var SceneObjectManager = /*#__PURE__*/function () { value: function _postLoadFunction() { this.zoomExtents(); this.viewer.reflectionsNeedUpdate = true; - var sceneBox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3().setFromObject(this.viewer.sceneManager.userObjects); - this.viewer.sectionBox.setFromBbox(sceneBox); + } + }, { + key: "getSceneBoundingBox", + value: function getSceneBoundingBox() { + if (this.objects.length === 0) { + var _box = new three__WEBPACK_IMPORTED_MODULE_0__.Box3(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(-1, -1, -1), new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1, 1, 1)); + + return _box; + } + + var box = new three__WEBPACK_IMPORTED_MODULE_0__.Box3().setFromObject(this.userObjects); + return box; } }, { key: "zoomToObject", @@ -1417,17 +1570,17 @@ var SceneObjectManager = /*#__PURE__*/function () { }, { key: "zoomExtents", value: function zoomExtents() { - var bboxTarget = this.userObjects; - if (this.objects.length === 0) { - var _box = new three__WEBPACK_IMPORTED_MODULE_0__.Box3(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(-1, -1, -1), new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1, 1, 1)); + var _box2 = new three__WEBPACK_IMPORTED_MODULE_0__.Box3(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(-1, -1, -1), new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1, 1, 1)); - this.zoomToBox(_box); + this.zoomToBox(_box2); + this.viewer.controls.setBoundary(_box2); return; } - var box = new three__WEBPACK_IMPORTED_MODULE_0__.Box3().setFromObject(bboxTarget); + var box = new three__WEBPACK_IMPORTED_MODULE_0__.Box3().setFromObject(this.userObjects); this.zoomToBox(box); + this.viewer.controls.setBoundary(box); } }, { key: "zoomToBox", @@ -1436,13 +1589,17 @@ var SceneObjectManager = /*#__PURE__*/function () { var size = box.getSize(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3()); var target = new three__WEBPACK_IMPORTED_MODULE_0__.Sphere(); box.getBoundingSphere(target); + target.radius = target.radius * fitOffset; this.viewer.controls.fitToSphere(target, true); var maxSize = Math.max(size.x, size.y, size.z); var fitHeightDistance = maxSize / (2 * Math.atan(Math.PI * this.viewer.camera.fov / 360)); var fitWidthDistance = fitHeightDistance / this.viewer.camera.aspect; var distance = fitOffset * Math.max(fitHeightDistance, fitWidthDistance); - this.viewer.controls.minDistance = distance / 10; - this.viewer.controls.maxDistance = distance * 10; + this.viewer.controls.minDistance = distance / 100; + this.viewer.controls.maxDistance = distance * 100; + this.viewer.camera.near = distance / 100; + this.viewer.camera.far = distance * 100; + this.viewer.camera.updateProjectionMatrix(); } }, { key: "_argbToRGB", @@ -1525,6 +1682,13 @@ var SectionBox = /*#__PURE__*/function () { //defaults to invisible var vis = _vis || false; this.viewer = viewer; + this.orbiting = false; + this.viewer.controls.addEventListener('wake', () => { + this.orbiting = true; + }); + this.viewer.controls.addEventListener('controlend', () => { + this.orbiting = false; + }); this.display = new three__WEBPACK_IMPORTED_MODULE_0__.Group(); this.display.visible = vis; this.displayBox = new three__WEBPACK_IMPORTED_MODULE_0__.Group(); @@ -1535,25 +1699,22 @@ var SectionBox = /*#__PURE__*/function () { this.display.add(this.displayHover); this.viewer.scene.add(this.display); // basic display of the section box - this.boxMaterial = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial(); // the box itself + this.boxMaterial = new three__WEBPACK_IMPORTED_MODULE_0__.MeshStandardMaterial({ + transparent: true, + opacity: 0.1, + side: three__WEBPACK_IMPORTED_MODULE_0__.DoubleSide, + color: 0x0A66FF, + metalness: 0.01, + roughness: 0.75 + }); // the box itself this.boxGeo = new three__WEBPACK_IMPORTED_MODULE_0__.BoxGeometry(2, 2, 2); this.boxMesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(this.boxGeo, this.boxMaterial); - this.boxMesh.visible = false; this.boxMesh.geometry.computeBoundingBox(); this.boxMesh.geometry.computeBoundingSphere(); - this.displayBox.add(this.boxMesh); - this.lineMaterial = new three__WEBPACK_IMPORTED_MODULE_0__.LineDashedMaterial({ - color: 0x0A66FF, - linewidth: 4 - }); // show box edges - - edges.map(val => { - var pts = [this.boxGeo.vertices[val[0]].clone(), this.boxGeo.vertices[val[1]].clone()]; - var geo = new three__WEBPACK_IMPORTED_MODULE_0__.BufferGeometry().setFromPoints(pts); - var line = new three__WEBPACK_IMPORTED_MODULE_0__.Line(geo, this.lineMaterial); - this.displayEdges.add(line); - }); // normal of plane being hovered + this.displayBox.add(this.boxMesh); // const edges = new THREE.EdgesGeometry( this.boxGeo ) + // this.line = new THREE.LineSegments( edges, new THREE.LineBasicMaterial( { color: 0xDF66FF } ) ) + // normal of plane being hovered this.hoverPlane = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); this.selectionHelper = new _SelectionHelper__WEBPACK_IMPORTED_MODULE_1__.default(this.viewer, { @@ -1569,39 +1730,38 @@ var SectionBox = /*#__PURE__*/function () { this.planes = [{ axis: '+x', // right, x positive - plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1, 0, 0), 1), + plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1, 0, 0), 0), indices: [5, 4, 6, 7] }, { axis: '-x', // left, x negative - plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(-1, 0, 0), 1), + plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(-1, 0, 0), 0), indices: [0, 1, 3, 2] }, { axis: '+y', // out, y positive - plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0, 1, 0), 1), + plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0, 1, 0), 0), indices: [2, 3, 6, 7] }, { axis: '-y', // in, y negative - plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0, -1, 0), 1), + plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0, -1, 0), 0), indices: [5, 4, 1, 0] }, { axis: '+z', // up, z positive - plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0, 0, 1), 1), + plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0, 0, 1), 0), indices: [1, 3, 6, 4] }, { axis: '-z', // down, z negative - plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0, 0, -1), 1), + plane: new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0, 0, -1), 0), indices: [0, 2, 7, 5] - }]; // plane helpers - // this.planeHelpers = this.planes.map( p => this.display.add(new THREE.PlaneHelper( p.plane, 2, 0x000000 ) )); - // adds clipping planes to all materials - // better to add clipping planes to renderer + }]; // this.planes.forEach( p => { + // const helper = new THREE.PlaneHelper( p.plane, 1, 0xffff00 ) + // this.display.add( helper ) + // } ) - this.viewer.renderer.localClippingEnabled = true; this.viewer.sceneManager.objects.forEach(obj => { obj.material.clippingPlanes = this.planes.map(c => c.plane); }); @@ -1609,15 +1769,24 @@ var SectionBox = /*#__PURE__*/function () { transparent: true, opacity: 0.1, color: 0x0A66FF, - // color: 0xE91E63, metalness: 0.1, roughness: 0.75 - }); // hovered event handler + }); // Selection Helper seems unecessary for this type of thing + + this.viewer.renderer.domElement.addEventListener('pointerup', e => { + this.pointer = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); + this.tempVerts = []; + this.viewer.controls.enabled = true; + this.dragging = false; + }); + var cuttingPlane = null; + var hoverPlane = null; // hovered event handler this.selectionHelper.on('hovered', (obj, e) => { - if (!this.display.visible) return; + if (this.orbiting) return; if (obj.length === 0 && !this.dragging) { + this.viewer.controls.enabled = true; this.displayHover.clear(); this.hoverPlane = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); this.viewer.controls.enabled = true; @@ -1627,38 +1796,64 @@ var SectionBox = /*#__PURE__*/function () { return; } + this.viewer.controls.enabled = false; this.viewer.renderer.domElement.style.cursor = 'pointer'; - var index = this.planes.findIndex(p => p.plane.normal.equals(obj[0].face.normal.clone().negate())); - if (index < 0) return; // this should never be the case? - var planeObj = this.planes[index]; - var plane = planeObj.plane; - if (plane.normal.equals(this.hoverPlane)) return; - this.hoverPlane = plane.normal.clone(); - this.updateHover(planeObj); - }); // Selection Helper seems unecessary for this type of thing + switch (obj[0].faceIndex) { + case 0: + case 1: + cuttingPlane = this.planes[0]; + hoverPlane = this.planes[1]; + break; - this.viewer.renderer.domElement.addEventListener('pointerup', e => { - this.pointer = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); - this.tempVerts = []; - this.viewer.controls.enabled = true; - this.dragging = false; + case 2: + case 3: + cuttingPlane = this.planes[1]; + hoverPlane = this.planes[0]; + break; + + case 4: + case 5: + cuttingPlane = this.planes[2]; + hoverPlane = this.planes[3]; + break; + + case 6: + case 7: + cuttingPlane = this.planes[3]; + hoverPlane = this.planes[2]; + break; + + case 8: + case 9: + cuttingPlane = this.planes[4]; + hoverPlane = this.planes[5]; + break; + + case 10: + case 11: + cuttingPlane = this.planes[5]; + hoverPlane = this.planes[4]; + break; + } // this.hoverPlane = plane.normal.clone() + + + this.updateHover(hoverPlane); }); // get screen space vector of plane normal // project mouse displacement vector onto it // move plane by that much this.selectionHelper.on('object-drag', (obj, e) => { + if (this.orbiting) return; if (!this.display.visible) return; // exit if we don't have a valid hoverPlane - - if (this.hoverPlane.equals(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3())) return; // exit if we're clicking on nothing + // if ( this.hoverPlane.equals( new THREE.Vector3() ) ) return + // exit if we're clicking on nothing if (!obj.length && !this.dragging) return; this.viewer.controls.enabled = false; this.viewer.renderer.domElement.style.cursor = 'move'; this.dragging = true; - var index = this.planes.findIndex(p => p.plane.normal.equals(this.hoverPlane)); - var planeObj = this.planes[index]; - var plane = planeObj.plane; + var plane = hoverPlane.plane; if (this.pointer.equals(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3())) { this.pointer = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(e.x, e.y, 0.0); @@ -1679,23 +1874,15 @@ var SectionBox = /*#__PURE__*/function () { zoom *= 0.75; d = d * zoom; // limit plane from crossing it's pair - var hoverOpp = this.hoverPlane.clone().negate(); - var indexOpp = this.planes.findIndex(p => p.plane.normal.equals(hoverOpp)); - var planeObjOpp = this.planes[indexOpp]; - var dist = planeObj.plane.constant + planeObjOpp.plane.constant; + var planeObjOpp = cuttingPlane; + var dist = hoverPlane.plane.constant + planeObjOpp.plane.constant; var displacement = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(d, d, d).multiply(plane.normal); // are we moving towards the limiting plane? - var dot = displacement.clone().normalize().dot(plane.normal); // if displacement + padding is greater than limit, - // and we're moving towards the limiting plane - - if (dist < d && dot > 0) { - d = dist * 0.001; - displacement = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(d, d, d).multiply(plane.normal); - } - - plane.translate(displacement); - this.updateBoxFace(planeObj, displacement); - this.updateHover(planeObj); + var dot = displacement.clone().normalize().dot(plane.normal); + if (dist < 0.1 && dot < 0) return; + cuttingPlane.plane.translate(displacement); + this.updateBoxFace(hoverPlane, displacement); + this.updateHover(hoverPlane); this.viewer.needsRender = true; }); } // boxMesh = bbox @@ -1703,28 +1890,39 @@ var SectionBox = /*#__PURE__*/function () { _createClass(SectionBox, [{ key: "setFromBbox", - value: function setFromBbox(bbox) { - // add a little padding to the box - bbox.max.addScalar(10); - bbox.min.subScalar(10); + value: function setFromBbox(bbox, offset) { + bbox = bbox.clone(); // add a little padding to the box - for (var p of this.planes) { - // reset plane - // p.plane.set(p.plane.normal, 1) - var c = 0; // planes point inwards - if negative select max part of bbox + var size = bbox.getSize(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3()); + if (offset) bbox.expandByVector(size.multiplyScalar(offset)); + var dimensions = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3().subVectors(bbox.max, bbox.min); + var boxGeo = new three__WEBPACK_IMPORTED_MODULE_0__.BoxGeometry(dimensions.x, dimensions.y, dimensions.z); + var matrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().setPosition(dimensions.addVectors(bbox.min, bbox.max).multiplyScalar(0.5)); + boxGeo.applyMatrix4(matrix); + var k = 0; - if (p.plane.normal.dot(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1, 1, 1)) > 0) { - c = p.plane.normal.clone().multiply(bbox.min); - } else { - c = p.plane.normal.clone().multiply(bbox.max); - } + for (var i = 0; i < boxGeo.faces.length; i += 2) { + var plane = this.planes[k]; + var face = boxGeo.faces[i]; + plane.plane.setFromCoplanarPoints(boxGeo.vertices[face.c], boxGeo.vertices[face.b], boxGeo.vertices[face.a]); + k++; + } // update box geometry - var diff = c.length() - p.plane.constant; // displacement - var d = p.plane.normal.clone().negate().multiplyScalar(diff); - this.updateBoxFace(p, d); - p.plane.translate(d); + for (var _i = 0; _i < boxGeo.vertices.length; _i++) { + var vert = boxGeo.vertices[_i]; + + this.boxMesh.geometry.vertices[_i].set(vert.x, vert.y, vert.z); } + + this.boxMesh.geometry.verticesNeedUpdate = true; + this.boxMesh.geometry.computeBoundingBox(); + this.boxMesh.geometry.computeBoundingSphere(); + var edges = new three__WEBPACK_IMPORTED_MODULE_0__.EdgesGeometry(this.boxMesh.geometry); + var line = new three__WEBPACK_IMPORTED_MODULE_0__.LineSegments(edges, new three__WEBPACK_IMPORTED_MODULE_0__.LineBasicMaterial({ + color: 0xffffff + })); + this.displayEdges.add(line); } }, { key: "updateBoxFace", @@ -1735,28 +1933,7 @@ var SectionBox = /*#__PURE__*/function () { }); this.boxMesh.geometry.verticesNeedUpdate = true; this.boxMesh.geometry.computeBoundingBox(); - this.boxMesh.geometry.computeBoundingSphere(); - this.updateEdges(); - } - }, { - key: "updateEdges", - value: function updateEdges() { - this.displayEdges.clear(); - edges.map(val => { - var ptA = this.boxMesh.geometry.vertices[val[0]].clone(); - var ptB = this.boxMesh.geometry.vertices[val[1]].clone(); // translation - - ptA.add(this.boxMesh.position); - ptB.add(this.boxMesh.position); - this.drawLine([ptA, ptB]); - }); - } - }, { - key: "drawLine", - value: function drawLine(pts) { - var geo = new three__WEBPACK_IMPORTED_MODULE_0__.BufferGeometry().setFromPoints(pts); - var line = new three__WEBPACK_IMPORTED_MODULE_0__.Line(geo, this.lineMaterial); - this.displayEdges.add(line); + this.boxMesh.geometry.computeBoundingSphere(); // this.updateEdges() } }, { key: "updateHover", @@ -1798,6 +1975,7 @@ var SectionBox = /*#__PURE__*/function () { hoverGeo.translate(centroid.x, centroid.y, centroid.z); var hoverMesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(hoverGeo, this.hoverMat); this.displayHover.add(hoverMesh); + this.viewer.needsRender = true; } }, { key: "toggleSectionBox", @@ -1805,8 +1983,7 @@ var SectionBox = /*#__PURE__*/function () { var bool = _bool || !this.visible; this.visible = bool; this.display.visible = bool; - this.viewer.needsRender = true; // what's the tradeoff for having the clipping planes in material vs in the renderer? - // this.viewer.renderer.clippingPlanes = bool ? this.planes.reduce((p,c) => [...p,c.plane],[]) : [] + this.viewer.needsRender = true; } }]); @@ -1817,19 +1994,21 @@ var SectionBox = /*#__PURE__*/function () { /***/ }), -/***/ "./src/modules/SectionPlaneHelper.js": -/*!*******************************************!*\ - !*** ./src/modules/SectionPlaneHelper.js ***! - \*******************************************/ +/***/ "./src/modules/SectionBox2.js": +/*!************************************!*\ + !*** ./src/modules/SectionBox2.js ***! + \************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => /* binding */ SectionPlaneHelper +/* harmony export */ "default": () => /* binding */ SectionBox /* harmony export */ }); /* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "./node_modules/three/build/three.module.js"); -/* harmony import */ var three_examples_jsm_controls_TransformControls_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! three/examples/jsm/controls/TransformControls.js */ "./node_modules/three/examples/jsm/controls/TransformControls.js"); +/* harmony import */ var _SelectionHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SelectionHelper */ "./src/modules/SelectionHelper.js"); +/* harmony import */ var three_examples_jsm_helpers_FaceNormalsHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! three/examples/jsm/helpers/FaceNormalsHelper.js */ "./node_modules/three/examples/jsm/helpers/FaceNormalsHelper.js"); +/* harmony import */ var three_examples_jsm_controls_TransformControls_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! three/examples/jsm/controls/TransformControls.js */ "./node_modules/three/examples/jsm/controls/TransformControls.js"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } @@ -1838,150 +2017,232 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d -/** - * WIP: A utility class for adding section planes to the scene. - * - 'S' shows/hides section planes - * - 's' toggles controls from translate to rotate - */ -var SectionPlaneHelper = /*#__PURE__*/function () { - function SectionPlaneHelper(parent) { - _classCallCheck(this, SectionPlaneHelper); - this.viewer = parent; - this.cutters = []; - this.visible = false; - window.addEventListener('keydown', event => { - if (event.key === 's') { - this.toggleTransformControls(); + +var SectionBox = /*#__PURE__*/function () { + function SectionBox(viewer, bbox) { + _classCallCheck(this, SectionBox); + + this.viewer = viewer; + this.orbiting = false; + this.viewer.controls.addEventListener('wake', () => { + this.orbiting = true; + }); + this.viewer.controls.addEventListener('controlend', () => { + this.orbiting = false; + }); + this.box = bbox || this.viewer.sceneManager.getSceneBoundingBox(); + var dimensions = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3().subVectors(this.box.max, this.box.min); + this.boxGeo = new three__WEBPACK_IMPORTED_MODULE_0__.BoxGeometry(dimensions.x, dimensions.y, dimensions.z); + var matrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().setPosition(dimensions.addVectors(this.box.min, this.box.max).multiplyScalar(0.5)); + this.boxGeo.applyMatrix4(matrix); + this.boxMesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(this.boxGeo, new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + transparent: true, + opacity: 0.31, + wireframe: true, + side: three__WEBPACK_IMPORTED_MODULE_0__.DoubleSide, + color: 0x0A66FF + })); + var plane = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(1, 1); + this.hoverPlane = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(plane, new three__WEBPACK_IMPORTED_MODULE_0__.MeshStandardMaterial({ + transparent: true, + side: three__WEBPACK_IMPORTED_MODULE_0__.DoubleSide, + opacity: 0.3, + color: 0x23F3BD, + metalness: 0.1, + roughness: 0.75 + })); + this.display = new three__WEBPACK_IMPORTED_MODULE_0__.Group(); + this.display.add(this.boxMesh); + this.boxMesh.attach(this.hoverPlane); + this.display.add(this.hoverPlane); + this.viewer.scene.add(this.display); + var vertex = this.boxGeo.vertices[5].clone().addScalar(0.1); // vertex.addScalar( 0.1 ) + + var sphereG = new three__WEBPACK_IMPORTED_MODULE_0__.SphereGeometry(0.001); + this.gizmoSphere = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(sphereG, new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial(0x29308C)); + this.gizmoSphere.position.copy(vertex); + this.display.add(this.gizmoSphere); + this.boxMesh.userData.planes = []; + this.boxMesh.userData.indices = []; + this.planes = []; // this.normalHelper = new FaceNormalsHelper( this.boxMesh, 2, 0x00ff00, 1 ) + // this.display.add( this.normalHelper ) + + this.controls = new three_examples_jsm_controls_TransformControls_js__WEBPACK_IMPORTED_MODULE_3__.TransformControls(this.viewer.camera, this.viewer.renderer.domElement); + this.controls.setSize(0.5); + this.controls.attach(this.gizmoSphere); + this.display.add(this.controls); + this.planeControls = new three_examples_jsm_controls_TransformControls_js__WEBPACK_IMPORTED_MODULE_3__.TransformControls(this.viewer.camera, this.viewer.renderer.domElement); // this.planeControls.attach( this.hoverPlane ) + // this.planeControls.visible = false + + this.display.add(this.planeControls); + var prevGizmoPos = this.gizmoSphere.position.clone(); + this.controls.addEventListener('change', event => { + prevGizmoPos.sub(this.gizmoSphere.position); + this.boxMesh.translateX(-prevGizmoPos.x); + this.boxMesh.translateY(-prevGizmoPos.y); + this.boxMesh.translateZ(-prevGizmoPos.z); + prevGizmoPos = this.gizmoSphere.position.clone(); + this.setFromBox(new three__WEBPACK_IMPORTED_MODULE_0__.Box3().setFromObject(this.boxMesh)); + this.viewer.render(); + }); + this.controls.addEventListener('dragging-changed', event => { + this.viewer.controls.enabled = !event.value; // if ( this.viewer.controls.enabled ) this.viewer.sceneManager.zoomToObject( this.boxMesh ) + }); + + for (var i = 0; i < this.boxGeo.faces.length; i += 2) { + var face = this.boxGeo.faces[i]; + var pairFace = this.boxGeo.faces[i + 1]; + + var _plane = new three__WEBPACK_IMPORTED_MODULE_0__.Plane(); + + _plane.setFromCoplanarPoints(this.boxGeo.vertices[face.c], this.boxGeo.vertices[face.b], this.boxGeo.vertices[face.a]); // invert pts + + + var helper = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneHelper(_plane, 1, 0xffff00); + this.display.add(helper); // adding it twice for ease of use + + this.boxMesh.userData.planes.push(_plane); + this.boxMesh.userData.planes.push(_plane); + this.boxMesh.userData.indices.push([face.a, face.b, face.c, pairFace.b]); + this.boxMesh.userData.indices.push([face.a, face.b, face.c, pairFace.b]); + this.planes.push(_plane); + } + + this.selectionHelper = new _SelectionHelper__WEBPACK_IMPORTED_MODULE_1__.default(this.viewer, { + subset: this.boxMesh, + hover: true + }); + var prevIndex = -1; + var prevPointer = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); + document.addEventListener('pointerup', e => { + this.viewer.controls.enabled = true; + + if (this.dragging) { + this.viewer.sceneManager.zoomToObject(this.boxMesh); } - if (event.key === 'S') { - this.toggleSectionPlanes(); + this.dragging = false; + this.viewer.renderer.domElement.style.cursor = 'default'; + prevIndex = -1; + prevPointer = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); + }); // let faceIndex + + this.selectionHelper.on('hovered', (obj, e) => { + if (obj.length === 0 && !this.dragging) { + this.viewer.renderer.domElement.style.cursor = 'default'; + this.hoverPlane.visible = false; + this.planeControls.detach(); + this.viewer.controls.enabled = true; + this.viewer.needsRender = true; + prevIndex = -1; + return; } - }, false); + + if (this.orbiting) return; + if (this.dragging) return; + this.hoverPlane.visible = true; + this.viewer.renderer.domElement.style.cursor = 'pointer'; + var centre = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); + + for (var _i = 0; _i < 4; _i++) { + var _vertex = this.boxGeo.vertices[obj[0].object.userData.indices[obj[0].faceIndex][_i]].clone(); + + var vertexClone = _vertex.clone(); + + _vertex.applyMatrix4(this.boxMesh.matrixWorld); + + centre.add(_vertex); + + this.hoverPlane.geometry.vertices[_i].set(vertexClone.x / 4, vertexClone.y / 4, vertexClone.z / 4); + } + + centre.multiplyScalar(0.25); + this.hoverPlane.position.copy(centre); + this.hoverPlane.geometry.verticesNeedUpdate = true; + this.hoverPlane.geometry.computeBoundingBox(); + this.hoverPlane.geometry.computeBoundingSphere(); + this.planeControls.attach(this.hoverPlane); + + if (obj[0].faceIndex !== prevIndex) { + this.viewer.needsRender = true; + prevIndex = obj[0].faceIndex; + } + }); + this.selectionHelper.on('object-drag', (obj, e) => { + if (this.orbiting || !this.display.visible) return; + if (prevIndex === -1) return; + this.dragging = true; + this.viewer.renderer.domElement.style.cursor = 'move'; + this.viewer.controls.enabled = false; + var plane = this.boxMesh.userData.planes[prevIndex]; + var normal = plane.normal.clone(); + this.viewer.camera.updateMatrixWorld(); + normal.negate().project(this.viewer.camera); + normal.setComponent(2, 0).normalize(); + if (prevPointer.equals(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3())) prevPointer = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(e.x, e.y, 0); + var currentPointer = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(e.x, e.y, 0); + var mouseDeltaVector = prevPointer.clone().sub(currentPointer); + var dot = normal.dot(mouseDeltaVector); + var bbox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3().setFromObject(this.boxMesh); + var dims = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3().subVectors(bbox.max, bbox.min); + if (dot > 0 && (dims.x < 0.2 || dims.y < 0.2 || dims.z < 0.2)) return; + var zoom = this.viewer.camera.getWorldPosition(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3()).sub(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3()).length(); + zoom *= 0.5; + dot *= zoom; + var displacement = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(dot, dot, dot).multiply(plane.normal); + plane.translate(displacement); + var indices = this.boxMesh.userData.indices[prevIndex]; + + for (var _i2 = 0; _i2 < 4; _i2++) { + var index = indices[_i2]; + this.boxMesh.geometry.vertices[index].add(displacement); + + this.hoverPlane.geometry.vertices[_i2].add(displacement); + } + + this.boxMesh.geometry.verticesNeedUpdate = true; + this.boxMesh.geometry.computeBoundingBox(); + this.boxMesh.geometry.computeBoundingSphere(); + this.hoverPlane.geometry.verticesNeedUpdate = true; + this.hoverPlane.geometry.computeBoundingBox(); + this.hoverPlane.geometry.computeBoundingSphere(); + var gizmoPos = this.boxGeo.vertices[5].clone(); + gizmoPos.addScalar(0.1); + gizmoPos.applyMatrix4(this.boxMesh.matrixWorld); + this.gizmoSphere.position.copy(gizmoPos); + prevGizmoPos = gizmoPos; + this.viewer.needsRender = true; + prevPointer = currentPointer.clone(); + }); } - _createClass(SectionPlaneHelper, [{ - key: "toggleTransformControls", - value: function toggleTransformControls() { - this.cutters.forEach(cutter => { - if (cutter.control.mode === 'rotate') { - cutter.control.setMode('translate'); - cutter.control.showX = false; - cutter.control.showY = false; - cutter.control.showZ = true; - return; - } + _createClass(SectionBox, [{ + key: "setFromBox", + value: function setFromBox(box) { + var dimensions = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3().subVectors(box.max, box.min); + var boxGeo = new three__WEBPACK_IMPORTED_MODULE_0__.BoxGeometry(dimensions.x, dimensions.y, dimensions.z); + var matrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().setPosition(dimensions.addVectors(box.min, box.max).multiplyScalar(0.5)); + boxGeo.applyMatrix4(matrix); - cutter.control.setMode('rotate'); - cutter.control.showX = true; - cutter.control.showY = true; - cutter.control.showZ = false; - }); - } - }, { - key: "createSectionPlane", - value: function createSectionPlane() { - var cutter = {}; - cutter.id = this.cutters.length; - cutter.visible = false; - cutter.plane = new three__WEBPACK_IMPORTED_MODULE_0__.Plane(new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0, 0, -1), 1); - cutter.helper = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(1, 1, 1), new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ - color: 0xAFAFAF, - transparent: true, - opacity: 0.1, - side: three__WEBPACK_IMPORTED_MODULE_0__.DoubleSide - })); - cutter.helper.visible = false; - this.viewer.scene.add(cutter.helper); - cutter.control = new three_examples_jsm_controls_TransformControls_js__WEBPACK_IMPORTED_MODULE_1__.TransformControls(this.viewer.camera, this.viewer.renderer.domElement); - cutter.control.setSize(0.5); - cutter.control.space = 'local'; - cutter.control.showX = false; - cutter.control.showY = false; - cutter.control.setRotationSnap(three__WEBPACK_IMPORTED_MODULE_0__.MathUtils.degToRad(15)); - cutter.control.addEventListener('change', () => this.viewer.render); - cutter.control.addEventListener('dragging-changed', event => { - if (!cutter.visible) return; - this.viewer.controls.enabled = !event.value; // Reference: https://stackoverflow.com/a/52124409 + for (var i = 0; i < this.boxGeo.faces.length; i += 2) { + var face = boxGeo.faces[i]; + var plane = this.boxMesh.userData.planes[i]; + plane.setFromCoplanarPoints(boxGeo.vertices[face.c], boxGeo.vertices[face.b], boxGeo.vertices[face.a]); // invert pts + } - var normal = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); - var point = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); - normal.set(0, 0, -1).applyQuaternion(cutter.helper.quaternion); - point.copy(cutter.helper.position); - cutter.plane.setFromNormalAndCoplanarPoint(normal, point); - }); - cutter.control.attach(cutter.helper); - cutter.control.visible = false; - this.viewer.scene.add(cutter.control); - this.cutters.push(cutter); // adds local clipping planes to all materials - - var objs = this.viewer.sceneManager.objects; - objs.forEach(obj => { - obj.material.clippingPlanes = this.cutters.map(c => c.plane); - }); + this.boxMesh.geometry.verticesNeedUpdate = true; // TODO: gizmo moving } }, { - key: "toggleSectionPlanes", - value: function toggleSectionPlanes() { - if (this.visible) this.hideSectionPlanes();else this.showSectionPlanes(); - this.visible = !this.visible; - } - }, { - key: "showSectionPlanes", - value: function showSectionPlanes() { - this._matchSceneSize(); - - this.cutters.forEach(cutter => { - cutter.visible = true; - cutter.helper.visible = true; - cutter.control.visible = true; - }); - this.viewer.renderer.localClippingEnabled = true; - } - }, { - key: "hideSectionPlanes", - value: function hideSectionPlanes() { - this.cutters.forEach(cutter => { - cutter.visible = false; - cutter.helper.visible = false; - cutter.control.visible = false; - }); - this.viewer.renderer.localClippingEnabled = false; - } - }, { - key: "_matchSceneSize", - value: function _matchSceneSize() { - // Scales and translate helper to scene bbox center and origin - var sceneBox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3().setFromObject(this.viewer.sceneManager.userObjects); - var sceneSize = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); - sceneBox.getSize(sceneSize); - var sceneCenter = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); - sceneBox.getCenter(sceneCenter); - this.cutters.forEach(cutter => { - cutter.helper.scale.set(sceneSize.x > 0 ? sceneSize.x : 1, sceneSize.y > 0 ? sceneSize.y : 1, sceneSize.z > 0 ? sceneSize.z : 1); - cutter.helper.position.set(sceneCenter.x, sceneCenter.y, sceneCenter.z); - var normal = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); - var point = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(); - normal.set(0, 0, -1).applyQuaternion(cutter.helper.quaternion); - point.copy(cutter.helper.position); - cutter.plane.setFromNormalAndCoplanarPoint(normal, point); - }); - } - }, { - key: "planes", - get: function get() { - return this.cutters.map(cutter => cutter.plane); - } - }, { - key: "activePlanes", - get: function get() { - return this.cutters.filter(cutter => cutter.visible).map(cutter => cutter.plane); + key: "dispose", + value: function dispose() { + this.selectionHelper.dispose(); + this.display.clear(); } }]); - return SectionPlaneHelper; + return SectionBox; }(); @@ -2009,6 +2270,10 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } @@ -2058,21 +2323,15 @@ var SelectionHelper = /*#__PURE__*/function (_EventEmitter) { _this.viewer = parent; _this.raycaster = new three__WEBPACK_IMPORTED_MODULE_0__.Raycaster(); // Handle clicks during camera moves - _this.orbiting = false; // this.viewer.controls.addEventListener( 'control', debounce( () => { this.orbiting = false; console.log( 'ctrlstart '+ this.orbiting ) }, 200 ) ) + _this.orbiting = false; _this.viewer.controls.addEventListener('wake', () => { _this.orbiting = true; - console.log('wake'); - }); // this.viewer.controls.addEventListener( 'controlend', () => { this.orbiting = false; console.log( 'controlend' ) } ) - + }); _this.viewer.controls.addEventListener('sleep', () => { _this.orbiting = false; - console.log('sleep'); - }); // this.viewer.controls.addEventListener( 'change', debounce( () => { this.orbiting = false }, 100 ) ) - // this.viewer.controls.addEventListener( 'start', debounce( () => { this.orbiting = true }, 200 ) ) - // this.viewer.controls.addEventListener( 'end', debounce( () => { this.orbiting = false }, 200 ) ) - // optional param allows for raycasting against a subset of objects + }); // optional param allows for raycasting against a subset of objects // this.subset = typeof _options !== 'undefined' && typeof _options.subset !== 'undefined' ? _options.subset : null; @@ -2109,15 +2368,13 @@ var SelectionHelper = /*#__PURE__*/function (_EventEmitter) { var mdTime; - _this.viewer.renderer.domElement.addEventListener('pointerdown', e => { + _this.viewer.renderer.domElement.addEventListener('pointerdown', () => { mdTime = new Date().getTime(); }); _this.viewer.renderer.domElement.addEventListener('pointerup', e => { var delta = new Date().getTime() - mdTime; - console.log(delta); _this.pointerDown = false; - console.log('pointerup: ' + _this.orbiting); if (_this.orbiting && delta > 250) return; var selectionObjects = _this.getClickedObjects(e); @@ -2154,11 +2411,9 @@ var SelectionHelper = /*#__PURE__*/function (_EventEmitter) { }); _this.viewer.renderer.domElement.addEventListener('dblclick', e => { - // if ( this.orbiting ) return // not needed for zoom to thing? var selectionObjects = _this.getClickedObjects(e); - _this.emit('object-doubleclicked', selectionObjects); // this.handleDoubleClick( selectionObjects ) - + _this.emit('object-doubleclicked', selectionObjects); }); // Handle multiple object selection @@ -2187,8 +2442,8 @@ var SelectionHelper = /*#__PURE__*/function (_EventEmitter) { var normalizedPosition = this._getNormalisedClickPosition(e); this.raycaster.setFromCamera(normalizedPosition, this.viewer.camera); - var intersectedObjects = this.raycaster.intersectObjects(this.subset ? this._getGroupChildren(this.subset) : this.viewer.sceneManager.objects); - intersectedObjects = intersectedObjects.filter(obj => this.viewer.sectionPlaneHelper.activePlanes.every(pl => pl.distanceToPoint(obj.point) > 0)); + var intersectedObjects = this.raycaster.intersectObjects(this.subset ? this._getGroupChildren(this.subset) : this.viewer.sceneManager.objects); // intersectedObjects = intersectedObjects.filter( obj => this.viewer.sectionPlaneHelper.activePlanes.every( pl => pl.distanceToPoint( obj.point ) > 0 ) ) + return intersectedObjects; } // get all children of a subset passed as a THREE.Group @@ -2218,6 +2473,8 @@ var SelectionHelper = /*#__PURE__*/function (_EventEmitter) { }, { key: "dispose", value: function dispose() { + _get(_getPrototypeOf(SelectionHelper.prototype), "dispose", this).call(this); + this.unselect(); this.originalSelectionObjects = null; } @@ -2517,11 +2774,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var three_examples_jsm_postprocessing_SSAOPass_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! three/examples/jsm/postprocessing/SSAOPass.js */ "./node_modules/three/examples/jsm/postprocessing/SSAOPass.js"); /* harmony import */ var three_examples_jsm_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! three/examples/jsm/libs/stats.module.js */ "./node_modules/three/examples/jsm/libs/stats.module.js"); /* harmony import */ var _SceneObjectManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SceneObjectManager */ "./src/modules/SceneObjectManager.js"); -/* harmony import */ var _SelectionHelper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SelectionHelper */ "./src/modules/SelectionHelper.js"); -/* harmony import */ var _SectionPlaneHelper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./SectionPlaneHelper */ "./src/modules/SectionPlaneHelper.js"); -/* harmony import */ var _ViewerObjectLoader__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ViewerObjectLoader */ "./src/modules/ViewerObjectLoader.js"); -/* harmony import */ var _EventEmitter__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./EventEmitter */ "./src/modules/EventEmitter.js"); -/* harmony import */ var _SectionBox__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./SectionBox */ "./src/modules/SectionBox.js"); +/* harmony import */ var _ViewerObjectLoader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ViewerObjectLoader */ "./src/modules/ViewerObjectLoader.js"); +/* harmony import */ var _EventEmitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./EventEmitter */ "./src/modules/EventEmitter.js"); +/* harmony import */ var _InteractionHandler__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./InteractionHandler */ "./src/modules/InteractionHandler.js"); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } @@ -2556,8 +2811,6 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g - - var Viewer = /*#__PURE__*/function (_EventEmitter) { _inherits(Viewer, _EventEmitter); @@ -2618,9 +2871,8 @@ var Viewer = /*#__PURE__*/function (_EventEmitter) { camera_controls__WEBPACK_IMPORTED_MODULE_1__.default.install({ THREE: three__WEBPACK_IMPORTED_MODULE_0__ }); - _this.controls = new camera_controls__WEBPACK_IMPORTED_MODULE_1__.default(_this.camera, _this.renderer.domElement); - _this.controls.maxPolarAngle = Math.PI / 2; - _this.controls.dampingFactor = 0.1; + _this.controls = new camera_controls__WEBPACK_IMPORTED_MODULE_1__.default(_this.camera, _this.renderer.domElement); // this.controls.maxPolarAngle = Math.PI / 2 + _this.composer = new three_examples_jsm_postprocessing_EffectComposer_js__WEBPACK_IMPORTED_MODULE_2__.EffectComposer(_this.renderer); _this.ssaoPass = new three_examples_jsm_postprocessing_SSAOPass_js__WEBPACK_IMPORTED_MODULE_3__.SSAOPass(_this.scene, _this.camera, _this.container.offsetWidth, _this.container.offsetHeight); _this.ssaoPass.kernelRadius = 0.03; @@ -2637,26 +2889,13 @@ var Viewer = /*#__PURE__*/function (_EventEmitter) { _this.pauseSSAO = true; }); - _this.controls.addEventListener('controlend', () => { + _this.controls.addEventListener('sleep', () => { _this.pauseSSAO = false; - }); // Selected Objects + _this.needsRender = true; + }); // Keeps track of loaded objects - _this.selectionMaterial = new three__WEBPACK_IMPORTED_MODULE_0__.MeshLambertMaterial({ - color: 0x0B55D2, - emissive: 0x0B55D2, - side: three__WEBPACK_IMPORTED_MODULE_0__.DoubleSide - }); - _this.selectedObjects = new three__WEBPACK_IMPORTED_MODULE_0__.Group(); - - _this.scene.add(_this.selectedObjects); - - _this.selectedObjects.renderOrder = 1000; - _this.selectionHelper = new _SelectionHelper__WEBPACK_IMPORTED_MODULE_6__.default(_assertThisInitialized(_this)); // Viewer registers double click event and supplies handler - - _this.selectionHelper.on('object-doubleclicked', _this.handleDoubleClick.bind(_assertThisInitialized(_this))); - - _this.selectionHelper.on('object-clicked', _this.handleSelect.bind(_assertThisInitialized(_this))); + _this.sceneManager = new _SceneObjectManager__WEBPACK_IMPORTED_MODULE_5__.default(_assertThisInitialized(_this)); if (showStats) { _this.stats = new three_examples_jsm_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_4__.default(); @@ -2665,13 +2904,7 @@ var Viewer = /*#__PURE__*/function (_EventEmitter) { } window.addEventListener('resize', _this.onWindowResize.bind(_assertThisInitialized(_this)), false); - _this.sectionPlaneHelper = new _SectionPlaneHelper__WEBPACK_IMPORTED_MODULE_7__.default(_assertThisInitialized(_this)); - _this.sceneManager = new _SceneObjectManager__WEBPACK_IMPORTED_MODULE_5__.default(_assertThisInitialized(_this)); - - _this.sectionPlaneHelper.createSectionPlane(); // Section Box - - - _this.sectionBox = new _SectionBox__WEBPACK_IMPORTED_MODULE_10__.default(_assertThisInitialized(_this)); + _this.interactions = new _InteractionHandler__WEBPACK_IMPORTED_MODULE_8__.default(_assertThisInitialized(_this)); _this.needsRender = true; _this.sceneLights(); @@ -2680,36 +2913,9 @@ var Viewer = /*#__PURE__*/function (_EventEmitter) { _this.loaders = []; return _this; - } // handleDoubleClick moved from SelectionHelper - + } _createClass(Viewer, [{ - key: "handleDoubleClick", - value: function handleDoubleClick(objs) { - if (!objs || objs.length === 0) this.sceneManager.zoomExtents();else this.sceneManager.zoomToObject(objs[0].object); - this.needsRender = true; - } // handleSelect moved from SelectionHelper - - }, { - key: "handleSelect", - value: function handleSelect(obj) { - if (obj.length === 0) { - this.deselect(); - return; - } - - if (!this.selectionHelper.multiSelect) this.deselect(); - var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(obj[0].object.geometry, this.selectionMaterial); - this.selectedObjects.add(mesh); - this.needsRender = true; - } - }, { - key: "deselect", - value: function deselect() { - this.selectedObjects.clear(); - this.needsRender = true; - } - }, { key: "sceneLights", value: function sceneLights() { var ambientLight = new three__WEBPACK_IMPORTED_MODULE_0__.AmbientLight(0xffffff); @@ -2807,7 +3013,7 @@ var Viewer = /*#__PURE__*/function (_EventEmitter) { key: "loadObject", value: function () { var _loadObject = _asyncToGenerator(function* (url, token) { - var loader = new _ViewerObjectLoader__WEBPACK_IMPORTED_MODULE_8__.default(this, url, token); + var loader = new _ViewerObjectLoader__WEBPACK_IMPORTED_MODULE_6__.default(this, url, token); this.loaders.push(loader); yield loader.load(); }); @@ -2825,7 +3031,7 @@ var Viewer = /*#__PURE__*/function (_EventEmitter) { }]); return Viewer; -}(_EventEmitter__WEBPACK_IMPORTED_MODULE_9__.default); +}(_EventEmitter__WEBPACK_IMPORTED_MODULE_7__.default); @@ -66684,6 +66890,128 @@ var NURBSUtils = { +/***/ }), + +/***/ "./node_modules/three/examples/jsm/helpers/FaceNormalsHelper.js": +/*!**********************************************************************!*\ + !*** ./node_modules/three/examples/jsm/helpers/FaceNormalsHelper.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "FaceNormalsHelper": () => /* binding */ FaceNormalsHelper +/* harmony export */ }); +/* harmony import */ var _build_three_module_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../build/three.module.js */ "./node_modules/three/build/three.module.js"); + + +var _v1 = new _build_three_module_js__WEBPACK_IMPORTED_MODULE_0__.Vector3(); +var _v2 = new _build_three_module_js__WEBPACK_IMPORTED_MODULE_0__.Vector3(); +var _normalMatrix = new _build_three_module_js__WEBPACK_IMPORTED_MODULE_0__.Matrix3(); + +function FaceNormalsHelper( object, size, hex, linewidth ) { + + // FaceNormalsHelper only supports THREE.Geometry + + this.object = object; + + this.size = ( size !== undefined ) ? size : 1; + + var color = ( hex !== undefined ) ? hex : 0xffff00; + + var width = ( linewidth !== undefined ) ? linewidth : 1; + + // + + var nNormals = 0; + + var objGeometry = this.object.geometry; + + if ( objGeometry && objGeometry.isGeometry ) { + + nNormals = objGeometry.faces.length; + + } else { + + console.warn( 'THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.' ); + + } + + // + + var geometry = new _build_three_module_js__WEBPACK_IMPORTED_MODULE_0__.BufferGeometry(); + + var positions = new _build_three_module_js__WEBPACK_IMPORTED_MODULE_0__.Float32BufferAttribute( nNormals * 2 * 3, 3 ); + + geometry.setAttribute( 'position', positions ); + + _build_three_module_js__WEBPACK_IMPORTED_MODULE_0__.LineSegments.call( this, geometry, new _build_three_module_js__WEBPACK_IMPORTED_MODULE_0__.LineBasicMaterial( { color: color, linewidth: width } ) ); + + this.type = 'FaceNormalsHelper'; + + // + + this.matrixAutoUpdate = false; + this.update(); + +} + +FaceNormalsHelper.prototype = Object.create( _build_three_module_js__WEBPACK_IMPORTED_MODULE_0__.LineSegments.prototype ); +FaceNormalsHelper.prototype.constructor = FaceNormalsHelper; + +FaceNormalsHelper.prototype.update = function () { + + this.object.updateMatrixWorld( true ); + + _normalMatrix.getNormalMatrix( this.object.matrixWorld ); + + var matrixWorld = this.object.matrixWorld; + + var position = this.geometry.attributes.position; + + // + + var objGeometry = this.object.geometry; + + var vertices = objGeometry.vertices; + + var faces = objGeometry.faces; + + var idx = 0; + + for ( var i = 0, l = faces.length; i < l; i ++ ) { + + var face = faces[ i ]; + + var normal = face.normal; + + _v1.copy( vertices[ face.a ] ) + .add( vertices[ face.b ] ) + .add( vertices[ face.c ] ) + .divideScalar( 3 ) + .applyMatrix4( matrixWorld ); + + _v2.copy( normal ).applyMatrix3( _normalMatrix ).normalize().multiplyScalar( this.size ).add( _v1 ); + + position.setXYZ( idx, _v1.x, _v1.y, _v1.z ); + + idx = idx + 1; + + position.setXYZ( idx, _v2.x, _v2.y, _v2.z ); + + idx = idx + 1; + + } + + position.needsUpdate = true; + +}; + + + + + /***/ }), /***/ "./node_modules/three/examples/jsm/libs/stats.module.js": diff --git a/packages/viewer/example/demo.js.map b/packages/viewer/example/demo.js.map index 9d8666d30..be948414a 100644 --- a/packages/viewer/example/demo.js.map +++ b/packages/viewer/example/demo.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://@speckle/viewer/./node_modules/ansi-html/index.js","webpack://@speckle/viewer/./node_modules/ansi-regex/index.js","webpack://@speckle/viewer/./src/app.js","webpack://@speckle/viewer/./src/modules/Converter.js","webpack://@speckle/viewer/./src/modules/EventEmitter.js","webpack://@speckle/viewer/./src/modules/ObjectLoader.js","webpack://@speckle/viewer/./src/modules/ObjectWrapper.js","webpack://@speckle/viewer/./src/modules/SceneObjectManager.js","webpack://@speckle/viewer/./src/modules/SectionBox.js","webpack://@speckle/viewer/./src/modules/SectionPlaneHelper.js","webpack://@speckle/viewer/./src/modules/SelectionHelper.js","webpack://@speckle/viewer/./src/modules/Units.js","webpack://@speckle/viewer/./src/modules/Viewer.js","webpack://@speckle/viewer/./src/modules/ViewerObjectLoader.js","webpack://@speckle/viewer/./node_modules/camera-controls/dist/camera-controls.module.js","webpack://@speckle/viewer/./node_modules/events/events.js","webpack://@speckle/viewer/./node_modules/html-entities/lib/html4-entities.js","webpack://@speckle/viewer/./node_modules/html-entities/lib/html5-entities.js","webpack://@speckle/viewer/./node_modules/html-entities/lib/index.js","webpack://@speckle/viewer/./node_modules/html-entities/lib/surrogate-pairs.js","webpack://@speckle/viewer/./node_modules/html-entities/lib/xml-entities.js","webpack://@speckle/viewer/./node_modules/lodash.debounce/index.js","webpack://@speckle/viewer/./node_modules/loglevel/lib/loglevel.js","webpack://@speckle/viewer/./node_modules/punycode/punycode.es6.js","webpack://@speckle/viewer/./node_modules/querystring/decode.js","webpack://@speckle/viewer/./node_modules/querystring/encode.js","webpack://@speckle/viewer/./node_modules/querystring/index.js","webpack://@speckle/viewer/./node_modules/sockjs-client/dist/sockjs.js","webpack://@speckle/viewer/./node_modules/strip-ansi/index.js","webpack://@speckle/viewer/./node_modules/three/build/three.module.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/controls/TransformControls.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/curves/NURBSCurve.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/curves/NURBSUtils.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/libs/stats.module.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/math/SimplexNoise.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/postprocessing/EffectComposer.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/postprocessing/MaskPass.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/postprocessing/Pass.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/postprocessing/SSAOPass.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/postprocessing/ShaderPass.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/shaders/CopyShader.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/shaders/SSAOShader.js","webpack://@speckle/viewer/./node_modules/three/examples/jsm/utils/BufferGeometryUtils.js","webpack://@speckle/viewer/./node_modules/url/url.js","webpack://@speckle/viewer/./node_modules/url/util.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/clients/BaseClient.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/clients/SockJSClient.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/index.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/overlay.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/socket.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/utils/createSocketUrl.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/utils/getCurrentScriptSource.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/utils/log.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/utils/reloadApp.js","webpack://@speckle/viewer/./node_modules/webpack-dev-server/client/utils/sendMessage.js","webpack://@speckle/viewer/./node_modules/webpack/hot/emitter.js","webpack://@speckle/viewer/./node_modules/webpack/hot/log.js","webpack://@speckle/viewer//Users/Bender/Documents/dev/next/server/packages/viewer/node_modules/webpack/hot|sync|nonrecursive|/^\\.\\/log$/","webpack://@speckle/viewer/webpack/bootstrap","webpack://@speckle/viewer/webpack/runtime/compat get default export","webpack://@speckle/viewer/webpack/runtime/define property getters","webpack://@speckle/viewer/webpack/runtime/global","webpack://@speckle/viewer/webpack/runtime/hasOwnProperty shorthand","webpack://@speckle/viewer/webpack/runtime/make namespace object","webpack://@speckle/viewer/webpack/startup"],"names":["v","Viewer","container","document","getElementById","on","args","console","log","window","token","LoadData","url","value","loadObject","LoadDataOld","id","loader","ObjectLoader","serverUrl","streamId","objectId","converter","Converter","first","obj","traverseAndConvert","o","sceneManager","addObject","getObjectIterator","Coverter","objectLoader","warn","curveSegmentLength","callback","referencedId","resolveReference","Array","isArray","element","type","getSpeckleType","data","e","target","displayValue","units","bufferGeometry","convert","ObjectWrapper","message","prop","arr","dechunked","ref","real","getObject","push","speckle_type","split","reverse","MeshToBufferGeometry","displayMesh","Edges","Faces","Loops","Trims","Curve2D","Curve3D","Surfaces","Vertices","conversionFactor","getConversionFactor","buffer","THREE","indices","vertices","dechunk","faces","k","length","Error","setIndex","setAttribute","map","computeVertexNormals","computeFaceNormals","computeBoundingSphere","buf","setFromPoints","PolylineToBufferGeometry","object","Object","assign","points","i","geometry","segments","buffers","conv","BufferGeometryUtils","weights","knots","concat","curve","NURBSCurve","degree","div","getLength","parseInt","toString","pts","getPoints","poly","getCircularCurvePoints","plane","radius","startAngle","endAngle","startPoint","endPoint","midPoint","res","Math","PI","center","origin","xAxis","xdir","yAxis","ydir","resolution","index","t","x","cos","y","sin","xMove","z","yMove","pt","addVectors","add","radius1","radius2","EventEmitter","_events","name","listener","listenerToRemove","filterListeners","filter","fireCallbacks","forEach","INTERVAL_MS","TIMEOUT_MS","location","localStorage","getItem","headers","requestUrl","promises","intervals","clearInterval","interval","promise","Promise","resolve","reject","elapsed","intervalId","setInterval","tryResolvePromise","bind","p","getRawObjectIterator","line","processLine","chunk","pieces","JSON","parse","decoder","TextDecoder","response","fetch","reader","body","getReader","done","readerDone","read","decode","re","startIndex","result","exec","remainder","substr","lastIndex","substring","meta","geometryType","SceneObjectManager","viewer","scene","userObjects","solidObjects","lineObjects","pointObjects","transparentObjects","solidMaterial","color","emissive","roughness","metalness","side","envMap","cubeCamera","renderTarget","texture","transparentMaterial","transparent","opacity","lineMaterial","pointMaterial","size","sizeAttenuation","objectIds","postLoad","debounce","_postLoadFunction","loaders","wrapper","renderMaterial","renderMat","_argbToRGB","diffuse","_normaliseColor","material","clone","clippingPlanes","sectionBox","planes","addTransparentSolid","addSolid","addLine","addPoint","mesh","userData","uuid","dot","objects","dispose","clear","selectionHelper","unselect","zoomExtents","reflectionsNeedUpdate","sceneBox","setFromObject","setFromBbox","box","zoomToBox","bboxTarget","fitOffset","getSize","getBoundingSphere","controls","fitToSphere","maxSize","max","fitHeightDistance","atan","camera","fov","fitWidthDistance","aspect","distance","minDistance","maxDistance","argb","slice","hsl","getHSL","s","l","setHSL","h","children","edges","SectionBox","_vis","vis","display","visible","displayBox","displayEdges","displayHover","boxMaterial","boxGeo","boxMesh","computeBoundingBox","linewidth","val","geo","hoverPlane","SelectionHelper","subset","hover","pointer","dragging","axis","renderer","localClippingEnabled","c","hoverMat","enabled","domElement","style","cursor","findIndex","normal","equals","face","negate","planeObj","updateHover","addEventListener","tempVerts","ssNorm","project","setComponent","normalize","mD","sub","d","lengthSq","zoom","getWorldPosition","hoverOpp","indexOpp","planeObjOpp","dist","constant","displacement","multiply","translate","updateBoxFace","needsRender","bbox","addScalar","min","subScalar","diff","multiplyScalar","includes","verticesNeedUpdate","updateEdges","ptA","ptB","position","drawLine","verts","centroid","dims","toArray","width","abs","height","hoverGeo","rotateY","rotateX","hoverMesh","_bool","bool","SectionPlaneHelper","parent","cutters","event","key","toggleTransformControls","toggleSectionPlanes","cutter","control","mode","setMode","showX","showY","showZ","helper","DoubleSide","TransformControls","setSize","space","setRotationSnap","render","point","set","applyQuaternion","quaternion","copy","setFromNormalAndCoplanarPoint","attach","objs","hideSectionPlanes","showSectionPlanes","_matchSceneSize","sceneSize","sceneCenter","getCenter","scale","_options","raycaster","orbiting","pointerDown","hovered","getClickedObjects","emit","_getNormalisedClickPosition","mdTime","Date","getTime","delta","selectionObjects","tapTimeout","lastTap","touchLocation","targetTouches","currentTime","tapLength","clearTimeout","setTimeout","multiSelect","isComposing","keyCode","originalSelectionObjects","normalizedPosition","setFromCamera","intersectedObjects","intersectObjects","_getGroupChildren","sectionPlaneHelper","activePlanes","every","pl","distanceToPoint","group","a","canvas","rect","getBoundingClientRect","pos","clientX","left","clientY","top","Units","Millimeters","Centimeters","Meters","Kilometers","Inches","Feet","Yards","Miles","from","to","normaliseName","unit","toLowerCase","postprocessing","reflections","showStats","clock","innerWidth","innerHeight","up","updateProjectionMatrix","antialias","alpha","setClearColor","setPixelRatio","devicePixelRatio","offsetWidth","offsetHeight","appendChild","cubeRenderTarget","format","generateMipmaps","minFilter","LinearMipmapLinearFilter","CameraControls","maxPolarAngle","dampingFactor","composer","EffectComposer","ssaoPass","SSAOPass","kernelRadius","kernelSize","output","addPass","pauseSSAO","selectionMaterial","selectedObjects","renderOrder","handleDoubleClick","handleSelect","stats","Stats","dom","onWindowResize","ObjectManager","createSectionPlane","sceneLights","animate","zoomToObject","deselect","ambientLight","lights","factor","hemiLight","groundColor","axesHelper","getDelta","hasControlsUpdated","update","requestAnimationFrame","begin","end","background","ViewerObjectLoader","load","objectUrl","authToken","URL","pathname","indexOf","current","total","totalChildrenCount","progress"],"mappings":";;;;;;;;;;AAAY;;AAEZ;;AAEA;AACA,mDAAmD,IAAI,SAAS,MAAM,IAAI;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,GAAG;AACH;AACA,sBAAsB;AACtB,GAAG;AACH,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,uCAAuC,UAAU,+BAA+B;AAChF;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/Ka;AACb;AACA,6BAA6B,YAAY,IAAI,IAAI,MAAM,IAAI;AAC3D;;;;;;;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AAEA,IAAIA,CAAC,GAAG,IAAIC,oDAAJ,CAAY;AAAEC,WAAS,EAAEC,QAAQ,CAACC,cAAT,CAAyB,UAAzB;AAAb,CAAZ,CAAR;AACAJ,CAAC,CAACK,E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lL,YAAZ,CAAyBC,SAAzB,CAAoCF,CAApC,CAAjD,CAAN;AACD,eAFD;;AAGAH,mBAAK,GAAG,KAAR;AACAsgB,mBAAK,GAAGrgB,GAAG,CAACsgB,kBAAZ;AACD;;AACDF,mBAAO;;AACP,iBAAI,CAAC/U,MAAL,CAAYsN,IAAZ,CAAkB,eAAlB,EAAmC;AAAE4H,sBAAQ,EAAEH,OAAO,IAAGC,KAAK,GAAC,CAAT,CAAnB;AAAiC9gB,gBAAE,EAAE,KAAI,CAACK;AAA1C,aAAnC;AAbU;;AAIZ,8CAAuB,KAAKJ,MAAL,CAAYa,iBAAZ,EAAvB,oLAAyD;AAAA;AAUxD;AAdW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeb,O;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,8EAA8E;AACvG;AACA;;AAEA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+GAA+G,eAAe;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,iBAAiB;AACrF;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C,gCAAgC,iBAAiB;AACjD;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;ACrtC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA,QAAQ,yBAAyB;AACjC;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;AC3da;AACb,8CAA6C,CAAC,cAAc,EAAC;AAC7D,wBAAwB,mBAAO,CAAC,8EAAmB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,gFAAgF;AAChF;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qBAAqB;;;;;;;;;;;;AC/HR;AACb,8CAA6C,CAAC,cAAc,EAAC;AAC7D,wBAAwB,mBAAO,CAAC,8EAAmB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF;AAChF;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtKa;AACb,8CAA6C,CAAC,cAAc,EAAC;AAC7D,qBAAqB,mBAAO,CAAC,wEAAgB;AAC7C,mBAAmB;AACnB,uBAAuB,mBAAO,CAAC,4EAAkB;AACjD,qBAAqB;AACrB,uBAAuB,mBAAO,CAAC,4EAAkB;AACjD,qBAAqB;AACrB,uBAAuB;;;;;;;;;;;;ACRV;AACb,8CAA6C,CAAC,cAAc,EAAC;AAC7D,qBAAqB;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,yBAAyB;AACzB,uBAAuB;;;;;;;;;;;;ACdV;AACb,8CAA6C,CAAC,cAAc,EAAC;AAC7D,wBAAwB,mBAAO,CAAC,8EAAmB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,WAAW;AACX,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,iBAAiB;AACjB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,gFAAgF;AAChF;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAmB;;;;;;;;;;;ACnInB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB,qBAAM,gBAAgB,qBAAM,IAAI,qBAAM,sBAAsB,qBAAM;;AAE1F;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACxXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAA0C;AAClD,QAAQ,oCAAO,UAAU;AAAA;AAAA;AAAA;AAAA,kGAAC;AAC1B,KAAK,MAAM,EAIN;AACL,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,qEAAqE;AACrE,WAAW;AACX;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;ACjRY;;AAEb;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,sBAAsB;;AAEtB;AACA;AACA,mCAAmC;AACnC,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,IAAI;AACJ,mCAAmC;AACnC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mCAAmC;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB,4CAA4C,qBAAqB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;;AAE/C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,oBAAoB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEsE;AACtE,iEAAe,QAAQ,EAAC;;;;;;;;;;;;ACxbxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;AC/Da;;AAEb,cAAc,GAAG,2FAAmC;AACpD,cAAc,GAAG,+FAAuC;;;;;;;;;;;ACHxD;AACA,aAAa,GAAG,IAAsD,EAAE,mBAAmB,KAAK,UAA+N,CAAC,aAAa,0BAA0B,mBAAmB,kBAAkB,gBAAgB,UAAU,UAAU,MAAM,SAAmC,CAAC,gBAAgB,OAAC,OAAO,oBAAoB,8CAA8C,kCAAkC,YAAY,YAAY,mCAAmC,iBAAiB,eAAe,sBAAsB,oBAAoB,UAAU,SAAmC,KAAK,WAAW,YAAY,SAAS,SAAS,KAAK;AAC3zB;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,EAAE,kCAAkC;AACrC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC,EAAE,0BAA0B;AAC7B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC,EAAE,gCAAgC;AACnC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC,EAAE,0BAA0B;AAC7B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,EAAE,+BAA+B;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,uIAAuI;AAC1I;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,mEAAmE;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,EAAE,sFAAsF;AACzF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE,QAAQ,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAElJ,CAAC,EAAE,sHAAsH;AACzH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,wNAAwN;AAC3N;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,GAAG;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gDAAgD,WAAW;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC,aAAa,QAAQ,EAAE,QAAQ,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAElJ,CAAC,EAAE,8XAA8X;AACjY;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,SAAS;AACzC;AACA,KAAK,YAAY;AACjB;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;AACD;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,sCAAsC,EAAE;;AAE9H;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qDAAqD;AACrD,qEAAqE;AACrE;AACA;AACA,wDAAwD;AACxD,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,mBAAmB;;;AAG5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,gCAAgC;AAC9E,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;;AAE9D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,0BAA0B;AACrE;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kDAAkD,WAAW;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,CAAC,GAAG;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,EAAE,0QAA0Q;AAC7Q;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE,QAAQ,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAElJ,CAAC,EAAE,gFAAgF;AACnF;AACA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,GAAG;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,GAAG;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC,EAAE,wGAAwG;AAC3G;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC,EAAE,qFAAqF;AACxF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,+IAA+I;AAClJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,EAAE,mFAAmF;AACtF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,qEAAqE;AACxE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,oCAAoC;AACvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,0CAA0C;AAC1C;AACA;AACA;;AAEA;AACA;AACA,yFAAyF;;AAEzF;;AAEA;AACA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,EAAE,qDAAqD;AACxD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,oCAAoC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,oFAAoF;AACvF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,qDAAqD;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE,QAAQ,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAElJ,CAAC,EAAE,yGAAyG;AAC5G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0BAA0B,qDAAqD,mBAAmB,WAAW;AAC7G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE,QAAQ,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAElJ,CAAC,EAAE,kIAAkI;AACrI;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,oCAAoC;AACvC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,aAAa,QAAQ,EAAE,QAAQ,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAElJ,CAAC,EAAE,wDAAwD;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE,QAAQ,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAElJ,CAAC,EAAE,yGAAyG;AAC5G;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,CAAC,EAAE,iCAAiC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC,EAAE,yBAAyB;AAC5B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;;AAEA;;AAEA,CAAC,EAAE,iCAAiC;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,kGAAkG;AACrG;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mCAAmC;;AAEnC;;AAEA,CAAC,EAAE,+FAA+F;AAClG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;;AAErC;;AAEA,CAAC,EAAE,0EAA0E;AAC7E;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC;;AAEnC;;AAEA,CAAC,EAAE,uGAAuG;AAC1G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,EAAE,6HAA6H;AAChI;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,GAAG;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,GAAG;AACJ;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA,CAAC,EAAE,WAAW;AACd;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,EAAE,cAAc;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,aAAa,QAAQ,EAAE,QAAQ,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAElJ,CAAC,EAAE,kDAAkD;AACrD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG,oCAAoC;AACvC,CAAC;;AAED;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,GAAG;AACJ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,GAAG;AACJ;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,EAAE,YAAY;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,WAAW;AACd;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yBAAyB,IAAI,UAAU,IAAI,UAAU,IAAI;AACzD;AACA;;AAEA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,0BAA0B;AAC7B;;AAEA,CAAC,GAAG;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,CAAC,GAAG;AACJ;AACA;;AAEA,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,GAAG,iBAAiB;AACpB;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA,CAAC,aAAa,QAAQ,EAAE;;AAExB,CAAC,EAAE,cAAc;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,aAAa,cAAc;AAC3B;AACA;;AAEA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA,gBAAgB;AAChB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yEAAyE,aAAa;AACtF;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA,OAAO,EAAE;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,eAAe,kCAAkC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,aAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,aAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA,CAAC,EAAE,QAAQ;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,GAAG;AACJ;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,kCAAkC,iDAAiD;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oDAAoD;AAC/E;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA,2CAA2C,gCAAgC;AAC3E;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,6BAA6B;AACzF,mEAAmE,iCAAiC;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA,yCAAyC,UAAU;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,gBAAgB;AACtE;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE,8DAA8D;AAC9D;AACA;AACA,mDAAmD,MAAM;AACzD;AACA;AACA;AACA,iBAAiB;AACjB,0DAA0D,0EAA0E,OAAO,0BAA0B,SAAS;AAC9K;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,kEAAkE,gBAAgB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,2BAA2B;AAClE;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC,4CAA4C;AAC5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,KAAK;AACpD;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,6FAA6F;AACrH,mEAAmE;AACnE;AACA;AACA;AACA;AACA,0BAA0B,mBAAmB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,mBAAmB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;AACA;AACA,qBAAqB;AACrB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,UAAU;AACnD;AACA;AACA,aAAa;AACb;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,GAAG;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC,GAAG;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD;AACzD,GAAG;AACH,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,yBAAyB;AACjC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,mBAAmB,qBAAM,mBAAmB,qBAAM,mFAAmF;;AAEtI,CAAC,EAAE,uCAAuC,EAAE,GAAG;AAC/C,CAAC;;;AAGD;;;;;;;;;;;;AC3yLa;AACb,gBAAgB,mBAAO,CAAC,sDAAY;;AAEpC;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA;AACA;AACA,eAAe;AACf,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,qCAAqC,OAAO;;AAE5C;;AAEA;;AAEA;;AAEA;;AAEA,CAAC;;AAED;;AAEA,gBAAgB,SAAS;;AAEzB;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;AACA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;AACA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,6CAA6C,cAAc;;AAE3D;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0BAA0B;AAC1B,0BAA0B;AAC1B;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;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AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;;AAEH,iCAAiC;;AAEjC;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,6CAA6C,cAAc;;AAE3D;AACA;AACA;;AAEA;;AAEA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAC1B;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AA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AEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,2CAA2C,cAAc;;AAEzD;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;A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AEA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;AAEA,2CAA2C,cAAc;;AAEzD;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;A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;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;AACA;AACA;;AAEA,GAAG;;AAEH,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;AACA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,qCAAqC,OAAO;;AAE5C;AACA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;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;;AAEA,EAAE;;AAEF;;AAEA;AACA;;AAEA,EAAE;;AAEF;;AAEA;AACA;;AAEA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,gEAAgE;;AAEhE;AACA;;AAEA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA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AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,aAAa;;AAEb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,IAAI;;AAEJ;;AAEA;;AAEA,GAAG;;AAEH;AACA;;AAEA;;AAEA,4BAA4B;;AAE5B;;AAEA,mBAAmB,eAAe;;AAElC;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,oCAAoC,eAAe;;AAEnD;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,MAAM;;AAEN;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qCAAqC,OAAO;;AAE5C;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,qCAAqC,OAAO;;AAE5C;AACA;AACA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;AACA;;AAEA,iDAAiD,OAAO;;AAExD;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,iBAAiB,OAAO;;AAExB;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,mBAAmB,YAAY;;AAE/B;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,kBAAkB,YAAY;;AAE9B;;AAEA;AACA;;AAEA;;AAEA;;AAEA,kBAAkB,OAAO;;AAEzB;;AAEA;AACA;;AAEA,IAAI;;AAEJ;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,kBAAkB,OAAO;;AAEzB;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,IAAI;;AAEJ;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,eAAe;;AAEf;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,eAAe;;AAEf;AACA;;AAEA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,8BAA8B,eAAe;;AAE7C;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,+BAA+B,OAAO;;AAEtC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,+BAA+B,OAAO;;AAEtC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,iBAAiB,SAAS;;AAE1B;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,kCAAkC;AAClC,kCAAkC;AAClC,kCAAkC;AAClC,kCAAkC;;AAElC,iCAAiC;AACjC,iCAAiC;AACjC,iCAAiC;;AAEjC,+CAA+C;AAC/C,+CAA+C;AAC/C,+CAA+C;AAC/C,+CAA+C;;AAE/C,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB,SAAS;;AAE1B;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB,SAAS;;AAE1B;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;;AAEvC,sCAAsC;AACtC,sCAAsC;AACtC,sCAAsC;;AAEtC,oDAAoD;AACpD,oDAAoD;AACpD,oDAAoD;AACpD,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,iCAAiC,SAAS;;AAE1C;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA+B;;AAE/B;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,iBAAiB,OAAO;;AAExB;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA,iCAAiC,SAAS;;AAE1C;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iCAAiC,SAAS;;AAE1C;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB,kBAAkB;;AAEnC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,kDAAkD,+DAA+D,EAAE;;AAEnH;;AAEA;;AAEA;AACA,kDAAkD,0DAA0D,EAAE;;AAE9G;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kDAAkD,oDAAoD,EAAE;;AAExG;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB,OAAO;;AAExB;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qFAAqF,YAAY,aAAa,eAAe,GAAG;AAChI,yFAAyF,oBAAoB,oBAAoB,WAAW;;AAE5I;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,iCAAiC,qBAAqB;;AAEtD;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qEAAqE,6CAA6C;;AAElH;;AAEA;;AAEA,EAAE;;AAEF;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,6BAA6B;AAC7B,iCAAiC;AACjC,kCAAkC;AAClC,4BAA4B;AAC5B,8BAA8B;AAC9B,gCAAgC;AAChC,gCAAgC;;AAEhC;;AAEA,mCAAmC;;AAEnC;;AAEA;;AAEA,kCAAkC;;AAElC;;AAEA,4BAA4B;AAC5B,0BAA0B;AAC1B,sBAAsB;;AAEtB;;AAEA,4BAA4B;;AAE5B;;AAEA;;AAEA,0BAA0B;;AAE1B;;AAEA;;AAEA,iCAAiC;AACjC,iCAAiC;AACjC,iCAAiC;AACjC,iCAAiC;;AAEjC;;AAEA,kCAAkC;AAClC,kCAAkC;AAClC,kCAAkC;AAClC,kCAAkC;;AAElC;;AAEA,kCAAkC;AAClC,kCAAkC;AAClC,kCAAkC;AAClC,kCAAkC;;AAElC;;AAEA;;AAEA;;AAEA,8BAA8B;AAC9B,+BAA+B;;AAE/B;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B,gCAAgC;AAChC,gCAAgC;;AAEhC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,mBAAmB,2BAA2B;;AAE9C;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,wCAAwC,QAAQ;;AAEhD;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA,EAAE;;AAEF;;AAEA,EAAE;;AAEF;;AAEA,EAAE;;AAEF;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA,EAAE;;AAEF;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,0DAA0D,QAAQ;;AAElE;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;;;AAIA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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CA;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA,IAAI;;AAEJ;;AAEA;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;;AAEH,uCAAuC;;AAEvC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;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;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C;;AAE5C;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;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;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kBAAkB,sBAAsB;;AAExC;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,mBAAmB,qBAAqB;;AAExC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,kBAAkB,sBAAsB;;AAExC,mBAAmB,qBAAqB;;AAExC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,mBAAmB,qBAAqB;;AAExC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,mBAAmB,qBAAqB;;AAExC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,mBAAmB,sBAAsB;;AAEzC,oBAAoB,qBAAqB;;AAEzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,mBAAmB,sBAAsB;;AAEzC,oBAAoB,qBAAqB;;AAEzC;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qCAAqC,OAAO;;AAE5C;;AAEA,oBAAoB,OAAO;;AAE3B;AACA;AACA,0CAA0C;AAC1C;;AAEA;;AAEA;;AAEA,sBAAsB;;AAEtB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,mDAAmD;;AAEpE;;AAEA;;AAEA,wCAAwC,QAAQ;;AAEhD;;AAEA;AACA;;AAEA,gDAAgD,OAAO;;AAEvD,sBAAsB,OAAO;;AAE7B;AACA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;;AAEA,wBAAwB;;AAExB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,IAAI;;AAEJ;;AAEA;;AAEA,gDAAgD,OAAO;;AAEvD,qBAAqB,OAAO;;AAE5B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA,oCAAoC;AACpC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB;;AAEzB;AACA;;AAEA;;AAEA,GAAG;AACH;;AAEA;;AAEA;AACA,EAAE;;AAEF,mBAAmB;;AAEnB;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,oCAAoC;AACpC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,oCAAoC;;AAEpC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA,oCAAoC;;AAEpC;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;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A;;AAEA;;AAEA;;AAEA;;AAEA,yCAAyC,OAAO;;AAEhD;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,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;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,+CAA+C,QAAQ;;AAEvD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;;AAEA;;AAEA,+CAA+C,QAAQ;;AAEvD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,mBAAmB;AACnB;;AAEA;;AAEA;AACA;;AAEA,oCAAoC,OAAO;;AAE3C;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB,2BAA2B;;AAEhD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,KAAK;;AAE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;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,OAAO;;AAEnD;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,OAAO;;AAEnD;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iDAAiD;;AAEjD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAE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xD;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,QAAQ;;AAE9C;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA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;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;;AAEF,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,EAAE;;AAEF;;AAEA;AACA;;AAEA,EAAE;;AAEF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA,sGAAsG;AACtG;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA,sGAAsG;AACtG;;AAEA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA,EAAE;;AAEF,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA;;AAEA,GAAG;AACH;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;;AAEA,GAAG;AACH;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;;AAEA,EAAE;AACF;;AAEA;AACA;;AAEA;;AAEA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA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ACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,kBAAkB,mBAAO,CAAC,wDAAa;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3tBa;;AAEb;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACfa;AACb;AACA;AACA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC,G;;;;;;;;;;;ACxBY;AACb;AACA;AACA;;AAEA,uBAAuB,2BAA2B,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAExX,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK,gCAAgC,6DAA6D,yCAAyC,8CAA8C,iCAAiC,mDAAmD,yDAAyD,EAAE,OAAO,uCAAuC,EAAE,iDAAiD,GAAG;;AAEva,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,sCAAsC,wEAAwE,0CAA0C,8CAA8C,MAAM,wEAAwE,GAAG,aAAa,EAAE,YAAY,cAAc,EAAE;;AAElU,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,aAAa,mBAAO,CAAC,8EAA2B;;AAEhD,iBAAiB,mBAAO,CAAC,oFAAc;;AAEvC;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,yCAAyC;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,aAAa,mBAAe,CAAC,wFAAgB;AAC7C;AACA,GAAG;;AAEH;AACA,CAAC,a;;;;;;;;;;;;AC7EY;AACb;;AAEA;;AAEA,gBAAgB,mBAAO,CAAC,sDAAY;;AAEpC,aAAa,mBAAO,CAAC,oEAAU;;AAE/B,cAAc,mBAAO,CAAC,sEAAW;;AAEjC,eAAe,mBAAO,CAAC,0EAAa;AACpC;AACA;;AAEA,kBAAkB,mBAAO,CAAC,0FAAqB;;AAE/C,gBAAgB,mBAAO,CAAC,sFAAmB;;AAE3C,sBAAsB,mBAAO,CAAC,kGAAyB;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,kDAAkD;;AAElD;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,iBAAiB,kEAAkD;;AAEnE;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA,mBAAmB,6BAA6B;AAChD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA,mBAAmB,2BAA2B;AAC9C;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;;;AC/Ka;AACb;;AAEA,eAAe,mBAAO,CAAC,oDAAW;;AAElC,eAAe,mBAAO,CAAC,gEAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA,gDAAgD;;AAEhD;AACA,GAAG,EAAE;AACL;AACA;;AAEA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;;ACvHa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,6BAA6B,mBAAmB,6BAA6B;AACjG,mBAAO,CAAC,gGAAwB;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;;;AAGL,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,wB;;;;;;;;;;;ACnDa;AACb;;AAEA,UAAU,mBAAO,CAAC,sCAAK;;AAEvB,6BAA6B,mBAAO,CAAC,0GAA0B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iC;;;;;;;;;;;ACvFa;;AAEb;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA,wC;;;;;;;;;;;ACrBa;;AAEb,UAAU,wFAA6B;;AAEvC;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA,kBAAkB;;AAElB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;AChDa;AACb;;AAEA,eAAe,mBAAO,CAAC,oEAAO;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,mBAAO,CAAC,kEAAqB;;AAElD;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2B;;;;;;;;;;;ACtDa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,yB;;;;;;;;;;ACbA,mBAAmB,mBAAO,CAAC,+CAAQ;AACnC;;;;;;;;;;;ACDA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;;AAEpB,6BAA6B;;AAE7B,uBAAuB;;AAEvB,0BAA0B;AAC1B;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;;;;;;;;;;;AC1DA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kE;;;;;;UCtBA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCrBA;WACA;WACA;WACA;WACA;WACA,gCAAgC,YAAY;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA,CAAC,I;;;;;WCPD,sF;;;;;WCAA;WACA;WACA;WACA,sDAAsD,kBAAkB;WACxE;WACA,+CAA+C,cAAc;WAC7D,E;;;;UCNA;UACA;UACA;UACA;UACA","file":"demo.js","sourcesContent":["'use strict'\n\nmodule.exports = ansiHTML\n\n// Reference to https://github.com/sindresorhus/ansi-regex\nvar _regANSI = /(?:(?:\\u001b\\[)|\\u009b)(?:(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m])|\\u001b[A-M]/\n\nvar _defColors = {\n reset: ['fff', '000'], // [FOREGROUD_COLOR, BACKGROUND_COLOR]\n black: '000',\n red: 'ff0000',\n green: '209805',\n yellow: 'e8bf03',\n blue: '0000ff',\n magenta: 'ff00ff',\n cyan: '00ffee',\n lightgrey: 'f0f0f0',\n darkgrey: '888'\n}\nvar _styles = {\n 30: 'black',\n 31: 'red',\n 32: 'green',\n 33: 'yellow',\n 34: 'blue',\n 35: 'magenta',\n 36: 'cyan',\n 37: 'lightgrey'\n}\nvar _openTags = {\n '1': 'font-weight:bold', // bold\n '2': 'opacity:0.5', // dim\n '3': '', // italic\n '4': '', // underscore\n '8': 'display:none', // hidden\n '9': '' // delete\n}\nvar _closeTags = {\n '23': '', // reset italic\n '24': '', // reset underscore\n '29': '' // reset delete\n}\n\n;[0, 21, 22, 27, 28, 39, 49].forEach(function (n) {\n _closeTags[n] = ''\n})\n\n/**\n * Converts text with ANSI color codes to HTML markup.\n * @param {String} text\n * @returns {*}\n */\nfunction ansiHTML (text) {\n // Returns the text if the string has no ANSI escape code.\n if (!_regANSI.test(text)) {\n return text\n }\n\n // Cache opened sequence.\n var ansiCodes = []\n // Replace with markup.\n var ret = text.replace(/\\033\\[(\\d+)*m/g, function (match, seq) {\n var ot = _openTags[seq]\n if (ot) {\n // If current sequence has been opened, close it.\n if (!!~ansiCodes.indexOf(seq)) { // eslint-disable-line no-extra-boolean-cast\n ansiCodes.pop()\n return ''\n }\n // Open tag.\n ansiCodes.push(seq)\n return ot[0] === '<' ? ot : ''\n }\n\n var ct = _closeTags[seq]\n if (ct) {\n // Pop sequence\n ansiCodes.pop()\n return ct\n }\n return ''\n })\n\n // Make sure tags are closed.\n var l = ansiCodes.length\n ;(l > 0) && (ret += Array(l + 1).join(''))\n\n return ret\n}\n\n/**\n * Customize colors.\n * @param {Object} colors reference to _defColors\n */\nansiHTML.setColors = function (colors) {\n if (typeof colors !== 'object') {\n throw new Error('`colors` parameter must be an Object.')\n }\n\n var _finalColors = {}\n for (var key in _defColors) {\n var hex = colors.hasOwnProperty(key) ? colors[key] : null\n if (!hex) {\n _finalColors[key] = _defColors[key]\n continue\n }\n if ('reset' === key) {\n if (typeof hex === 'string') {\n hex = [hex]\n }\n if (!Array.isArray(hex) || hex.length === 0 || hex.some(function (h) {\n return typeof h !== 'string'\n })) {\n throw new Error('The value of `' + key + '` property must be an Array and each item could only be a hex string, e.g.: FF0000')\n }\n var defHexColor = _defColors[key]\n if (!hex[0]) {\n hex[0] = defHexColor[0]\n }\n if (hex.length === 1 || !hex[1]) {\n hex = [hex[0]]\n hex.push(defHexColor[1])\n }\n\n hex = hex.slice(0, 2)\n } else if (typeof hex !== 'string') {\n throw new Error('The value of `' + key + '` property must be a hex string, e.g.: FF0000')\n }\n _finalColors[key] = hex\n }\n _setTags(_finalColors)\n}\n\n/**\n * Reset colors.\n */\nansiHTML.reset = function () {\n _setTags(_defColors)\n}\n\n/**\n * Expose tags, including open and close.\n * @type {Object}\n */\nansiHTML.tags = {}\n\nif (Object.defineProperty) {\n Object.defineProperty(ansiHTML.tags, 'open', {\n get: function () { return _openTags }\n })\n Object.defineProperty(ansiHTML.tags, 'close', {\n get: function () { return _closeTags }\n })\n} else {\n ansiHTML.tags.open = _openTags\n ansiHTML.tags.close = _closeTags\n}\n\nfunction _setTags (colors) {\n // reset all\n _openTags['0'] = 'font-weight:normal;opacity:1;color:#' + colors.reset[0] + ';background:#' + colors.reset[1]\n // inverse\n _openTags['7'] = 'color:#' + colors.reset[1] + ';background:#' + colors.reset[0]\n // dark grey\n _openTags['90'] = 'color:#' + colors.darkgrey\n\n for (var code in _styles) {\n var color = _styles[code]\n var oriColor = colors[color] || '000'\n _openTags[code] = 'color:#' + oriColor\n code = parseInt(code)\n _openTags[(code + 10).toString()] = 'background:#' + oriColor\n }\n}\n\nansiHTML.reset()\n","'use strict';\nmodule.exports = function () {\n\treturn /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;\n};\n","\nimport Viewer from './modules/Viewer'\nimport ObjectLoader from './modules/ObjectLoader'\nimport Converter from './modules/Converter'\n\nlet v = new Viewer( { container: document.getElementById( 'renderer' ) } )\nv.on( 'load-progress', args => console.log( args ) )\n\nwindow.v = v\n\nconst token = 'e844747dc6f6b0b5c7d5fbd82d66de6e9529531d75'\n\nwindow.LoadData = async function LoadData( url ) {\n url = url || document.getElementById( 'objectUrlInput' ).value\n await v.loadObject( url, token )\n}\n\nwindow.LoadDataOld = async function LoadData( id ) {\n\n // v.sceneManager.removeAllObjects()\n\n id = id || document.getElementById( 'objectIdInput' ).value\n let loader = new ObjectLoader( {\n serverUrl: 'https://staging.speckle.dev',\n streamId: '5486aa9fc7',\n token,\n objectId: id\n } )\n\n let converter = new Converter( loader )\n let first = true\n // Note: it's important the loop continues to load.\n for await ( let obj of loader.getObjectIterator() ) {\n if ( first ) {\n ( async() => {\n await converter.traverseAndConvert( obj, ( o ) => v.sceneManager.addObject( o ) )\n } )()\n first = false\n }\n }\n}\n","import * as THREE from 'three'\nimport { NURBSCurve } from 'three/examples/jsm/curves/NURBSCurve'\nimport { BufferGeometryUtils } from 'three/examples/jsm/utils/BufferGeometryUtils'\nimport ObjectWrapper from './ObjectWrapper'\nimport { getConversionFactor } from './Units'\n\n/**\n * Utility class providing some top level conversion methods.\n */\nexport default class Coverter {\n\n constructor( objectLoader ) {\n if ( !objectLoader ) {\n console.warn( 'Converter initialized without a corresponding object loader. Any objects that include references will throw errors.' )\n }\n\n this.objectLoader = objectLoader\n this.curveSegmentLength = 0.1\n }\n\n /**\n * If the object is convertable (there is a direct conversion routine), it will invoke the callback with the conversion result.\n * If the object is not convertable, it will recursively iterate through it (arrays & objects) and invoke the callback on any postive conversion result.\n * @param {[type]} obj [description]\n * @param {Function} callback [description]\n * @return {[type]} [description]\n */\n async traverseAndConvert( obj, callback ) {\n // Exit on primitives (string, ints, bools, bigints, etc.)\n if ( typeof obj !== 'object' ) return\n\n if ( obj.referencedId ) obj = await this.resolveReference( obj )\n\n // Traverse arrays, and exit early (we don't want to iterate through many numbers)\n if ( Array.isArray( obj ) ) {\n for ( let element of obj ) {\n if ( typeof element !== 'object' ) return // exit early for non-object based arrays\n ( async() => await this.traverseAndConvert( element, callback ) )() //iife so we don't block\n }\n }\n\n // If we can convert it, we should invoke the respective conversion routine.\n const type = this.getSpeckleType( obj )\n if ( this[`${type}ToBufferGeometry`] ) {\n try {\n callback( await this[`${type}ToBufferGeometry`]( obj.data || obj ) )\n return\n } catch ( e ) {\n console.warn( `(Traversing - direct) Failed to convert ${type} with id: ${obj.id}`, e )\n }\n }\n\n let target = obj.data || obj\n\n // Check if the object has a display value of sorts\n let displayValue = target['displayMesh'] || target['@displayMesh'] || target['displayValue']|| target['@displayValue']\n if ( displayValue ) {\n displayValue = await this.resolveReference( displayValue )\n if ( !displayValue.units ) displayValue.units = obj.units\n\n try {\n let { bufferGeometry } = await this.convert( displayValue )\n callback( new ObjectWrapper( bufferGeometry, obj ) ) // use the parent's metadata!\n\n // return // returning here is faster but excludes objects that have a display value and displayable children (ie, a wall with windows)\n } catch ( e ) {\n console.warn( `(Traversing) Failed to convert obj with id: ${obj.id} — ${e.message}` )\n }\n }\n\n // Last attempt: iterate through all object keys and see if we can display anything!\n // traverses the object in case there's any sub-objects we can convert.\n for ( let prop in target ) {\n if ( typeof target[prop] !== 'object' ) continue\n ( async() => await this.traverseAndConvert( target[prop], callback ) )() //iife so we don't block\n }\n }\n\n /**\n * Directly converts an object and invokes the callback with the the conversion result.\n * @param {[type]} obj [description]\n * @param {Function} callback [description]\n * @return {[type]} [description]\n */\n async convert( obj ) {\n if ( obj.referencedId ) obj = await this.resolveReference( obj )\n try {\n let type = this.getSpeckleType( obj )\n if ( this[`${type}ToBufferGeometry`] ) {\n return await this[`${type}ToBufferGeometry`]( obj.data || obj )\n }\n else return null\n } catch ( e ) {\n console.warn( `(Direct convert) Failed to convert object with id: ${obj.id}` )\n throw e\n }\n }\n\n /**\n * Takes an array composed of chunked references and dechunks it.\n * @param {[type]} arr [description]\n * @return {[type]} [description]\n */\n async dechunk( arr ) {\n if ( !arr ) return arr\n // Handles pre-chunking objects, or arrs that have not been chunked\n if ( !arr[0].referencedId ) return arr\n\n let dechunked = []\n for ( let ref of arr ) {\n let real = await this.objectLoader.getObject( ref.referencedId )\n dechunked.push( ...real.data )\n }\n return dechunked\n }\n\n /**\n * Resolves an object reference by waiting for the loader to load it up.\n * @param {[type]} obj [description]\n * @return {[type]} [description]\n */\n async resolveReference( obj ) {\n if ( obj.referencedId )\n return await this.objectLoader.getObject( obj.referencedId )\n else return obj\n }\n\n /**\n * Gets the speckle type of an object in various scenarios.\n * @param {[type]} obj [description]\n * @return {[type]} [description]\n */\n getSpeckleType( obj ) {\n let type = 'Base'\n if ( obj.data )\n type = obj.data.speckle_type ? obj.data.speckle_type.split( '.' ).reverse()[0] : type\n else\n type = obj.speckle_type ? obj.speckle_type.split( '.' ).reverse()[0] : type\n return type\n }\n\n async BrepToBufferGeometry( obj ) {\n try {\n if ( !obj ) return\n let { bufferGeometry } = await this.MeshToBufferGeometry( await this.resolveReference( obj.displayValue || obj.displayMesh ) )\n\n // deletes known uneeded fields\n delete obj.displayMesh\n delete obj.displayValue\n delete obj.Edges\n delete obj.Faces\n delete obj.Loops\n delete obj.Trims\n delete obj.Curve2D\n delete obj.Curve3D\n delete obj.Surfaces\n delete obj.Vertices\n\n return new ObjectWrapper( bufferGeometry, obj )\n } catch ( e ) {\n console.warn( `Failed to convert brep id: ${obj.id}` )\n throw e\n }\n }\n\n async MeshToBufferGeometry( obj ) {\n try {\n if ( !obj ) return\n\n let conversionFactor = getConversionFactor( obj.units )\n let buffer = new THREE.BufferGeometry( )\n let indices = [ ]\n\n let vertices = await this.dechunk( obj.vertices )\n let faces = await this.dechunk( obj.faces )\n\n let k = 0\n while ( k < faces.length ) {\n if ( faces[ k ] === 1 ) { // QUAD FACE\n indices.push( faces[ k + 1 ], faces[ k + 2 ], faces[ k + 3 ] )\n indices.push( faces[ k + 1 ], faces[ k + 3 ], faces[ k + 4 ] )\n k += 5\n } else if ( faces[ k ] === 0 ) { // TRIANGLE FACE\n indices.push( faces[ k + 1 ], faces[ k + 2 ], faces[ k + 3 ] )\n k += 4\n } else throw new Error( `Mesh type not supported. Face topology indicator: ${faces[k]}` )\n }\n buffer.setIndex( indices )\n\n buffer.setAttribute(\n 'position',\n new THREE.Float32BufferAttribute( conversionFactor === 1 ? vertices : vertices.map( v => v * conversionFactor ), 3 ) )\n\n buffer.computeVertexNormals( )\n buffer.computeFaceNormals( )\n buffer.computeBoundingSphere( )\n\n delete obj.vertices\n delete obj.faces\n\n return new ObjectWrapper( buffer, obj )\n } catch ( e ) {\n console.warn( `Failed to convert mesh with id: ${obj.id}` )\n throw e\n }\n }\n\n // TODOs:\n async PointToBufferGeometry( obj ) {\n let conversionFactor = getConversionFactor( obj.units )\n const v = new THREE.Vector3( obj.value[0]* conversionFactor,obj.value[1]* conversionFactor,obj.value[2] * conversionFactor )\n let buf = new THREE.BufferGeometry().setFromPoints( [ v ] )\n \n delete obj.value\n delete obj.speckle_type\n\n return new ObjectWrapper( buf, obj, 'point' )\n }\n\n async LineToBufferGeometry( obj ) {\n return this.PolylineToBufferGeometry( obj )\n }\n async PolylineToBufferGeometry( object ) {\n let obj = {}\n Object.assign( obj,object )\n delete object.value\n delete object.speckle_type\n\n let conversionFactor = getConversionFactor( obj.units )\n \n obj.value = await this.dechunk( obj.value )\n \n const points = []\n for ( let i = 0; i < obj.value.length; i+=3 ) {\n points.push( new THREE.Vector3( obj.value[ i ]* conversionFactor,obj.value[i+1]* conversionFactor,obj.value[i+2] * conversionFactor ) )\n }\n const geometry = new THREE.BufferGeometry().setFromPoints( points )\n\n delete obj.value\n\n return new ObjectWrapper( geometry, obj, 'line' )\n }\n\n async PolycurveToBufferGeometry( object ) {\n let obj = {}\n Object.assign( obj,object )\n delete object.value\n delete object.speckle_type\n delete object.displayValue\n delete object.segments\n\n let buffers = []\n for ( let i = 0; i < obj.segments.length; i++ ) {\n const element = obj.segments[i]\n const conv = await this.convert( element )\n buffers.push( conv?.bufferGeometry )\n }\n let geometry = BufferGeometryUtils.mergeBufferGeometries( buffers )\n \n delete obj.segments\n delete obj.speckle_type\n\n return new ObjectWrapper( geometry , obj, 'line' )\n }\n \n async CurveToBufferGeometry( object ) {\n let obj = {}\n Object.assign( obj,object )\n delete object.value\n delete object.speckle_type\n delete object.displayValue\n \n obj.points = await this.dechunk( obj.points )\n obj.weights = await this.dechunk( obj.weights )\n obj.knots = await this.dechunk( obj.knots )\n\n try {\n let conversionFactor = getConversionFactor( obj.units )\n \n // Convert points+weights to Vector4\n const points = []\n for ( let i = 0; i < obj.points.length; i+=3 ) {\n points.push( new THREE.Vector4( obj.points[ i ]* conversionFactor,obj.points[i+1]* conversionFactor,obj.points[i+2] * conversionFactor, obj.weights[i/3] * conversionFactor ) )\n }\n // Convert knots from rhino compact format to normal format.\n let knots = [ obj.knots[0] ]\n knots = knots.concat( obj.knots )\n knots.push( knots[knots.length -1] )\n \n // Create the nurbs curve\n const curve = new NURBSCurve( obj.degree, knots, points, null, null )\n \n // Delete everything unnecessary from the metadata object.\n delete obj.speckle_type\n delete obj.displayValue\n delete obj.points\n delete obj.weights\n delete obj.knots\n \n // Compute appropriate curve subdivisions\n let div = curve.getLength() / 0.1\n div = parseInt( div.toString() ) \n if ( div < 20 ) div = 20\n if ( div > 4000 ) div = 4000\n\n // Divide the nurbs curve in points\n var pts = curve.getPoints( div )\n return new ObjectWrapper( new THREE.BufferGeometry().setFromPoints( pts ), obj, 'line' )\n\n } catch ( e ) {\n console.warn( 'Error converting nurbs curve, falling back to displayValue', obj )\n const poly = await this.PolylineToBufferGeometry( obj.displayValue )\n\n delete obj.speckle_type\n delete obj.displayValue\n delete obj.points\n delete obj.weights\n delete obj.knots\n\n return new ObjectWrapper( poly.bufferGeometry, obj, 'line' )\n }\n }\n\n async CircleToBufferGeometry( obj ) {\n const points = this.getCircularCurvePoints( obj.plane, obj.radius )\n const geometry = new THREE.BufferGeometry().setFromPoints( points )\n\n delete obj.value\n delete obj.speckle_type\n\n return new ObjectWrapper( geometry, obj, 'line' )\n }\n \n\n async ArcToBufferGeometry( obj ) {\n const points = this.getCircularCurvePoints( obj.plane, obj.radius, obj.startAngle, obj.endAngle )\n const geometry = new THREE.BufferGeometry().setFromPoints( points )\n\n delete obj.speckle_type\n delete obj.startPoint\n delete obj.endPoint\n delete obj.plane\n delete obj.midPoint\n\n return new ObjectWrapper( geometry, obj, 'line' )\n }\n getCircularCurvePoints( plane, radius, startAngle = 0, endAngle = 2*Math.PI, res = this.curveSegmentLength ) {\n\n // Get alignment vectors\n const center = new THREE.Vector3( plane.origin.value[0], plane.origin.value[1], plane.origin.value[2] )\n const xAxis = new THREE.Vector3( plane.xdir.value[0], plane.xdir.value[1], plane.xdir.value[2] )\n const yAxis = new THREE.Vector3( plane.ydir.value[0], plane.ydir.value[1], plane.ydir.value[2] )\n\n // Determine resolution\n let resolution = ( endAngle - startAngle ) * radius / res\n resolution = parseInt( resolution.toString() )\n\n let points = []\n\n for ( let index = 0; index <= resolution; index++ ) {\n let t = startAngle + index * ( endAngle - startAngle ) / resolution\n let x = Math.cos( t ) * radius\n let y = Math.sin( t ) * radius\n const xMove = new THREE.Vector3( xAxis.x * x, xAxis.y * x, xAxis.z * x )\n const yMove = new THREE.Vector3( yAxis.x * y, yAxis.y * y, yAxis.z * y )\n\n let pt = new THREE.Vector3().addVectors( xMove, yMove ).add( center )\n points.push( pt )\n }\n return points\n }\n\n async EllipseToBufferGeometry( obj ) {\n \n const center = new THREE.Vector3( obj.plane.origin.value[0],obj.plane.origin.value[1],obj.plane.origin.value[2] )\n const xAxis = new THREE.Vector3( obj.plane.xdir.value[0],obj.plane.xdir.value[1],obj.plane.xdir.value[2] )\n const yAxis = new THREE.Vector3( obj.plane.ydir.value[0],obj.plane.ydir.value[1],obj.plane.ydir.value[2] )\n\n let resolution = 2 * Math.PI * obj.radius1 / 0.1\n resolution = parseInt( resolution.toString() )\n let points = []\n\n for ( let index = 0; index <= resolution; index++ ) {\n let t = index * Math.PI * 2 / resolution\n let x = Math.cos( t ) * obj.radius1\n let y = Math.sin( t ) * obj.radius2\n const xMove = new THREE.Vector3( xAxis.x * x, xAxis.y * x, xAxis.z * x )\n const yMove = new THREE.Vector3( yAxis.x * y, yAxis.y * y, yAxis.z * y )\n \n let pt = new THREE.Vector3().addVectors( xMove, yMove ).add( center )\n points.push( pt )\n }\n\n const geometry = new THREE.BufferGeometry().setFromPoints( points )\n\n delete obj.value\n delete obj.speckle_type\n\n return new ObjectWrapper( geometry, obj, 'line' )\n }\n}\n","/*\n * https://medium.com/better-programming/how-to-create-your-own-event-emitter-in-javascript-fbd5db2447c4\n */\nexport default class EventEmitter {\n constructor() {\n this._events = {}\n }\n\n on( name, listener ) {\n if ( !this._events[name] ) {\n this._events[name] = []\n }\n\n this._events[name].push( listener )\n }\n\n removeListener( name, listenerToRemove ) {\n if ( !this._events[name] ) return\n\n const filterListeners = ( listener ) => listener !== listenerToRemove\n\n this._events[name] = this._events[name].filter( filterListeners )\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters\n emit( name, ...args) {\n if ( !this._events[name] ) return\n\n const fireCallbacks = ( callback ) => {\n callback( ...args )\n }\n\n this._events[name].forEach( fireCallbacks )\n }\n}\n","/**\n * Simple client that streams object info from a Speckle Server.\n * TODO: This should be split from the viewer into its own package.\n */\nexport default class ObjectLoader {\n\n constructor( { serverUrl, streamId, token, objectId } ) {\n this.INTERVAL_MS = 20\n this.TIMEOUT_MS = 180000 // three mins\n\n this.serverUrl = serverUrl || window.location.origin\n this.streamId = streamId\n this.objectId = objectId\n this.token = token || localStorage.getItem( 'AuthToken' )\n this.headers = {\n 'Authorization': `Bearer ${this.token}`,\n 'Accept': 'text/plain'\n }\n this.requestUrl = `${this.serverUrl}/objects/${this.streamId}/${this.objectId}`\n this.promises = []\n this.intervals = {}\n this.buffer = []\n }\n\n dispose() {\n this.buffer = []\n this.intervals.forEach( i => clearInterval( i.interval ) )\n }\n\n async getObject( id ){\n if ( this.buffer[id] ) return this.buffer[id]\n\n let promise = new Promise( ( resolve, reject ) => {\n this.promises.push( { id, resolve, reject } )\n // Only create a new interval checker if none is already present!\n if ( this.intervals[id] ) {\n this.intervals[id].elapsed = 0 // reset elapsed\n } else {\n let intervalId = setInterval( this.tryResolvePromise.bind( this ), this.INTERVAL_MS, id )\n this.intervals[id] = { interval: intervalId, elapsed: 0 }\n }\n } )\n return promise\n }\n\n tryResolvePromise( id ) {\n this.intervals[id].elapsed += this.INTERVAL_MS\n if ( this.buffer[id] ) {\n for ( let p of this.promises.filter( p => p.id === id ) ) {\n p.resolve( this.buffer[id] )\n }\n\n clearInterval( this.intervals[id].interval )\n delete this.intervals[id]\n // this.promises = this.promises.filter( p => p.id !== p.id ) // clearing out promises too early seems to nuke loading\n return\n }\n\n if ( this.intervals[id].elapsed > this.TIMEOUT_MS ) {\n console.warn( `Timeout resolving ${id}. HIC SVNT DRACONES.` )\n clearInterval( this.intervals[id].interval )\n this.promises.filter( p => p.id === id ).forEach( p => p.reject() )\n this.promises = this.promises.filter( p => p.id !== p.id ) // clear out\n }\n }\n\n async * getObjectIterator( ) {\n for await ( let line of this.getRawObjectIterator() ) {\n let { id, obj } = this.processLine( line )\n this.buffer[ id ] = obj\n yield obj\n }\n }\n\n processLine( chunk ) {\n var pieces = chunk.split( '\\t' )\n return { id: pieces[0], obj: JSON.parse( pieces[1] ) }\n }\n\n async * getRawObjectIterator() {\n const decoder = new TextDecoder()\n const response = await fetch( this.requestUrl, { headers: this.headers } )\n const reader = response.body.getReader()\n let { value: chunk, done: readerDone } = await reader.read()\n chunk = chunk ? decoder.decode( chunk ) : ''\n\n let re = /\\r\\n|\\n|\\r/gm\n let startIndex = 0\n\n while ( true ) {\n let result = re.exec( chunk )\n if ( !result ) {\n if ( readerDone ) break\n let remainder = chunk.substr( startIndex );\n ( { value: chunk, done: readerDone } = await reader.read() )\n chunk = remainder + ( chunk ? decoder.decode( chunk ) : '' )\n startIndex = re.lastIndex = 0\n continue\n }\n yield chunk.substring( startIndex, result.index )\n startIndex = re.lastIndex\n }\n\n if ( startIndex < chunk.length ) {\n yield chunk.substr( startIndex )\n }\n }\n}\n","/**\n * Class that wraps around a buffer geometry and any remaining speckle object\n * metadata. Used to match the two in the renderer.\n */\nexport default class ObjectWrapper {\n constructor( bufferGeometry, meta, geometryType ) {\n this.bufferGeometry = bufferGeometry\n this.meta = meta\n this.geometryType = geometryType || 'solid'\n }\n}\n","import * as THREE from 'three'\nimport debounce from 'lodash.debounce'\n\n/**\n * Manages objects and provides some convenience methods to focus on the entire scene, or one specific object.\n */\nexport default class SceneObjectManager {\n\n constructor( viewer ) {\n this.viewer = viewer\n this.scene = viewer.scene\n this.userObjects = new THREE.Group()\n this.solidObjects = new THREE.Group()\n this.lineObjects = new THREE.Group()\n this.pointObjects = new THREE.Group()\n this.transparentObjects = new THREE.Group()\n\n this.userObjects.add( this.solidObjects )\n this.userObjects.add( this.transparentObjects )\n this.userObjects.add( this.lineObjects )\n this.userObjects.add( this.pointObjects )\n this.scene.add( this.userObjects )\n\n this.solidMaterial = new THREE.MeshStandardMaterial( {\n color: 0x8D9194,\n emissive: 0x0,\n roughness: 1,\n metalness: 0,\n side: THREE.DoubleSide,\n envMap: this.viewer.cubeCamera.renderTarget.texture\n } )\n\n this.transparentMaterial = new THREE.MeshStandardMaterial( {\n color: 0xA0A4A8,\n emissive: 0x0,\n roughness: 0,\n metalness: 0.5,\n side: THREE.DoubleSide,\n transparent: true,\n opacity: 0.4,\n envMap: this.viewer.cubeCamera.renderTarget.texture\n } )\n\n this.lineMaterial = new THREE.LineBasicMaterial( { color: 0x7F7F7F } )\n\n this.pointMaterial = new THREE.PointsMaterial( { size: 10, sizeAttenuation: false, color: 0x7F7F7F } )\n\n this.objectIds = []\n this.postLoad = debounce( () => { this._postLoadFunction() }, 200 )\n\n this.loaders = []\n }\n\n get objects() {\n return [ ...this.solidObjects.children, ...this.transparentObjects.children, ...this.lineObjects.children, ...this.pointObjects.children ]\n }\n\n // Note: we might switch later down the line from cloning materials to solely\n // using a few \"default\" ones and controlling color through vertex colors.\n // For now a small compromise to speed up dev; it is not the most memory\n // efficient approach.\n // To support big models we might need to merge everything in buffer geometries,\n // and control things separately to squeeze those sweet FPS (esp mobile); but\n // this conflicts a bit with the interactivity requirements of the viewer, esp.\n // the TODO ones (colour by property).\n addObject( wrapper ) {\n if ( !wrapper || !wrapper.bufferGeometry ) return\n\n\n switch ( wrapper.geometryType ) {\n case 'solid':\n // Do we have a defined material?\n if ( wrapper.meta.renderMaterial ) {\n\n let renderMat = wrapper.meta.renderMaterial\n let color = new THREE.Color( this._argbToRGB( renderMat.diffuse ) )\n this._normaliseColor( color )\n // Is it a transparent material?\n if ( renderMat.opacity !== 1 ) {\n let material = this.transparentMaterial.clone()\n material.clippingPlanes = this.viewer.sectionBox.planes.map( p => p.plane )\n\n material.color = color\n material.opacity = renderMat.opacity !== 0 ? renderMat.opacity : 0.2\n this.addTransparentSolid( wrapper, material )\n\n // It's not a transparent material!\n } else {\n let material = this.solidMaterial.clone()\n material.clippingPlanes = this.viewer.sectionBox.planes.map( p => p.plane )\n\n material.color = color\n material.metalness = renderMat.metalness\n if ( material.metalness !== 0 ) material.roughness = 0.1\n if ( material.metalness > 0.8 ) material.color = new THREE.Color( '#CDCDCD' ) // hack for rhino metal materials being black FFS\n this.addSolid( wrapper, material )\n }\n } else {\n // If we don't have defined material, just use the default\n let material = this.solidMaterial.clone()\n material.clippingPlanes = this.viewer.sectionBox.planes.map( p => p.plane )\n\n this.addSolid( wrapper, material )\n }\n break\n case 'line':\n this.addLine( wrapper )\n break\n case 'point':\n this.addPoint( wrapper )\n break\n }\n\n this.postLoad()\n }\n\n addSolid( wrapper, material ) {\n const mesh = new THREE.Mesh( wrapper.bufferGeometry, material ? material : this.solidMaterial )\n mesh.userData = wrapper.meta\n mesh.uuid = wrapper.meta.id\n this.objectIds.push( mesh.uuid )\n this.solidObjects.add( mesh )\n }\n\n addTransparentSolid( wrapper, material ) {\n const mesh = new THREE.Mesh( wrapper.bufferGeometry, material ? material : this.transparentMaterial )\n mesh.userData = wrapper.meta\n mesh.uuid = wrapper.meta.id\n this.objectIds.push( mesh.uuid )\n this.transparentObjects.add( mesh )\n }\n\n addLine( wrapper ) {\n const line = new THREE.Line( wrapper.bufferGeometry, this.lineMaterial )\n line.userData = wrapper.meta\n line.uuid = wrapper.meta.id\n this.objectIds.push( line.uuid )\n this.lineObjects.add( line )\n }\n\n addPoint( wrapper ){\n var dot = new THREE.Points( wrapper.bufferGeometry, this.pointMaterial )\n dot.userData = wrapper.meta\n dot.uuid = wrapper.meta.id\n this.objectIds.push( dot.uuid )\n this.pointObjects.add( dot )\n }\n\n removeObject( id ) {\n // TODO\n }\n\n removeAllObjects() {\n for ( let obj of this.objects ) {\n if ( obj.geometry ){\n obj.geometry.dispose()\n }\n }\n this.solidObjects.clear()\n this.transparentObjects.clear()\n this.lineObjects.clear()\n this.pointObjects.clear()\n\n this.viewer.selectionHelper.unselect()\n this.objectIds = []\n\n this._postLoadFunction()\n }\n\n _postLoadFunction() {\n this.zoomExtents()\n this.viewer.reflectionsNeedUpdate = true\n\n let sceneBox = new THREE.Box3().setFromObject( this.viewer.sceneManager.userObjects )\n\n this.viewer.sectionBox.setFromBbox( sceneBox )\n }\n\n zoomToObject( target ) {\n const box = new THREE.Box3().setFromObject( target )\n this.zoomToBox( box )\n }\n\n zoomExtents() {\n let bboxTarget = this.userObjects\n if ( this.objects.length === 0 ) {\n let box = new THREE.Box3( new THREE.Vector3( -1,-1,-1 ), new THREE.Vector3( 1,1,1 ) )\n this.zoomToBox( box )\n return\n }\n let box = new THREE.Box3().setFromObject( bboxTarget )\n this.zoomToBox( box )\n }\n\n zoomToBox( box ) {\n const fitOffset = 1.2\n\n const size = box.getSize( new THREE.Vector3() )\n let target = new THREE.Sphere()\n box.getBoundingSphere( target )\n\n this.viewer.controls.fitToSphere( target, true )\n\n const maxSize = Math.max( size.x, size.y, size.z )\n const fitHeightDistance = maxSize / ( 2 * Math.atan( Math.PI * this.viewer.camera.fov / 360 ) )\n const fitWidthDistance = fitHeightDistance / this.viewer.camera.aspect\n const distance = fitOffset * Math.max( fitHeightDistance, fitWidthDistance )\n\n this.viewer.controls.minDistance = distance / 10\n this.viewer.controls.maxDistance = distance * 10\n\n }\n\n _argbToRGB( argb ) {\n return '#'+ ( '000000' + ( argb & 0xFFFFFF ).toString( 16 ) ).slice( -6 )\n }\n\n _normaliseColor( color ) {\n // Note: full of **magic numbers** that will need changing once global scene\n // is properly set up; also to test with materials coming from other software too...\n let hsl = {}\n color.getHSL( hsl )\n\n if ( hsl.s + hsl.l > 1 ) {\n while ( hsl.s + hsl.l > 1 ){\n hsl.s -= 0.05\n hsl.l -= 0.05\n }\n }\n\n if ( hsl.l > 0.6 ) {\n hsl.l = 0.6\n }\n\n if ( hsl.l < 0.3 ) {\n hsl.l = 0.3\n }\n\n color.setHSL( hsl.h, hsl.s, hsl.l )\n }\n\n}\n","import * as THREE from 'three'\n// import { DragControls } from 'three/examples/jsm/controls/DragControls.js'\n\nimport SelectionHelper from './SelectionHelper'\n\n/**\n * Section box helper for Speckle Viewer\n *\n */\n\n// indices to verts in this.boxGeo - box edges\nconst edges = [\n [ 0,1 ], [ 1,3 ],\n [ 3,2 ], [ 2,0 ],\n [ 4,6 ], [ 6,7 ],\n [ 7,5 ], [ 5,4 ],\n [ 2,7 ], [ 0,5 ],\n [ 1,4 ], [ 3,6 ]\n]\n\nexport default class SectionBox {\n constructor( viewer, _vis ){\n //defaults to invisible\n let vis = _vis || false\n\n this.viewer = viewer\n\n this.display = new THREE.Group()\n this.display.visible = vis\n\n this.displayBox = new THREE.Group()\n this.displayEdges = new THREE.Group()\n this.displayHover = new THREE.Group()\n\n this.display.add( this.displayBox )\n this.display.add( this.displayEdges )\n this.display.add( this.displayHover )\n\n this.viewer.scene.add( this.display )\n\n // basic display of the section box\n this.boxMaterial = new THREE.MeshBasicMaterial( )\n\n // the box itself\n this.boxGeo = new THREE.BoxGeometry( 2,2,2 )\n this.boxMesh = new THREE.Mesh( this.boxGeo, this.boxMaterial )\n this.boxMesh.visible = false\n this.boxMesh.geometry.computeBoundingBox()\n this.boxMesh.geometry.computeBoundingSphere()\n this.displayBox.add( this.boxMesh )\n\n this.lineMaterial = new THREE.LineDashedMaterial( {\n color: 0x0A66FF,\n linewidth: 4,\n } )\n\n // show box edges\n edges.map( val => {\n let pts = [ this.boxGeo.vertices[val[0]].clone(),\n this.boxGeo.vertices[val[1]].clone() ]\n let geo = new THREE.BufferGeometry().setFromPoints( pts )\n let line = new THREE.Line( geo, this.lineMaterial )\n this.displayEdges.add( line )\n } )\n\n // normal of plane being hovered\n this.hoverPlane = new THREE.Vector3()\n\n this.selectionHelper = new SelectionHelper( this.viewer, { subset:this.displayBox, hover:true } )\n\n // pointer position\n this.pointer = new THREE.Vector3()\n this.dragging = false\n\n // planes face inward\n // indices correspond to vertex indices on the boxGeometry\n // constant is set to 1 + epsilon to prevent planes from clipping section box display\n this.planes = [\n {\n axis: '+x', // right, x positive\n plane:new THREE.Plane( new THREE.Vector3( 1, 0, 0 ), 1 ),\n indices: [ 5,4,6,7 ],\n },{\n axis: '-x', // left, x negative\n plane: new THREE.Plane( new THREE.Vector3( -1, 0, 0 ), 1 ),\n indices: [ 0,1,3,2 ],\n },{\n axis: '+y', // out, y positive\n plane:new THREE.Plane( new THREE.Vector3( 0, 1, 0 ), 1 ),\n indices: [ 2,3,6,7 ],\n },{\n axis: '-y', // in, y negative\n plane:new THREE.Plane( new THREE.Vector3( 0, -1, 0 ), 1 ),\n indices: [ 5,4,1,0 ],\n },{\n axis: '+z', // up, z positive\n plane:new THREE.Plane( new THREE.Vector3( 0, 0, 1 ), 1 ),\n indices: [ 1,3,6,4 ],\n },{\n axis: '-z', // down, z negative\n plane:new THREE.Plane( new THREE.Vector3( 0, 0, -1 ), 1 ),\n indices: [ 0,2,7,5 ],\n } ]\n\n // plane helpers\n // this.planeHelpers = this.planes.map( p => this.display.add(new THREE.PlaneHelper( p.plane, 2, 0x000000 ) ));\n\n // adds clipping planes to all materials\n // better to add clipping planes to renderer\n this.viewer.renderer.localClippingEnabled = true\n\n this.viewer.sceneManager.objects.forEach( obj => {\n obj.material.clippingPlanes = this.planes.map( c => c.plane )\n } )\n\n this.hoverMat = new THREE.MeshStandardMaterial( {\n transparent: true,\n opacity: 0.1,\n color: 0x0A66FF,\n // color: 0xE91E63,\n metalness: 0.1,\n roughness: 0.75,\n } )\n\n // hovered event handler\n this.selectionHelper.on( 'hovered', ( obj, e ) => {\n if ( !this.display.visible ) return\n if ( obj.length === 0 && !this.dragging ) {\n this.displayHover.clear()\n this.hoverPlane = new THREE.Vector3()\n this.viewer.controls.enabled = true\n this.viewer.renderer.domElement.style.cursor = 'default'\n return\n } else if ( this.dragging ){\n return\n }\n\n this.viewer.renderer.domElement.style.cursor = 'pointer'\n\n let index = this.planes.findIndex( p => p.plane.normal.equals( obj[0].face.normal.clone().negate() ) )\n if ( index < 0 ) return // this should never be the case?\n let planeObj = this.planes[index]\n let plane = planeObj.plane\n\n if ( plane.normal.equals( this.hoverPlane ) ) return\n this.hoverPlane = plane.normal.clone()\n\n this.updateHover( planeObj )\n } )\n\n // Selection Helper seems unecessary for this type of thing\n this.viewer.renderer.domElement.addEventListener( 'pointerup', ( e ) => {\n this.pointer = new THREE.Vector3()\n this.tempVerts = []\n this.viewer.controls.enabled = true\n this.dragging = false\n } )\n\n // get screen space vector of plane normal\n // project mouse displacement vector onto it\n // move plane by that much\n this.selectionHelper.on( 'object-drag', ( obj, e ) => {\n if ( !this.display.visible ) return\n\n // exit if we don't have a valid hoverPlane\n if ( this.hoverPlane.equals( new THREE.Vector3() ) ) return\n // exit if we're clicking on nothing\n if ( !obj.length && !this.dragging ) return\n\n this.viewer.controls.enabled = false\n this.viewer.renderer.domElement.style.cursor = 'move'\n\n this.dragging = true\n\n let index = this.planes.findIndex( p => p.plane.normal.equals( this.hoverPlane ) )\n let planeObj = this.planes[index]\n let plane = planeObj.plane\n\n if ( this.pointer.equals( new THREE.Vector3() ) ) {\n this.pointer = new THREE.Vector3( e.x, e.y, 0.0 )\n }\n\n // screen space normal vector\n // bad transformations of camera can corrupt this\n let ssNorm = plane.normal.clone()\n ssNorm.negate().project( this.viewer.camera )\n ssNorm.setComponent( 2, 0 ).normalize()\n\n // mouse displacement\n let mD = this.pointer.clone().sub( new THREE.Vector3( e.x, e.y, 0.0 ) )\n this.pointer = new THREE.Vector3( e.x, e.y, 0.0 )\n\n // quantity of mD on ssNorm\n let d = ( ssNorm.dot( mD ) / ssNorm.lengthSq() )\n\n // configurable drag speed\n let zoom = this.viewer.camera.getWorldPosition( new THREE.Vector3() ).sub( new THREE.Vector3() ).length()\n zoom *= 0.75\n d = d * zoom\n\n // limit plane from crossing it's pair\n let hoverOpp = this.hoverPlane.clone().negate()\n let indexOpp = this.planes.findIndex( p => p.plane.normal.equals( hoverOpp ) )\n let planeObjOpp = this.planes[indexOpp]\n let dist = planeObj.plane.constant + planeObjOpp.plane.constant\n\n let displacement = new THREE.Vector3( d,d,d ).multiply( plane.normal )\n // are we moving towards the limiting plane?\n let dot = displacement.clone().normalize().dot( plane.normal )\n\n // if displacement + padding is greater than limit,\n // and we're moving towards the limiting plane\n if ( dist < d && dot > 0 ) {\n d = dist * 0.001\n displacement = new THREE.Vector3( d,d,d ).multiply( plane.normal )\n }\n\n plane.translate( displacement )\n this.updateBoxFace( planeObj, displacement )\n this.updateHover( planeObj )\n\n this.viewer.needsRender = true\n } )\n }\n\n // boxMesh = bbox\n setFromBbox( bbox ){\n // add a little padding to the box\n bbox.max.addScalar( 10 )\n bbox.min.subScalar( 10 )\n for ( let p of this.planes ) {\n // reset plane\n // p.plane.set(p.plane.normal, 1)\n let c = 0\n // planes point inwards - if negative select max part of bbox\n if ( p.plane.normal.dot( new THREE.Vector3( 1,1,1 ) ) > 0 ) {\n c = p.plane.normal.clone().multiply( bbox.min )\n } else {\n c = p.plane.normal.clone().multiply( bbox.max )\n }\n let diff = c.length() - p.plane.constant\n\n // displacement\n let d = p.plane.normal.clone().negate().multiplyScalar( diff )\n\n this.updateBoxFace( p, d )\n p.plane.translate( d )\n }\n }\n\n updateBoxFace( planeObj, displacement ){\n this.boxMesh.geometry.vertices.map( ( v,i ) => {\n if ( !planeObj.indices.includes( i ) ) return\n this.boxMesh.geometry.vertices[i].add( displacement )\n } )\n\n this.boxMesh.geometry.verticesNeedUpdate = true\n this.boxMesh.geometry.computeBoundingBox()\n this.boxMesh.geometry.computeBoundingSphere()\n\n this.updateEdges()\n }\n\n updateEdges(){\n this.displayEdges.clear()\n edges.map( val => {\n let ptA = this.boxMesh.geometry.vertices[val[0]].clone()\n let ptB = this.boxMesh.geometry.vertices[val[1]].clone()\n // translation\n ptA.add( this.boxMesh.position )\n ptB.add( this.boxMesh.position )\n this.drawLine( [ ptA, ptB ] )\n } )\n }\n\n drawLine( pts ){\n let geo = new THREE.BufferGeometry().setFromPoints( pts )\n let line = new THREE.Line( geo, this.lineMaterial )\n this.displayEdges.add( line )\n }\n\n updateHover( planeObj ){\n this.displayHover.clear()\n let verts = this.boxMesh.geometry.vertices.filter( ( v, i ) => planeObj.indices.includes( i ) )\n\n let centroid = verts[0].clone()\n .add( verts[1] )\n .add( verts[2] )\n .add( verts[3] )\n\n centroid.multiplyScalar( 0.25 )\n\n let dims = verts[0].clone().sub( centroid ).multiplyScalar( 2 ).toArray().filter( v => v !== 0 )\n let width = Math.abs( dims[0] )\n let height = Math.abs( dims[1] )\n\n let hoverGeo = new THREE.PlaneGeometry( width, height )\n\n // orients hover geometry to box face\n switch ( planeObj.axis ){\n case '-x':\n hoverGeo.rotateY( Math.PI / 2 )\n hoverGeo.rotateX( Math.PI / 2 )\n break\n case '+x':\n hoverGeo.rotateY( -Math.PI / 2 )\n hoverGeo.rotateX( -Math.PI / 2 )\n break\n case '-y':\n hoverGeo.rotateX( -Math.PI / 2 )\n break\n case '+y':\n hoverGeo.rotateX( Math.PI / 2 )\n break\n default:\n break\n }\n\n // translation\n centroid.add( this.boxMesh.position )\n\n hoverGeo.translate( centroid.x, centroid.y, centroid.z )\n\n let hoverMesh = new THREE.Mesh( hoverGeo, this.hoverMat )\n this.displayHover.add( hoverMesh )\n }\n\n toggleSectionBox( _bool ){\n let bool = _bool || !this.visible\n this.visible = bool\n this.display.visible = bool\n this.viewer.needsRender = true\n\n // what's the tradeoff for having the clipping planes in material vs in the renderer?\n // this.viewer.renderer.clippingPlanes = bool ? this.planes.reduce((p,c) => [...p,c.plane],[]) : []\n }\n}\n","import * as THREE from 'three'\nimport { TransformControls } from 'three/examples/jsm/controls/TransformControls.js'\n\n/**\n * WIP: A utility class for adding section planes to the scene.\n * - 'S' shows/hides section planes\n * - 's' toggles controls from translate to rotate\n */\nexport default class SectionPlaneHelper {\n\n constructor( parent ) {\n this.viewer = parent\n this.cutters = []\n this.visible = false\n\n window.addEventListener( 'keydown', ( event ) => {\n if ( event.key === 's' ) {\n this.toggleTransformControls()\n }\n if ( event.key === 'S' ) {\n this.toggleSectionPlanes()\n }\n }, false )\n }\n\n get planes() {\n return this.cutters.map( cutter => cutter.plane )\n }\n\n get activePlanes() {\n return this.cutters.filter( cutter => cutter.visible ).map( cutter => cutter.plane )\n }\n\n toggleTransformControls() {\n this.cutters.forEach( cutter => {\n if ( cutter.control.mode === 'rotate' ) {\n cutter.control.setMode( 'translate' )\n cutter.control.showX = false\n cutter.control.showY = false\n cutter.control.showZ = true\n return\n }\n cutter.control.setMode( 'rotate' )\n cutter.control.showX = true\n cutter.control.showY = true\n cutter.control.showZ = false\n } )\n }\n\n createSectionPlane() {\n let cutter = { }\n\n cutter.id = this.cutters.length\n cutter.visible = false\n cutter.plane = new THREE.Plane( new THREE.Vector3( 0, 0, -1 ), 1 )\n\n cutter.helper = new THREE.Mesh( new THREE.PlaneGeometry( 1, 1, 1 ), new THREE.MeshBasicMaterial( { color: 0xAFAFAF, transparent: true, opacity: 0.1, side: THREE.DoubleSide } ) )\n cutter.helper.visible = false\n this.viewer.scene.add( cutter.helper )\n\n cutter.control = new TransformControls( this.viewer.camera, this.viewer.renderer.domElement )\n cutter.control.setSize( 0.5 )\n cutter.control.space = 'local'\n cutter.control.showX = false\n cutter.control.showY = false\n cutter.control.setRotationSnap( THREE.MathUtils.degToRad( 15 ) )\n\n cutter.control.addEventListener( 'change', () => this.viewer.render )\n cutter.control.addEventListener( 'dragging-changed', ( event ) => {\n if ( !cutter.visible ) return\n this.viewer.controls.enabled = !event.value\n\n // Reference: https://stackoverflow.com/a/52124409\n let normal = new THREE.Vector3()\n let point = new THREE.Vector3()\n normal.set( 0, 0, -1 ).applyQuaternion( cutter.helper.quaternion )\n point.copy( cutter.helper.position )\n cutter.plane.setFromNormalAndCoplanarPoint( normal, point )\n } )\n\n cutter.control.attach( cutter.helper )\n cutter.control.visible = false\n this.viewer.scene.add( cutter.control )\n\n this.cutters.push( cutter )\n\n // adds local clipping planes to all materials\n let objs = this.viewer.sceneManager.objects\n objs.forEach( obj => {\n obj.material.clippingPlanes = this.cutters.map( c => c.plane )\n } )\n }\n\n toggleSectionPlanes() {\n if ( this.visible ) this.hideSectionPlanes()\n else this.showSectionPlanes()\n\n this.visible = !this.visible\n }\n\n showSectionPlanes() {\n this._matchSceneSize()\n\n this.cutters.forEach( cutter => {\n cutter.visible = true\n cutter.helper.visible = true\n cutter.control.visible = true\n } )\n\n this.viewer.renderer.localClippingEnabled = true\n }\n\n hideSectionPlanes() {\n this.cutters.forEach( cutter => {\n cutter.visible = false\n cutter.helper.visible = false\n cutter.control.visible = false\n } )\n this.viewer.renderer.localClippingEnabled = false\n }\n\n _matchSceneSize() {\n // Scales and translate helper to scene bbox center and origin\n const sceneBox = new THREE.Box3().setFromObject( this.viewer.sceneManager.userObjects )\n const sceneSize = new THREE.Vector3()\n sceneBox.getSize( sceneSize )\n const sceneCenter = new THREE.Vector3()\n sceneBox.getCenter( sceneCenter )\n\n this.cutters.forEach( cutter => {\n cutter.helper.scale.set( sceneSize.x > 0 ? sceneSize.x : 1, sceneSize.y > 0 ? sceneSize.y : 1, sceneSize.z >0 ? sceneSize.z : 1 )\n cutter.helper.position.set( sceneCenter.x, sceneCenter.y, sceneCenter.z )\n\n let normal = new THREE.Vector3()\n let point = new THREE.Vector3()\n normal.set( 0, 0, -1 ).applyQuaternion( cutter.helper.quaternion )\n point.copy( cutter.helper.position )\n cutter.plane.setFromNormalAndCoplanarPoint( normal, point )\n } )\n\n }\n\n}\n","import * as THREE from 'three'\nimport debounce from 'lodash.debounce'\nimport EventEmitter from './EventEmitter'\n\n/**\n * Selects and deselects user added objects in the scene. Emits the array of all intersected objects on click.\n * Behaviours:\n * - Clicking on one object will select it.\n * - Double clicking on one object will focus on it.\n * - Double clicking anywhere else will focus the scene.\n * - Pressing escape will clear any selection present.\n * TODOs:\n * - Ensure clipped geometry is not selected.\n * - When objects are disposed, ensure selection is reset.\n *\n * optional param to configure SelectionHelper\n * _options = {\n * subset: THREE.Group\n * hover: boolean\n * }\n */\n\nexport default class SelectionHelper extends EventEmitter {\n\n constructor( parent, _options ) {\n super()\n this.viewer = parent\n this.raycaster = new THREE.Raycaster()\n\n // Handle clicks during camera moves\n this.orbiting = false\n // this.viewer.controls.addEventListener( 'control', debounce( () => { this.orbiting = false; console.log( 'ctrlstart '+ this.orbiting ) }, 200 ) )\n this.viewer.controls.addEventListener( 'wake', () => { this.orbiting = true; console.log( 'wake' ) } )\n // this.viewer.controls.addEventListener( 'controlend', () => { this.orbiting = false; console.log( 'controlend' ) } )\n this.viewer.controls.addEventListener( 'sleep', () => { this.orbiting = false; console.log( 'sleep' ) } )\n\n // this.viewer.controls.addEventListener( 'change', debounce( () => { this.orbiting = false }, 100 ) )\n // this.viewer.controls.addEventListener( 'start', debounce( () => { this.orbiting = true }, 200 ) )\n // this.viewer.controls.addEventListener( 'end', debounce( () => { this.orbiting = false }, 200 ) )\n\n // optional param allows for raycasting against a subset of objects\n // this.subset = typeof _options !== 'undefined' && typeof _options.subset !== 'undefined' ? _options.subset : null;\n this.subset = typeof _options !== 'undefined' && typeof _options.subset !== 'undefined' ? _options.subset : null\n\n this.pointerDown = false\n // this.hoverObj = null\n\n // optional param allows for hover\n if ( typeof _options !== 'undefined' && _options.hover ) {\n // doesn't feel good when debounced, might be necessary tho\n this.viewer.renderer.domElement.addEventListener( 'pointermove', debounce( ( e ) => {\n let hovered = this.getClickedObjects( e )\n\n // dragging event, this shouldn't be under the \"hover option\"\n if ( this.pointerDown ) {\n this.emit( 'object-drag', hovered, this._getNormalisedClickPosition( e ) )\n return\n }\n\n this.emit( 'hovered', hovered, e )\n },0 ) )\n }\n\n // dragging event, this shouldn't be under the \"hover option\"\n if ( typeof _options !== 'undefined' && _options.hover ) {\n this.viewer.renderer.domElement.addEventListener( 'pointerdown', debounce( ( e ) => {\n this.pointerDown = true\n\n if ( this.orbiting ) return\n\n this.emit( 'mouse-down', this.getClickedObjects( e ) )\n }, 100 ) )\n }\n\n // Handle mouseclicks\n let mdTime\n this.viewer.renderer.domElement.addEventListener( 'pointerdown', ( e ) => {\n mdTime = new Date().getTime()\n } )\n\n this.viewer.renderer.domElement.addEventListener( 'pointerup', ( e ) => {\n let delta = new Date().getTime() - mdTime\n console.log( delta )\n this.pointerDown = false\n console.log( 'pointerup: ' + this.orbiting )\n if ( this.orbiting && delta > 250 ) return\n\n let selectionObjects = this.getClickedObjects( e )\n\n this.emit( 'object-clicked', selectionObjects )\n } )\n\n // Doubleclicks on touch devices\n // http://jsfiddle.net/brettwp/J4djY/\n this.tapTimeout\n this.lastTap = 0\n this.touchLocation\n\n this.viewer.renderer.domElement.addEventListener( 'touchstart', ( e ) => { this.touchLocation = e.targetTouches[0] } )\n this.viewer.renderer.domElement.addEventListener( 'touchend', ( event ) => {\n var currentTime = new Date().getTime()\n var tapLength = currentTime - this.lastTap\n clearTimeout( this.tapTimeout )\n if ( tapLength < 500 && tapLength > 0 ) {\n let selectionObjects = this.getClickedObjects( this.touchLocation )\n this.emit( 'object-doubleclicked', selectionObjects )\n\n } else {\n this.tapTimeout = setTimeout( function() {\n clearTimeout( this.tapTimeout )\n }, 500 )\n }\n this.lastTap = currentTime\n } )\n\n this.viewer.renderer.domElement.addEventListener( 'dblclick', ( e ) => {\n // if ( this.orbiting ) return // not needed for zoom to thing?\n\n let selectionObjects = this.getClickedObjects( e )\n\n this.emit( 'object-doubleclicked', selectionObjects )\n // this.handleDoubleClick( selectionObjects )\n } )\n\n // Handle multiple object selection\n this.multiSelect = false\n document.addEventListener( 'keydown', ( e ) => {\n if ( e.isComposing || e.keyCode === 229 ) return\n if ( e.key === 'Shift' ) this.multiSelect = true\n if ( e.key === 'Escape' ) this.unselect( )\n } )\n document.addEventListener( 'keyup', ( e ) => {\n if ( e.isComposing || e.keyCode === 229 ) return\n if ( e.key === 'Shift' ) this.multiSelect = false\n } )\n\n this.originalSelectionObjects = []\n }\n\n unselect() {\n this.originalSelectionObjects = []\n }\n\n getClickedObjects( e ) {\n const normalizedPosition = this._getNormalisedClickPosition( e )\n this.raycaster.setFromCamera( normalizedPosition, this.viewer.camera )\n\n let intersectedObjects = this.raycaster.intersectObjects( this.subset ? this._getGroupChildren( this.subset ) : this.viewer.sceneManager.objects )\n intersectedObjects = intersectedObjects.filter( obj => this.viewer.sectionPlaneHelper.activePlanes.every( pl => pl.distanceToPoint( obj.point ) > 0 ) )\n\n return intersectedObjects\n }\n\n // get all children of a subset passed as a THREE.Group\n _getGroupChildren( group ){\n let children = []\n if ( group.children.length === 0 ) return [ group ]\n group.children.forEach( ( c,i,a ) => children = [ ...children, ...this._getGroupChildren( c ) ] )\n return children\n }\n\n _getNormalisedClickPosition( e ) {\n // Reference: https://threejsfundamentals.org/threejs/lessons/threejs-picking.html\n const canvas = this.viewer.renderer.domElement\n const rect = this.viewer.renderer.domElement.getBoundingClientRect()\n\n const pos = {\n x: ( e.clientX - rect.left ) * canvas.width / rect.width,\n y: ( e.clientY - rect.top ) * canvas.height / rect.height\n }\n return {\n x: ( pos.x / canvas.width ) * 2 - 1,\n y: ( pos.y / canvas.height ) * -2 + 1\n }\n }\n\n dispose() {\n this.unselect()\n this.originalSelectionObjects = null\n }\n}\n","export const Units = {\n Millimeters: 'mm',\n Centimeters: 'cm',\n Meters: 'm',\n Kilometers: 'km',\n Inches: 'in',\n Feet: 'ft',\n Yards: 'yd',\n Miles: 'mi'\n}\n\nexport function getConversionFactor( from, to = Units.Meters ){\n from = normaliseName( from )\n to = normaliseName( to )\n switch ( from )\n {\n // METRIC\n case Units.Millimeters:\n switch ( to )\n {\n case Units.Centimeters: return 0.1\n case Units.Meters: return 0.001\n case Units.Kilometers: return 1e-6\n case Units.Inches: return 0.0393701\n case Units.Feet: return 0.00328084\n case Units.Yards: return 0.00109361\n case Units.Miles: return 6.21371e-7\n }\n break\n case Units.Centimeters:\n switch ( to )\n {\n case Units.Millimeters: return 10\n case Units.Meters: return 0.01\n case Units.Kilometers: return 1e-5\n case Units.Inches: return 0.393701\n case Units.Feet: return 0.0328084\n case Units.Yards: return 0.0109361\n case Units.Miles: return 6.21371e-6\n }\n break\n case Units.Meters:\n switch ( to )\n {\n case Units.Millimeters: return 1000\n case Units.Centimeters: return 100\n case Units.Kilometers: return 1000\n case Units.Inches: return 39.3701\n case Units.Feet: return 3.28084\n case Units.Yards: return 1.09361\n case Units.Miles: return 0.000621371\n }\n break\n case Units.Kilometers:\n switch ( to )\n {\n case Units.Millimeters: return 1000000\n case Units.Centimeters: return 100000\n case Units.Meters: return 1000\n case Units.Inches: return 39370.1\n case Units.Feet: return 3280.84\n case Units.Yards: return 1093.61\n case Units.Miles: return 0.621371\n }\n break\n\n // IMPERIAL\n case Units.Inches:\n switch ( to )\n {\n case Units.Millimeters: return 25.4\n case Units.Centimeters: return 2.54\n case Units.Meters: return 0.0254\n case Units.Kilometers: return 2.54e-5\n case Units.Feet: return 0.0833333\n case Units.Yards: return 0.027777694\n case Units.Miles: return 1.57828e-5\n }\n break\n case Units.Feet:\n switch ( to )\n {\n case Units.Millimeters: return 304.8\n case Units.Centimeters: return 30.48\n case Units.Meters: return 0.3048\n case Units.Kilometers: return 0.0003048\n case Units.Inches: return 12\n case Units.Yards: return 0.333332328\n case Units.Miles: return 0.000189394\n }\n break\n case Units.Miles:\n switch ( to )\n {\n case Units.Millimeters: return 1.609e+6\n case Units.Centimeters: return 160934\n case Units.Meters: return 1609.34\n case Units.Kilometers: return 1.60934\n case Units.Inches: return 63360\n case Units.Feet: return 5280\n case Units.Yards: return 1759.99469184\n }\n break\n }\n return 1\n}\n\nexport function normaliseName( unit ) {\n if ( !unit ) return Units.Meters\n switch ( unit.toLowerCase() )\n {\n case 'mm':\n case 'mil':\n case 'millimeters':\n case 'millimetres':\n return Units.Millimeters\n case 'cm':\n case 'centimetre':\n case 'centimeter':\n case 'centimetres':\n case 'centimeters':\n return Units.Centimeters\n case 'm':\n case 'meter':\n case 'metre':\n case 'meters':\n case 'metres':\n return Units.Meters\n case 'inches':\n case 'inch':\n case 'in':\n return Units.Inches\n case 'feet':\n case 'foot':\n case 'ft':\n return Units.Feet\n case 'yard':\n case 'yards':\n case 'yd':\n return Units.Yards\n case 'miles':\n case 'mile':\n case 'mi':\n return Units.Miles\n default:\n return Units.Meters\n }\n}\n","import * as THREE from 'three'\n\nimport CameraControls from 'camera-controls'\nimport { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js'\nimport { SSAOPass } from 'three/examples/jsm/postprocessing/SSAOPass.js'\nimport Stats from 'three/examples/jsm/libs/stats.module.js'\n\nimport ObjectManager from './SceneObjectManager'\nimport SelectionHelper from './SelectionHelper'\nimport SectionPlaneHelper from './SectionPlaneHelper'\nimport ViewerObjectLoader from './ViewerObjectLoader'\nimport EventEmitter from './EventEmitter'\nimport SectionBox from './SectionBox'\n\nexport default class Viewer extends EventEmitter {\n\n constructor( { container, postprocessing = true, reflections = true, showStats = false } ) {\n super()\n\n this.clock = new THREE.Clock()\n\n this.container = container || document.getElementById( 'renderer' )\n this.postprocessing = postprocessing\n this.scene = new THREE.Scene()\n\n this.camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight )\n this.camera.up.set( 0, 0, 1 )\n this.camera.position.set( 1, 1, 1 )\n this.camera.updateProjectionMatrix()\n\n this.renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true } )\n this.renderer.setClearColor( 0xcccccc, 0 )\n this.renderer.setPixelRatio( window.devicePixelRatio )\n this.renderer.setSize( this.container.offsetWidth, this.container.offsetHeight )\n this.container.appendChild( this.renderer.domElement )\n\n // commented out because the ssao flash is annoying\n // this.renderer.gammaFactor = 2.2\n // this.renderer.outputEncoding = THREE.sRGBEncoding\n\n this.reflections = reflections\n this.reflectionsNeedUpdate = true\n const cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 512, { format: THREE.RGBFormat, generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } )\n this.cubeCamera = new THREE.CubeCamera( 0.1, 10_000, cubeRenderTarget )\n this.scene.add( this.cubeCamera )\n\n CameraControls.install( { THREE: THREE } )\n this.controls = new CameraControls( this.camera, this.renderer.domElement )\n this.controls.maxPolarAngle = Math.PI / 2\n this.controls.dampingFactor = 0.1\n\n this.composer = new EffectComposer( this.renderer )\n\n this.ssaoPass = new SSAOPass( this.scene, this.camera, this.container.offsetWidth, this.container.offsetHeight )\n this.ssaoPass.kernelRadius = 0.03\n this.ssaoPass.kernelSize = 16\n this.ssaoPass.minDistance = 0.0002\n this.ssaoPass.maxDistance = 10\n this.ssaoPass.output = SSAOPass.OUTPUT.Default\n this.composer.addPass( this.ssaoPass )\n\n this.pauseSSAO = false\n this.controls.addEventListener( 'wake', () => { this.pauseSSAO = true } )\n this.controls.addEventListener( 'controlend', () => { this.pauseSSAO = false } )\n\n // Selected Objects\n this.selectionMaterial = new THREE.MeshLambertMaterial( { color: 0x0B55D2, emissive: 0x0B55D2, side: THREE.DoubleSide } )\n this.selectedObjects = new THREE.Group()\n this.scene.add( this.selectedObjects )\n this.selectedObjects.renderOrder = 1000\n\n this.selectionHelper = new SelectionHelper( this )\n // Viewer registers double click event and supplies handler\n this.selectionHelper.on( 'object-doubleclicked', this.handleDoubleClick.bind( this ) )\n this.selectionHelper.on( 'object-clicked', this.handleSelect.bind( this ) )\n\n if ( showStats ) {\n this.stats = new Stats()\n this.container.appendChild( this.stats.dom )\n }\n\n window.addEventListener( 'resize', this.onWindowResize.bind( this ), false )\n\n this.sectionPlaneHelper = new SectionPlaneHelper( this )\n this.sceneManager = new ObjectManager( this )\n\n this.sectionPlaneHelper.createSectionPlane()\n\n // Section Box\n this.sectionBox = new SectionBox( this )\n\n this.needsRender = true\n this.sceneLights()\n this.animate()\n\n this.loaders = []\n }\n\n // handleDoubleClick moved from SelectionHelper\n handleDoubleClick( objs ) {\n if ( !objs || objs.length === 0 ) this.sceneManager.zoomExtents()\n else this.sceneManager.zoomToObject( objs[0].object )\n this.needsRender = true\n }\n\n // handleSelect moved from SelectionHelper\n handleSelect( obj ) {\n if ( obj.length === 0 ) {\n this.deselect()\n return\n }\n\n if ( !this.selectionHelper.multiSelect ) this.deselect()\n\n let mesh = new THREE.Mesh( obj[0].object.geometry, this.selectionMaterial )\n this.selectedObjects.add( mesh )\n this.needsRender = true\n }\n\n deselect(){\n this.selectedObjects.clear()\n this.needsRender = true\n }\n\n sceneLights() {\n let ambientLight = new THREE.AmbientLight( 0xffffff )\n this.scene.add( ambientLight )\n\n const lights = []\n lights[ 0 ] = new THREE.PointLight( 0xffffff, 0.21, 0 )\n lights[ 1 ] = new THREE.PointLight( 0xffffff, 0.21, 0 )\n lights[ 2 ] = new THREE.PointLight( 0xffffff, 0.21, 0 )\n lights[ 3 ] = new THREE.PointLight( 0xffffff, 0.21, 0 )\n\n let factor = 1000\n lights[ 0 ].position.set( 1 * factor, 1 * factor, 1 * factor )\n lights[ 1 ].position.set( 1 * factor, -1 * factor, 1 * factor )\n lights[ 2 ].position.set( -1 * factor, -1 * factor, 1 * factor )\n lights[ 3 ].position.set( -1 * factor, 1 * factor, 1 * factor )\n\n this.scene.add( lights[ 0 ] )\n this.scene.add( lights[ 1 ] )\n this.scene.add( lights[ 2 ] )\n this.scene.add( lights[ 3 ] )\n\n // let sphereSize = 0.2\n // this.scene.add( new THREE.PointLightHelper( lights[ 0 ], sphereSize ) )\n // this.scene.add( new THREE.PointLightHelper( lights[ 1 ], sphereSize ) )\n // this.scene.add( new THREE.PointLightHelper( lights[ 2 ], sphereSize ) )\n // this.scene.add( new THREE.PointLightHelper( lights[ 3 ], sphereSize ) )\n\n\n const hemiLight = new THREE.HemisphereLight( 0xffffff, 0x0, 0.2 )\n hemiLight.color.setHSL( 1, 1, 1 )\n hemiLight.groundColor.setHSL( 0.095, 1, 0.75 )\n hemiLight.up.set( 0, 0, 1 )\n this.scene.add( hemiLight )\n\n let axesHelper = new THREE.AxesHelper( 1 )\n this.scene.add( axesHelper )\n\n let group = new THREE.Group()\n this.scene.add( group )\n }\n\n onWindowResize() {\n this.camera.aspect = this.container.offsetWidth / this.container.offsetHeight\n this.camera.updateProjectionMatrix()\n this.renderer.setSize( this.container.offsetWidth, this.container.offsetHeight )\n this.composer.setSize( this.container.offsetWidth, this.container.offsetHeight )\n }\n\n animate() {\n // requestAnimationFrame( this.animate.bind( this ) )\n // this.controls.update()\n //\n const delta = this.clock.getDelta()\n const hasControlsUpdated = this.controls.update( delta )\n\n requestAnimationFrame( this.animate.bind( this ) )\n\n // you can skip this condition to render though\n if ( hasControlsUpdated || this.needsRender ) {\n this.needsRender = false\n if ( this.stats ) this.stats.begin()\n this.render()\n if ( this.stats ) this.stats.end()\n }\n\n }\n\n render() {\n if ( this.reflections && this.reflectionsNeedUpdate ) {\n // Note: scene based \"dynamic\" reflections need to be handled a bit more carefully, or else:\n // GL ERROR :GL_INVALID_OPERATION : glDrawElements: Source and destination textures of the draw are the same.\n // First remove the env map from all materials\n for ( let obj of this.sceneManager.objects ) {\n obj.material.envMap = null\n }\n\n // Second, set a scene background color (renderer is transparent by default)\n // and then finally update the cubemap camera.\n this.scene.background = new THREE.Color( '#F0F3F8' )\n this.cubeCamera.update( this.renderer, this.scene )\n this.scene.background = null\n\n // Finally, re-set the env maps of all materials\n for ( let obj of this.sceneManager.objects ) {\n obj.material.envMap = this.cubeCamera.renderTarget.texture\n }\n this.reflectionsNeedUpdate = false\n }\n\n // Render as usual\n // TODO: post processing SSAO sucks so much currently it's off by default\n // if ( this.postprocessing && !this.pauseSSAO && !this.renderer.localClippingEnabled ){\n if ( this.postprocessing && !this.pauseSSAO ){\n // console.log('composer')\n this.composer.render( this.scene, this.camera )\n }\n else {\n // console.log('renderer')\n this.renderer.render( this.scene, this.camera )\n }\n }\n\n async loadObject( url, token ) {\n let loader = new ViewerObjectLoader( this, url, token )\n this.loaders.push( loader )\n await loader.load()\n }\n\n dispose() {\n // TODO\n }\n}\n","import ObjectLoader from './ObjectLoader'\nimport Converter from './Converter'\n\n/**\n * Helper wrapper around the ObjectLoader class, with some built in assumptions.\n */\n\nexport default class ViewerObjectLoader {\n\n\n constructor( parent, objectUrl, authToken ) {\n this.viewer = parent\n this.token = authToken || localStorage.getItem( 'AuthToken' )\n\n if ( !this.token ) {\n throw new Error( 'No suitable authorization token found.' )\n }\n\n // example url: `https://staging.speckle.dev/streams/a75ab4f10f/objects/f33645dc9a702de8af0af16bd5f655b0`\n let url = new URL( objectUrl )\n\n let segments = url.pathname.split( '/' )\n if ( segments.length < 5 || url.pathname.indexOf( 'streams' ) === -1 || url.pathname.indexOf( 'objects' ) === -1 ) {\n throw new Error( 'Unexpected object url format.' )\n }\n\n this.serverUrl = url.origin\n this.streamId = segments[2]\n this.objectId = segments[4]\n\n this.loader = new ObjectLoader( {\n serverUrl: this.serverUrl,\n token: this.token,\n streamId: this.streamId,\n objectId: this.objectId,\n } )\n\n this.converter = new Converter( this.loader )\n }\n\n async load( ) {\n let first = true\n let current = 0\n let total = 0\n for await ( let obj of this.loader.getObjectIterator() ) {\n if ( first ) {\n ( async() => {\n await this.converter.traverseAndConvert( obj, ( o ) => this.viewer.sceneManager.addObject( o ) )\n } )()\n first = false\n total = obj.totalChildrenCount\n }\n current++\n this.viewer.emit( 'load-progress', { progress: current/( total+1 ), id: this.objectId } )\n }\n }\n}\n","/*!\n * camera-controls\n * https://github.com/yomotsu/camera-controls\n * (c) 2017 @yomotsu\n * Released under the MIT License.\n */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\nvar ACTION;\r\n(function (ACTION) {\r\n ACTION[ACTION[\"NONE\"] = 0] = \"NONE\";\r\n ACTION[ACTION[\"ROTATE\"] = 1] = \"ROTATE\";\r\n ACTION[ACTION[\"TRUCK\"] = 2] = \"TRUCK\";\r\n ACTION[ACTION[\"OFFSET\"] = 3] = \"OFFSET\";\r\n ACTION[ACTION[\"DOLLY\"] = 4] = \"DOLLY\";\r\n ACTION[ACTION[\"ZOOM\"] = 5] = \"ZOOM\";\r\n ACTION[ACTION[\"TOUCH_ROTATE\"] = 6] = \"TOUCH_ROTATE\";\r\n ACTION[ACTION[\"TOUCH_TRUCK\"] = 7] = \"TOUCH_TRUCK\";\r\n ACTION[ACTION[\"TOUCH_OFFSET\"] = 8] = \"TOUCH_OFFSET\";\r\n ACTION[ACTION[\"TOUCH_DOLLY\"] = 9] = \"TOUCH_DOLLY\";\r\n ACTION[ACTION[\"TOUCH_ZOOM\"] = 10] = \"TOUCH_ZOOM\";\r\n ACTION[ACTION[\"TOUCH_DOLLY_TRUCK\"] = 11] = \"TOUCH_DOLLY_TRUCK\";\r\n ACTION[ACTION[\"TOUCH_DOLLY_OFFSET\"] = 12] = \"TOUCH_DOLLY_OFFSET\";\r\n ACTION[ACTION[\"TOUCH_ZOOM_TRUCK\"] = 13] = \"TOUCH_ZOOM_TRUCK\";\r\n ACTION[ACTION[\"TOUCH_ZOOM_OFFSET\"] = 14] = \"TOUCH_ZOOM_OFFSET\";\r\n})(ACTION || (ACTION = {}));\n\nvar PI_2 = Math.PI * 2;\r\nvar PI_HALF = Math.PI / 2;\r\nvar FPS_60 = 1 / 0.016;\n\nvar EPSILON = 1e-5;\r\nfunction approxZero(number) {\r\n return Math.abs(number) < EPSILON;\r\n}\r\nfunction approxEquals(a, b) {\r\n return approxZero(a - b);\r\n}\r\nfunction roundToStep(value, step) {\r\n return Math.round(value / step) * step;\r\n}\r\nfunction infinityToMaxNumber(value) {\r\n if (isFinite(value))\r\n return value;\r\n if (value < 0)\r\n return -Number.MAX_VALUE;\r\n return Number.MAX_VALUE;\r\n}\r\nfunction maxNumberToInfinity(value) {\r\n if (Math.abs(value) < Number.MAX_VALUE)\r\n return value;\r\n return value * Infinity;\r\n}\n\nfunction isTouchEvent(event) {\r\n return 'TouchEvent' in window && event instanceof TouchEvent;\r\n}\n\nfunction extractClientCoordFromEvent(event, out) {\r\n out.set(0, 0);\r\n if (isTouchEvent(event)) {\r\n var touchEvent = event;\r\n for (var i = 0; i < touchEvent.touches.length; i++) {\r\n out.x += touchEvent.touches[i].clientX;\r\n out.y += touchEvent.touches[i].clientY;\r\n }\r\n out.x /= touchEvent.touches.length;\r\n out.y /= touchEvent.touches.length;\r\n return out;\r\n }\r\n else {\r\n var mouseEvent = event;\r\n out.set(mouseEvent.clientX, mouseEvent.clientY);\r\n return out;\r\n }\r\n}\n\nfunction notSupportedInOrthographicCamera(camera, message) {\r\n if (!camera.isPerspectiveCamera) {\r\n console.warn(message + \" is not supported in OrthographicCamera\");\r\n return true;\r\n }\r\n return false;\r\n}\n\nfunction quatInvertCompat(target) {\r\n if (target.invert) {\r\n target.invert();\r\n }\r\n else {\r\n target.inverse();\r\n }\r\n return target;\r\n}\n\nvar EventDispatcher = (function () {\r\n function EventDispatcher() {\r\n this._listeners = {};\r\n }\r\n EventDispatcher.prototype.addEventListener = function (type, listener) {\r\n var listeners = this._listeners;\r\n if (listeners[type] === undefined)\r\n listeners[type] = [];\r\n if (listeners[type].indexOf(listener) === -1)\r\n listeners[type].push(listener);\r\n };\r\n EventDispatcher.prototype.removeEventListener = function (type, listener) {\r\n var listeners = this._listeners;\r\n var listenerArray = listeners[type];\r\n if (listenerArray !== undefined) {\r\n var index = listenerArray.indexOf(listener);\r\n if (index !== -1)\r\n listenerArray.splice(index, 1);\r\n }\r\n };\r\n EventDispatcher.prototype.removeAllEventListeners = function (type) {\r\n if (!type) {\r\n this._listeners = {};\r\n return;\r\n }\r\n if (Array.isArray(this._listeners[type]))\r\n this._listeners[type].length = 0;\r\n };\r\n EventDispatcher.prototype.dispatchEvent = function (event) {\r\n var listeners = this._listeners;\r\n var listenerArray = listeners[event.type];\r\n if (listenerArray !== undefined) {\r\n event.target = this;\r\n var array = listenerArray.slice(0);\r\n for (var i = 0, l = array.length; i < l; i++) {\r\n array[i].call(this, event);\r\n }\r\n }\r\n };\r\n return EventDispatcher;\r\n}());\n\nvar isBrowser = typeof window !== 'undefined';\r\nvar isMac = isBrowser && /Mac/.test(navigator.platform);\r\nvar readonlyACTION = Object.freeze(ACTION);\r\nvar TOUCH_DOLLY_FACTOR = 1 / 8;\r\nvar THREE;\r\nvar _ORIGIN;\r\nvar _AXIS_Y;\r\nvar _AXIS_Z;\r\nvar _v2;\r\nvar _v3A;\r\nvar _v3B;\r\nvar _v3C;\r\nvar _xColumn;\r\nvar _yColumn;\r\nvar _zColumn;\r\nvar _sphericalA;\r\nvar _sphericalB;\r\nvar _box3A;\r\nvar _box3B;\r\nvar _sphere;\r\nvar _quaternionA;\r\nvar _quaternionB;\r\nvar _rotationMatrix;\r\nvar _raycaster;\r\nvar CameraControls = (function (_super) {\r\n __extends(CameraControls, _super);\r\n function CameraControls(camera, domElement) {\r\n var _this = _super.call(this) || this;\r\n _this.minPolarAngle = 0;\r\n _this.maxPolarAngle = Math.PI;\r\n _this.minAzimuthAngle = -Infinity;\r\n _this.maxAzimuthAngle = Infinity;\r\n _this.minDistance = 0;\r\n _this.maxDistance = Infinity;\r\n _this.infinityDolly = false;\r\n _this.minZoom = 0.01;\r\n _this.maxZoom = Infinity;\r\n _this.dampingFactor = 0.05;\r\n _this.draggingDampingFactor = 0.25;\r\n _this.azimuthRotateSpeed = 1.0;\r\n _this.polarRotateSpeed = 1.0;\r\n _this.dollySpeed = 1.0;\r\n _this.truckSpeed = 2.0;\r\n _this.dollyToCursor = false;\r\n _this.dragToOffset = false;\r\n _this.verticalDragToForward = false;\r\n _this.boundaryFriction = 0.0;\r\n _this.colliderMeshes = [];\r\n _this.cancel = function () { };\r\n _this._enabled = true;\r\n _this._state = ACTION.NONE;\r\n _this._viewport = null;\r\n _this._dollyControlAmount = 0;\r\n _this._boundaryEnclosesCamera = false;\r\n _this._needsUpdate = true;\r\n _this._updatedLastTime = false;\r\n if (typeof THREE === 'undefined') {\r\n console.error('camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information.');\r\n }\r\n _this._camera = camera;\r\n _this._yAxisUpSpace = new THREE.Quaternion().setFromUnitVectors(_this._camera.up, _AXIS_Y);\r\n _this._yAxisUpSpaceInverse = quatInvertCompat(_this._yAxisUpSpace.clone());\r\n _this._state = ACTION.NONE;\r\n _this._domElement = domElement;\r\n _this._target = new THREE.Vector3();\r\n _this._targetEnd = _this._target.clone();\r\n _this._focalOffset = new THREE.Vector3();\r\n _this._focalOffsetEnd = _this._focalOffset.clone();\r\n _this._spherical = new THREE.Spherical().setFromVector3(_v3A.copy(_this._camera.position).applyQuaternion(_this._yAxisUpSpace));\r\n _this._sphericalEnd = _this._spherical.clone();\r\n _this._zoom = _this._camera.zoom;\r\n _this._zoomEnd = _this._zoom;\r\n _this._nearPlaneCorners = [\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n ];\r\n _this._updateNearPlaneCorners();\r\n _this._boundary = new THREE.Box3(new THREE.Vector3(-Infinity, -Infinity, -Infinity), new THREE.Vector3(Infinity, Infinity, Infinity));\r\n _this._target0 = _this._target.clone();\r\n _this._position0 = _this._camera.position.clone();\r\n _this._zoom0 = _this._zoom;\r\n _this._focalOffset0 = _this._focalOffset.clone();\r\n _this._dollyControlAmount = 0;\r\n _this._dollyControlCoord = new THREE.Vector2();\r\n _this.mouseButtons = {\r\n left: ACTION.ROTATE,\r\n middle: ACTION.DOLLY,\r\n right: ACTION.TRUCK,\r\n wheel: _this._camera.isPerspectiveCamera ? ACTION.DOLLY :\r\n _this._camera.isOrthographicCamera ? ACTION.ZOOM :\r\n ACTION.NONE,\r\n };\r\n _this.touches = {\r\n one: ACTION.TOUCH_ROTATE,\r\n two: _this._camera.isPerspectiveCamera ? ACTION.TOUCH_DOLLY_TRUCK :\r\n _this._camera.isOrthographicCamera ? ACTION.TOUCH_ZOOM_TRUCK :\r\n ACTION.NONE,\r\n three: ACTION.TOUCH_TRUCK,\r\n };\r\n if (_this._domElement) {\r\n var dragStartPosition_1 = new THREE.Vector2();\r\n var lastDragPosition_1 = new THREE.Vector2();\r\n var dollyStart_1 = new THREE.Vector2();\r\n var elementRect_1 = new THREE.Vector4();\r\n var truckInternal_1 = function (deltaX, deltaY, dragToOffset) {\r\n if (_this._camera.isPerspectiveCamera) {\r\n var camera_1 = _this._camera;\r\n var offset = _v3A.copy(camera_1.position).sub(_this._target);\r\n var fov = camera_1.getEffectiveFOV() * THREE.MathUtils.DEG2RAD;\r\n var targetDistance = offset.length() * Math.tan(fov * 0.5);\r\n var truckX = (_this.truckSpeed * deltaX * targetDistance / elementRect_1.w);\r\n var pedestalY = (_this.truckSpeed * deltaY * targetDistance / elementRect_1.w);\r\n if (_this.verticalDragToForward) {\r\n dragToOffset ?\r\n _this.setFocalOffset(_this._focalOffsetEnd.x + truckX, _this._focalOffsetEnd.y, _this._focalOffsetEnd.z, true) :\r\n _this.truck(truckX, 0, true);\r\n _this.forward(-pedestalY, true);\r\n }\r\n else {\r\n dragToOffset ?\r\n _this.setFocalOffset(_this._focalOffsetEnd.x + truckX, _this._focalOffsetEnd.y + pedestalY, _this._focalOffsetEnd.z, true) :\r\n _this.truck(truckX, pedestalY, true);\r\n }\r\n }\r\n else if (_this._camera.isOrthographicCamera) {\r\n var camera_2 = _this._camera;\r\n var truckX = deltaX * (camera_2.right - camera_2.left) / camera_2.zoom / elementRect_1.z;\r\n var pedestalY = deltaY * (camera_2.top - camera_2.bottom) / camera_2.zoom / elementRect_1.w;\r\n dragToOffset ?\r\n _this.setFocalOffset(_this._focalOffsetEnd.x + truckX, _this._focalOffsetEnd.y + pedestalY, _this._focalOffsetEnd.z, true) :\r\n _this.truck(truckX, pedestalY, true);\r\n }\r\n };\r\n var rotateInternal_1 = function (deltaX, deltaY) {\r\n var theta = PI_2 * _this.azimuthRotateSpeed * deltaX / elementRect_1.w;\r\n var phi = PI_2 * _this.polarRotateSpeed * deltaY / elementRect_1.w;\r\n _this.rotate(theta, phi, true);\r\n };\r\n var dollyInternal_1 = function (delta, x, y) {\r\n var dollyScale = Math.pow(0.95, -delta * _this.dollySpeed);\r\n var distance = _this._sphericalEnd.radius * dollyScale;\r\n var prevRadius = _this._sphericalEnd.radius;\r\n _this.dollyTo(distance);\r\n if (_this.infinityDolly && distance < _this.minDistance) {\r\n _this._camera.getWorldDirection(_v3A);\r\n _this._targetEnd.add(_v3A.normalize().multiplyScalar(prevRadius));\r\n _this._target.add(_v3A.normalize().multiplyScalar(prevRadius));\r\n }\r\n if (_this.dollyToCursor) {\r\n _this._dollyControlAmount += _this._sphericalEnd.radius - prevRadius;\r\n _this._dollyControlCoord.set(x, y);\r\n }\r\n return;\r\n };\r\n var zoomInternal_1 = function (delta) {\r\n var zoomScale = Math.pow(0.95, delta * _this.dollySpeed);\r\n _this.zoomTo(_this._zoom * zoomScale);\r\n return;\r\n };\r\n var cancelDragging_1 = function () {\r\n _this._state = ACTION.NONE;\r\n document.removeEventListener('mousemove', dragging_1);\r\n document.removeEventListener('touchmove', dragging_1, { passive: false });\r\n document.removeEventListener('mouseup', endDragging_1);\r\n document.removeEventListener('touchend', endDragging_1);\r\n };\r\n var onMouseDown_1 = function (event) {\r\n if (!_this._enabled)\r\n return;\r\n cancelDragging_1();\r\n switch (event.button) {\r\n case THREE.MOUSE.LEFT:\r\n _this._state = _this.mouseButtons.left;\r\n break;\r\n case THREE.MOUSE.MIDDLE:\r\n _this._state = _this.mouseButtons.middle;\r\n break;\r\n case THREE.MOUSE.RIGHT:\r\n _this._state = _this.mouseButtons.right;\r\n break;\r\n }\r\n startDragging_1(event);\r\n };\r\n var onTouchStart_1 = function (event) {\r\n if (!_this._enabled)\r\n return;\r\n cancelDragging_1();\r\n switch (event.touches.length) {\r\n case 1:\r\n _this._state = _this.touches.one;\r\n break;\r\n case 2:\r\n _this._state = _this.touches.two;\r\n break;\r\n case 3:\r\n _this._state = _this.touches.three;\r\n break;\r\n }\r\n startDragging_1(event);\r\n };\r\n var lastScrollTimeStamp_1 = -1;\r\n var onMouseWheel_1 = function (event) {\r\n if (!_this._enabled || _this.mouseButtons.wheel === ACTION.NONE)\r\n return;\r\n event.preventDefault();\r\n if (_this.dollyToCursor ||\r\n _this.mouseButtons.wheel === ACTION.ROTATE ||\r\n _this.mouseButtons.wheel === ACTION.TRUCK) {\r\n var now = performance.now();\r\n if (lastScrollTimeStamp_1 - now < 1000)\r\n _this._getClientRect(elementRect_1);\r\n lastScrollTimeStamp_1 = now;\r\n }\r\n var deltaYFactor = isMac ? -1 : -3;\r\n var delta = (event.deltaMode === 1) ? event.deltaY / deltaYFactor : event.deltaY / (deltaYFactor * 10);\r\n var x = _this.dollyToCursor ? (event.clientX - elementRect_1.x) / elementRect_1.z * 2 - 1 : 0;\r\n var y = _this.dollyToCursor ? (event.clientY - elementRect_1.y) / elementRect_1.w * -2 + 1 : 0;\r\n switch (_this.mouseButtons.wheel) {\r\n case ACTION.ROTATE: {\r\n rotateInternal_1(event.deltaX, event.deltaY);\r\n break;\r\n }\r\n case ACTION.TRUCK: {\r\n truckInternal_1(event.deltaX, event.deltaY, false);\r\n break;\r\n }\r\n case ACTION.OFFSET: {\r\n truckInternal_1(event.deltaX, event.deltaY, true);\r\n break;\r\n }\r\n case ACTION.DOLLY: {\r\n dollyInternal_1(-delta, x, y);\r\n break;\r\n }\r\n case ACTION.ZOOM: {\r\n zoomInternal_1(-delta);\r\n break;\r\n }\r\n }\r\n _this.dispatchEvent({\r\n type: 'control',\r\n originalEvent: event,\r\n });\r\n };\r\n var onContextMenu_1 = function (event) {\r\n if (!_this._enabled)\r\n return;\r\n event.preventDefault();\r\n };\r\n var startDragging_1 = function (event) {\r\n if (!_this._enabled)\r\n return;\r\n extractClientCoordFromEvent(event, _v2);\r\n _this._getClientRect(elementRect_1);\r\n dragStartPosition_1.copy(_v2);\r\n lastDragPosition_1.copy(_v2);\r\n var isMultiTouch = isTouchEvent(event) && event.touches.length >= 2;\r\n if (isMultiTouch) {\r\n var touchEvent = event;\r\n var dx = _v2.x - touchEvent.touches[1].clientX;\r\n var dy = _v2.y - touchEvent.touches[1].clientY;\r\n var distance = Math.sqrt(dx * dx + dy * dy);\r\n dollyStart_1.set(0, distance);\r\n var x = (touchEvent.touches[0].clientX + touchEvent.touches[1].clientX) * 0.5;\r\n var y = (touchEvent.touches[0].clientY + touchEvent.touches[1].clientY) * 0.5;\r\n lastDragPosition_1.set(x, y);\r\n }\r\n document.addEventListener('mousemove', dragging_1);\r\n document.addEventListener('touchmove', dragging_1, { passive: false });\r\n document.addEventListener('mouseup', endDragging_1);\r\n document.addEventListener('touchend', endDragging_1);\r\n _this.dispatchEvent({\r\n type: 'controlstart',\r\n originalEvent: event,\r\n });\r\n };\r\n var dragging_1 = function (event) {\r\n if (!_this._enabled)\r\n return;\r\n event.preventDefault();\r\n extractClientCoordFromEvent(event, _v2);\r\n var deltaX = lastDragPosition_1.x - _v2.x;\r\n var deltaY = lastDragPosition_1.y - _v2.y;\r\n lastDragPosition_1.copy(_v2);\r\n switch (_this._state) {\r\n case ACTION.ROTATE:\r\n case ACTION.TOUCH_ROTATE: {\r\n rotateInternal_1(deltaX, deltaY);\r\n break;\r\n }\r\n case ACTION.DOLLY:\r\n case ACTION.ZOOM: {\r\n var dollyX = _this.dollyToCursor ? (dragStartPosition_1.x - elementRect_1.x) / elementRect_1.z * 2 - 1 : 0;\r\n var dollyY = _this.dollyToCursor ? (dragStartPosition_1.y - elementRect_1.y) / elementRect_1.w * -2 + 1 : 0;\r\n _this._state === ACTION.DOLLY ?\r\n dollyInternal_1(deltaY * TOUCH_DOLLY_FACTOR, dollyX, dollyY) :\r\n zoomInternal_1(deltaY * TOUCH_DOLLY_FACTOR);\r\n break;\r\n }\r\n case ACTION.TOUCH_DOLLY:\r\n case ACTION.TOUCH_ZOOM:\r\n case ACTION.TOUCH_DOLLY_TRUCK:\r\n case ACTION.TOUCH_ZOOM_TRUCK:\r\n case ACTION.TOUCH_DOLLY_OFFSET:\r\n case ACTION.TOUCH_ZOOM_OFFSET: {\r\n var touchEvent = event;\r\n var dx = _v2.x - touchEvent.touches[1].clientX;\r\n var dy = _v2.y - touchEvent.touches[1].clientY;\r\n var distance = Math.sqrt(dx * dx + dy * dy);\r\n var dollyDelta = dollyStart_1.y - distance;\r\n dollyStart_1.set(0, distance);\r\n var dollyX = _this.dollyToCursor ? (lastDragPosition_1.x - elementRect_1.x) / elementRect_1.z * 2 - 1 : 0;\r\n var dollyY = _this.dollyToCursor ? (lastDragPosition_1.y - elementRect_1.y) / elementRect_1.w * -2 + 1 : 0;\r\n _this._state === ACTION.TOUCH_DOLLY ||\r\n _this._state === ACTION.TOUCH_DOLLY_TRUCK ?\r\n dollyInternal_1(dollyDelta * TOUCH_DOLLY_FACTOR, dollyX, dollyY) :\r\n zoomInternal_1(dollyDelta * TOUCH_DOLLY_FACTOR);\r\n if (_this._state === ACTION.TOUCH_DOLLY_TRUCK ||\r\n _this._state === ACTION.TOUCH_ZOOM_TRUCK) {\r\n truckInternal_1(deltaX, deltaY, false);\r\n }\r\n else if (_this._state === ACTION.TOUCH_DOLLY_OFFSET ||\r\n _this._state === ACTION.TOUCH_ZOOM_OFFSET) {\r\n truckInternal_1(deltaX, deltaY, true);\r\n }\r\n break;\r\n }\r\n case ACTION.TRUCK:\r\n case ACTION.TOUCH_TRUCK: {\r\n truckInternal_1(deltaX, deltaY, false);\r\n break;\r\n }\r\n case ACTION.OFFSET:\r\n case ACTION.TOUCH_OFFSET: {\r\n truckInternal_1(deltaX, deltaY, true);\r\n break;\r\n }\r\n }\r\n _this.dispatchEvent({\r\n type: 'control',\r\n originalEvent: event,\r\n });\r\n };\r\n var endDragging_1 = function (event) {\r\n if (!_this._enabled)\r\n return;\r\n cancelDragging_1();\r\n _this.dispatchEvent({\r\n type: 'controlend',\r\n originalEvent: event,\r\n });\r\n };\r\n _this._domElement.addEventListener('mousedown', onMouseDown_1);\r\n _this._domElement.addEventListener('touchstart', onTouchStart_1);\r\n _this._domElement.addEventListener('wheel', onMouseWheel_1);\r\n _this._domElement.addEventListener('contextmenu', onContextMenu_1);\r\n _this._removeAllEventListeners = function () {\r\n _this._domElement.removeEventListener('mousedown', onMouseDown_1);\r\n _this._domElement.removeEventListener('touchstart', onTouchStart_1);\r\n _this._domElement.removeEventListener('wheel', onMouseWheel_1);\r\n _this._domElement.removeEventListener('contextmenu', onContextMenu_1);\r\n document.removeEventListener('mousemove', dragging_1);\r\n document.removeEventListener('touchmove', dragging_1, { passive: false });\r\n document.removeEventListener('mouseup', endDragging_1);\r\n document.removeEventListener('touchend', endDragging_1);\r\n };\r\n _this.cancel = function () {\r\n cancelDragging_1();\r\n _this.dispatchEvent({\r\n type: 'controlend',\r\n originalEvent: null,\r\n });\r\n };\r\n }\r\n _this.update(0);\r\n return _this;\r\n }\r\n CameraControls.install = function (libs) {\r\n THREE = libs.THREE;\r\n _ORIGIN = Object.freeze(new THREE.Vector3(0, 0, 0));\r\n _AXIS_Y = Object.freeze(new THREE.Vector3(0, 1, 0));\r\n _AXIS_Z = Object.freeze(new THREE.Vector3(0, 0, 1));\r\n _v2 = new THREE.Vector2();\r\n _v3A = new THREE.Vector3();\r\n _v3B = new THREE.Vector3();\r\n _v3C = new THREE.Vector3();\r\n _xColumn = new THREE.Vector3();\r\n _yColumn = new THREE.Vector3();\r\n _zColumn = new THREE.Vector3();\r\n _sphericalA = new THREE.Spherical();\r\n _sphericalB = new THREE.Spherical();\r\n _box3A = new THREE.Box3();\r\n _box3B = new THREE.Box3();\r\n _sphere = new THREE.Sphere();\r\n _quaternionA = new THREE.Quaternion();\r\n _quaternionB = new THREE.Quaternion();\r\n _rotationMatrix = new THREE.Matrix4();\r\n _raycaster = new THREE.Raycaster();\r\n };\r\n Object.defineProperty(CameraControls, \"ACTION\", {\r\n get: function () {\r\n return readonlyACTION;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CameraControls.prototype, \"enabled\", {\r\n get: function () {\r\n return this._enabled;\r\n },\r\n set: function (enabled) {\r\n this._enabled = enabled;\r\n if (!enabled)\r\n this.cancel();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CameraControls.prototype, \"currentAction\", {\r\n get: function () {\r\n return this._state;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CameraControls.prototype, \"distance\", {\r\n get: function () {\r\n return this._spherical.radius;\r\n },\r\n set: function (distance) {\r\n if (this._spherical.radius === distance &&\r\n this._sphericalEnd.radius === distance)\r\n return;\r\n this._spherical.radius = distance;\r\n this._sphericalEnd.radius = distance;\r\n this._needsUpdate = true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CameraControls.prototype, \"azimuthAngle\", {\r\n get: function () {\r\n return this._spherical.theta;\r\n },\r\n set: function (azimuthAngle) {\r\n if (this._spherical.theta === azimuthAngle &&\r\n this._sphericalEnd.theta === azimuthAngle)\r\n return;\r\n this._spherical.theta = azimuthAngle;\r\n this._sphericalEnd.theta = azimuthAngle;\r\n this._needsUpdate = true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CameraControls.prototype, \"polarAngle\", {\r\n get: function () {\r\n return this._spherical.phi;\r\n },\r\n set: function (polarAngle) {\r\n if (this._spherical.phi === polarAngle &&\r\n this._sphericalEnd.phi === polarAngle)\r\n return;\r\n this._spherical.phi = polarAngle;\r\n this._sphericalEnd.phi = polarAngle;\r\n this._needsUpdate = true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CameraControls.prototype, \"phiSpeed\", {\r\n set: function (speed) {\r\n console.warn('phiSpeed was renamed. use azimuthRotateSpeed instead');\r\n this.azimuthRotateSpeed = speed;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CameraControls.prototype, \"thetaSpeed\", {\r\n set: function (speed) {\r\n console.warn('thetaSpeed was renamed. use polarRotateSpeed instead');\r\n this.polarRotateSpeed = speed;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CameraControls.prototype, \"boundaryEnclosesCamera\", {\r\n get: function () {\r\n return this._boundaryEnclosesCamera;\r\n },\r\n set: function (boundaryEnclosesCamera) {\r\n this._boundaryEnclosesCamera = boundaryEnclosesCamera;\r\n this._needsUpdate = true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CameraControls.prototype.addEventListener = function (type, listener) {\r\n _super.prototype.addEventListener.call(this, type, listener);\r\n };\r\n CameraControls.prototype.removeEventListener = function (type, listener) {\r\n _super.prototype.removeEventListener.call(this, type, listener);\r\n };\r\n CameraControls.prototype.rotate = function (azimuthAngle, polarAngle, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n this.rotateTo(this._sphericalEnd.theta + azimuthAngle, this._sphericalEnd.phi + polarAngle, enableTransition);\r\n };\r\n CameraControls.prototype.rotateTo = function (azimuthAngle, polarAngle, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n var theta = THREE.MathUtils.clamp(azimuthAngle, this.minAzimuthAngle, this.maxAzimuthAngle);\r\n var phi = THREE.MathUtils.clamp(polarAngle, this.minPolarAngle, this.maxPolarAngle);\r\n this._sphericalEnd.theta = theta;\r\n this._sphericalEnd.phi = phi;\r\n this._sphericalEnd.makeSafe();\r\n if (!enableTransition) {\r\n this._spherical.theta = this._sphericalEnd.theta;\r\n this._spherical.phi = this._sphericalEnd.phi;\r\n }\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.dolly = function (distance, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n this.dollyTo(this._sphericalEnd.radius - distance, enableTransition);\r\n };\r\n CameraControls.prototype.dollyTo = function (distance, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n if (notSupportedInOrthographicCamera(this._camera, 'dolly'))\r\n return;\r\n this._sphericalEnd.radius = THREE.MathUtils.clamp(distance, this.minDistance, this.maxDistance);\r\n if (!enableTransition) {\r\n this._spherical.radius = this._sphericalEnd.radius;\r\n }\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.zoom = function (zoomStep, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n this.zoomTo(this._zoomEnd + zoomStep, enableTransition);\r\n };\r\n CameraControls.prototype.zoomTo = function (zoom, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n this._zoomEnd = THREE.MathUtils.clamp(zoom, this.minZoom, this.maxZoom);\r\n if (!enableTransition) {\r\n this._zoom = this._zoomEnd;\r\n }\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.pan = function (x, y, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n console.log('`pan` has been renamed to `truck`');\r\n this.truck(x, y, enableTransition);\r\n };\r\n CameraControls.prototype.truck = function (x, y, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n this._camera.updateMatrix();\r\n _xColumn.setFromMatrixColumn(this._camera.matrix, 0);\r\n _yColumn.setFromMatrixColumn(this._camera.matrix, 1);\r\n _xColumn.multiplyScalar(x);\r\n _yColumn.multiplyScalar(-y);\r\n var offset = _v3A.copy(_xColumn).add(_yColumn);\r\n this._encloseToBoundary(this._targetEnd, offset, this.boundaryFriction);\r\n if (!enableTransition) {\r\n this._target.copy(this._targetEnd);\r\n }\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.forward = function (distance, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n _v3A.setFromMatrixColumn(this._camera.matrix, 0);\r\n _v3A.crossVectors(this._camera.up, _v3A);\r\n _v3A.multiplyScalar(distance);\r\n this._encloseToBoundary(this._targetEnd, _v3A, this.boundaryFriction);\r\n if (!enableTransition) {\r\n this._target.copy(this._targetEnd);\r\n }\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.moveTo = function (x, y, z, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n this._targetEnd.set(x, y, z);\r\n if (!enableTransition) {\r\n this._target.copy(this._targetEnd);\r\n }\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.fitToBox = function (box3OrObject, enableTransition, _a) {\r\n var _b = _a === void 0 ? {} : _a, _c = _b.paddingLeft, paddingLeft = _c === void 0 ? 0 : _c, _d = _b.paddingRight, paddingRight = _d === void 0 ? 0 : _d, _e = _b.paddingBottom, paddingBottom = _e === void 0 ? 0 : _e, _f = _b.paddingTop, paddingTop = _f === void 0 ? 0 : _f;\r\n var aabb = box3OrObject.isBox3\r\n ? _box3A.copy(box3OrObject)\r\n : _box3A.setFromObject(box3OrObject);\r\n if (aabb.isEmpty()) {\r\n console.warn('camera-controls: fitTo() cannot be used with an empty box. Aborting');\r\n return;\r\n }\r\n var theta = roundToStep(this._sphericalEnd.theta, PI_HALF);\r\n var phi = roundToStep(this._sphericalEnd.phi, PI_HALF);\r\n this.rotateTo(theta, phi, enableTransition);\r\n var normal = _v3A.setFromSpherical(this._sphericalEnd).normalize();\r\n var rotation = _quaternionA.setFromUnitVectors(normal, _AXIS_Z);\r\n var viewFromPolar = approxEquals(Math.abs(normal.y), 1);\r\n if (viewFromPolar) {\r\n rotation.multiply(_quaternionB.setFromAxisAngle(_AXIS_Y, theta));\r\n }\r\n var bb = _box3B.makeEmpty();\r\n _v3B.copy(aabb.min).applyQuaternion(rotation);\r\n bb.expandByPoint(_v3B);\r\n _v3B.copy(aabb.min).setX(aabb.max.x).applyQuaternion(rotation);\r\n bb.expandByPoint(_v3B);\r\n _v3B.copy(aabb.min).setY(aabb.max.y).applyQuaternion(rotation);\r\n bb.expandByPoint(_v3B);\r\n _v3B.copy(aabb.max).setZ(aabb.min.z).applyQuaternion(rotation);\r\n bb.expandByPoint(_v3B);\r\n _v3B.copy(aabb.min).setZ(aabb.max.z).applyQuaternion(rotation);\r\n bb.expandByPoint(_v3B);\r\n _v3B.copy(aabb.max).setY(aabb.min.y).applyQuaternion(rotation);\r\n bb.expandByPoint(_v3B);\r\n _v3B.copy(aabb.max).setX(aabb.min.x).applyQuaternion(rotation);\r\n bb.expandByPoint(_v3B);\r\n _v3B.copy(aabb.max).applyQuaternion(rotation);\r\n bb.expandByPoint(_v3B);\r\n rotation.setFromUnitVectors(_AXIS_Z, normal);\r\n bb.min.x -= paddingLeft;\r\n bb.min.y -= paddingBottom;\r\n bb.max.x += paddingRight;\r\n bb.max.y += paddingTop;\r\n var bbSize = bb.getSize(_v3A);\r\n var center = bb.getCenter(_v3B).applyQuaternion(rotation);\r\n var isPerspectiveCamera = this._camera.isPerspectiveCamera;\r\n var isOrthographicCamera = this._camera.isOrthographicCamera;\r\n if (isPerspectiveCamera) {\r\n var distance = this.getDistanceToFitBox(bbSize.x, bbSize.y, bbSize.z);\r\n this.moveTo(center.x, center.y, center.z, enableTransition);\r\n this.dollyTo(distance, enableTransition);\r\n this.setFocalOffset(0, 0, 0, enableTransition);\r\n return;\r\n }\r\n else if (isOrthographicCamera) {\r\n var camera = this._camera;\r\n var width = camera.right - camera.left;\r\n var height = camera.top - camera.bottom;\r\n var zoom = Math.min(width / bbSize.x, height / bbSize.y);\r\n this.moveTo(center.x, center.y, center.z, enableTransition);\r\n this.zoomTo(zoom, enableTransition);\r\n this.setFocalOffset(0, 0, 0, enableTransition);\r\n return;\r\n }\r\n };\r\n CameraControls.prototype.fitTo = function (box3OrObject, enableTransition, fitToOptions) {\r\n if (fitToOptions === void 0) { fitToOptions = {}; }\r\n console.warn('camera-controls: fitTo() has been renamed to fitToBox()');\r\n this.fitToBox(box3OrObject, enableTransition, fitToOptions);\r\n };\r\n CameraControls.prototype.fitToSphere = function (sphereOrMesh, enableTransition) {\r\n var isSphere = sphereOrMesh instanceof THREE.Sphere;\r\n var boundingSphere = isSphere ?\r\n _sphere.copy(sphereOrMesh) :\r\n createBoundingSphere(sphereOrMesh, _sphere);\r\n var distanceToFit = this.getDistanceToFitSphere(boundingSphere.radius);\r\n this.moveTo(boundingSphere.center.x, boundingSphere.center.y, boundingSphere.center.z, enableTransition);\r\n this.dollyTo(distanceToFit, enableTransition);\r\n this.setFocalOffset(0, 0, 0, enableTransition);\r\n };\r\n CameraControls.prototype.setLookAt = function (positionX, positionY, positionZ, targetX, targetY, targetZ, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n var position = _v3A.set(positionX, positionY, positionZ);\r\n var target = _v3B.set(targetX, targetY, targetZ);\r\n this._targetEnd.copy(target);\r\n this._sphericalEnd.setFromVector3(position.sub(target).applyQuaternion(this._yAxisUpSpace));\r\n this.normalizeRotations();\r\n if (!enableTransition) {\r\n this._target.copy(this._targetEnd);\r\n this._spherical.copy(this._sphericalEnd);\r\n }\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.lerpLookAt = function (positionAX, positionAY, positionAZ, targetAX, targetAY, targetAZ, positionBX, positionBY, positionBZ, targetBX, targetBY, targetBZ, t, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n var positionA = _v3A.set(positionAX, positionAY, positionAZ);\r\n var targetA = _v3B.set(targetAX, targetAY, targetAZ);\r\n _sphericalA.setFromVector3(positionA.sub(targetA).applyQuaternion(this._yAxisUpSpace));\r\n var targetB = _v3A.set(targetBX, targetBY, targetBZ);\r\n this._targetEnd.copy(targetA).lerp(targetB, t);\r\n var positionB = _v3B.set(positionBX, positionBY, positionBZ);\r\n _sphericalB.setFromVector3(positionB.sub(targetB).applyQuaternion(this._yAxisUpSpace));\r\n var deltaTheta = _sphericalB.theta - _sphericalA.theta;\r\n var deltaPhi = _sphericalB.phi - _sphericalA.phi;\r\n var deltaRadius = _sphericalB.radius - _sphericalA.radius;\r\n this._sphericalEnd.set(_sphericalA.radius + deltaRadius * t, _sphericalA.phi + deltaPhi * t, _sphericalA.theta + deltaTheta * t);\r\n this.normalizeRotations();\r\n if (!enableTransition) {\r\n this._target.copy(this._targetEnd);\r\n this._spherical.copy(this._sphericalEnd);\r\n }\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.setPosition = function (positionX, positionY, positionZ, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n this.setLookAt(positionX, positionY, positionZ, this._targetEnd.x, this._targetEnd.y, this._targetEnd.z, enableTransition);\r\n };\r\n CameraControls.prototype.setTarget = function (targetX, targetY, targetZ, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n var pos = this.getPosition(_v3A);\r\n this.setLookAt(pos.x, pos.y, pos.z, targetX, targetY, targetZ, enableTransition);\r\n };\r\n CameraControls.prototype.setFocalOffset = function (x, y, z, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n this._focalOffsetEnd.set(x, y, z);\r\n if (!enableTransition) {\r\n this._focalOffset.copy(this._focalOffsetEnd);\r\n }\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.setBoundary = function (box3) {\r\n if (!box3) {\r\n this._boundary.min.set(-Infinity, -Infinity, -Infinity);\r\n this._boundary.max.set(Infinity, Infinity, Infinity);\r\n this._needsUpdate = true;\r\n return;\r\n }\r\n this._boundary.copy(box3);\r\n this._boundary.clampPoint(this._targetEnd, this._targetEnd);\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.setViewport = function (viewportOrX, y, width, height) {\r\n if (viewportOrX === null) {\r\n this._viewport = null;\r\n return;\r\n }\r\n this._viewport = this._viewport || new THREE.Vector4();\r\n if (typeof viewportOrX === 'number') {\r\n this._viewport.set(viewportOrX, y, width, height);\r\n }\r\n else {\r\n this._viewport.copy(viewportOrX);\r\n }\r\n };\r\n CameraControls.prototype.getDistanceToFitBox = function (width, height, depth) {\r\n if (notSupportedInOrthographicCamera(this._camera, 'getDistanceToFit'))\r\n return this._spherical.radius;\r\n var camera = this._camera;\r\n var boundingRectAspect = width / height;\r\n var fov = camera.getEffectiveFOV() * THREE.MathUtils.DEG2RAD;\r\n var aspect = camera.aspect;\r\n var heightToFit = boundingRectAspect < aspect ? height : width / aspect;\r\n return heightToFit * 0.5 / Math.tan(fov * 0.5) + depth * 0.5;\r\n };\r\n CameraControls.prototype.getDistanceToFit = function (width, height, depth) {\r\n console.warn('camera-controls: getDistanceToFit() has been renamed to getDistanceToFitBox()');\r\n return this.getDistanceToFitBox(width, height, depth);\r\n };\r\n CameraControls.prototype.getDistanceToFitSphere = function (radius) {\r\n if (notSupportedInOrthographicCamera(this._camera, 'getDistanceToFitSphere'))\r\n return this._spherical.radius;\r\n var camera = this._camera;\r\n var vFOV = camera.getEffectiveFOV() * THREE.MathUtils.DEG2RAD;\r\n var hFOV = Math.atan(Math.tan(vFOV * 0.5) * camera.aspect) * 2;\r\n var fov = 1 < camera.aspect ? vFOV : hFOV;\r\n return radius / (Math.sin(fov * 0.5));\r\n };\r\n CameraControls.prototype.getTarget = function (out) {\r\n var _out = !!out && out.isVector3 ? out : new THREE.Vector3();\r\n return _out.copy(this._targetEnd);\r\n };\r\n CameraControls.prototype.getPosition = function (out) {\r\n var _out = !!out && out.isVector3 ? out : new THREE.Vector3();\r\n return _out.setFromSpherical(this._sphericalEnd).applyQuaternion(this._yAxisUpSpaceInverse).add(this._targetEnd);\r\n };\r\n CameraControls.prototype.getFocalOffset = function (out) {\r\n var _out = !!out && out.isVector3 ? out : new THREE.Vector3();\r\n return _out.copy(this._focalOffsetEnd);\r\n };\r\n CameraControls.prototype.normalizeRotations = function () {\r\n this._sphericalEnd.theta = this._sphericalEnd.theta % PI_2;\r\n if (this._sphericalEnd.theta < 0)\r\n this._sphericalEnd.theta += PI_2;\r\n this._spherical.theta += PI_2 * Math.round((this._sphericalEnd.theta - this._spherical.theta) / PI_2);\r\n };\r\n CameraControls.prototype.reset = function (enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n this.setLookAt(this._position0.x, this._position0.y, this._position0.z, this._target0.x, this._target0.y, this._target0.z, enableTransition);\r\n this.setFocalOffset(this._focalOffset0.x, this._focalOffset0.y, this._focalOffset0.z, enableTransition);\r\n this.zoomTo(this._zoom0, enableTransition);\r\n };\r\n CameraControls.prototype.saveState = function () {\r\n this._target0.copy(this._target);\r\n this._position0.copy(this._camera.position);\r\n this._zoom0 = this._zoom;\r\n };\r\n CameraControls.prototype.updateCameraUp = function () {\r\n this._yAxisUpSpace.setFromUnitVectors(this._camera.up, _AXIS_Y);\r\n quatInvertCompat(this._yAxisUpSpaceInverse.copy(this._yAxisUpSpace));\r\n };\r\n CameraControls.prototype.update = function (delta) {\r\n var dampingFactor = this._state === ACTION.NONE ? this.dampingFactor : this.draggingDampingFactor;\r\n var lerpRatio = 1.0 - Math.exp(-dampingFactor * delta * FPS_60);\r\n var deltaTheta = this._sphericalEnd.theta - this._spherical.theta;\r\n var deltaPhi = this._sphericalEnd.phi - this._spherical.phi;\r\n var deltaRadius = this._sphericalEnd.radius - this._spherical.radius;\r\n var deltaTarget = _v3A.subVectors(this._targetEnd, this._target);\r\n var deltaOffset = _v3B.subVectors(this._focalOffsetEnd, this._focalOffset);\r\n if (!approxZero(deltaTheta) ||\r\n !approxZero(deltaPhi) ||\r\n !approxZero(deltaRadius) ||\r\n !approxZero(deltaTarget.x) ||\r\n !approxZero(deltaTarget.y) ||\r\n !approxZero(deltaTarget.z) ||\r\n !approxZero(deltaOffset.x) ||\r\n !approxZero(deltaOffset.y) ||\r\n !approxZero(deltaOffset.z)) {\r\n this._spherical.set(this._spherical.radius + deltaRadius * lerpRatio, this._spherical.phi + deltaPhi * lerpRatio, this._spherical.theta + deltaTheta * lerpRatio);\r\n this._target.add(deltaTarget.multiplyScalar(lerpRatio));\r\n this._focalOffset.add(deltaOffset.multiplyScalar(lerpRatio));\r\n this._needsUpdate = true;\r\n }\r\n else {\r\n this._spherical.copy(this._sphericalEnd);\r\n this._target.copy(this._targetEnd);\r\n this._focalOffset.copy(this._focalOffsetEnd);\r\n }\r\n if (this._dollyControlAmount !== 0) {\r\n if (this._camera.isPerspectiveCamera) {\r\n var camera = this._camera;\r\n var direction = _v3A.setFromSpherical(this._sphericalEnd).applyQuaternion(this._yAxisUpSpaceInverse).normalize().negate();\r\n var planeX = _v3B.copy(direction).cross(camera.up).normalize();\r\n if (planeX.lengthSq() === 0)\r\n planeX.x = 1.0;\r\n var planeY = _v3C.crossVectors(planeX, direction);\r\n var worldToScreen = this._sphericalEnd.radius * Math.tan(camera.getEffectiveFOV() * THREE.MathUtils.DEG2RAD * 0.5);\r\n var prevRadius = this._sphericalEnd.radius - this._dollyControlAmount;\r\n var lerpRatio_1 = (prevRadius - this._sphericalEnd.radius) / this._sphericalEnd.radius;\r\n var cursor = _v3A.copy(this._targetEnd)\r\n .add(planeX.multiplyScalar(this._dollyControlCoord.x * worldToScreen * camera.aspect))\r\n .add(planeY.multiplyScalar(this._dollyControlCoord.y * worldToScreen));\r\n this._targetEnd.lerp(cursor, lerpRatio_1);\r\n this._target.copy(this._targetEnd);\r\n }\r\n this._dollyControlAmount = 0;\r\n }\r\n var maxDistance = this._collisionTest();\r\n this._spherical.radius = Math.min(this._spherical.radius, maxDistance);\r\n this._spherical.makeSafe();\r\n this._camera.position.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(this._target);\r\n this._camera.lookAt(this._target);\r\n var affectOffset = !approxZero(this._focalOffset.x) ||\r\n !approxZero(this._focalOffset.y) ||\r\n !approxZero(this._focalOffset.z);\r\n if (affectOffset) {\r\n this._camera.updateMatrix();\r\n _xColumn.setFromMatrixColumn(this._camera.matrix, 0);\r\n _yColumn.setFromMatrixColumn(this._camera.matrix, 1);\r\n _zColumn.setFromMatrixColumn(this._camera.matrix, 2);\r\n _xColumn.multiplyScalar(this._focalOffset.x);\r\n _yColumn.multiplyScalar(-this._focalOffset.y);\r\n _zColumn.multiplyScalar(this._focalOffset.z);\r\n _v3A.copy(_xColumn).add(_yColumn).add(_zColumn);\r\n this._camera.position.add(_v3A);\r\n }\r\n if (this._boundaryEnclosesCamera) {\r\n this._encloseToBoundary(this._camera.position.copy(this._target), _v3A.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse), 1.0);\r\n }\r\n var zoomDelta = this._zoomEnd - this._zoom;\r\n this._zoom += zoomDelta * lerpRatio;\r\n if (this._camera.zoom !== this._zoom) {\r\n if (approxZero(zoomDelta))\r\n this._zoom = this._zoomEnd;\r\n this._camera.zoom = this._zoom;\r\n this._camera.updateProjectionMatrix();\r\n this._updateNearPlaneCorners();\r\n this._needsUpdate = true;\r\n }\r\n var updated = this._needsUpdate;\r\n if (updated && !this._updatedLastTime) {\r\n this.dispatchEvent({ type: 'wake' });\r\n this.dispatchEvent({ type: 'update' });\r\n }\r\n else if (updated) {\r\n this.dispatchEvent({ type: 'update' });\r\n }\r\n else if (!updated && this._updatedLastTime) {\r\n this.dispatchEvent({ type: 'sleep' });\r\n }\r\n this._updatedLastTime = updated;\r\n this._needsUpdate = false;\r\n return updated;\r\n };\r\n CameraControls.prototype.toJSON = function () {\r\n return JSON.stringify({\r\n enabled: this._enabled,\r\n minDistance: this.minDistance,\r\n maxDistance: infinityToMaxNumber(this.maxDistance),\r\n minZoom: this.minZoom,\r\n maxZoom: infinityToMaxNumber(this.maxZoom),\r\n minPolarAngle: this.minPolarAngle,\r\n maxPolarAngle: infinityToMaxNumber(this.maxPolarAngle),\r\n minAzimuthAngle: infinityToMaxNumber(this.minAzimuthAngle),\r\n maxAzimuthAngle: infinityToMaxNumber(this.maxAzimuthAngle),\r\n dampingFactor: this.dampingFactor,\r\n draggingDampingFactor: this.draggingDampingFactor,\r\n dollySpeed: this.dollySpeed,\r\n truckSpeed: this.truckSpeed,\r\n dollyToCursor: this.dollyToCursor,\r\n verticalDragToForward: this.verticalDragToForward,\r\n target: this._targetEnd.toArray(),\r\n position: _v3A.setFromSpherical(this._sphericalEnd).add(this._targetEnd).toArray(),\r\n zoom: this._zoomEnd,\r\n focalOffset: this._focalOffsetEnd.toArray(),\r\n target0: this._target0.toArray(),\r\n position0: this._position0.toArray(),\r\n zoom0: this._zoom0,\r\n focalOffset0: this._focalOffset0.toArray(),\r\n });\r\n };\r\n CameraControls.prototype.fromJSON = function (json, enableTransition) {\r\n if (enableTransition === void 0) { enableTransition = false; }\r\n var obj = JSON.parse(json);\r\n var position = _v3A.fromArray(obj.position);\r\n this.enabled = obj.enabled;\r\n this.minDistance = obj.minDistance;\r\n this.maxDistance = maxNumberToInfinity(obj.maxDistance);\r\n this.minZoom = obj.minZoom;\r\n this.maxZoom = maxNumberToInfinity(obj.maxZoom);\r\n this.minPolarAngle = obj.minPolarAngle;\r\n this.maxPolarAngle = maxNumberToInfinity(obj.maxPolarAngle);\r\n this.minAzimuthAngle = maxNumberToInfinity(obj.minAzimuthAngle);\r\n this.maxAzimuthAngle = maxNumberToInfinity(obj.maxAzimuthAngle);\r\n this.dampingFactor = obj.dampingFactor;\r\n this.draggingDampingFactor = obj.draggingDampingFactor;\r\n this.dollySpeed = obj.dollySpeed;\r\n this.truckSpeed = obj.truckSpeed;\r\n this.dollyToCursor = obj.dollyToCursor;\r\n this.verticalDragToForward = obj.verticalDragToForward;\r\n this._target0.fromArray(obj.target0);\r\n this._position0.fromArray(obj.position0);\r\n this._zoom0 = obj.zoom0;\r\n this._focalOffset0.fromArray(obj.focalOffset0);\r\n this.moveTo(obj.target[0], obj.target[1], obj.target[2], enableTransition);\r\n _sphericalA.setFromVector3(position.sub(this._targetEnd).applyQuaternion(this._yAxisUpSpace));\r\n this.rotateTo(_sphericalA.theta, _sphericalA.phi, enableTransition);\r\n this.zoomTo(obj.zoom, enableTransition);\r\n this.setFocalOffset(obj.focalOffset[0], obj.focalOffset[1], obj.focalOffset[2], enableTransition);\r\n this._needsUpdate = true;\r\n };\r\n CameraControls.prototype.dispose = function () {\r\n this._removeAllEventListeners();\r\n };\r\n CameraControls.prototype._encloseToBoundary = function (position, offset, friction) {\r\n var offsetLength2 = offset.lengthSq();\r\n if (offsetLength2 === 0.0) {\r\n return position;\r\n }\r\n var newTarget = _v3B.copy(offset).add(position);\r\n var clampedTarget = this._boundary.clampPoint(newTarget, _v3C);\r\n var deltaClampedTarget = clampedTarget.sub(newTarget);\r\n var deltaClampedTargetLength2 = deltaClampedTarget.lengthSq();\r\n if (deltaClampedTargetLength2 === 0.0) {\r\n return position.add(offset);\r\n }\r\n else if (deltaClampedTargetLength2 === offsetLength2) {\r\n return position;\r\n }\r\n else if (friction === 0.0) {\r\n return position.add(offset).add(deltaClampedTarget);\r\n }\r\n else {\r\n var offsetFactor = 1.0 + friction * deltaClampedTargetLength2 / offset.dot(deltaClampedTarget);\r\n return position\r\n .add(_v3B.copy(offset).multiplyScalar(offsetFactor))\r\n .add(deltaClampedTarget.multiplyScalar(1.0 - friction));\r\n }\r\n };\r\n CameraControls.prototype._updateNearPlaneCorners = function () {\r\n if (this._camera.isPerspectiveCamera) {\r\n var camera = this._camera;\r\n var near = camera.near;\r\n var fov = camera.getEffectiveFOV() * THREE.MathUtils.DEG2RAD;\r\n var heightHalf = Math.tan(fov * 0.5) * near;\r\n var widthHalf = heightHalf * camera.aspect;\r\n this._nearPlaneCorners[0].set(-widthHalf, -heightHalf, 0);\r\n this._nearPlaneCorners[1].set(widthHalf, -heightHalf, 0);\r\n this._nearPlaneCorners[2].set(widthHalf, heightHalf, 0);\r\n this._nearPlaneCorners[3].set(-widthHalf, heightHalf, 0);\r\n }\r\n else if (this._camera.isOrthographicCamera) {\r\n var camera = this._camera;\r\n var zoomInv = 1 / camera.zoom;\r\n var left = camera.left * zoomInv;\r\n var right = camera.right * zoomInv;\r\n var top_1 = camera.top * zoomInv;\r\n var bottom = camera.bottom * zoomInv;\r\n this._nearPlaneCorners[0].set(left, top_1, 0);\r\n this._nearPlaneCorners[1].set(right, top_1, 0);\r\n this._nearPlaneCorners[2].set(right, bottom, 0);\r\n this._nearPlaneCorners[3].set(left, bottom, 0);\r\n }\r\n };\r\n CameraControls.prototype._collisionTest = function () {\r\n var distance = Infinity;\r\n var hasCollider = this.colliderMeshes.length >= 1;\r\n if (!hasCollider)\r\n return distance;\r\n if (notSupportedInOrthographicCamera(this._camera, '_collisionTest'))\r\n return distance;\r\n distance = this._spherical.radius;\r\n var direction = _v3A.setFromSpherical(this._spherical).divideScalar(distance);\r\n _rotationMatrix.lookAt(_ORIGIN, direction, this._camera.up);\r\n for (var i = 0; i < 4; i++) {\r\n var nearPlaneCorner = _v3B.copy(this._nearPlaneCorners[i]);\r\n nearPlaneCorner.applyMatrix4(_rotationMatrix);\r\n var origin_1 = _v3C.addVectors(this._target, nearPlaneCorner);\r\n _raycaster.set(origin_1, direction);\r\n _raycaster.far = distance;\r\n var intersects = _raycaster.intersectObjects(this.colliderMeshes);\r\n if (intersects.length !== 0 && intersects[0].distance < distance) {\r\n distance = intersects[0].distance;\r\n }\r\n }\r\n return distance;\r\n };\r\n CameraControls.prototype._getClientRect = function (target) {\r\n var rect = this._domElement.getBoundingClientRect();\r\n target.x = rect.left;\r\n target.y = rect.top;\r\n if (this._viewport) {\r\n target.x += this._viewport.x;\r\n target.y += rect.height - this._viewport.w - this._viewport.y;\r\n target.z = this._viewport.z;\r\n target.w = this._viewport.w;\r\n }\r\n else {\r\n target.z = rect.width;\r\n target.w = rect.height;\r\n }\r\n return target;\r\n };\r\n CameraControls.prototype._removeAllEventListeners = function () { };\r\n return CameraControls;\r\n}(EventDispatcher));\r\nfunction createBoundingSphere(object3d, out) {\r\n var boundingSphere = out;\r\n var center = boundingSphere.center;\r\n object3d.traverse(function (object) {\r\n if (!object.isMesh)\r\n return;\r\n _box3A.expandByObject(object);\r\n });\r\n _box3A.getCenter(center);\r\n var maxRadiusSq = 0;\r\n object3d.traverse(function (object) {\r\n if (!object.isMesh)\r\n return;\r\n var mesh = object;\r\n var geometry = mesh.geometry.clone();\r\n geometry.applyMatrix4(mesh.matrixWorld);\r\n if (mesh.geometry.isBufferGeometry) {\r\n var bufferGeometry = geometry;\r\n var position = bufferGeometry.attributes.position;\r\n for (var i = 0, l = position.count; i < l; i++) {\r\n _v3A.fromBufferAttribute(position, i);\r\n maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_v3A));\r\n }\r\n }\r\n else {\r\n var vertices = geometry.vertices;\r\n for (var i = 0, l = vertices.length; i < l; i++) {\r\n maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(vertices[i]));\r\n }\r\n }\r\n });\r\n boundingSphere.radius = Math.sqrt(maxRadiusSq);\r\n return boundingSphere;\r\n}\n\nexport default CameraControls;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function eventListener() {\n if (errorListener !== undefined) {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n var errorListener;\n\n // Adding an error listener is not optional because\n // if an error is thrown on an event emitter we cannot\n // guarantee that the actual event we are waiting will\n // be fired. The result could be a silent way to create\n // memory or file descriptor leaks, which is something\n // we should avoid.\n if (name !== 'error') {\n errorListener = function errorListener(err) {\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n emitter.once(name, eventListener);\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar surrogate_pairs_1 = require(\"./surrogate-pairs\");\nvar HTML_ALPHA = ['apos', 'nbsp', 'iexcl', 'cent', 'pound', 'curren', 'yen', 'brvbar', 'sect', 'uml', 'copy', 'ordf', 'laquo', 'not', 'shy', 'reg', 'macr', 'deg', 'plusmn', 'sup2', 'sup3', 'acute', 'micro', 'para', 'middot', 'cedil', 'sup1', 'ordm', 'raquo', 'frac14', 'frac12', 'frac34', 'iquest', 'Agrave', 'Aacute', 'Acirc', 'Atilde', 'Auml', 'Aring', 'AElig', 'Ccedil', 'Egrave', 'Eacute', 'Ecirc', 'Euml', 'Igrave', 'Iacute', 'Icirc', 'Iuml', 'ETH', 'Ntilde', 'Ograve', 'Oacute', 'Ocirc', 'Otilde', 'Ouml', 'times', 'Oslash', 'Ugrave', 'Uacute', 'Ucirc', 'Uuml', 'Yacute', 'THORN', 'szlig', 'agrave', 'aacute', 'acirc', 'atilde', 'auml', 'aring', 'aelig', 'ccedil', 'egrave', 'eacute', 'ecirc', 'euml', 'igrave', 'iacute', 'icirc', 'iuml', 'eth', 'ntilde', 'ograve', 'oacute', 'ocirc', 'otilde', 'ouml', 'divide', 'oslash', 'ugrave', 'uacute', 'ucirc', 'uuml', 'yacute', 'thorn', 'yuml', 'quot', 'amp', 'lt', 'gt', 'OElig', 'oelig', 'Scaron', 'scaron', 'Yuml', 'circ', 'tilde', 'ensp', 'emsp', 'thinsp', 'zwnj', 'zwj', 'lrm', 'rlm', 'ndash', 'mdash', 'lsquo', 'rsquo', 'sbquo', 'ldquo', 'rdquo', 'bdquo', 'dagger', 'Dagger', 'permil', 'lsaquo', 'rsaquo', 'euro', 'fnof', 'Alpha', 'Beta', 'Gamma', 'Delta', 'Epsilon', 'Zeta', 'Eta', 'Theta', 'Iota', 'Kappa', 'Lambda', 'Mu', 'Nu', 'Xi', 'Omicron', 'Pi', 'Rho', 'Sigma', 'Tau', 'Upsilon', 'Phi', 'Chi', 'Psi', 'Omega', 'alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta', 'eta', 'theta', 'iota', 'kappa', 'lambda', 'mu', 'nu', 'xi', 'omicron', 'pi', 'rho', 'sigmaf', 'sigma', 'tau', 'upsilon', 'phi', 'chi', 'psi', 'omega', 'thetasym', 'upsih', 'piv', 'bull', 'hellip', 'prime', 'Prime', 'oline', 'frasl', 'weierp', 'image', 'real', 'trade', 'alefsym', 'larr', 'uarr', 'rarr', 'darr', 'harr', 'crarr', 'lArr', 'uArr', 'rArr', 'dArr', 'hArr', 'forall', 'part', 'exist', 'empty', 'nabla', 'isin', 'notin', 'ni', 'prod', 'sum', 'minus', 'lowast', 'radic', 'prop', 'infin', 'ang', 'and', 'or', 'cap', 'cup', 'int', 'there4', 'sim', 'cong', 'asymp', 'ne', 'equiv', 'le', 'ge', 'sub', 'sup', 'nsub', 'sube', 'supe', 'oplus', 'otimes', 'perp', 'sdot', 'lceil', 'rceil', 'lfloor', 'rfloor', 'lang', 'rang', 'loz', 'spades', 'clubs', 'hearts', 'diams'];\nvar HTML_CODES = [39, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 34, 38, 60, 62, 338, 339, 352, 353, 376, 710, 732, 8194, 8195, 8201, 8204, 8205, 8206, 8207, 8211, 8212, 8216, 8217, 8218, 8220, 8221, 8222, 8224, 8225, 8240, 8249, 8250, 8364, 402, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 977, 978, 982, 8226, 8230, 8242, 8243, 8254, 8260, 8472, 8465, 8476, 8482, 8501, 8592, 8593, 8594, 8595, 8596, 8629, 8656, 8657, 8658, 8659, 8660, 8704, 8706, 8707, 8709, 8711, 8712, 8713, 8715, 8719, 8721, 8722, 8727, 8730, 8733, 8734, 8736, 8743, 8744, 8745, 8746, 8747, 8756, 8764, 8773, 8776, 8800, 8801, 8804, 8805, 8834, 8835, 8836, 8838, 8839, 8853, 8855, 8869, 8901, 8968, 8969, 8970, 8971, 9001, 9002, 9674, 9824, 9827, 9829, 9830];\nvar alphaIndex = {};\nvar numIndex = {};\n(function () {\n var i = 0;\n var length = HTML_ALPHA.length;\n while (i < length) {\n var a = HTML_ALPHA[i];\n var c = HTML_CODES[i];\n alphaIndex[a] = String.fromCharCode(c);\n numIndex[c] = a;\n i++;\n }\n})();\nvar Html4Entities = /** @class */ (function () {\n function Html4Entities() {\n }\n Html4Entities.prototype.decode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n return str.replace(/&(#?[\\w\\d]+);?/g, function (s, entity) {\n var chr;\n if (entity.charAt(0) === \"#\") {\n var code = entity.charAt(1).toLowerCase() === 'x' ?\n parseInt(entity.substr(2), 16) :\n parseInt(entity.substr(1));\n if (!isNaN(code) || code >= -32768) {\n if (code <= 65535) {\n chr = String.fromCharCode(code);\n }\n else {\n chr = surrogate_pairs_1.fromCodePoint(code);\n }\n }\n }\n else {\n chr = alphaIndex[entity];\n }\n return chr || s;\n });\n };\n Html4Entities.decode = function (str) {\n return new Html4Entities().decode(str);\n };\n Html4Entities.prototype.encode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var alpha = numIndex[str.charCodeAt(i)];\n result += alpha ? \"&\" + alpha + \";\" : str.charAt(i);\n i++;\n }\n return result;\n };\n Html4Entities.encode = function (str) {\n return new Html4Entities().encode(str);\n };\n Html4Entities.prototype.encodeNonUTF = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var cc = str.charCodeAt(i);\n var alpha = numIndex[cc];\n if (alpha) {\n result += \"&\" + alpha + \";\";\n }\n else if (cc < 32 || cc > 126) {\n if (cc >= surrogate_pairs_1.highSurrogateFrom && cc <= surrogate_pairs_1.highSurrogateTo) {\n result += '&#' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '&#' + cc + ';';\n }\n }\n else {\n result += str.charAt(i);\n }\n i++;\n }\n return result;\n };\n Html4Entities.encodeNonUTF = function (str) {\n return new Html4Entities().encodeNonUTF(str);\n };\n Html4Entities.prototype.encodeNonASCII = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n if (c <= 255) {\n result += str[i++];\n continue;\n }\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '&#' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '&#' + c + ';';\n }\n i++;\n }\n return result;\n };\n Html4Entities.encodeNonASCII = function (str) {\n return new Html4Entities().encodeNonASCII(str);\n };\n return Html4Entities;\n}());\nexports.Html4Entities = Html4Entities;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar surrogate_pairs_1 = require(\"./surrogate-pairs\");\nvar ENTITIES = [['Aacute', [193]], ['aacute', [225]], ['Abreve', [258]], ['abreve', [259]], ['ac', [8766]], ['acd', [8767]], ['acE', [8766, 819]], ['Acirc', [194]], ['acirc', [226]], ['acute', [180]], ['Acy', [1040]], ['acy', [1072]], ['AElig', [198]], ['aelig', [230]], ['af', [8289]], ['Afr', [120068]], ['afr', [120094]], ['Agrave', [192]], ['agrave', [224]], ['alefsym', [8501]], ['aleph', [8501]], ['Alpha', [913]], ['alpha', [945]], ['Amacr', [256]], ['amacr', [257]], ['amalg', [10815]], ['amp', [38]], ['AMP', [38]], ['andand', [10837]], ['And', [10835]], ['and', [8743]], ['andd', [10844]], ['andslope', [10840]], ['andv', [10842]], ['ang', [8736]], ['ange', [10660]], ['angle', [8736]], ['angmsdaa', [10664]], ['angmsdab', [10665]], ['angmsdac', [10666]], ['angmsdad', [10667]], ['angmsdae', [10668]], ['angmsdaf', [10669]], ['angmsdag', [10670]], ['angmsdah', [10671]], ['angmsd', [8737]], ['angrt', [8735]], ['angrtvb', [8894]], ['angrtvbd', [10653]], ['angsph', [8738]], ['angst', [197]], ['angzarr', [9084]], ['Aogon', [260]], ['aogon', [261]], ['Aopf', [120120]], ['aopf', [120146]], ['apacir', [10863]], ['ap', [8776]], ['apE', [10864]], ['ape', [8778]], ['apid', [8779]], ['apos', [39]], ['ApplyFunction', [8289]], ['approx', [8776]], ['approxeq', [8778]], ['Aring', [197]], ['aring', [229]], ['Ascr', [119964]], ['ascr', [119990]], ['Assign', [8788]], ['ast', [42]], ['asymp', [8776]], ['asympeq', [8781]], ['Atilde', [195]], ['atilde', [227]], ['Auml', [196]], ['auml', [228]], ['awconint', [8755]], ['awint', [10769]], ['backcong', [8780]], ['backepsilon', [1014]], ['backprime', [8245]], ['backsim', [8765]], ['backsimeq', [8909]], ['Backslash', [8726]], ['Barv', [10983]], ['barvee', [8893]], ['barwed', [8965]], ['Barwed', [8966]], ['barwedge', [8965]], ['bbrk', [9141]], ['bbrktbrk', [9142]], ['bcong', [8780]], ['Bcy', [1041]], ['bcy', [1073]], ['bdquo', [8222]], ['becaus', [8757]], ['because', [8757]], ['Because', [8757]], ['bemptyv', [10672]], ['bepsi', [1014]], ['bernou', [8492]], ['Bernoullis', [8492]], ['Beta', [914]], ['beta', [946]], ['beth', [8502]], ['between', [8812]], ['Bfr', [120069]], ['bfr', [120095]], ['bigcap', [8898]], ['bigcirc', [9711]], ['bigcup', [8899]], ['bigodot', [10752]], ['bigoplus', [10753]], ['bigotimes', [10754]], ['bigsqcup', [10758]], ['bigstar', [9733]], ['bigtriangledown', [9661]], ['bigtriangleup', [9651]], ['biguplus', [10756]], ['bigvee', [8897]], ['bigwedge', [8896]], ['bkarow', [10509]], ['blacklozenge', [10731]], ['blacksquare', [9642]], ['blacktriangle', [9652]], ['blacktriangledown', [9662]], ['blacktriangleleft', [9666]], ['blacktriangleright', [9656]], ['blank', [9251]], ['blk12', [9618]], ['blk14', [9617]], ['blk34', [9619]], ['block', [9608]], ['bne', [61, 8421]], ['bnequiv', [8801, 8421]], ['bNot', [10989]], ['bnot', [8976]], ['Bopf', [120121]], ['bopf', [120147]], ['bot', [8869]], ['bottom', [8869]], ['bowtie', [8904]], ['boxbox', [10697]], ['boxdl', [9488]], ['boxdL', [9557]], ['boxDl', [9558]], ['boxDL', [9559]], ['boxdr', [9484]], ['boxdR', [9554]], ['boxDr', [9555]], ['boxDR', [9556]], ['boxh', [9472]], ['boxH', [9552]], ['boxhd', [9516]], ['boxHd', [9572]], ['boxhD', [9573]], ['boxHD', [9574]], ['boxhu', [9524]], ['boxHu', [9575]], ['boxhU', [9576]], ['boxHU', [9577]], ['boxminus', [8863]], ['boxplus', [8862]], ['boxtimes', [8864]], ['boxul', [9496]], ['boxuL', [9563]], ['boxUl', [9564]], ['boxUL', [9565]], ['boxur', [9492]], ['boxuR', [9560]], ['boxUr', [9561]], ['boxUR', [9562]], ['boxv', [9474]], ['boxV', [9553]], ['boxvh', [9532]], ['boxvH', [9578]], ['boxVh', [9579]], ['boxVH', [9580]], ['boxvl', [9508]], ['boxvL', [9569]], ['boxVl', [9570]], ['boxVL', [9571]], ['boxvr', [9500]], ['boxvR', [9566]], ['boxVr', [9567]], ['boxVR', [9568]], ['bprime', [8245]], ['breve', [728]], ['Breve', [728]], ['brvbar', [166]], ['bscr', [119991]], ['Bscr', [8492]], ['bsemi', [8271]], ['bsim', [8765]], ['bsime', [8909]], ['bsolb', [10693]], ['bsol', [92]], ['bsolhsub', [10184]], ['bull', [8226]], ['bullet', [8226]], ['bump', [8782]], ['bumpE', [10926]], ['bumpe', [8783]], ['Bumpeq', [8782]], ['bumpeq', [8783]], ['Cacute', [262]], ['cacute', [263]], ['capand', [10820]], ['capbrcup', [10825]], ['capcap', [10827]], ['cap', [8745]], ['Cap', [8914]], ['capcup', [10823]], ['capdot', [10816]], ['CapitalDifferentialD', [8517]], ['caps', [8745, 65024]], ['caret', [8257]], ['caron', [711]], ['Cayleys', [8493]], ['ccaps', [10829]], ['Ccaron', [268]], ['ccaron', [269]], ['Ccedil', [199]], ['ccedil', [231]], ['Ccirc', [264]], ['ccirc', [265]], ['Cconint', [8752]], ['ccups', [10828]], ['ccupssm', [10832]], ['Cdot', [266]], ['cdot', [267]], ['cedil', [184]], ['Cedilla', [184]], ['cemptyv', [10674]], ['cent', [162]], ['centerdot', [183]], ['CenterDot', [183]], ['cfr', [120096]], ['Cfr', [8493]], ['CHcy', [1063]], ['chcy', [1095]], ['check', [10003]], ['checkmark', [10003]], ['Chi', [935]], ['chi', [967]], ['circ', [710]], ['circeq', [8791]], ['circlearrowleft', [8634]], ['circlearrowright', [8635]], ['circledast', [8859]], ['circledcirc', [8858]], ['circleddash', [8861]], ['CircleDot', [8857]], ['circledR', [174]], ['circledS', [9416]], ['CircleMinus', [8854]], ['CirclePlus', [8853]], ['CircleTimes', [8855]], ['cir', [9675]], ['cirE', [10691]], ['cire', [8791]], ['cirfnint', [10768]], ['cirmid', [10991]], ['cirscir', [10690]], ['ClockwiseContourIntegral', [8754]], ['clubs', [9827]], ['clubsuit', [9827]], ['colon', [58]], ['Colon', [8759]], ['Colone', [10868]], ['colone', [8788]], ['coloneq', [8788]], ['comma', [44]], ['commat', [64]], ['comp', [8705]], ['compfn', [8728]], ['complement', [8705]], ['complexes', [8450]], ['cong', [8773]], ['congdot', [10861]], ['Congruent', [8801]], ['conint', [8750]], ['Conint', [8751]], ['ContourIntegral', [8750]], ['copf', [120148]], ['Copf', [8450]], ['coprod', [8720]], ['Coproduct', [8720]], ['copy', [169]], ['COPY', [169]], ['copysr', [8471]], ['CounterClockwiseContourIntegral', [8755]], ['crarr', [8629]], ['cross', [10007]], ['Cross', [10799]], ['Cscr', [119966]], ['cscr', [119992]], ['csub', [10959]], ['csube', [10961]], ['csup', [10960]], ['csupe', [10962]], ['ctdot', [8943]], ['cudarrl', [10552]], ['cudarrr', [10549]], ['cuepr', [8926]], ['cuesc', [8927]], ['cularr', [8630]], ['cularrp', [10557]], ['cupbrcap', [10824]], ['cupcap', [10822]], ['CupCap', [8781]], ['cup', [8746]], ['Cup', [8915]], ['cupcup', [10826]], ['cupdot', [8845]], ['cupor', [10821]], ['cups', [8746, 65024]], ['curarr', [8631]], ['curarrm', [10556]], ['curlyeqprec', [8926]], ['curlyeqsucc', [8927]], ['curlyvee', [8910]], ['curlywedge', [8911]], ['curren', [164]], ['curvearrowleft', [8630]], ['curvearrowright', [8631]], ['cuvee', [8910]], ['cuwed', [8911]], ['cwconint', [8754]], ['cwint', [8753]], ['cylcty', [9005]], ['dagger', [8224]], ['Dagger', [8225]], ['daleth', [8504]], ['darr', [8595]], ['Darr', [8609]], ['dArr', [8659]], ['dash', [8208]], ['Dashv', [10980]], ['dashv', [8867]], ['dbkarow', [10511]], ['dblac', [733]], ['Dcaron', [270]], ['dcaron', [271]], ['Dcy', [1044]], ['dcy', [1076]], ['ddagger', [8225]], ['ddarr', [8650]], ['DD', [8517]], ['dd', [8518]], ['DDotrahd', [10513]], ['ddotseq', [10871]], ['deg', [176]], ['Del', [8711]], ['Delta', [916]], ['delta', [948]], ['demptyv', [10673]], ['dfisht', [10623]], ['Dfr', [120071]], ['dfr', [120097]], ['dHar', [10597]], ['dharl', [8643]], ['dharr', [8642]], ['DiacriticalAcute', [180]], ['DiacriticalDot', [729]], ['DiacriticalDoubleAcute', [733]], ['DiacriticalGrave', [96]], ['DiacriticalTilde', [732]], ['diam', [8900]], ['diamond', [8900]], ['Diamond', [8900]], ['diamondsuit', [9830]], ['diams', [9830]], ['die', [168]], ['DifferentialD', [8518]], ['digamma', [989]], ['disin', [8946]], ['div', [247]], ['divide', [247]], ['divideontimes', [8903]], ['divonx', [8903]], ['DJcy', [1026]], ['djcy', [1106]], ['dlcorn', [8990]], ['dlcrop', [8973]], ['dollar', [36]], ['Dopf', [120123]], ['dopf', [120149]], ['Dot', [168]], ['dot', [729]], ['DotDot', [8412]], ['doteq', [8784]], ['doteqdot', [8785]], ['DotEqual', [8784]], ['dotminus', [8760]], ['dotplus', [8724]], ['dotsquare', [8865]], ['doublebarwedge', [8966]], ['DoubleContourIntegral', [8751]], ['DoubleDot', [168]], ['DoubleDownArrow', [8659]], ['DoubleLeftArrow', [8656]], ['DoubleLeftRightArrow', [8660]], ['DoubleLeftTee', [10980]], ['DoubleLongLeftArrow', [10232]], ['DoubleLongLeftRightArrow', [10234]], ['DoubleLongRightArrow', [10233]], ['DoubleRightArrow', [8658]], ['DoubleRightTee', [8872]], ['DoubleUpArrow', [8657]], ['DoubleUpDownArrow', [8661]], ['DoubleVerticalBar', [8741]], ['DownArrowBar', [10515]], ['downarrow', [8595]], ['DownArrow', [8595]], ['Downarrow', [8659]], ['DownArrowUpArrow', [8693]], ['DownBreve', [785]], ['downdownarrows', [8650]], ['downharpoonleft', [8643]], ['downharpoonright', [8642]], ['DownLeftRightVector', [10576]], ['DownLeftTeeVector', [10590]], ['DownLeftVectorBar', [10582]], ['DownLeftVector', [8637]], ['DownRightTeeVector', [10591]], ['DownRightVectorBar', [10583]], ['DownRightVector', [8641]], ['DownTeeArrow', [8615]], ['DownTee', [8868]], ['drbkarow', [10512]], ['drcorn', [8991]], ['drcrop', [8972]], ['Dscr', [119967]], ['dscr', [119993]], ['DScy', [1029]], ['dscy', [1109]], ['dsol', [10742]], ['Dstrok', [272]], ['dstrok', [273]], ['dtdot', [8945]], ['dtri', [9663]], ['dtrif', [9662]], ['duarr', [8693]], ['duhar', [10607]], ['dwangle', [10662]], ['DZcy', [1039]], ['dzcy', [1119]], ['dzigrarr', [10239]], ['Eacute', [201]], ['eacute', [233]], ['easter', [10862]], ['Ecaron', [282]], ['ecaron', [283]], ['Ecirc', [202]], ['ecirc', [234]], ['ecir', [8790]], ['ecolon', [8789]], ['Ecy', [1069]], ['ecy', [1101]], ['eDDot', [10871]], ['Edot', [278]], ['edot', [279]], ['eDot', [8785]], ['ee', [8519]], ['efDot', [8786]], ['Efr', [120072]], ['efr', [120098]], ['eg', [10906]], ['Egrave', [200]], ['egrave', [232]], ['egs', [10902]], ['egsdot', [10904]], ['el', [10905]], ['Element', [8712]], ['elinters', [9191]], ['ell', [8467]], ['els', [10901]], ['elsdot', [10903]], ['Emacr', [274]], ['emacr', [275]], ['empty', [8709]], ['emptyset', [8709]], ['EmptySmallSquare', [9723]], ['emptyv', [8709]], ['EmptyVerySmallSquare', [9643]], ['emsp13', [8196]], ['emsp14', [8197]], ['emsp', [8195]], ['ENG', [330]], ['eng', [331]], ['ensp', [8194]], ['Eogon', [280]], ['eogon', [281]], ['Eopf', [120124]], ['eopf', [120150]], ['epar', [8917]], ['eparsl', [10723]], ['eplus', [10865]], ['epsi', [949]], ['Epsilon', [917]], ['epsilon', [949]], ['epsiv', [1013]], ['eqcirc', [8790]], ['eqcolon', [8789]], ['eqsim', [8770]], ['eqslantgtr', [10902]], ['eqslantless', [10901]], ['Equal', [10869]], ['equals', [61]], ['EqualTilde', [8770]], ['equest', [8799]], ['Equilibrium', [8652]], ['equiv', [8801]], ['equivDD', [10872]], ['eqvparsl', [10725]], ['erarr', [10609]], ['erDot', [8787]], ['escr', [8495]], ['Escr', [8496]], ['esdot', [8784]], ['Esim', [10867]], ['esim', [8770]], ['Eta', [919]], ['eta', [951]], ['ETH', [208]], ['eth', [240]], ['Euml', [203]], ['euml', [235]], ['euro', [8364]], ['excl', [33]], ['exist', [8707]], ['Exists', [8707]], ['expectation', [8496]], ['exponentiale', [8519]], ['ExponentialE', [8519]], ['fallingdotseq', [8786]], ['Fcy', [1060]], ['fcy', [1092]], ['female', [9792]], ['ffilig', [64259]], ['fflig', [64256]], ['ffllig', [64260]], ['Ffr', [120073]], ['ffr', [120099]], ['filig', [64257]], ['FilledSmallSquare', [9724]], ['FilledVerySmallSquare', [9642]], ['fjlig', [102, 106]], ['flat', [9837]], ['fllig', [64258]], ['fltns', [9649]], ['fnof', [402]], ['Fopf', [120125]], ['fopf', [120151]], ['forall', [8704]], ['ForAll', [8704]], ['fork', [8916]], ['forkv', [10969]], ['Fouriertrf', [8497]], ['fpartint', [10765]], ['frac12', [189]], ['frac13', [8531]], ['frac14', [188]], ['frac15', [8533]], ['frac16', [8537]], ['frac18', [8539]], ['frac23', [8532]], ['frac25', [8534]], ['frac34', [190]], ['frac35', [8535]], ['frac38', [8540]], ['frac45', [8536]], ['frac56', [8538]], ['frac58', [8541]], ['frac78', [8542]], ['frasl', [8260]], ['frown', [8994]], ['fscr', [119995]], ['Fscr', [8497]], ['gacute', [501]], ['Gamma', [915]], ['gamma', [947]], ['Gammad', [988]], ['gammad', [989]], ['gap', [10886]], ['Gbreve', [286]], ['gbreve', [287]], ['Gcedil', [290]], ['Gcirc', [284]], ['gcirc', [285]], ['Gcy', [1043]], ['gcy', [1075]], ['Gdot', [288]], ['gdot', [289]], ['ge', [8805]], ['gE', [8807]], ['gEl', [10892]], ['gel', [8923]], ['geq', [8805]], ['geqq', [8807]], ['geqslant', [10878]], ['gescc', [10921]], ['ges', [10878]], ['gesdot', [10880]], ['gesdoto', [10882]], ['gesdotol', [10884]], ['gesl', [8923, 65024]], ['gesles', [10900]], ['Gfr', [120074]], ['gfr', [120100]], ['gg', [8811]], ['Gg', [8921]], ['ggg', [8921]], ['gimel', [8503]], ['GJcy', [1027]], ['gjcy', [1107]], ['gla', [10917]], ['gl', [8823]], ['glE', [10898]], ['glj', [10916]], ['gnap', [10890]], ['gnapprox', [10890]], ['gne', [10888]], ['gnE', [8809]], ['gneq', [10888]], ['gneqq', [8809]], ['gnsim', [8935]], ['Gopf', [120126]], ['gopf', [120152]], ['grave', [96]], ['GreaterEqual', [8805]], ['GreaterEqualLess', [8923]], ['GreaterFullEqual', [8807]], ['GreaterGreater', [10914]], ['GreaterLess', [8823]], ['GreaterSlantEqual', [10878]], ['GreaterTilde', [8819]], ['Gscr', [119970]], ['gscr', [8458]], ['gsim', [8819]], ['gsime', [10894]], ['gsiml', [10896]], ['gtcc', [10919]], ['gtcir', [10874]], ['gt', [62]], ['GT', [62]], ['Gt', [8811]], ['gtdot', [8919]], ['gtlPar', [10645]], ['gtquest', [10876]], ['gtrapprox', [10886]], ['gtrarr', [10616]], ['gtrdot', [8919]], ['gtreqless', [8923]], ['gtreqqless', [10892]], ['gtrless', [8823]], ['gtrsim', [8819]], ['gvertneqq', [8809, 65024]], ['gvnE', [8809, 65024]], ['Hacek', [711]], ['hairsp', [8202]], ['half', [189]], ['hamilt', [8459]], ['HARDcy', [1066]], ['hardcy', [1098]], ['harrcir', [10568]], ['harr', [8596]], ['hArr', [8660]], ['harrw', [8621]], ['Hat', [94]], ['hbar', [8463]], ['Hcirc', [292]], ['hcirc', [293]], ['hearts', [9829]], ['heartsuit', [9829]], ['hellip', [8230]], ['hercon', [8889]], ['hfr', [120101]], ['Hfr', [8460]], ['HilbertSpace', [8459]], ['hksearow', [10533]], ['hkswarow', [10534]], ['hoarr', [8703]], ['homtht', [8763]], ['hookleftarrow', [8617]], ['hookrightarrow', [8618]], ['hopf', [120153]], ['Hopf', [8461]], ['horbar', [8213]], ['HorizontalLine', [9472]], ['hscr', [119997]], ['Hscr', [8459]], ['hslash', [8463]], ['Hstrok', [294]], ['hstrok', [295]], ['HumpDownHump', [8782]], ['HumpEqual', [8783]], ['hybull', [8259]], ['hyphen', [8208]], ['Iacute', [205]], ['iacute', [237]], ['ic', [8291]], ['Icirc', [206]], ['icirc', [238]], ['Icy', [1048]], ['icy', [1080]], ['Idot', [304]], ['IEcy', [1045]], ['iecy', [1077]], ['iexcl', [161]], ['iff', [8660]], ['ifr', [120102]], ['Ifr', [8465]], ['Igrave', [204]], ['igrave', [236]], ['ii', [8520]], ['iiiint', [10764]], ['iiint', [8749]], ['iinfin', [10716]], ['iiota', [8489]], ['IJlig', [306]], ['ijlig', [307]], ['Imacr', [298]], ['imacr', [299]], ['image', [8465]], ['ImaginaryI', [8520]], ['imagline', [8464]], ['imagpart', [8465]], ['imath', [305]], ['Im', [8465]], ['imof', [8887]], ['imped', [437]], ['Implies', [8658]], ['incare', [8453]], ['in', [8712]], ['infin', [8734]], ['infintie', [10717]], ['inodot', [305]], ['intcal', [8890]], ['int', [8747]], ['Int', [8748]], ['integers', [8484]], ['Integral', [8747]], ['intercal', [8890]], ['Intersection', [8898]], ['intlarhk', [10775]], ['intprod', [10812]], ['InvisibleComma', [8291]], ['InvisibleTimes', [8290]], ['IOcy', [1025]], ['iocy', [1105]], ['Iogon', [302]], ['iogon', [303]], ['Iopf', [120128]], ['iopf', [120154]], ['Iota', [921]], ['iota', [953]], ['iprod', [10812]], ['iquest', [191]], ['iscr', [119998]], ['Iscr', [8464]], ['isin', [8712]], ['isindot', [8949]], ['isinE', [8953]], ['isins', [8948]], ['isinsv', [8947]], ['isinv', [8712]], ['it', [8290]], ['Itilde', [296]], ['itilde', [297]], ['Iukcy', [1030]], ['iukcy', [1110]], ['Iuml', [207]], ['iuml', [239]], ['Jcirc', [308]], ['jcirc', [309]], ['Jcy', [1049]], ['jcy', [1081]], ['Jfr', [120077]], ['jfr', [120103]], ['jmath', [567]], ['Jopf', [120129]], ['jopf', [120155]], ['Jscr', [119973]], ['jscr', [119999]], ['Jsercy', [1032]], ['jsercy', [1112]], ['Jukcy', [1028]], ['jukcy', [1108]], ['Kappa', [922]], ['kappa', [954]], ['kappav', [1008]], ['Kcedil', [310]], ['kcedil', [311]], ['Kcy', [1050]], ['kcy', [1082]], ['Kfr', [120078]], ['kfr', [120104]], ['kgreen', [312]], ['KHcy', [1061]], ['khcy', [1093]], ['KJcy', [1036]], ['kjcy', [1116]], ['Kopf', [120130]], ['kopf', [120156]], ['Kscr', [119974]], ['kscr', [120000]], ['lAarr', [8666]], ['Lacute', [313]], ['lacute', [314]], ['laemptyv', [10676]], ['lagran', [8466]], ['Lambda', [923]], ['lambda', [955]], ['lang', [10216]], ['Lang', [10218]], ['langd', [10641]], ['langle', [10216]], ['lap', [10885]], ['Laplacetrf', [8466]], ['laquo', [171]], ['larrb', [8676]], ['larrbfs', [10527]], ['larr', [8592]], ['Larr', [8606]], ['lArr', [8656]], ['larrfs', [10525]], ['larrhk', [8617]], ['larrlp', [8619]], ['larrpl', [10553]], ['larrsim', [10611]], ['larrtl', [8610]], ['latail', [10521]], ['lAtail', [10523]], ['lat', [10923]], ['late', [10925]], ['lates', [10925, 65024]], ['lbarr', [10508]], ['lBarr', [10510]], ['lbbrk', [10098]], ['lbrace', [123]], ['lbrack', [91]], ['lbrke', [10635]], ['lbrksld', [10639]], ['lbrkslu', [10637]], ['Lcaron', [317]], ['lcaron', [318]], ['Lcedil', [315]], ['lcedil', [316]], ['lceil', [8968]], ['lcub', [123]], ['Lcy', [1051]], ['lcy', [1083]], ['ldca', [10550]], ['ldquo', [8220]], ['ldquor', [8222]], ['ldrdhar', [10599]], ['ldrushar', [10571]], ['ldsh', [8626]], ['le', [8804]], ['lE', [8806]], ['LeftAngleBracket', [10216]], ['LeftArrowBar', [8676]], ['leftarrow', [8592]], ['LeftArrow', [8592]], ['Leftarrow', [8656]], ['LeftArrowRightArrow', [8646]], ['leftarrowtail', [8610]], ['LeftCeiling', [8968]], ['LeftDoubleBracket', [10214]], ['LeftDownTeeVector', [10593]], ['LeftDownVectorBar', [10585]], ['LeftDownVector', [8643]], ['LeftFloor', [8970]], ['leftharpoondown', [8637]], ['leftharpoonup', [8636]], ['leftleftarrows', [8647]], ['leftrightarrow', [8596]], ['LeftRightArrow', [8596]], ['Leftrightarrow', [8660]], ['leftrightarrows', [8646]], ['leftrightharpoons', [8651]], ['leftrightsquigarrow', [8621]], ['LeftRightVector', [10574]], ['LeftTeeArrow', [8612]], ['LeftTee', [8867]], ['LeftTeeVector', [10586]], ['leftthreetimes', [8907]], ['LeftTriangleBar', [10703]], ['LeftTriangle', [8882]], ['LeftTriangleEqual', [8884]], ['LeftUpDownVector', [10577]], ['LeftUpTeeVector', [10592]], ['LeftUpVectorBar', [10584]], ['LeftUpVector', [8639]], ['LeftVectorBar', [10578]], ['LeftVector', [8636]], ['lEg', [10891]], ['leg', [8922]], ['leq', [8804]], ['leqq', [8806]], ['leqslant', [10877]], ['lescc', [10920]], ['les', [10877]], ['lesdot', [10879]], ['lesdoto', [10881]], ['lesdotor', [10883]], ['lesg', [8922, 65024]], ['lesges', [10899]], ['lessapprox', [10885]], ['lessdot', [8918]], ['lesseqgtr', [8922]], ['lesseqqgtr', [10891]], ['LessEqualGreater', [8922]], ['LessFullEqual', [8806]], ['LessGreater', [8822]], ['lessgtr', [8822]], ['LessLess', [10913]], ['lesssim', [8818]], ['LessSlantEqual', [10877]], ['LessTilde', [8818]], ['lfisht', [10620]], ['lfloor', [8970]], ['Lfr', [120079]], ['lfr', [120105]], ['lg', [8822]], ['lgE', [10897]], ['lHar', [10594]], ['lhard', [8637]], ['lharu', [8636]], ['lharul', [10602]], ['lhblk', [9604]], ['LJcy', [1033]], ['ljcy', [1113]], ['llarr', [8647]], ['ll', [8810]], ['Ll', [8920]], ['llcorner', [8990]], ['Lleftarrow', [8666]], ['llhard', [10603]], ['lltri', [9722]], ['Lmidot', [319]], ['lmidot', [320]], ['lmoustache', [9136]], ['lmoust', [9136]], ['lnap', [10889]], ['lnapprox', [10889]], ['lne', [10887]], ['lnE', [8808]], ['lneq', [10887]], ['lneqq', [8808]], ['lnsim', [8934]], ['loang', [10220]], ['loarr', [8701]], ['lobrk', [10214]], ['longleftarrow', [10229]], ['LongLeftArrow', [10229]], ['Longleftarrow', [10232]], ['longleftrightarrow', [10231]], ['LongLeftRightArrow', [10231]], ['Longleftrightarrow', [10234]], ['longmapsto', [10236]], ['longrightarrow', [10230]], ['LongRightArrow', [10230]], ['Longrightarrow', [10233]], ['looparrowleft', [8619]], ['looparrowright', [8620]], ['lopar', [10629]], ['Lopf', [120131]], ['lopf', [120157]], ['loplus', [10797]], ['lotimes', [10804]], ['lowast', [8727]], ['lowbar', [95]], ['LowerLeftArrow', [8601]], ['LowerRightArrow', [8600]], ['loz', [9674]], ['lozenge', [9674]], ['lozf', [10731]], ['lpar', [40]], ['lparlt', [10643]], ['lrarr', [8646]], ['lrcorner', [8991]], ['lrhar', [8651]], ['lrhard', [10605]], ['lrm', [8206]], ['lrtri', [8895]], ['lsaquo', [8249]], ['lscr', [120001]], ['Lscr', [8466]], ['lsh', [8624]], ['Lsh', [8624]], ['lsim', [8818]], ['lsime', [10893]], ['lsimg', [10895]], ['lsqb', [91]], ['lsquo', [8216]], ['lsquor', [8218]], ['Lstrok', [321]], ['lstrok', [322]], ['ltcc', [10918]], ['ltcir', [10873]], ['lt', [60]], ['LT', [60]], ['Lt', [8810]], ['ltdot', [8918]], ['lthree', [8907]], ['ltimes', [8905]], ['ltlarr', [10614]], ['ltquest', [10875]], ['ltri', [9667]], ['ltrie', [8884]], ['ltrif', [9666]], ['ltrPar', [10646]], ['lurdshar', [10570]], ['luruhar', [10598]], ['lvertneqq', [8808, 65024]], ['lvnE', [8808, 65024]], ['macr', [175]], ['male', [9794]], ['malt', [10016]], ['maltese', [10016]], ['Map', [10501]], ['map', [8614]], ['mapsto', [8614]], ['mapstodown', [8615]], ['mapstoleft', [8612]], ['mapstoup', [8613]], ['marker', [9646]], ['mcomma', [10793]], ['Mcy', [1052]], ['mcy', [1084]], ['mdash', [8212]], ['mDDot', [8762]], ['measuredangle', [8737]], ['MediumSpace', [8287]], ['Mellintrf', [8499]], ['Mfr', [120080]], ['mfr', [120106]], ['mho', [8487]], ['micro', [181]], ['midast', [42]], ['midcir', [10992]], ['mid', [8739]], ['middot', [183]], ['minusb', [8863]], ['minus', [8722]], ['minusd', [8760]], ['minusdu', [10794]], ['MinusPlus', [8723]], ['mlcp', [10971]], ['mldr', [8230]], ['mnplus', [8723]], ['models', [8871]], ['Mopf', [120132]], ['mopf', [120158]], ['mp', [8723]], ['mscr', [120002]], ['Mscr', [8499]], ['mstpos', [8766]], ['Mu', [924]], ['mu', [956]], ['multimap', [8888]], ['mumap', [8888]], ['nabla', [8711]], ['Nacute', [323]], ['nacute', [324]], ['nang', [8736, 8402]], ['nap', [8777]], ['napE', [10864, 824]], ['napid', [8779, 824]], ['napos', [329]], ['napprox', [8777]], ['natural', [9838]], ['naturals', [8469]], ['natur', [9838]], ['nbsp', [160]], ['nbump', [8782, 824]], ['nbumpe', [8783, 824]], ['ncap', [10819]], ['Ncaron', [327]], ['ncaron', [328]], ['Ncedil', [325]], ['ncedil', [326]], ['ncong', [8775]], ['ncongdot', [10861, 824]], ['ncup', [10818]], ['Ncy', [1053]], ['ncy', [1085]], ['ndash', [8211]], ['nearhk', [10532]], ['nearr', [8599]], ['neArr', [8663]], ['nearrow', [8599]], ['ne', [8800]], ['nedot', [8784, 824]], ['NegativeMediumSpace', [8203]], ['NegativeThickSpace', [8203]], ['NegativeThinSpace', [8203]], ['NegativeVeryThinSpace', [8203]], ['nequiv', [8802]], ['nesear', [10536]], ['nesim', [8770, 824]], ['NestedGreaterGreater', [8811]], ['NestedLessLess', [8810]], ['nexist', [8708]], ['nexists', [8708]], ['Nfr', [120081]], ['nfr', [120107]], ['ngE', [8807, 824]], ['nge', [8817]], ['ngeq', [8817]], ['ngeqq', [8807, 824]], ['ngeqslant', [10878, 824]], ['nges', [10878, 824]], ['nGg', [8921, 824]], ['ngsim', [8821]], ['nGt', [8811, 8402]], ['ngt', [8815]], ['ngtr', [8815]], ['nGtv', [8811, 824]], ['nharr', [8622]], ['nhArr', [8654]], ['nhpar', [10994]], ['ni', [8715]], ['nis', [8956]], ['nisd', [8954]], ['niv', [8715]], ['NJcy', [1034]], ['njcy', [1114]], ['nlarr', [8602]], ['nlArr', [8653]], ['nldr', [8229]], ['nlE', [8806, 824]], ['nle', [8816]], ['nleftarrow', [8602]], ['nLeftarrow', [8653]], ['nleftrightarrow', [8622]], ['nLeftrightarrow', [8654]], ['nleq', [8816]], ['nleqq', [8806, 824]], ['nleqslant', [10877, 824]], ['nles', [10877, 824]], ['nless', [8814]], ['nLl', [8920, 824]], ['nlsim', [8820]], ['nLt', [8810, 8402]], ['nlt', [8814]], ['nltri', [8938]], ['nltrie', [8940]], ['nLtv', [8810, 824]], ['nmid', [8740]], ['NoBreak', [8288]], ['NonBreakingSpace', [160]], ['nopf', [120159]], ['Nopf', [8469]], ['Not', [10988]], ['not', [172]], ['NotCongruent', [8802]], ['NotCupCap', [8813]], ['NotDoubleVerticalBar', [8742]], ['NotElement', [8713]], ['NotEqual', [8800]], ['NotEqualTilde', [8770, 824]], ['NotExists', [8708]], ['NotGreater', [8815]], ['NotGreaterEqual', [8817]], ['NotGreaterFullEqual', [8807, 824]], ['NotGreaterGreater', [8811, 824]], ['NotGreaterLess', [8825]], ['NotGreaterSlantEqual', [10878, 824]], ['NotGreaterTilde', [8821]], ['NotHumpDownHump', [8782, 824]], ['NotHumpEqual', [8783, 824]], ['notin', [8713]], ['notindot', [8949, 824]], ['notinE', [8953, 824]], ['notinva', [8713]], ['notinvb', [8951]], ['notinvc', [8950]], ['NotLeftTriangleBar', [10703, 824]], ['NotLeftTriangle', [8938]], ['NotLeftTriangleEqual', [8940]], ['NotLess', [8814]], ['NotLessEqual', [8816]], ['NotLessGreater', [8824]], ['NotLessLess', [8810, 824]], ['NotLessSlantEqual', [10877, 824]], ['NotLessTilde', [8820]], ['NotNestedGreaterGreater', [10914, 824]], ['NotNestedLessLess', [10913, 824]], ['notni', [8716]], ['notniva', [8716]], ['notnivb', [8958]], ['notnivc', [8957]], ['NotPrecedes', [8832]], ['NotPrecedesEqual', [10927, 824]], ['NotPrecedesSlantEqual', [8928]], ['NotReverseElement', [8716]], ['NotRightTriangleBar', [10704, 824]], ['NotRightTriangle', [8939]], ['NotRightTriangleEqual', [8941]], ['NotSquareSubset', [8847, 824]], ['NotSquareSubsetEqual', [8930]], ['NotSquareSuperset', [8848, 824]], ['NotSquareSupersetEqual', [8931]], ['NotSubset', [8834, 8402]], ['NotSubsetEqual', [8840]], ['NotSucceeds', [8833]], ['NotSucceedsEqual', [10928, 824]], ['NotSucceedsSlantEqual', [8929]], ['NotSucceedsTilde', [8831, 824]], ['NotSuperset', [8835, 8402]], ['NotSupersetEqual', [8841]], ['NotTilde', [8769]], ['NotTildeEqual', [8772]], ['NotTildeFullEqual', [8775]], ['NotTildeTilde', [8777]], ['NotVerticalBar', [8740]], ['nparallel', [8742]], ['npar', [8742]], ['nparsl', [11005, 8421]], ['npart', [8706, 824]], ['npolint', [10772]], ['npr', [8832]], ['nprcue', [8928]], ['nprec', [8832]], ['npreceq', [10927, 824]], ['npre', [10927, 824]], ['nrarrc', [10547, 824]], ['nrarr', [8603]], ['nrArr', [8655]], ['nrarrw', [8605, 824]], ['nrightarrow', [8603]], ['nRightarrow', [8655]], ['nrtri', [8939]], ['nrtrie', [8941]], ['nsc', [8833]], ['nsccue', [8929]], ['nsce', [10928, 824]], ['Nscr', [119977]], ['nscr', [120003]], ['nshortmid', [8740]], ['nshortparallel', [8742]], ['nsim', [8769]], ['nsime', [8772]], ['nsimeq', [8772]], ['nsmid', [8740]], ['nspar', [8742]], ['nsqsube', [8930]], ['nsqsupe', [8931]], ['nsub', [8836]], ['nsubE', [10949, 824]], ['nsube', [8840]], ['nsubset', [8834, 8402]], ['nsubseteq', [8840]], ['nsubseteqq', [10949, 824]], ['nsucc', [8833]], ['nsucceq', [10928, 824]], ['nsup', [8837]], ['nsupE', [10950, 824]], ['nsupe', [8841]], ['nsupset', [8835, 8402]], ['nsupseteq', [8841]], ['nsupseteqq', [10950, 824]], ['ntgl', [8825]], ['Ntilde', [209]], ['ntilde', [241]], ['ntlg', [8824]], ['ntriangleleft', [8938]], ['ntrianglelefteq', [8940]], ['ntriangleright', [8939]], ['ntrianglerighteq', [8941]], ['Nu', [925]], ['nu', [957]], ['num', [35]], ['numero', [8470]], ['numsp', [8199]], ['nvap', [8781, 8402]], ['nvdash', [8876]], ['nvDash', [8877]], ['nVdash', [8878]], ['nVDash', [8879]], ['nvge', [8805, 8402]], ['nvgt', [62, 8402]], ['nvHarr', [10500]], ['nvinfin', [10718]], ['nvlArr', [10498]], ['nvle', [8804, 8402]], ['nvlt', [60, 8402]], ['nvltrie', [8884, 8402]], ['nvrArr', [10499]], ['nvrtrie', [8885, 8402]], ['nvsim', [8764, 8402]], ['nwarhk', [10531]], ['nwarr', [8598]], ['nwArr', [8662]], ['nwarrow', [8598]], ['nwnear', [10535]], ['Oacute', [211]], ['oacute', [243]], ['oast', [8859]], ['Ocirc', [212]], ['ocirc', [244]], ['ocir', [8858]], ['Ocy', [1054]], ['ocy', [1086]], ['odash', [8861]], ['Odblac', [336]], ['odblac', [337]], ['odiv', [10808]], ['odot', [8857]], ['odsold', [10684]], ['OElig', [338]], ['oelig', [339]], ['ofcir', [10687]], ['Ofr', [120082]], ['ofr', [120108]], ['ogon', [731]], ['Ograve', [210]], ['ograve', [242]], ['ogt', [10689]], ['ohbar', [10677]], ['ohm', [937]], ['oint', [8750]], ['olarr', [8634]], ['olcir', [10686]], ['olcross', [10683]], ['oline', [8254]], ['olt', [10688]], ['Omacr', [332]], ['omacr', [333]], ['Omega', [937]], ['omega', [969]], ['Omicron', [927]], ['omicron', [959]], ['omid', [10678]], ['ominus', [8854]], ['Oopf', [120134]], ['oopf', [120160]], ['opar', [10679]], ['OpenCurlyDoubleQuote', [8220]], ['OpenCurlyQuote', [8216]], ['operp', [10681]], ['oplus', [8853]], ['orarr', [8635]], ['Or', [10836]], ['or', [8744]], ['ord', [10845]], ['order', [8500]], ['orderof', [8500]], ['ordf', [170]], ['ordm', [186]], ['origof', [8886]], ['oror', [10838]], ['orslope', [10839]], ['orv', [10843]], ['oS', [9416]], ['Oscr', [119978]], ['oscr', [8500]], ['Oslash', [216]], ['oslash', [248]], ['osol', [8856]], ['Otilde', [213]], ['otilde', [245]], ['otimesas', [10806]], ['Otimes', [10807]], ['otimes', [8855]], ['Ouml', [214]], ['ouml', [246]], ['ovbar', [9021]], ['OverBar', [8254]], ['OverBrace', [9182]], ['OverBracket', [9140]], ['OverParenthesis', [9180]], ['para', [182]], ['parallel', [8741]], ['par', [8741]], ['parsim', [10995]], ['parsl', [11005]], ['part', [8706]], ['PartialD', [8706]], ['Pcy', [1055]], ['pcy', [1087]], ['percnt', [37]], ['period', [46]], ['permil', [8240]], ['perp', [8869]], ['pertenk', [8241]], ['Pfr', [120083]], ['pfr', [120109]], ['Phi', [934]], ['phi', [966]], ['phiv', [981]], ['phmmat', [8499]], ['phone', [9742]], ['Pi', [928]], ['pi', [960]], ['pitchfork', [8916]], ['piv', [982]], ['planck', [8463]], ['planckh', [8462]], ['plankv', [8463]], ['plusacir', [10787]], ['plusb', [8862]], ['pluscir', [10786]], ['plus', [43]], ['plusdo', [8724]], ['plusdu', [10789]], ['pluse', [10866]], ['PlusMinus', [177]], ['plusmn', [177]], ['plussim', [10790]], ['plustwo', [10791]], ['pm', [177]], ['Poincareplane', [8460]], ['pointint', [10773]], ['popf', [120161]], ['Popf', [8473]], ['pound', [163]], ['prap', [10935]], ['Pr', [10939]], ['pr', [8826]], ['prcue', [8828]], ['precapprox', [10935]], ['prec', [8826]], ['preccurlyeq', [8828]], ['Precedes', [8826]], ['PrecedesEqual', [10927]], ['PrecedesSlantEqual', [8828]], ['PrecedesTilde', [8830]], ['preceq', [10927]], ['precnapprox', [10937]], ['precneqq', [10933]], ['precnsim', [8936]], ['pre', [10927]], ['prE', [10931]], ['precsim', [8830]], ['prime', [8242]], ['Prime', [8243]], ['primes', [8473]], ['prnap', [10937]], ['prnE', [10933]], ['prnsim', [8936]], ['prod', [8719]], ['Product', [8719]], ['profalar', [9006]], ['profline', [8978]], ['profsurf', [8979]], ['prop', [8733]], ['Proportional', [8733]], ['Proportion', [8759]], ['propto', [8733]], ['prsim', [8830]], ['prurel', [8880]], ['Pscr', [119979]], ['pscr', [120005]], ['Psi', [936]], ['psi', [968]], ['puncsp', [8200]], ['Qfr', [120084]], ['qfr', [120110]], ['qint', [10764]], ['qopf', [120162]], ['Qopf', [8474]], ['qprime', [8279]], ['Qscr', [119980]], ['qscr', [120006]], ['quaternions', [8461]], ['quatint', [10774]], ['quest', [63]], ['questeq', [8799]], ['quot', [34]], ['QUOT', [34]], ['rAarr', [8667]], ['race', [8765, 817]], ['Racute', [340]], ['racute', [341]], ['radic', [8730]], ['raemptyv', [10675]], ['rang', [10217]], ['Rang', [10219]], ['rangd', [10642]], ['range', [10661]], ['rangle', [10217]], ['raquo', [187]], ['rarrap', [10613]], ['rarrb', [8677]], ['rarrbfs', [10528]], ['rarrc', [10547]], ['rarr', [8594]], ['Rarr', [8608]], ['rArr', [8658]], ['rarrfs', [10526]], ['rarrhk', [8618]], ['rarrlp', [8620]], ['rarrpl', [10565]], ['rarrsim', [10612]], ['Rarrtl', [10518]], ['rarrtl', [8611]], ['rarrw', [8605]], ['ratail', [10522]], ['rAtail', [10524]], ['ratio', [8758]], ['rationals', [8474]], ['rbarr', [10509]], ['rBarr', [10511]], ['RBarr', [10512]], ['rbbrk', [10099]], ['rbrace', [125]], ['rbrack', [93]], ['rbrke', [10636]], ['rbrksld', [10638]], ['rbrkslu', [10640]], ['Rcaron', [344]], ['rcaron', [345]], ['Rcedil', [342]], ['rcedil', [343]], ['rceil', [8969]], ['rcub', [125]], ['Rcy', [1056]], ['rcy', [1088]], ['rdca', [10551]], ['rdldhar', [10601]], ['rdquo', [8221]], ['rdquor', [8221]], ['CloseCurlyDoubleQuote', [8221]], ['rdsh', [8627]], ['real', [8476]], ['realine', [8475]], ['realpart', [8476]], ['reals', [8477]], ['Re', [8476]], ['rect', [9645]], ['reg', [174]], ['REG', [174]], ['ReverseElement', [8715]], ['ReverseEquilibrium', [8651]], ['ReverseUpEquilibrium', [10607]], ['rfisht', [10621]], ['rfloor', [8971]], ['rfr', [120111]], ['Rfr', [8476]], ['rHar', [10596]], ['rhard', [8641]], ['rharu', [8640]], ['rharul', [10604]], ['Rho', [929]], ['rho', [961]], ['rhov', [1009]], ['RightAngleBracket', [10217]], ['RightArrowBar', [8677]], ['rightarrow', [8594]], ['RightArrow', [8594]], ['Rightarrow', [8658]], ['RightArrowLeftArrow', [8644]], ['rightarrowtail', [8611]], ['RightCeiling', [8969]], ['RightDoubleBracket', [10215]], ['RightDownTeeVector', [10589]], ['RightDownVectorBar', [10581]], ['RightDownVector', [8642]], ['RightFloor', [8971]], ['rightharpoondown', [8641]], ['rightharpoonup', [8640]], ['rightleftarrows', [8644]], ['rightleftharpoons', [8652]], ['rightrightarrows', [8649]], ['rightsquigarrow', [8605]], ['RightTeeArrow', [8614]], ['RightTee', [8866]], ['RightTeeVector', [10587]], ['rightthreetimes', [8908]], ['RightTriangleBar', [10704]], ['RightTriangle', [8883]], ['RightTriangleEqual', [8885]], ['RightUpDownVector', [10575]], ['RightUpTeeVector', [10588]], ['RightUpVectorBar', [10580]], ['RightUpVector', [8638]], ['RightVectorBar', [10579]], ['RightVector', [8640]], ['ring', [730]], ['risingdotseq', [8787]], ['rlarr', [8644]], ['rlhar', [8652]], ['rlm', [8207]], ['rmoustache', [9137]], ['rmoust', [9137]], ['rnmid', [10990]], ['roang', [10221]], ['roarr', [8702]], ['robrk', [10215]], ['ropar', [10630]], ['ropf', [120163]], ['Ropf', [8477]], ['roplus', [10798]], ['rotimes', [10805]], ['RoundImplies', [10608]], ['rpar', [41]], ['rpargt', [10644]], ['rppolint', [10770]], ['rrarr', [8649]], ['Rrightarrow', [8667]], ['rsaquo', [8250]], ['rscr', [120007]], ['Rscr', [8475]], ['rsh', [8625]], ['Rsh', [8625]], ['rsqb', [93]], ['rsquo', [8217]], ['rsquor', [8217]], ['CloseCurlyQuote', [8217]], ['rthree', [8908]], ['rtimes', [8906]], ['rtri', [9657]], ['rtrie', [8885]], ['rtrif', [9656]], ['rtriltri', [10702]], ['RuleDelayed', [10740]], ['ruluhar', [10600]], ['rx', [8478]], ['Sacute', [346]], ['sacute', [347]], ['sbquo', [8218]], ['scap', [10936]], ['Scaron', [352]], ['scaron', [353]], ['Sc', [10940]], ['sc', [8827]], ['sccue', [8829]], ['sce', [10928]], ['scE', [10932]], ['Scedil', [350]], ['scedil', [351]], ['Scirc', [348]], ['scirc', [349]], ['scnap', [10938]], ['scnE', [10934]], ['scnsim', [8937]], ['scpolint', [10771]], ['scsim', [8831]], ['Scy', [1057]], ['scy', [1089]], ['sdotb', [8865]], ['sdot', [8901]], ['sdote', [10854]], ['searhk', [10533]], ['searr', [8600]], ['seArr', [8664]], ['searrow', [8600]], ['sect', [167]], ['semi', [59]], ['seswar', [10537]], ['setminus', [8726]], ['setmn', [8726]], ['sext', [10038]], ['Sfr', [120086]], ['sfr', [120112]], ['sfrown', [8994]], ['sharp', [9839]], ['SHCHcy', [1065]], ['shchcy', [1097]], ['SHcy', [1064]], ['shcy', [1096]], ['ShortDownArrow', [8595]], ['ShortLeftArrow', [8592]], ['shortmid', [8739]], ['shortparallel', [8741]], ['ShortRightArrow', [8594]], ['ShortUpArrow', [8593]], ['shy', [173]], ['Sigma', [931]], ['sigma', [963]], ['sigmaf', [962]], ['sigmav', [962]], ['sim', [8764]], ['simdot', [10858]], ['sime', [8771]], ['simeq', [8771]], ['simg', [10910]], ['simgE', [10912]], ['siml', [10909]], ['simlE', [10911]], ['simne', [8774]], ['simplus', [10788]], ['simrarr', [10610]], ['slarr', [8592]], ['SmallCircle', [8728]], ['smallsetminus', [8726]], ['smashp', [10803]], ['smeparsl', [10724]], ['smid', [8739]], ['smile', [8995]], ['smt', [10922]], ['smte', [10924]], ['smtes', [10924, 65024]], ['SOFTcy', [1068]], ['softcy', [1100]], ['solbar', [9023]], ['solb', [10692]], ['sol', [47]], ['Sopf', [120138]], ['sopf', [120164]], ['spades', [9824]], ['spadesuit', [9824]], ['spar', [8741]], ['sqcap', [8851]], ['sqcaps', [8851, 65024]], ['sqcup', [8852]], ['sqcups', [8852, 65024]], ['Sqrt', [8730]], ['sqsub', [8847]], ['sqsube', [8849]], ['sqsubset', [8847]], ['sqsubseteq', [8849]], ['sqsup', [8848]], ['sqsupe', [8850]], ['sqsupset', [8848]], ['sqsupseteq', [8850]], ['square', [9633]], ['Square', [9633]], ['SquareIntersection', [8851]], ['SquareSubset', [8847]], ['SquareSubsetEqual', [8849]], ['SquareSuperset', [8848]], ['SquareSupersetEqual', [8850]], ['SquareUnion', [8852]], ['squarf', [9642]], ['squ', [9633]], ['squf', [9642]], ['srarr', [8594]], ['Sscr', [119982]], ['sscr', [120008]], ['ssetmn', [8726]], ['ssmile', [8995]], ['sstarf', [8902]], ['Star', [8902]], ['star', [9734]], ['starf', [9733]], ['straightepsilon', [1013]], ['straightphi', [981]], ['strns', [175]], ['sub', [8834]], ['Sub', [8912]], ['subdot', [10941]], ['subE', [10949]], ['sube', [8838]], ['subedot', [10947]], ['submult', [10945]], ['subnE', [10955]], ['subne', [8842]], ['subplus', [10943]], ['subrarr', [10617]], ['subset', [8834]], ['Subset', [8912]], ['subseteq', [8838]], ['subseteqq', [10949]], ['SubsetEqual', [8838]], ['subsetneq', [8842]], ['subsetneqq', [10955]], ['subsim', [10951]], ['subsub', [10965]], ['subsup', [10963]], ['succapprox', [10936]], ['succ', [8827]], ['succcurlyeq', [8829]], ['Succeeds', [8827]], ['SucceedsEqual', [10928]], ['SucceedsSlantEqual', [8829]], ['SucceedsTilde', [8831]], ['succeq', [10928]], ['succnapprox', [10938]], ['succneqq', [10934]], ['succnsim', [8937]], ['succsim', [8831]], ['SuchThat', [8715]], ['sum', [8721]], ['Sum', [8721]], ['sung', [9834]], ['sup1', [185]], ['sup2', [178]], ['sup3', [179]], ['sup', [8835]], ['Sup', [8913]], ['supdot', [10942]], ['supdsub', [10968]], ['supE', [10950]], ['supe', [8839]], ['supedot', [10948]], ['Superset', [8835]], ['SupersetEqual', [8839]], ['suphsol', [10185]], ['suphsub', [10967]], ['suplarr', [10619]], ['supmult', [10946]], ['supnE', [10956]], ['supne', [8843]], ['supplus', [10944]], ['supset', [8835]], ['Supset', [8913]], ['supseteq', [8839]], ['supseteqq', [10950]], ['supsetneq', [8843]], ['supsetneqq', [10956]], ['supsim', [10952]], ['supsub', [10964]], ['supsup', [10966]], ['swarhk', [10534]], ['swarr', [8601]], ['swArr', [8665]], ['swarrow', [8601]], ['swnwar', [10538]], ['szlig', [223]], ['Tab', [9]], ['target', [8982]], ['Tau', [932]], ['tau', [964]], ['tbrk', [9140]], ['Tcaron', [356]], ['tcaron', [357]], ['Tcedil', [354]], ['tcedil', [355]], ['Tcy', [1058]], ['tcy', [1090]], ['tdot', [8411]], ['telrec', [8981]], ['Tfr', [120087]], ['tfr', [120113]], ['there4', [8756]], ['therefore', [8756]], ['Therefore', [8756]], ['Theta', [920]], ['theta', [952]], ['thetasym', [977]], ['thetav', [977]], ['thickapprox', [8776]], ['thicksim', [8764]], ['ThickSpace', [8287, 8202]], ['ThinSpace', [8201]], ['thinsp', [8201]], ['thkap', [8776]], ['thksim', [8764]], ['THORN', [222]], ['thorn', [254]], ['tilde', [732]], ['Tilde', [8764]], ['TildeEqual', [8771]], ['TildeFullEqual', [8773]], ['TildeTilde', [8776]], ['timesbar', [10801]], ['timesb', [8864]], ['times', [215]], ['timesd', [10800]], ['tint', [8749]], ['toea', [10536]], ['topbot', [9014]], ['topcir', [10993]], ['top', [8868]], ['Topf', [120139]], ['topf', [120165]], ['topfork', [10970]], ['tosa', [10537]], ['tprime', [8244]], ['trade', [8482]], ['TRADE', [8482]], ['triangle', [9653]], ['triangledown', [9663]], ['triangleleft', [9667]], ['trianglelefteq', [8884]], ['triangleq', [8796]], ['triangleright', [9657]], ['trianglerighteq', [8885]], ['tridot', [9708]], ['trie', [8796]], ['triminus', [10810]], ['TripleDot', [8411]], ['triplus', [10809]], ['trisb', [10701]], ['tritime', [10811]], ['trpezium', [9186]], ['Tscr', [119983]], ['tscr', [120009]], ['TScy', [1062]], ['tscy', [1094]], ['TSHcy', [1035]], ['tshcy', [1115]], ['Tstrok', [358]], ['tstrok', [359]], ['twixt', [8812]], ['twoheadleftarrow', [8606]], ['twoheadrightarrow', [8608]], ['Uacute', [218]], ['uacute', [250]], ['uarr', [8593]], ['Uarr', [8607]], ['uArr', [8657]], ['Uarrocir', [10569]], ['Ubrcy', [1038]], ['ubrcy', [1118]], ['Ubreve', [364]], ['ubreve', [365]], ['Ucirc', [219]], ['ucirc', [251]], ['Ucy', [1059]], ['ucy', [1091]], ['udarr', [8645]], ['Udblac', [368]], ['udblac', [369]], ['udhar', [10606]], ['ufisht', [10622]], ['Ufr', [120088]], ['ufr', [120114]], ['Ugrave', [217]], ['ugrave', [249]], ['uHar', [10595]], ['uharl', [8639]], ['uharr', [8638]], ['uhblk', [9600]], ['ulcorn', [8988]], ['ulcorner', [8988]], ['ulcrop', [8975]], ['ultri', [9720]], ['Umacr', [362]], ['umacr', [363]], ['uml', [168]], ['UnderBar', [95]], ['UnderBrace', [9183]], ['UnderBracket', [9141]], ['UnderParenthesis', [9181]], ['Union', [8899]], ['UnionPlus', [8846]], ['Uogon', [370]], ['uogon', [371]], ['Uopf', [120140]], ['uopf', [120166]], ['UpArrowBar', [10514]], ['uparrow', [8593]], ['UpArrow', [8593]], ['Uparrow', [8657]], ['UpArrowDownArrow', [8645]], ['updownarrow', [8597]], ['UpDownArrow', [8597]], ['Updownarrow', [8661]], ['UpEquilibrium', [10606]], ['upharpoonleft', [8639]], ['upharpoonright', [8638]], ['uplus', [8846]], ['UpperLeftArrow', [8598]], ['UpperRightArrow', [8599]], ['upsi', [965]], ['Upsi', [978]], ['upsih', [978]], ['Upsilon', [933]], ['upsilon', [965]], ['UpTeeArrow', [8613]], ['UpTee', [8869]], ['upuparrows', [8648]], ['urcorn', [8989]], ['urcorner', [8989]], ['urcrop', [8974]], ['Uring', [366]], ['uring', [367]], ['urtri', [9721]], ['Uscr', [119984]], ['uscr', [120010]], ['utdot', [8944]], ['Utilde', [360]], ['utilde', [361]], ['utri', [9653]], ['utrif', [9652]], ['uuarr', [8648]], ['Uuml', [220]], ['uuml', [252]], ['uwangle', [10663]], ['vangrt', [10652]], ['varepsilon', [1013]], ['varkappa', [1008]], ['varnothing', [8709]], ['varphi', [981]], ['varpi', [982]], ['varpropto', [8733]], ['varr', [8597]], ['vArr', [8661]], ['varrho', [1009]], ['varsigma', [962]], ['varsubsetneq', [8842, 65024]], ['varsubsetneqq', [10955, 65024]], ['varsupsetneq', [8843, 65024]], ['varsupsetneqq', [10956, 65024]], ['vartheta', [977]], ['vartriangleleft', [8882]], ['vartriangleright', [8883]], ['vBar', [10984]], ['Vbar', [10987]], ['vBarv', [10985]], ['Vcy', [1042]], ['vcy', [1074]], ['vdash', [8866]], ['vDash', [8872]], ['Vdash', [8873]], ['VDash', [8875]], ['Vdashl', [10982]], ['veebar', [8891]], ['vee', [8744]], ['Vee', [8897]], ['veeeq', [8794]], ['vellip', [8942]], ['verbar', [124]], ['Verbar', [8214]], ['vert', [124]], ['Vert', [8214]], ['VerticalBar', [8739]], ['VerticalLine', [124]], ['VerticalSeparator', [10072]], ['VerticalTilde', [8768]], ['VeryThinSpace', [8202]], ['Vfr', [120089]], ['vfr', [120115]], ['vltri', [8882]], ['vnsub', [8834, 8402]], ['vnsup', [8835, 8402]], ['Vopf', [120141]], ['vopf', [120167]], ['vprop', [8733]], ['vrtri', [8883]], ['Vscr', [119985]], ['vscr', [120011]], ['vsubnE', [10955, 65024]], ['vsubne', [8842, 65024]], ['vsupnE', [10956, 65024]], ['vsupne', [8843, 65024]], ['Vvdash', [8874]], ['vzigzag', [10650]], ['Wcirc', [372]], ['wcirc', [373]], ['wedbar', [10847]], ['wedge', [8743]], ['Wedge', [8896]], ['wedgeq', [8793]], ['weierp', [8472]], ['Wfr', [120090]], ['wfr', [120116]], ['Wopf', [120142]], ['wopf', [120168]], ['wp', [8472]], ['wr', [8768]], ['wreath', [8768]], ['Wscr', [119986]], ['wscr', [120012]], ['xcap', [8898]], ['xcirc', [9711]], ['xcup', [8899]], ['xdtri', [9661]], ['Xfr', [120091]], ['xfr', [120117]], ['xharr', [10231]], ['xhArr', [10234]], ['Xi', [926]], ['xi', [958]], ['xlarr', [10229]], ['xlArr', [10232]], ['xmap', [10236]], ['xnis', [8955]], ['xodot', [10752]], ['Xopf', [120143]], ['xopf', [120169]], ['xoplus', [10753]], ['xotime', [10754]], ['xrarr', [10230]], ['xrArr', [10233]], ['Xscr', [119987]], ['xscr', [120013]], ['xsqcup', [10758]], ['xuplus', [10756]], ['xutri', [9651]], ['xvee', [8897]], ['xwedge', [8896]], ['Yacute', [221]], ['yacute', [253]], ['YAcy', [1071]], ['yacy', [1103]], ['Ycirc', [374]], ['ycirc', [375]], ['Ycy', [1067]], ['ycy', [1099]], ['yen', [165]], ['Yfr', [120092]], ['yfr', [120118]], ['YIcy', [1031]], ['yicy', [1111]], ['Yopf', [120144]], ['yopf', [120170]], ['Yscr', [119988]], ['yscr', [120014]], ['YUcy', [1070]], ['yucy', [1102]], ['yuml', [255]], ['Yuml', [376]], ['Zacute', [377]], ['zacute', [378]], ['Zcaron', [381]], ['zcaron', [382]], ['Zcy', [1047]], ['zcy', [1079]], ['Zdot', [379]], ['zdot', [380]], ['zeetrf', [8488]], ['ZeroWidthSpace', [8203]], ['Zeta', [918]], ['zeta', [950]], ['zfr', [120119]], ['Zfr', [8488]], ['ZHcy', [1046]], ['zhcy', [1078]], ['zigrarr', [8669]], ['zopf', [120171]], ['Zopf', [8484]], ['Zscr', [119989]], ['zscr', [120015]], ['zwj', [8205]], ['zwnj', [8204]]];\nvar DECODE_ONLY_ENTITIES = [['NewLine', [10]]];\nvar alphaIndex = {};\nvar charIndex = {};\ncreateIndexes(alphaIndex, charIndex);\nvar Html5Entities = /** @class */ (function () {\n function Html5Entities() {\n }\n Html5Entities.prototype.decode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n return str.replace(/&(#?[\\w\\d]+);?/g, function (s, entity) {\n var chr;\n if (entity.charAt(0) === \"#\") {\n var code = entity.charAt(1) === 'x' ?\n parseInt(entity.substr(2).toLowerCase(), 16) :\n parseInt(entity.substr(1));\n if (!isNaN(code) || code >= -32768) {\n if (code <= 65535) {\n chr = String.fromCharCode(code);\n }\n else {\n chr = surrogate_pairs_1.fromCodePoint(code);\n }\n }\n }\n else {\n chr = alphaIndex[entity];\n }\n return chr || s;\n });\n };\n Html5Entities.decode = function (str) {\n return new Html5Entities().decode(str);\n };\n Html5Entities.prototype.encode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var charInfo = charIndex[str.charCodeAt(i)];\n if (charInfo) {\n var alpha = charInfo[str.charCodeAt(i + 1)];\n if (alpha) {\n i++;\n }\n else {\n alpha = charInfo[''];\n }\n if (alpha) {\n result += \"&\" + alpha + \";\";\n i++;\n continue;\n }\n }\n result += str.charAt(i);\n i++;\n }\n return result;\n };\n Html5Entities.encode = function (str) {\n return new Html5Entities().encode(str);\n };\n Html5Entities.prototype.encodeNonUTF = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n var charInfo = charIndex[c];\n if (charInfo) {\n var alpha = charInfo[str.charCodeAt(i + 1)];\n if (alpha) {\n i++;\n }\n else {\n alpha = charInfo[''];\n }\n if (alpha) {\n result += \"&\" + alpha + \";\";\n i++;\n continue;\n }\n }\n if (c < 32 || c > 126) {\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '&#' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '&#' + c + ';';\n }\n }\n else {\n result += str.charAt(i);\n }\n i++;\n }\n return result;\n };\n Html5Entities.encodeNonUTF = function (str) {\n return new Html5Entities().encodeNonUTF(str);\n };\n Html5Entities.prototype.encodeNonASCII = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n if (c <= 255) {\n result += str[i++];\n continue;\n }\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '&#' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i += 2;\n }\n else {\n result += '&#' + c + ';';\n i++;\n }\n }\n return result;\n };\n Html5Entities.encodeNonASCII = function (str) {\n return new Html5Entities().encodeNonASCII(str);\n };\n return Html5Entities;\n}());\nexports.Html5Entities = Html5Entities;\nfunction createIndexes(alphaIndex, charIndex) {\n var i = ENTITIES.length;\n while (i--) {\n var _a = ENTITIES[i], alpha = _a[0], _b = _a[1], chr = _b[0], chr2 = _b[1];\n var addChar = (chr < 32 || chr > 126) || chr === 62 || chr === 60 || chr === 38 || chr === 34 || chr === 39;\n var charInfo = void 0;\n if (addChar) {\n charInfo = charIndex[chr] = charIndex[chr] || {};\n }\n if (chr2) {\n alphaIndex[alpha] = String.fromCharCode(chr) + String.fromCharCode(chr2);\n addChar && (charInfo[chr2] = alpha);\n }\n else {\n alphaIndex[alpha] = String.fromCharCode(chr);\n addChar && (charInfo[''] = alpha);\n }\n }\n i = DECODE_ONLY_ENTITIES.length;\n while (i--) {\n var _c = DECODE_ONLY_ENTITIES[i], alpha = _c[0], _d = _c[1], chr = _d[0], chr2 = _d[1];\n alphaIndex[alpha] = String.fromCharCode(chr) + (chr2 ? String.fromCharCode(chr2) : '');\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar xml_entities_1 = require(\"./xml-entities\");\nexports.XmlEntities = xml_entities_1.XmlEntities;\nvar html4_entities_1 = require(\"./html4-entities\");\nexports.Html4Entities = html4_entities_1.Html4Entities;\nvar html5_entities_1 = require(\"./html5-entities\");\nexports.Html5Entities = html5_entities_1.Html5Entities;\nexports.AllHtmlEntities = html5_entities_1.Html5Entities;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromCodePoint = String.fromCodePoint || function (astralCodePoint) {\n return String.fromCharCode(Math.floor((astralCodePoint - 0x10000) / 0x400) + 0xD800, (astralCodePoint - 0x10000) % 0x400 + 0xDC00);\n};\nexports.getCodePoint = String.prototype.codePointAt ?\n function (input, position) {\n return input.codePointAt(position);\n } :\n function (input, position) {\n return (input.charCodeAt(position) - 0xD800) * 0x400\n + input.charCodeAt(position + 1) - 0xDC00 + 0x10000;\n };\nexports.highSurrogateFrom = 0xD800;\nexports.highSurrogateTo = 0xDBFF;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar surrogate_pairs_1 = require(\"./surrogate-pairs\");\nvar ALPHA_INDEX = {\n '<': '<',\n '>': '>',\n '"': '\"',\n '&apos': '\\'',\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': '\\'',\n '&': '&'\n};\nvar CHAR_INDEX = {\n 60: 'lt',\n 62: 'gt',\n 34: 'quot',\n 39: 'apos',\n 38: 'amp'\n};\nvar CHAR_S_INDEX = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': ''',\n '&': '&'\n};\nvar XmlEntities = /** @class */ (function () {\n function XmlEntities() {\n }\n XmlEntities.prototype.encode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n return str.replace(/[<>\"'&]/g, function (s) {\n return CHAR_S_INDEX[s];\n });\n };\n XmlEntities.encode = function (str) {\n return new XmlEntities().encode(str);\n };\n XmlEntities.prototype.decode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n return str.replace(/&#?[0-9a-zA-Z]+;?/g, function (s) {\n if (s.charAt(1) === '#') {\n var code = s.charAt(2).toLowerCase() === 'x' ?\n parseInt(s.substr(3), 16) :\n parseInt(s.substr(2));\n if (!isNaN(code) || code >= -32768) {\n if (code <= 65535) {\n return String.fromCharCode(code);\n }\n else {\n return surrogate_pairs_1.fromCodePoint(code);\n }\n }\n return '';\n }\n return ALPHA_INDEX[s] || s;\n });\n };\n XmlEntities.decode = function (str) {\n return new XmlEntities().decode(str);\n };\n XmlEntities.prototype.encodeNonUTF = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n var alpha = CHAR_INDEX[c];\n if (alpha) {\n result += \"&\" + alpha + \";\";\n i++;\n continue;\n }\n if (c < 32 || c > 126) {\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '&#' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '&#' + c + ';';\n }\n }\n else {\n result += str.charAt(i);\n }\n i++;\n }\n return result;\n };\n XmlEntities.encodeNonUTF = function (str) {\n return new XmlEntities().encodeNonUTF(str);\n };\n XmlEntities.prototype.encodeNonASCII = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n if (c <= 255) {\n result += str[i++];\n continue;\n }\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '&#' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '&#' + c + ';';\n }\n i++;\n }\n return result;\n };\n XmlEntities.encodeNonASCII = function (str) {\n return new XmlEntities().encodeNonASCII(str);\n };\n return XmlEntities;\n}());\nexports.XmlEntities = XmlEntities;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport { ucs2decode, ucs2encode, decode, encode, toASCII, toUnicode };\nexport default punycode;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/* sockjs-client v1.5.0 | http://sockjs.org | MIT license */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.SockJS = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 1) {\n // Make a copy so as not to interfere with a current dispatchEvent.\n this._listeners[eventType] = arr.slice(0, idx).concat(arr.slice(idx + 1));\n } else {\n delete this._listeners[eventType];\n }\n return;\n }\n};\n\nEventTarget.prototype.dispatchEvent = function() {\n var event = arguments[0];\n var t = event.type;\n // equivalent of Array.prototype.slice.call(arguments, 0);\n var args = arguments.length === 1 ? [event] : Array.apply(null, arguments);\n // TODO: This doesn't match the real behavior; per spec, onfoo get\n // their place in line from the /first/ time they're set from\n // non-null. Although WebKit bumps it to the end every time it's\n // set.\n if (this['on' + t]) {\n this['on' + t].apply(this, args);\n }\n if (t in this._listeners) {\n // Grab a reference to the listeners list. removeEventListener may alter the list.\n var listeners = this._listeners[t];\n for (var i = 0; i < listeners.length; i++) {\n listeners[i].apply(this, args);\n }\n }\n};\n\nmodule.exports = EventTarget;\n\n},{}],6:[function(require,module,exports){\n'use strict';\n\nvar inherits = require('inherits')\n , Event = require('./event')\n ;\n\nfunction TransportMessageEvent(data) {\n Event.call(this);\n this.initEvent('message', false, false);\n this.data = data;\n}\n\ninherits(TransportMessageEvent, Event);\n\nmodule.exports = TransportMessageEvent;\n\n},{\"./event\":4,\"inherits\":57}],7:[function(require,module,exports){\n'use strict';\n\nvar JSON3 = require('json3')\n , iframeUtils = require('./utils/iframe')\n ;\n\nfunction FacadeJS(transport) {\n this._transport = transport;\n transport.on('message', this._transportMessage.bind(this));\n transport.on('close', this._transportClose.bind(this));\n}\n\nFacadeJS.prototype._transportClose = function(code, reason) {\n iframeUtils.postMessage('c', JSON3.stringify([code, reason]));\n};\nFacadeJS.prototype._transportMessage = function(frame) {\n iframeUtils.postMessage('t', frame);\n};\nFacadeJS.prototype._send = function(data) {\n this._transport.send(data);\n};\nFacadeJS.prototype._close = function() {\n this._transport.close();\n this._transport.removeAllListeners();\n};\n\nmodule.exports = FacadeJS;\n\n},{\"./utils/iframe\":47,\"json3\":58}],8:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar urlUtils = require('./utils/url')\n , eventUtils = require('./utils/event')\n , JSON3 = require('json3')\n , FacadeJS = require('./facade')\n , InfoIframeReceiver = require('./info-iframe-receiver')\n , iframeUtils = require('./utils/iframe')\n , loc = require('./location')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:iframe-bootstrap');\n}\n\nmodule.exports = function(SockJS, availableTransports) {\n var transportMap = {};\n availableTransports.forEach(function(at) {\n if (at.facadeTransport) {\n transportMap[at.facadeTransport.transportName] = at.facadeTransport;\n }\n });\n\n // hard-coded for the info iframe\n // TODO see if we can make this more dynamic\n transportMap[InfoIframeReceiver.transportName] = InfoIframeReceiver;\n var parentOrigin;\n\n /* eslint-disable camelcase */\n SockJS.bootstrap_iframe = function() {\n /* eslint-enable camelcase */\n var facade;\n iframeUtils.currentWindowId = loc.hash.slice(1);\n var onMessage = function(e) {\n if (e.source !== parent) {\n return;\n }\n if (typeof parentOrigin === 'undefined') {\n parentOrigin = e.origin;\n }\n if (e.origin !== parentOrigin) {\n return;\n }\n\n var iframeMessage;\n try {\n iframeMessage = JSON3.parse(e.data);\n } catch (ignored) {\n debug('bad json', e.data);\n return;\n }\n\n if (iframeMessage.windowId !== iframeUtils.currentWindowId) {\n return;\n }\n switch (iframeMessage.type) {\n case 's':\n var p;\n try {\n p = JSON3.parse(iframeMessage.data);\n } catch (ignored) {\n debug('bad json', iframeMessage.data);\n break;\n }\n var version = p[0];\n var transport = p[1];\n var transUrl = p[2];\n var baseUrl = p[3];\n debug(version, transport, transUrl, baseUrl);\n // change this to semver logic\n if (version !== SockJS.version) {\n throw new Error('Incompatible SockJS! Main site uses:' +\n ' \"' + version + '\", the iframe:' +\n ' \"' + SockJS.version + '\".');\n }\n\n if (!urlUtils.isOriginEqual(transUrl, loc.href) ||\n !urlUtils.isOriginEqual(baseUrl, loc.href)) {\n throw new Error('Can\\'t connect to different domain from within an ' +\n 'iframe. (' + loc.href + ', ' + transUrl + ', ' + baseUrl + ')');\n }\n facade = new FacadeJS(new transportMap[transport](transUrl, baseUrl));\n break;\n case 'm':\n facade._send(iframeMessage.data);\n break;\n case 'c':\n if (facade) {\n facade._close();\n }\n facade = null;\n break;\n }\n };\n\n eventUtils.attachEvent('message', onMessage);\n\n // Start\n iframeUtils.postMessage('s');\n };\n};\n\n}).call(this,{ env: {} })\n\n},{\"./facade\":7,\"./info-iframe-receiver\":10,\"./location\":13,\"./utils/event\":46,\"./utils/iframe\":47,\"./utils/url\":52,\"debug\":55,\"json3\":58}],9:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n , JSON3 = require('json3')\n , objectUtils = require('./utils/object')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:info-ajax');\n}\n\nfunction InfoAjax(url, AjaxObject) {\n EventEmitter.call(this);\n\n var self = this;\n var t0 = +new Date();\n this.xo = new AjaxObject('GET', url);\n\n this.xo.once('finish', function(status, text) {\n var info, rtt;\n if (status === 200) {\n rtt = (+new Date()) - t0;\n if (text) {\n try {\n info = JSON3.parse(text);\n } catch (e) {\n debug('bad json', text);\n }\n }\n\n if (!objectUtils.isObject(info)) {\n info = {};\n }\n }\n self.emit('finish', info, rtt);\n self.removeAllListeners();\n });\n}\n\ninherits(InfoAjax, EventEmitter);\n\nInfoAjax.prototype.close = function() {\n this.removeAllListeners();\n this.xo.close();\n};\n\nmodule.exports = InfoAjax;\n\n}).call(this,{ env: {} })\n\n},{\"./utils/object\":49,\"debug\":55,\"events\":3,\"inherits\":57,\"json3\":58}],10:[function(require,module,exports){\n'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n , JSON3 = require('json3')\n , XHRLocalObject = require('./transport/sender/xhr-local')\n , InfoAjax = require('./info-ajax')\n ;\n\nfunction InfoReceiverIframe(transUrl) {\n var self = this;\n EventEmitter.call(this);\n\n this.ir = new InfoAjax(transUrl, XHRLocalObject);\n this.ir.once('finish', function(info, rtt) {\n self.ir = null;\n self.emit('message', JSON3.stringify([info, rtt]));\n });\n}\n\ninherits(InfoReceiverIframe, EventEmitter);\n\nInfoReceiverIframe.transportName = 'iframe-info-receiver';\n\nInfoReceiverIframe.prototype.close = function() {\n if (this.ir) {\n this.ir.close();\n this.ir = null;\n }\n this.removeAllListeners();\n};\n\nmodule.exports = InfoReceiverIframe;\n\n},{\"./info-ajax\":9,\"./transport/sender/xhr-local\":37,\"events\":3,\"inherits\":57,\"json3\":58}],11:[function(require,module,exports){\n(function (process,global){\n'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n , JSON3 = require('json3')\n , utils = require('./utils/event')\n , IframeTransport = require('./transport/iframe')\n , InfoReceiverIframe = require('./info-iframe-receiver')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:info-iframe');\n}\n\nfunction InfoIframe(baseUrl, url) {\n var self = this;\n EventEmitter.call(this);\n\n var go = function() {\n var ifr = self.ifr = new IframeTransport(InfoReceiverIframe.transportName, url, baseUrl);\n\n ifr.once('message', function(msg) {\n if (msg) {\n var d;\n try {\n d = JSON3.parse(msg);\n } catch (e) {\n debug('bad json', msg);\n self.emit('finish');\n self.close();\n return;\n }\n\n var info = d[0], rtt = d[1];\n self.emit('finish', info, rtt);\n }\n self.close();\n });\n\n ifr.once('close', function() {\n self.emit('finish');\n self.close();\n });\n };\n\n // TODO this seems the same as the 'needBody' from transports\n if (!global.document.body) {\n utils.attachEvent('load', go);\n } else {\n go();\n }\n}\n\ninherits(InfoIframe, EventEmitter);\n\nInfoIframe.enabled = function() {\n return IframeTransport.enabled();\n};\n\nInfoIframe.prototype.close = function() {\n if (this.ifr) {\n this.ifr.close();\n }\n this.removeAllListeners();\n this.ifr = null;\n};\n\nmodule.exports = InfoIframe;\n\n}).call(this,{ env: {} },typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./info-iframe-receiver\":10,\"./transport/iframe\":22,\"./utils/event\":46,\"debug\":55,\"events\":3,\"inherits\":57,\"json3\":58}],12:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n , urlUtils = require('./utils/url')\n , XDR = require('./transport/sender/xdr')\n , XHRCors = require('./transport/sender/xhr-cors')\n , XHRLocal = require('./transport/sender/xhr-local')\n , XHRFake = require('./transport/sender/xhr-fake')\n , InfoIframe = require('./info-iframe')\n , InfoAjax = require('./info-ajax')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:info-receiver');\n}\n\nfunction InfoReceiver(baseUrl, urlInfo) {\n debug(baseUrl);\n var self = this;\n EventEmitter.call(this);\n\n setTimeout(function() {\n self.doXhr(baseUrl, urlInfo);\n }, 0);\n}\n\ninherits(InfoReceiver, EventEmitter);\n\n// TODO this is currently ignoring the list of available transports and the whitelist\n\nInfoReceiver._getReceiver = function(baseUrl, url, urlInfo) {\n // determine method of CORS support (if needed)\n if (urlInfo.sameOrigin) {\n return new InfoAjax(url, XHRLocal);\n }\n if (XHRCors.enabled) {\n return new InfoAjax(url, XHRCors);\n }\n if (XDR.enabled && urlInfo.sameScheme) {\n return new InfoAjax(url, XDR);\n }\n if (InfoIframe.enabled()) {\n return new InfoIframe(baseUrl, url);\n }\n return new InfoAjax(url, XHRFake);\n};\n\nInfoReceiver.prototype.doXhr = function(baseUrl, urlInfo) {\n var self = this\n , url = urlUtils.addPath(baseUrl, '/info')\n ;\n debug('doXhr', url);\n\n this.xo = InfoReceiver._getReceiver(baseUrl, url, urlInfo);\n\n this.timeoutRef = setTimeout(function() {\n debug('timeout');\n self._cleanup(false);\n self.emit('finish');\n }, InfoReceiver.timeout);\n\n this.xo.once('finish', function(info, rtt) {\n debug('finish', info, rtt);\n self._cleanup(true);\n self.emit('finish', info, rtt);\n });\n};\n\nInfoReceiver.prototype._cleanup = function(wasClean) {\n debug('_cleanup');\n clearTimeout(this.timeoutRef);\n this.timeoutRef = null;\n if (!wasClean && this.xo) {\n this.xo.close();\n }\n this.xo = null;\n};\n\nInfoReceiver.prototype.close = function() {\n debug('close');\n this.removeAllListeners();\n this._cleanup(false);\n};\n\nInfoReceiver.timeout = 8000;\n\nmodule.exports = InfoReceiver;\n\n}).call(this,{ env: {} })\n\n},{\"./info-ajax\":9,\"./info-iframe\":11,\"./transport/sender/xdr\":34,\"./transport/sender/xhr-cors\":35,\"./transport/sender/xhr-fake\":36,\"./transport/sender/xhr-local\":37,\"./utils/url\":52,\"debug\":55,\"events\":3,\"inherits\":57}],13:[function(require,module,exports){\n(function (global){\n'use strict';\n\nmodule.exports = global.location || {\n origin: 'http://localhost:80'\n, protocol: 'http:'\n, host: 'localhost'\n, port: 80\n, href: 'http://localhost/'\n, hash: ''\n};\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{}],14:[function(require,module,exports){\n(function (process,global){\n'use strict';\n\nrequire('./shims');\n\nvar URL = require('url-parse')\n , inherits = require('inherits')\n , JSON3 = require('json3')\n , random = require('./utils/random')\n , escape = require('./utils/escape')\n , urlUtils = require('./utils/url')\n , eventUtils = require('./utils/event')\n , transport = require('./utils/transport')\n , objectUtils = require('./utils/object')\n , browser = require('./utils/browser')\n , log = require('./utils/log')\n , Event = require('./event/event')\n , EventTarget = require('./event/eventtarget')\n , loc = require('./location')\n , CloseEvent = require('./event/close')\n , TransportMessageEvent = require('./event/trans-message')\n , InfoReceiver = require('./info-receiver')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:main');\n}\n\nvar transports;\n\n// follow constructor steps defined at http://dev.w3.org/html5/websockets/#the-websocket-interface\nfunction SockJS(url, protocols, options) {\n if (!(this instanceof SockJS)) {\n return new SockJS(url, protocols, options);\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'SockJS: 1 argument required, but only 0 present\");\n }\n EventTarget.call(this);\n\n this.readyState = SockJS.CONNECTING;\n this.extensions = '';\n this.protocol = '';\n\n // non-standard extension\n options = options || {};\n if (options.protocols_whitelist) {\n log.warn(\"'protocols_whitelist' is DEPRECATED. Use 'transports' instead.\");\n }\n this._transportsWhitelist = options.transports;\n this._transportOptions = options.transportOptions || {};\n this._timeout = options.timeout || 0;\n\n var sessionId = options.sessionId || 8;\n if (typeof sessionId === 'function') {\n this._generateSessionId = sessionId;\n } else if (typeof sessionId === 'number') {\n this._generateSessionId = function() {\n return random.string(sessionId);\n };\n } else {\n throw new TypeError('If sessionId is used in the options, it needs to be a number or a function.');\n }\n\n this._server = options.server || random.numberString(1000);\n\n // Step 1 of WS spec - parse and validate the url. Issue #8\n var parsedUrl = new URL(url);\n if (!parsedUrl.host || !parsedUrl.protocol) {\n throw new SyntaxError(\"The URL '\" + url + \"' is invalid\");\n } else if (parsedUrl.hash) {\n throw new SyntaxError('The URL must not contain a fragment');\n } else if (parsedUrl.protocol !== 'http:' && parsedUrl.protocol !== 'https:') {\n throw new SyntaxError(\"The URL's scheme must be either 'http:' or 'https:'. '\" + parsedUrl.protocol + \"' is not allowed.\");\n }\n\n var secure = parsedUrl.protocol === 'https:';\n // Step 2 - don't allow secure origin with an insecure protocol\n if (loc.protocol === 'https:' && !secure) {\n // exception is 127.0.0.0/8 and ::1 urls\n if (!urlUtils.isLoopbackAddr(parsedUrl.hostname)) {\n throw new Error('SecurityError: An insecure SockJS connection may not be initiated from a page loaded over HTTPS');\n }\n }\n\n // Step 3 - check port access - no need here\n // Step 4 - parse protocols argument\n if (!protocols) {\n protocols = [];\n } else if (!Array.isArray(protocols)) {\n protocols = [protocols];\n }\n\n // Step 5 - check protocols argument\n var sortedProtocols = protocols.sort();\n sortedProtocols.forEach(function(proto, i) {\n if (!proto) {\n throw new SyntaxError(\"The protocols entry '\" + proto + \"' is invalid.\");\n }\n if (i < (sortedProtocols.length - 1) && proto === sortedProtocols[i + 1]) {\n throw new SyntaxError(\"The protocols entry '\" + proto + \"' is duplicated.\");\n }\n });\n\n // Step 6 - convert origin\n var o = urlUtils.getOrigin(loc.href);\n this._origin = o ? o.toLowerCase() : null;\n\n // remove the trailing slash\n parsedUrl.set('pathname', parsedUrl.pathname.replace(/\\/+$/, ''));\n\n // store the sanitized url\n this.url = parsedUrl.href;\n debug('using url', this.url);\n\n // Step 7 - start connection in background\n // obtain server info\n // http://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html#section-26\n this._urlInfo = {\n nullOrigin: !browser.hasDomain()\n , sameOrigin: urlUtils.isOriginEqual(this.url, loc.href)\n , sameScheme: urlUtils.isSchemeEqual(this.url, loc.href)\n };\n\n this._ir = new InfoReceiver(this.url, this._urlInfo);\n this._ir.once('finish', this._receiveInfo.bind(this));\n}\n\ninherits(SockJS, EventTarget);\n\nfunction userSetCode(code) {\n return code === 1000 || (code >= 3000 && code <= 4999);\n}\n\nSockJS.prototype.close = function(code, reason) {\n // Step 1\n if (code && !userSetCode(code)) {\n throw new Error('InvalidAccessError: Invalid code');\n }\n // Step 2.4 states the max is 123 bytes, but we are just checking length\n if (reason && reason.length > 123) {\n throw new SyntaxError('reason argument has an invalid length');\n }\n\n // Step 3.1\n if (this.readyState === SockJS.CLOSING || this.readyState === SockJS.CLOSED) {\n return;\n }\n\n // TODO look at docs to determine how to set this\n var wasClean = true;\n this._close(code || 1000, reason || 'Normal closure', wasClean);\n};\n\nSockJS.prototype.send = function(data) {\n // #13 - convert anything non-string to string\n // TODO this currently turns objects into [object Object]\n if (typeof data !== 'string') {\n data = '' + data;\n }\n if (this.readyState === SockJS.CONNECTING) {\n throw new Error('InvalidStateError: The connection has not been established yet');\n }\n if (this.readyState !== SockJS.OPEN) {\n return;\n }\n this._transport.send(escape.quote(data));\n};\n\nSockJS.version = require('./version');\n\nSockJS.CONNECTING = 0;\nSockJS.OPEN = 1;\nSockJS.CLOSING = 2;\nSockJS.CLOSED = 3;\n\nSockJS.prototype._receiveInfo = function(info, rtt) {\n debug('_receiveInfo', rtt);\n this._ir = null;\n if (!info) {\n this._close(1002, 'Cannot connect to server');\n return;\n }\n\n // establish a round-trip timeout (RTO) based on the\n // round-trip time (RTT)\n this._rto = this.countRTO(rtt);\n // allow server to override url used for the actual transport\n this._transUrl = info.base_url ? info.base_url : this.url;\n info = objectUtils.extend(info, this._urlInfo);\n debug('info', info);\n // determine list of desired and supported transports\n var enabledTransports = transports.filterToEnabled(this._transportsWhitelist, info);\n this._transports = enabledTransports.main;\n debug(this._transports.length + ' enabled transports');\n\n this._connect();\n};\n\nSockJS.prototype._connect = function() {\n for (var Transport = this._transports.shift(); Transport; Transport = this._transports.shift()) {\n debug('attempt', Transport.transportName);\n if (Transport.needBody) {\n if (!global.document.body ||\n (typeof global.document.readyState !== 'undefined' &&\n global.document.readyState !== 'complete' &&\n global.document.readyState !== 'interactive')) {\n debug('waiting for body');\n this._transports.unshift(Transport);\n eventUtils.attachEvent('load', this._connect.bind(this));\n return;\n }\n }\n\n // calculate timeout based on RTO and round trips. Default to 5s\n var timeoutMs = Math.max(this._timeout, (this._rto * Transport.roundTrips) || 5000);\n this._transportTimeoutId = setTimeout(this._transportTimeout.bind(this), timeoutMs);\n debug('using timeout', timeoutMs);\n\n var transportUrl = urlUtils.addPath(this._transUrl, '/' + this._server + '/' + this._generateSessionId());\n var options = this._transportOptions[Transport.transportName];\n debug('transport url', transportUrl);\n var transportObj = new Transport(transportUrl, this._transUrl, options);\n transportObj.on('message', this._transportMessage.bind(this));\n transportObj.once('close', this._transportClose.bind(this));\n transportObj.transportName = Transport.transportName;\n this._transport = transportObj;\n\n return;\n }\n this._close(2000, 'All transports failed', false);\n};\n\nSockJS.prototype._transportTimeout = function() {\n debug('_transportTimeout');\n if (this.readyState === SockJS.CONNECTING) {\n if (this._transport) {\n this._transport.close();\n }\n\n this._transportClose(2007, 'Transport timed out');\n }\n};\n\nSockJS.prototype._transportMessage = function(msg) {\n debug('_transportMessage', msg);\n var self = this\n , type = msg.slice(0, 1)\n , content = msg.slice(1)\n , payload\n ;\n\n // first check for messages that don't need a payload\n switch (type) {\n case 'o':\n this._open();\n return;\n case 'h':\n this.dispatchEvent(new Event('heartbeat'));\n debug('heartbeat', this.transport);\n return;\n }\n\n if (content) {\n try {\n payload = JSON3.parse(content);\n } catch (e) {\n debug('bad json', content);\n }\n }\n\n if (typeof payload === 'undefined') {\n debug('empty payload', content);\n return;\n }\n\n switch (type) {\n case 'a':\n if (Array.isArray(payload)) {\n payload.forEach(function(p) {\n debug('message', self.transport, p);\n self.dispatchEvent(new TransportMessageEvent(p));\n });\n }\n break;\n case 'm':\n debug('message', this.transport, payload);\n this.dispatchEvent(new TransportMessageEvent(payload));\n break;\n case 'c':\n if (Array.isArray(payload) && payload.length === 2) {\n this._close(payload[0], payload[1], true);\n }\n break;\n }\n};\n\nSockJS.prototype._transportClose = function(code, reason) {\n debug('_transportClose', this.transport, code, reason);\n if (this._transport) {\n this._transport.removeAllListeners();\n this._transport = null;\n this.transport = null;\n }\n\n if (!userSetCode(code) && code !== 2000 && this.readyState === SockJS.CONNECTING) {\n this._connect();\n return;\n }\n\n this._close(code, reason);\n};\n\nSockJS.prototype._open = function() {\n debug('_open', this._transport && this._transport.transportName, this.readyState);\n if (this.readyState === SockJS.CONNECTING) {\n if (this._transportTimeoutId) {\n clearTimeout(this._transportTimeoutId);\n this._transportTimeoutId = null;\n }\n this.readyState = SockJS.OPEN;\n this.transport = this._transport.transportName;\n this.dispatchEvent(new Event('open'));\n debug('connected', this.transport);\n } else {\n // The server might have been restarted, and lost track of our\n // connection.\n this._close(1006, 'Server lost session');\n }\n};\n\nSockJS.prototype._close = function(code, reason, wasClean) {\n debug('_close', this.transport, code, reason, wasClean, this.readyState);\n var forceFail = false;\n\n if (this._ir) {\n forceFail = true;\n this._ir.close();\n this._ir = null;\n }\n if (this._transport) {\n this._transport.close();\n this._transport = null;\n this.transport = null;\n }\n\n if (this.readyState === SockJS.CLOSED) {\n throw new Error('InvalidStateError: SockJS has already been closed');\n }\n\n this.readyState = SockJS.CLOSING;\n setTimeout(function() {\n this.readyState = SockJS.CLOSED;\n\n if (forceFail) {\n this.dispatchEvent(new Event('error'));\n }\n\n var e = new CloseEvent('close');\n e.wasClean = wasClean || false;\n e.code = code || 1000;\n e.reason = reason;\n\n this.dispatchEvent(e);\n this.onmessage = this.onclose = this.onerror = null;\n debug('disconnected');\n }.bind(this), 0);\n};\n\n// See: http://www.erg.abdn.ac.uk/~gerrit/dccp/notes/ccid2/rto_estimator/\n// and RFC 2988.\nSockJS.prototype.countRTO = function(rtt) {\n // In a local environment, when using IE8/9 and the `jsonp-polling`\n // transport the time needed to establish a connection (the time that pass\n // from the opening of the transport to the call of `_dispatchOpen`) is\n // around 200msec (the lower bound used in the article above) and this\n // causes spurious timeouts. For this reason we calculate a value slightly\n // larger than that used in the article.\n if (rtt > 100) {\n return 4 * rtt; // rto > 400msec\n }\n return 300 + rtt; // 300msec < rto <= 400msec\n};\n\nmodule.exports = function(availableTransports) {\n transports = transport(availableTransports);\n require('./iframe-bootstrap')(SockJS, availableTransports);\n return SockJS;\n};\n\n}).call(this,{ env: {} },typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./event/close\":2,\"./event/event\":4,\"./event/eventtarget\":5,\"./event/trans-message\":6,\"./iframe-bootstrap\":8,\"./info-receiver\":12,\"./location\":13,\"./shims\":15,\"./utils/browser\":44,\"./utils/escape\":45,\"./utils/event\":46,\"./utils/log\":48,\"./utils/object\":49,\"./utils/random\":50,\"./utils/transport\":51,\"./utils/url\":52,\"./version\":53,\"debug\":55,\"inherits\":57,\"json3\":58,\"url-parse\":61}],15:[function(require,module,exports){\n/* eslint-disable */\n/* jscs: disable */\n'use strict';\n\n// pulled specific shims from https://github.com/es-shims/es5-shim\n\nvar ArrayPrototype = Array.prototype;\nvar ObjectPrototype = Object.prototype;\nvar FunctionPrototype = Function.prototype;\nvar StringPrototype = String.prototype;\nvar array_slice = ArrayPrototype.slice;\n\nvar _toString = ObjectPrototype.toString;\nvar isFunction = function (val) {\n return ObjectPrototype.toString.call(val) === '[object Function]';\n};\nvar isArray = function isArray(obj) {\n return _toString.call(obj) === '[object Array]';\n};\nvar isString = function isString(obj) {\n return _toString.call(obj) === '[object String]';\n};\n\nvar supportsDescriptors = Object.defineProperty && (function () {\n try {\n Object.defineProperty({}, 'x', {});\n return true;\n } catch (e) { /* this is ES3 */\n return false;\n }\n}());\n\n// Define configurable, writable and non-enumerable props\n// if they don't exist.\nvar defineProperty;\nif (supportsDescriptors) {\n defineProperty = function (object, name, method, forceAssign) {\n if (!forceAssign && (name in object)) { return; }\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: method\n });\n };\n} else {\n defineProperty = function (object, name, method, forceAssign) {\n if (!forceAssign && (name in object)) { return; }\n object[name] = method;\n };\n}\nvar defineProperties = function (object, map, forceAssign) {\n for (var name in map) {\n if (ObjectPrototype.hasOwnProperty.call(map, name)) {\n defineProperty(object, name, map[name], forceAssign);\n }\n }\n};\n\nvar toObject = function (o) {\n if (o == null) { // this matches both null and undefined\n throw new TypeError(\"can't convert \" + o + ' to object');\n }\n return Object(o);\n};\n\n//\n// Util\n// ======\n//\n\n// ES5 9.4\n// http://es5.github.com/#x9.4\n// http://jsperf.com/to-integer\n\nfunction toInteger(num) {\n var n = +num;\n if (n !== n) { // isNaN\n n = 0;\n } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) {\n n = (n > 0 || -1) * Math.floor(Math.abs(n));\n }\n return n;\n}\n\nfunction ToUint32(x) {\n return x >>> 0;\n}\n\n//\n// Function\n// ========\n//\n\n// ES-5 15.3.4.5\n// http://es5.github.com/#x15.3.4.5\n\nfunction Empty() {}\n\ndefineProperties(FunctionPrototype, {\n bind: function bind(that) { // .length is 1\n // 1. Let Target be the this value.\n var target = this;\n // 2. If IsCallable(Target) is false, throw a TypeError exception.\n if (!isFunction(target)) {\n throw new TypeError('Function.prototype.bind called on incompatible ' + target);\n }\n // 3. Let A be a new (possibly empty) internal list of all of the\n // argument values provided after thisArg (arg1, arg2 etc), in order.\n // XXX slicedArgs will stand in for \"A\" if used\n var args = array_slice.call(arguments, 1); // for normal call\n // 4. Let F be a new native ECMAScript object.\n // 11. Set the [[Prototype]] internal property of F to the standard\n // built-in Function prototype object as specified in 15.3.3.1.\n // 12. Set the [[Call]] internal property of F as described in\n // 15.3.4.5.1.\n // 13. Set the [[Construct]] internal property of F as described in\n // 15.3.4.5.2.\n // 14. Set the [[HasInstance]] internal property of F as described in\n // 15.3.4.5.3.\n var binder = function () {\n\n if (this instanceof bound) {\n // 15.3.4.5.2 [[Construct]]\n // When the [[Construct]] internal method of a function object,\n // F that was created using the bind function is called with a\n // list of arguments ExtraArgs, the following steps are taken:\n // 1. Let target be the value of F's [[TargetFunction]]\n // internal property.\n // 2. If target has no [[Construct]] internal method, a\n // TypeError exception is thrown.\n // 3. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Construct]] internal\n // method of target providing args as the arguments.\n\n var result = target.apply(\n this,\n args.concat(array_slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n\n } else {\n // 15.3.4.5.1 [[Call]]\n // When the [[Call]] internal method of a function object, F,\n // which was created using the bind function is called with a\n // this value and a list of arguments ExtraArgs, the following\n // steps are taken:\n // 1. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 2. Let boundThis be the value of F's [[BoundThis]] internal\n // property.\n // 3. Let target be the value of F's [[TargetFunction]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Call]] internal method\n // of target providing boundThis as the this value and\n // providing args as the arguments.\n\n // equiv: target.call(this, ...boundArgs, ...args)\n return target.apply(\n that,\n args.concat(array_slice.call(arguments))\n );\n\n }\n\n };\n\n // 15. If the [[Class]] internal property of Target is \"Function\", then\n // a. Let L be the length property of Target minus the length of A.\n // b. Set the length own property of F to either 0 or L, whichever is\n // larger.\n // 16. Else set the length own property of F to 0.\n\n var boundLength = Math.max(0, target.length - args.length);\n\n // 17. Set the attributes of the length own property of F to the values\n // specified in 15.3.5.1.\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n // XXX Build a dynamic function with desired amount of arguments is the only\n // way to set the length property of a function.\n // In environments where Content Security Policies enabled (Chrome extensions,\n // for ex.) all use of eval or Function costructor throws an exception.\n // However in all of these environments Function.prototype.bind exists\n // and so this code will never be executed.\n var bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this, arguments); }')(binder);\n\n if (target.prototype) {\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n // Clean up dangling references.\n Empty.prototype = null;\n }\n\n // TODO\n // 18. Set the [[Extensible]] internal property of F to true.\n\n // TODO\n // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3).\n // 20. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"caller\", PropertyDescriptor {[[Get]]: thrower, [[Set]]:\n // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and\n // false.\n // 21. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"arguments\", PropertyDescriptor {[[Get]]: thrower,\n // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false},\n // and false.\n\n // TODO\n // NOTE Function objects created using Function.prototype.bind do not\n // have a prototype property or the [[Code]], [[FormalParameters]], and\n // [[Scope]] internal properties.\n // XXX can't delete prototype in pure-js.\n\n // 22. Return F.\n return bound;\n }\n});\n\n//\n// Array\n// =====\n//\n\n// ES5 15.4.3.2\n// http://es5.github.com/#x15.4.3.2\n// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray\ndefineProperties(Array, { isArray: isArray });\n\n\nvar boxedString = Object('a');\nvar splitString = boxedString[0] !== 'a' || !(0 in boxedString);\n\nvar properlyBoxesContext = function properlyBoxed(method) {\n // Check node 0.6.21 bug where third parameter is not boxed\n var properlyBoxesNonStrict = true;\n var properlyBoxesStrict = true;\n if (method) {\n method.call('foo', function (_, __, context) {\n if (typeof context !== 'object') { properlyBoxesNonStrict = false; }\n });\n\n method.call([1], function () {\n 'use strict';\n properlyBoxesStrict = typeof this === 'string';\n }, 'x');\n }\n return !!method && properlyBoxesNonStrict && properlyBoxesStrict;\n};\n\ndefineProperties(ArrayPrototype, {\n forEach: function forEach(fun /*, thisp*/) {\n var object = toObject(this),\n self = splitString && isString(this) ? this.split('') : object,\n thisp = arguments[1],\n i = -1,\n length = self.length >>> 0;\n\n // If no callback function or if callback is not a callable function\n if (!isFunction(fun)) {\n throw new TypeError(); // TODO message\n }\n\n while (++i < length) {\n if (i in self) {\n // Invoke the callback function with call, passing arguments:\n // context, property value, property key, thisArg object\n // context\n fun.call(thisp, self[i], i, object);\n }\n }\n }\n}, !properlyBoxesContext(ArrayPrototype.forEach));\n\n// ES5 15.4.4.14\n// http://es5.github.com/#x15.4.4.14\n// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf\nvar hasFirefox2IndexOfBug = Array.prototype.indexOf && [0, 1].indexOf(1, 2) !== -1;\ndefineProperties(ArrayPrototype, {\n indexOf: function indexOf(sought /*, fromIndex */ ) {\n var self = splitString && isString(this) ? this.split('') : toObject(this),\n length = self.length >>> 0;\n\n if (!length) {\n return -1;\n }\n\n var i = 0;\n if (arguments.length > 1) {\n i = toInteger(arguments[1]);\n }\n\n // handle negative indices\n i = i >= 0 ? i : Math.max(0, length + i);\n for (; i < length; i++) {\n if (i in self && self[i] === sought) {\n return i;\n }\n }\n return -1;\n }\n}, hasFirefox2IndexOfBug);\n\n//\n// String\n// ======\n//\n\n// ES5 15.5.4.14\n// http://es5.github.com/#x15.5.4.14\n\n// [bugfix, IE lt 9, firefox 4, Konqueror, Opera, obscure browsers]\n// Many browsers do not split properly with regular expressions or they\n// do not perform the split correctly under obscure conditions.\n// See http://blog.stevenlevithan.com/archives/cross-browser-split\n// I've tested in many browsers and this seems to cover the deviant ones:\n// 'ab'.split(/(?:ab)*/) should be [\"\", \"\"], not [\"\"]\n// '.'.split(/(.?)(.?)/) should be [\"\", \".\", \"\", \"\"], not [\"\", \"\"]\n// 'tesst'.split(/(s)*/) should be [\"t\", undefined, \"e\", \"s\", \"t\"], not\n// [undefined, \"t\", undefined, \"e\", ...]\n// ''.split(/.?/) should be [], not [\"\"]\n// '.'.split(/()()/) should be [\".\"], not [\"\", \"\", \".\"]\n\nvar string_split = StringPrototype.split;\nif (\n 'ab'.split(/(?:ab)*/).length !== 2 ||\n '.'.split(/(.?)(.?)/).length !== 4 ||\n 'tesst'.split(/(s)*/)[1] === 't' ||\n 'test'.split(/(?:)/, -1).length !== 4 ||\n ''.split(/.?/).length ||\n '.'.split(/()()/).length > 1\n) {\n (function () {\n var compliantExecNpcg = /()??/.exec('')[1] === void 0; // NPCG: nonparticipating capturing group\n\n StringPrototype.split = function (separator, limit) {\n var string = this;\n if (separator === void 0 && limit === 0) {\n return [];\n }\n\n // If `separator` is not a regex, use native split\n if (_toString.call(separator) !== '[object RegExp]') {\n return string_split.call(this, separator, limit);\n }\n\n var output = [],\n flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.extended ? 'x' : '') + // Proposed for ES6\n (separator.sticky ? 'y' : ''), // Firefox 3+\n lastLastIndex = 0,\n // Make `global` and avoid `lastIndex` issues by working with a copy\n separator2, match, lastIndex, lastLength;\n separator = new RegExp(separator.source, flags + 'g');\n string += ''; // Type-convert\n if (!compliantExecNpcg) {\n // Doesn't need flags gy, but they don't hurt\n separator2 = new RegExp('^' + separator.source + '$(?!\\\\s)', flags);\n }\n /* Values for `limit`, per the spec:\n * If undefined: 4294967295 // Math.pow(2, 32) - 1\n * If 0, Infinity, or NaN: 0\n * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296;\n * If negative number: 4294967296 - Math.floor(Math.abs(limit))\n * If other: Type-convert, then use the above rules\n */\n limit = limit === void 0 ?\n -1 >>> 0 : // Math.pow(2, 32) - 1\n ToUint32(limit);\n while (match = separator.exec(string)) {\n // `separator.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0].length;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for\n // nonparticipating capturing groups\n if (!compliantExecNpcg && match.length > 1) {\n match[0].replace(separator2, function () {\n for (var i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === void 0) {\n match[i] = void 0;\n }\n }\n });\n }\n if (match.length > 1 && match.index < string.length) {\n ArrayPrototype.push.apply(output, match.slice(1));\n }\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= limit) {\n break;\n }\n }\n if (separator.lastIndex === match.index) {\n separator.lastIndex++; // Avoid an infinite loop\n }\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separator.test('')) {\n output.push('');\n }\n } else {\n output.push(string.slice(lastLastIndex));\n }\n return output.length > limit ? output.slice(0, limit) : output;\n };\n }());\n\n// [bugfix, chrome]\n// If separator is undefined, then the result array contains just one String,\n// which is the this value (converted to a String). If limit is not undefined,\n// then the output array is truncated so that it contains no more than limit\n// elements.\n// \"0\".split(undefined, 0) -> []\n} else if ('0'.split(void 0, 0).length) {\n StringPrototype.split = function split(separator, limit) {\n if (separator === void 0 && limit === 0) { return []; }\n return string_split.call(this, separator, limit);\n };\n}\n\n// ECMA-262, 3rd B.2.3\n// Not an ECMAScript standard, although ECMAScript 3rd Edition has a\n// non-normative section suggesting uniform semantics and it should be\n// normalized across all browsers\n// [bugfix, IE lt 9] IE < 9 substr() with negative value not working in IE\nvar string_substr = StringPrototype.substr;\nvar hasNegativeSubstrBug = ''.substr && '0b'.substr(-1) !== 'b';\ndefineProperties(StringPrototype, {\n substr: function substr(start, length) {\n return string_substr.call(\n this,\n start < 0 ? ((start = this.length + start) < 0 ? 0 : start) : start,\n length\n );\n }\n}, hasNegativeSubstrBug);\n\n},{}],16:[function(require,module,exports){\n'use strict';\n\nmodule.exports = [\n // streaming transports\n require('./transport/websocket')\n, require('./transport/xhr-streaming')\n, require('./transport/xdr-streaming')\n, require('./transport/eventsource')\n, require('./transport/lib/iframe-wrap')(require('./transport/eventsource'))\n\n // polling transports\n, require('./transport/htmlfile')\n, require('./transport/lib/iframe-wrap')(require('./transport/htmlfile'))\n, require('./transport/xhr-polling')\n, require('./transport/xdr-polling')\n, require('./transport/lib/iframe-wrap')(require('./transport/xhr-polling'))\n, require('./transport/jsonp-polling')\n];\n\n},{\"./transport/eventsource\":20,\"./transport/htmlfile\":21,\"./transport/jsonp-polling\":23,\"./transport/lib/iframe-wrap\":26,\"./transport/websocket\":38,\"./transport/xdr-polling\":39,\"./transport/xdr-streaming\":40,\"./transport/xhr-polling\":41,\"./transport/xhr-streaming\":42}],17:[function(require,module,exports){\n(function (process,global){\n'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n , utils = require('../../utils/event')\n , urlUtils = require('../../utils/url')\n , XHR = global.XMLHttpRequest\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:browser:xhr');\n}\n\nfunction AbstractXHRObject(method, url, payload, opts) {\n debug(method, url);\n var self = this;\n EventEmitter.call(this);\n\n setTimeout(function () {\n self._start(method, url, payload, opts);\n }, 0);\n}\n\ninherits(AbstractXHRObject, EventEmitter);\n\nAbstractXHRObject.prototype._start = function(method, url, payload, opts) {\n var self = this;\n\n try {\n this.xhr = new XHR();\n } catch (x) {\n // intentionally empty\n }\n\n if (!this.xhr) {\n debug('no xhr');\n this.emit('finish', 0, 'no xhr support');\n this._cleanup();\n return;\n }\n\n // several browsers cache POSTs\n url = urlUtils.addQuery(url, 't=' + (+new Date()));\n\n // Explorer tends to keep connection open, even after the\n // tab gets closed: http://bugs.jquery.com/ticket/5280\n this.unloadRef = utils.unloadAdd(function() {\n debug('unload cleanup');\n self._cleanup(true);\n });\n try {\n this.xhr.open(method, url, true);\n if (this.timeout && 'timeout' in this.xhr) {\n this.xhr.timeout = this.timeout;\n this.xhr.ontimeout = function() {\n debug('xhr timeout');\n self.emit('finish', 0, '');\n self._cleanup(false);\n };\n }\n } catch (e) {\n debug('exception', e);\n // IE raises an exception on wrong port.\n this.emit('finish', 0, '');\n this._cleanup(false);\n return;\n }\n\n if ((!opts || !opts.noCredentials) && AbstractXHRObject.supportsCORS) {\n debug('withCredentials');\n // Mozilla docs says https://developer.mozilla.org/en/XMLHttpRequest :\n // \"This never affects same-site requests.\"\n\n this.xhr.withCredentials = true;\n }\n if (opts && opts.headers) {\n for (var key in opts.headers) {\n this.xhr.setRequestHeader(key, opts.headers[key]);\n }\n }\n\n this.xhr.onreadystatechange = function() {\n if (self.xhr) {\n var x = self.xhr;\n var text, status;\n debug('readyState', x.readyState);\n switch (x.readyState) {\n case 3:\n // IE doesn't like peeking into responseText or status\n // on Microsoft.XMLHTTP and readystate=3\n try {\n status = x.status;\n text = x.responseText;\n } catch (e) {\n // intentionally empty\n }\n debug('status', status);\n // IE returns 1223 for 204: http://bugs.jquery.com/ticket/1450\n if (status === 1223) {\n status = 204;\n }\n\n // IE does return readystate == 3 for 404 answers.\n if (status === 200 && text && text.length > 0) {\n debug('chunk');\n self.emit('chunk', status, text);\n }\n break;\n case 4:\n status = x.status;\n debug('status', status);\n // IE returns 1223 for 204: http://bugs.jquery.com/ticket/1450\n if (status === 1223) {\n status = 204;\n }\n // IE returns this for a bad port\n // http://msdn.microsoft.com/en-us/library/windows/desktop/aa383770(v=vs.85).aspx\n if (status === 12005 || status === 12029) {\n status = 0;\n }\n\n debug('finish', status, x.responseText);\n self.emit('finish', status, x.responseText);\n self._cleanup(false);\n break;\n }\n }\n };\n\n try {\n self.xhr.send(payload);\n } catch (e) {\n self.emit('finish', 0, '');\n self._cleanup(false);\n }\n};\n\nAbstractXHRObject.prototype._cleanup = function(abort) {\n debug('cleanup');\n if (!this.xhr) {\n return;\n }\n this.removeAllListeners();\n utils.unloadDel(this.unloadRef);\n\n // IE needs this field to be a function\n this.xhr.onreadystatechange = function() {};\n if (this.xhr.ontimeout) {\n this.xhr.ontimeout = null;\n }\n\n if (abort) {\n try {\n this.xhr.abort();\n } catch (x) {\n // intentionally empty\n }\n }\n this.unloadRef = this.xhr = null;\n};\n\nAbstractXHRObject.prototype.close = function() {\n debug('close');\n this._cleanup(true);\n};\n\nAbstractXHRObject.enabled = !!XHR;\n// override XMLHttpRequest for IE6/7\n// obfuscate to avoid firewalls\nvar axo = ['Active'].concat('Object').join('X');\nif (!AbstractXHRObject.enabled && (axo in global)) {\n debug('overriding xmlhttprequest');\n XHR = function() {\n try {\n return new global[axo]('Microsoft.XMLHTTP');\n } catch (e) {\n return null;\n }\n };\n AbstractXHRObject.enabled = !!new XHR();\n}\n\nvar cors = false;\ntry {\n cors = 'withCredentials' in new XHR();\n} catch (ignored) {\n // intentionally empty\n}\n\nAbstractXHRObject.supportsCORS = cors;\n\nmodule.exports = AbstractXHRObject;\n\n}).call(this,{ env: {} },typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"../../utils/event\":46,\"../../utils/url\":52,\"debug\":55,\"events\":3,\"inherits\":57}],18:[function(require,module,exports){\n(function (global){\nmodule.exports = global.EventSource;\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{}],19:[function(require,module,exports){\n(function (global){\n'use strict';\n\nvar Driver = global.WebSocket || global.MozWebSocket;\nif (Driver) {\n\tmodule.exports = function WebSocketBrowserDriver(url) {\n\t\treturn new Driver(url);\n\t};\n} else {\n\tmodule.exports = undefined;\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{}],20:[function(require,module,exports){\n'use strict';\n\nvar inherits = require('inherits')\n , AjaxBasedTransport = require('./lib/ajax-based')\n , EventSourceReceiver = require('./receiver/eventsource')\n , XHRCorsObject = require('./sender/xhr-cors')\n , EventSourceDriver = require('eventsource')\n ;\n\nfunction EventSourceTransport(transUrl) {\n if (!EventSourceTransport.enabled()) {\n throw new Error('Transport created when disabled');\n }\n\n AjaxBasedTransport.call(this, transUrl, '/eventsource', EventSourceReceiver, XHRCorsObject);\n}\n\ninherits(EventSourceTransport, AjaxBasedTransport);\n\nEventSourceTransport.enabled = function() {\n return !!EventSourceDriver;\n};\n\nEventSourceTransport.transportName = 'eventsource';\nEventSourceTransport.roundTrips = 2;\n\nmodule.exports = EventSourceTransport;\n\n},{\"./lib/ajax-based\":24,\"./receiver/eventsource\":29,\"./sender/xhr-cors\":35,\"eventsource\":18,\"inherits\":57}],21:[function(require,module,exports){\n'use strict';\n\nvar inherits = require('inherits')\n , HtmlfileReceiver = require('./receiver/htmlfile')\n , XHRLocalObject = require('./sender/xhr-local')\n , AjaxBasedTransport = require('./lib/ajax-based')\n ;\n\nfunction HtmlFileTransport(transUrl) {\n if (!HtmlfileReceiver.enabled) {\n throw new Error('Transport created when disabled');\n }\n AjaxBasedTransport.call(this, transUrl, '/htmlfile', HtmlfileReceiver, XHRLocalObject);\n}\n\ninherits(HtmlFileTransport, AjaxBasedTransport);\n\nHtmlFileTransport.enabled = function(info) {\n return HtmlfileReceiver.enabled && info.sameOrigin;\n};\n\nHtmlFileTransport.transportName = 'htmlfile';\nHtmlFileTransport.roundTrips = 2;\n\nmodule.exports = HtmlFileTransport;\n\n},{\"./lib/ajax-based\":24,\"./receiver/htmlfile\":30,\"./sender/xhr-local\":37,\"inherits\":57}],22:[function(require,module,exports){\n(function (process){\n'use strict';\n\n// Few cool transports do work only for same-origin. In order to make\n// them work cross-domain we shall use iframe, served from the\n// remote domain. New browsers have capabilities to communicate with\n// cross domain iframe using postMessage(). In IE it was implemented\n// from IE 8+, but of course, IE got some details wrong:\n// http://msdn.microsoft.com/en-us/library/cc197015(v=VS.85).aspx\n// http://stevesouders.com/misc/test-postmessage.php\n\nvar inherits = require('inherits')\n , JSON3 = require('json3')\n , EventEmitter = require('events').EventEmitter\n , version = require('../version')\n , urlUtils = require('../utils/url')\n , iframeUtils = require('../utils/iframe')\n , eventUtils = require('../utils/event')\n , random = require('../utils/random')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:transport:iframe');\n}\n\nfunction IframeTransport(transport, transUrl, baseUrl) {\n if (!IframeTransport.enabled()) {\n throw new Error('Transport created when disabled');\n }\n EventEmitter.call(this);\n\n var self = this;\n this.origin = urlUtils.getOrigin(baseUrl);\n this.baseUrl = baseUrl;\n this.transUrl = transUrl;\n this.transport = transport;\n this.windowId = random.string(8);\n\n var iframeUrl = urlUtils.addPath(baseUrl, '/iframe.html') + '#' + this.windowId;\n debug(transport, transUrl, iframeUrl);\n\n this.iframeObj = iframeUtils.createIframe(iframeUrl, function(r) {\n debug('err callback');\n self.emit('close', 1006, 'Unable to load an iframe (' + r + ')');\n self.close();\n });\n\n this.onmessageCallback = this._message.bind(this);\n eventUtils.attachEvent('message', this.onmessageCallback);\n}\n\ninherits(IframeTransport, EventEmitter);\n\nIframeTransport.prototype.close = function() {\n debug('close');\n this.removeAllListeners();\n if (this.iframeObj) {\n eventUtils.detachEvent('message', this.onmessageCallback);\n try {\n // When the iframe is not loaded, IE raises an exception\n // on 'contentWindow'.\n this.postMessage('c');\n } catch (x) {\n // intentionally empty\n }\n this.iframeObj.cleanup();\n this.iframeObj = null;\n this.onmessageCallback = this.iframeObj = null;\n }\n};\n\nIframeTransport.prototype._message = function(e) {\n debug('message', e.data);\n if (!urlUtils.isOriginEqual(e.origin, this.origin)) {\n debug('not same origin', e.origin, this.origin);\n return;\n }\n\n var iframeMessage;\n try {\n iframeMessage = JSON3.parse(e.data);\n } catch (ignored) {\n debug('bad json', e.data);\n return;\n }\n\n if (iframeMessage.windowId !== this.windowId) {\n debug('mismatched window id', iframeMessage.windowId, this.windowId);\n return;\n }\n\n switch (iframeMessage.type) {\n case 's':\n this.iframeObj.loaded();\n // window global dependency\n this.postMessage('s', JSON3.stringify([\n version\n , this.transport\n , this.transUrl\n , this.baseUrl\n ]));\n break;\n case 't':\n this.emit('message', iframeMessage.data);\n break;\n case 'c':\n var cdata;\n try {\n cdata = JSON3.parse(iframeMessage.data);\n } catch (ignored) {\n debug('bad json', iframeMessage.data);\n return;\n }\n this.emit('close', cdata[0], cdata[1]);\n this.close();\n break;\n }\n};\n\nIframeTransport.prototype.postMessage = function(type, data) {\n debug('postMessage', type, data);\n this.iframeObj.post(JSON3.stringify({\n windowId: this.windowId\n , type: type\n , data: data || ''\n }), this.origin);\n};\n\nIframeTransport.prototype.send = function(message) {\n debug('send', message);\n this.postMessage('m', message);\n};\n\nIframeTransport.enabled = function() {\n return iframeUtils.iframeEnabled;\n};\n\nIframeTransport.transportName = 'iframe';\nIframeTransport.roundTrips = 2;\n\nmodule.exports = IframeTransport;\n\n}).call(this,{ env: {} })\n\n},{\"../utils/event\":46,\"../utils/iframe\":47,\"../utils/random\":50,\"../utils/url\":52,\"../version\":53,\"debug\":55,\"events\":3,\"inherits\":57,\"json3\":58}],23:[function(require,module,exports){\n(function (global){\n'use strict';\n\n// The simplest and most robust transport, using the well-know cross\n// domain hack - JSONP. This transport is quite inefficient - one\n// message could use up to one http request. But at least it works almost\n// everywhere.\n// Known limitations:\n// o you will get a spinning cursor\n// o for Konqueror a dumb timer is needed to detect errors\n\nvar inherits = require('inherits')\n , SenderReceiver = require('./lib/sender-receiver')\n , JsonpReceiver = require('./receiver/jsonp')\n , jsonpSender = require('./sender/jsonp')\n ;\n\nfunction JsonPTransport(transUrl) {\n if (!JsonPTransport.enabled()) {\n throw new Error('Transport created when disabled');\n }\n SenderReceiver.call(this, transUrl, '/jsonp', jsonpSender, JsonpReceiver);\n}\n\ninherits(JsonPTransport, SenderReceiver);\n\nJsonPTransport.enabled = function() {\n return !!global.document;\n};\n\nJsonPTransport.transportName = 'jsonp-polling';\nJsonPTransport.roundTrips = 1;\nJsonPTransport.needBody = true;\n\nmodule.exports = JsonPTransport;\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./lib/sender-receiver\":28,\"./receiver/jsonp\":31,\"./sender/jsonp\":33,\"inherits\":57}],24:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar inherits = require('inherits')\n , urlUtils = require('../../utils/url')\n , SenderReceiver = require('./sender-receiver')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:ajax-based');\n}\n\nfunction createAjaxSender(AjaxObject) {\n return function(url, payload, callback) {\n debug('create ajax sender', url, payload);\n var opt = {};\n if (typeof payload === 'string') {\n opt.headers = {'Content-type': 'text/plain'};\n }\n var ajaxUrl = urlUtils.addPath(url, '/xhr_send');\n var xo = new AjaxObject('POST', ajaxUrl, payload, opt);\n xo.once('finish', function(status) {\n debug('finish', status);\n xo = null;\n\n if (status !== 200 && status !== 204) {\n return callback(new Error('http status ' + status));\n }\n callback();\n });\n return function() {\n debug('abort');\n xo.close();\n xo = null;\n\n var err = new Error('Aborted');\n err.code = 1000;\n callback(err);\n };\n };\n}\n\nfunction AjaxBasedTransport(transUrl, urlSuffix, Receiver, AjaxObject) {\n SenderReceiver.call(this, transUrl, urlSuffix, createAjaxSender(AjaxObject), Receiver, AjaxObject);\n}\n\ninherits(AjaxBasedTransport, SenderReceiver);\n\nmodule.exports = AjaxBasedTransport;\n\n}).call(this,{ env: {} })\n\n},{\"../../utils/url\":52,\"./sender-receiver\":28,\"debug\":55,\"inherits\":57}],25:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:buffered-sender');\n}\n\nfunction BufferedSender(url, sender) {\n debug(url);\n EventEmitter.call(this);\n this.sendBuffer = [];\n this.sender = sender;\n this.url = url;\n}\n\ninherits(BufferedSender, EventEmitter);\n\nBufferedSender.prototype.send = function(message) {\n debug('send', message);\n this.sendBuffer.push(message);\n if (!this.sendStop) {\n this.sendSchedule();\n }\n};\n\n// For polling transports in a situation when in the message callback,\n// new message is being send. If the sending connection was started\n// before receiving one, it is possible to saturate the network and\n// timeout due to the lack of receiving socket. To avoid that we delay\n// sending messages by some small time, in order to let receiving\n// connection be started beforehand. This is only a halfmeasure and\n// does not fix the big problem, but it does make the tests go more\n// stable on slow networks.\nBufferedSender.prototype.sendScheduleWait = function() {\n debug('sendScheduleWait');\n var self = this;\n var tref;\n this.sendStop = function() {\n debug('sendStop');\n self.sendStop = null;\n clearTimeout(tref);\n };\n tref = setTimeout(function() {\n debug('timeout');\n self.sendStop = null;\n self.sendSchedule();\n }, 25);\n};\n\nBufferedSender.prototype.sendSchedule = function() {\n debug('sendSchedule', this.sendBuffer.length);\n var self = this;\n if (this.sendBuffer.length > 0) {\n var payload = '[' + this.sendBuffer.join(',') + ']';\n this.sendStop = this.sender(this.url, payload, function(err) {\n self.sendStop = null;\n if (err) {\n debug('error', err);\n self.emit('close', err.code || 1006, 'Sending error: ' + err);\n self.close();\n } else {\n self.sendScheduleWait();\n }\n });\n this.sendBuffer = [];\n }\n};\n\nBufferedSender.prototype._cleanup = function() {\n debug('_cleanup');\n this.removeAllListeners();\n};\n\nBufferedSender.prototype.close = function() {\n debug('close');\n this._cleanup();\n if (this.sendStop) {\n this.sendStop();\n this.sendStop = null;\n }\n};\n\nmodule.exports = BufferedSender;\n\n}).call(this,{ env: {} })\n\n},{\"debug\":55,\"events\":3,\"inherits\":57}],26:[function(require,module,exports){\n(function (global){\n'use strict';\n\nvar inherits = require('inherits')\n , IframeTransport = require('../iframe')\n , objectUtils = require('../../utils/object')\n ;\n\nmodule.exports = function(transport) {\n\n function IframeWrapTransport(transUrl, baseUrl) {\n IframeTransport.call(this, transport.transportName, transUrl, baseUrl);\n }\n\n inherits(IframeWrapTransport, IframeTransport);\n\n IframeWrapTransport.enabled = function(url, info) {\n if (!global.document) {\n return false;\n }\n\n var iframeInfo = objectUtils.extend({}, info);\n iframeInfo.sameOrigin = true;\n return transport.enabled(iframeInfo) && IframeTransport.enabled();\n };\n\n IframeWrapTransport.transportName = 'iframe-' + transport.transportName;\n IframeWrapTransport.needBody = true;\n IframeWrapTransport.roundTrips = IframeTransport.roundTrips + transport.roundTrips - 1; // html, javascript (2) + transport - no CORS (1)\n\n IframeWrapTransport.facadeTransport = transport;\n\n return IframeWrapTransport;\n};\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"../../utils/object\":49,\"../iframe\":22,\"inherits\":57}],27:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:polling');\n}\n\nfunction Polling(Receiver, receiveUrl, AjaxObject) {\n debug(receiveUrl);\n EventEmitter.call(this);\n this.Receiver = Receiver;\n this.receiveUrl = receiveUrl;\n this.AjaxObject = AjaxObject;\n this._scheduleReceiver();\n}\n\ninherits(Polling, EventEmitter);\n\nPolling.prototype._scheduleReceiver = function() {\n debug('_scheduleReceiver');\n var self = this;\n var poll = this.poll = new this.Receiver(this.receiveUrl, this.AjaxObject);\n\n poll.on('message', function(msg) {\n debug('message', msg);\n self.emit('message', msg);\n });\n\n poll.once('close', function(code, reason) {\n debug('close', code, reason, self.pollIsClosing);\n self.poll = poll = null;\n\n if (!self.pollIsClosing) {\n if (reason === 'network') {\n self._scheduleReceiver();\n } else {\n self.emit('close', code || 1006, reason);\n self.removeAllListeners();\n }\n }\n });\n};\n\nPolling.prototype.abort = function() {\n debug('abort');\n this.removeAllListeners();\n this.pollIsClosing = true;\n if (this.poll) {\n this.poll.abort();\n }\n};\n\nmodule.exports = Polling;\n\n}).call(this,{ env: {} })\n\n},{\"debug\":55,\"events\":3,\"inherits\":57}],28:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar inherits = require('inherits')\n , urlUtils = require('../../utils/url')\n , BufferedSender = require('./buffered-sender')\n , Polling = require('./polling')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:sender-receiver');\n}\n\nfunction SenderReceiver(transUrl, urlSuffix, senderFunc, Receiver, AjaxObject) {\n var pollUrl = urlUtils.addPath(transUrl, urlSuffix);\n debug(pollUrl);\n var self = this;\n BufferedSender.call(this, transUrl, senderFunc);\n\n this.poll = new Polling(Receiver, pollUrl, AjaxObject);\n this.poll.on('message', function(msg) {\n debug('poll message', msg);\n self.emit('message', msg);\n });\n this.poll.once('close', function(code, reason) {\n debug('poll close', code, reason);\n self.poll = null;\n self.emit('close', code, reason);\n self.close();\n });\n}\n\ninherits(SenderReceiver, BufferedSender);\n\nSenderReceiver.prototype.close = function() {\n BufferedSender.prototype.close.call(this);\n debug('close');\n this.removeAllListeners();\n if (this.poll) {\n this.poll.abort();\n this.poll = null;\n }\n};\n\nmodule.exports = SenderReceiver;\n\n}).call(this,{ env: {} })\n\n},{\"../../utils/url\":52,\"./buffered-sender\":25,\"./polling\":27,\"debug\":55,\"inherits\":57}],29:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n , EventSourceDriver = require('eventsource')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:receiver:eventsource');\n}\n\nfunction EventSourceReceiver(url) {\n debug(url);\n EventEmitter.call(this);\n\n var self = this;\n var es = this.es = new EventSourceDriver(url);\n es.onmessage = function(e) {\n debug('message', e.data);\n self.emit('message', decodeURI(e.data));\n };\n es.onerror = function(e) {\n debug('error', es.readyState, e);\n // ES on reconnection has readyState = 0 or 1.\n // on network error it's CLOSED = 2\n var reason = (es.readyState !== 2 ? 'network' : 'permanent');\n self._cleanup();\n self._close(reason);\n };\n}\n\ninherits(EventSourceReceiver, EventEmitter);\n\nEventSourceReceiver.prototype.abort = function() {\n debug('abort');\n this._cleanup();\n this._close('user');\n};\n\nEventSourceReceiver.prototype._cleanup = function() {\n debug('cleanup');\n var es = this.es;\n if (es) {\n es.onmessage = es.onerror = null;\n es.close();\n this.es = null;\n }\n};\n\nEventSourceReceiver.prototype._close = function(reason) {\n debug('close', reason);\n var self = this;\n // Safari and chrome < 15 crash if we close window before\n // waiting for ES cleanup. See:\n // https://code.google.com/p/chromium/issues/detail?id=89155\n setTimeout(function() {\n self.emit('close', null, reason);\n self.removeAllListeners();\n }, 200);\n};\n\nmodule.exports = EventSourceReceiver;\n\n}).call(this,{ env: {} })\n\n},{\"debug\":55,\"events\":3,\"eventsource\":18,\"inherits\":57}],30:[function(require,module,exports){\n(function (process,global){\n'use strict';\n\nvar inherits = require('inherits')\n , iframeUtils = require('../../utils/iframe')\n , urlUtils = require('../../utils/url')\n , EventEmitter = require('events').EventEmitter\n , random = require('../../utils/random')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:receiver:htmlfile');\n}\n\nfunction HtmlfileReceiver(url) {\n debug(url);\n EventEmitter.call(this);\n var self = this;\n iframeUtils.polluteGlobalNamespace();\n\n this.id = 'a' + random.string(6);\n url = urlUtils.addQuery(url, 'c=' + decodeURIComponent(iframeUtils.WPrefix + '.' + this.id));\n\n debug('using htmlfile', HtmlfileReceiver.htmlfileEnabled);\n var constructFunc = HtmlfileReceiver.htmlfileEnabled ?\n iframeUtils.createHtmlfile : iframeUtils.createIframe;\n\n global[iframeUtils.WPrefix][this.id] = {\n start: function() {\n debug('start');\n self.iframeObj.loaded();\n }\n , message: function(data) {\n debug('message', data);\n self.emit('message', data);\n }\n , stop: function() {\n debug('stop');\n self._cleanup();\n self._close('network');\n }\n };\n this.iframeObj = constructFunc(url, function() {\n debug('callback');\n self._cleanup();\n self._close('permanent');\n });\n}\n\ninherits(HtmlfileReceiver, EventEmitter);\n\nHtmlfileReceiver.prototype.abort = function() {\n debug('abort');\n this._cleanup();\n this._close('user');\n};\n\nHtmlfileReceiver.prototype._cleanup = function() {\n debug('_cleanup');\n if (this.iframeObj) {\n this.iframeObj.cleanup();\n this.iframeObj = null;\n }\n delete global[iframeUtils.WPrefix][this.id];\n};\n\nHtmlfileReceiver.prototype._close = function(reason) {\n debug('_close', reason);\n this.emit('close', null, reason);\n this.removeAllListeners();\n};\n\nHtmlfileReceiver.htmlfileEnabled = false;\n\n// obfuscate to avoid firewalls\nvar axo = ['Active'].concat('Object').join('X');\nif (axo in global) {\n try {\n HtmlfileReceiver.htmlfileEnabled = !!new global[axo]('htmlfile');\n } catch (x) {\n // intentionally empty\n }\n}\n\nHtmlfileReceiver.enabled = HtmlfileReceiver.htmlfileEnabled || iframeUtils.iframeEnabled;\n\nmodule.exports = HtmlfileReceiver;\n\n}).call(this,{ env: {} },typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"../../utils/iframe\":47,\"../../utils/random\":50,\"../../utils/url\":52,\"debug\":55,\"events\":3,\"inherits\":57}],31:[function(require,module,exports){\n(function (process,global){\n'use strict';\n\nvar utils = require('../../utils/iframe')\n , random = require('../../utils/random')\n , browser = require('../../utils/browser')\n , urlUtils = require('../../utils/url')\n , inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:receiver:jsonp');\n}\n\nfunction JsonpReceiver(url) {\n debug(url);\n var self = this;\n EventEmitter.call(this);\n\n utils.polluteGlobalNamespace();\n\n this.id = 'a' + random.string(6);\n var urlWithId = urlUtils.addQuery(url, 'c=' + encodeURIComponent(utils.WPrefix + '.' + this.id));\n\n global[utils.WPrefix][this.id] = this._callback.bind(this);\n this._createScript(urlWithId);\n\n // Fallback mostly for Konqueror - stupid timer, 35 seconds shall be plenty.\n this.timeoutId = setTimeout(function() {\n debug('timeout');\n self._abort(new Error('JSONP script loaded abnormally (timeout)'));\n }, JsonpReceiver.timeout);\n}\n\ninherits(JsonpReceiver, EventEmitter);\n\nJsonpReceiver.prototype.abort = function() {\n debug('abort');\n if (global[utils.WPrefix][this.id]) {\n var err = new Error('JSONP user aborted read');\n err.code = 1000;\n this._abort(err);\n }\n};\n\nJsonpReceiver.timeout = 35000;\nJsonpReceiver.scriptErrorTimeout = 1000;\n\nJsonpReceiver.prototype._callback = function(data) {\n debug('_callback', data);\n this._cleanup();\n\n if (this.aborting) {\n return;\n }\n\n if (data) {\n debug('message', data);\n this.emit('message', data);\n }\n this.emit('close', null, 'network');\n this.removeAllListeners();\n};\n\nJsonpReceiver.prototype._abort = function(err) {\n debug('_abort', err);\n this._cleanup();\n this.aborting = true;\n this.emit('close', err.code, err.message);\n this.removeAllListeners();\n};\n\nJsonpReceiver.prototype._cleanup = function() {\n debug('_cleanup');\n clearTimeout(this.timeoutId);\n if (this.script2) {\n this.script2.parentNode.removeChild(this.script2);\n this.script2 = null;\n }\n if (this.script) {\n var script = this.script;\n // Unfortunately, you can't really abort script loading of\n // the script.\n script.parentNode.removeChild(script);\n script.onreadystatechange = script.onerror =\n script.onload = script.onclick = null;\n this.script = null;\n }\n delete global[utils.WPrefix][this.id];\n};\n\nJsonpReceiver.prototype._scriptError = function() {\n debug('_scriptError');\n var self = this;\n if (this.errorTimer) {\n return;\n }\n\n this.errorTimer = setTimeout(function() {\n if (!self.loadedOkay) {\n self._abort(new Error('JSONP script loaded abnormally (onerror)'));\n }\n }, JsonpReceiver.scriptErrorTimeout);\n};\n\nJsonpReceiver.prototype._createScript = function(url) {\n debug('_createScript', url);\n var self = this;\n var script = this.script = global.document.createElement('script');\n var script2; // Opera synchronous load trick.\n\n script.id = 'a' + random.string(8);\n script.src = url;\n script.type = 'text/javascript';\n script.charset = 'UTF-8';\n script.onerror = this._scriptError.bind(this);\n script.onload = function() {\n debug('onload');\n self._abort(new Error('JSONP script loaded abnormally (onload)'));\n };\n\n // IE9 fires 'error' event after onreadystatechange or before, in random order.\n // Use loadedOkay to determine if actually errored\n script.onreadystatechange = function() {\n debug('onreadystatechange', script.readyState);\n if (/loaded|closed/.test(script.readyState)) {\n if (script && script.htmlFor && script.onclick) {\n self.loadedOkay = true;\n try {\n // In IE, actually execute the script.\n script.onclick();\n } catch (x) {\n // intentionally empty\n }\n }\n if (script) {\n self._abort(new Error('JSONP script loaded abnormally (onreadystatechange)'));\n }\n }\n };\n // IE: event/htmlFor/onclick trick.\n // One can't rely on proper order for onreadystatechange. In order to\n // make sure, set a 'htmlFor' and 'event' properties, so that\n // script code will be installed as 'onclick' handler for the\n // script object. Later, onreadystatechange, manually execute this\n // code. FF and Chrome doesn't work with 'event' and 'htmlFor'\n // set. For reference see:\n // http://jaubourg.net/2010/07/loading-script-as-onclick-handler-of.html\n // Also, read on that about script ordering:\n // http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order\n if (typeof script.async === 'undefined' && global.document.attachEvent) {\n // According to mozilla docs, in recent browsers script.async defaults\n // to 'true', so we may use it to detect a good browser:\n // https://developer.mozilla.org/en/HTML/Element/script\n if (!browser.isOpera()) {\n // Naively assume we're in IE\n try {\n script.htmlFor = script.id;\n script.event = 'onclick';\n } catch (x) {\n // intentionally empty\n }\n script.async = true;\n } else {\n // Opera, second sync script hack\n script2 = this.script2 = global.document.createElement('script');\n script2.text = \"try{var a = document.getElementById('\" + script.id + \"'); if(a)a.onerror();}catch(x){};\";\n script.async = script2.async = false;\n }\n }\n if (typeof script.async !== 'undefined') {\n script.async = true;\n }\n\n var head = global.document.getElementsByTagName('head')[0];\n head.insertBefore(script, head.firstChild);\n if (script2) {\n head.insertBefore(script2, head.firstChild);\n }\n};\n\nmodule.exports = JsonpReceiver;\n\n}).call(this,{ env: {} },typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"../../utils/browser\":44,\"../../utils/iframe\":47,\"../../utils/random\":50,\"../../utils/url\":52,\"debug\":55,\"events\":3,\"inherits\":57}],32:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:receiver:xhr');\n}\n\nfunction XhrReceiver(url, AjaxObject) {\n debug(url);\n EventEmitter.call(this);\n var self = this;\n\n this.bufferPosition = 0;\n\n this.xo = new AjaxObject('POST', url, null);\n this.xo.on('chunk', this._chunkHandler.bind(this));\n this.xo.once('finish', function(status, text) {\n debug('finish', status, text);\n self._chunkHandler(status, text);\n self.xo = null;\n var reason = status === 200 ? 'network' : 'permanent';\n debug('close', reason);\n self.emit('close', null, reason);\n self._cleanup();\n });\n}\n\ninherits(XhrReceiver, EventEmitter);\n\nXhrReceiver.prototype._chunkHandler = function(status, text) {\n debug('_chunkHandler', status);\n if (status !== 200 || !text) {\n return;\n }\n\n for (var idx = -1; ; this.bufferPosition += idx + 1) {\n var buf = text.slice(this.bufferPosition);\n idx = buf.indexOf('\\n');\n if (idx === -1) {\n break;\n }\n var msg = buf.slice(0, idx);\n if (msg) {\n debug('message', msg);\n this.emit('message', msg);\n }\n }\n};\n\nXhrReceiver.prototype._cleanup = function() {\n debug('_cleanup');\n this.removeAllListeners();\n};\n\nXhrReceiver.prototype.abort = function() {\n debug('abort');\n if (this.xo) {\n this.xo.close();\n debug('close');\n this.emit('close', null, 'user');\n this.xo = null;\n }\n this._cleanup();\n};\n\nmodule.exports = XhrReceiver;\n\n}).call(this,{ env: {} })\n\n},{\"debug\":55,\"events\":3,\"inherits\":57}],33:[function(require,module,exports){\n(function (process,global){\n'use strict';\n\nvar random = require('../../utils/random')\n , urlUtils = require('../../utils/url')\n ;\n\nvar debug = function() {};\nif (process.env.NODE_ENV !== 'production') {\n debug = require('debug')('sockjs-client:sender:jsonp');\n}\n\nvar form, area;\n\nfunction createIframe(id) {\n debug('createIframe', id);\n try {\n // ie6 dynamic iframes with target=\"\" support (thanks Chris Lambacher)\n return global.document.createElement('