diff --git a/dist/vis.js b/dist/vis.js index 1fe38484..0140175d 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 4.0.0-SNAPSHOT - * @date 2015-04-24 + * @date 2015-04-28 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -3212,7 +3212,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(65); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); var util = __webpack_require__(1); @@ -6377,13 +6377,13 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(65); var Hammer = __webpack_require__(41); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); var Range = __webpack_require__(17); - var Core = __webpack_require__(43); + var Core = __webpack_require__(42); var TimeAxis = __webpack_require__(35); var CurrentTime = __webpack_require__(26); var CustomTime = __webpack_require__(27); @@ -6769,13 +6769,13 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(65); var Hammer = __webpack_require__(41); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); var Range = __webpack_require__(17); - var Core = __webpack_require__(43); + var Core = __webpack_require__(42); var TimeAxis = __webpack_require__(35); var CurrentTime = __webpack_require__(26); var CustomTime = __webpack_require__(27); @@ -7797,7 +7797,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; var util = __webpack_require__(1); - var hammerUtil = __webpack_require__(44); + var hammerUtil = __webpack_require__(43); var moment = __webpack_require__(40); var Component = __webpack_require__(25); var DateUtil = __webpack_require__(15); @@ -10539,7 +10539,7 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var Component = __webpack_require__(25); var moment = __webpack_require__(40); - var locales = __webpack_require__(45); + var locales = __webpack_require__(44); /** * A current time bar @@ -10716,7 +10716,7 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var Component = __webpack_require__(25); var moment = __webpack_require__(40); - var locales = __webpack_require__(45); + var locales = __webpack_require__(44); /** * A custom time bar @@ -11535,9 +11535,9 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var DOMutil = __webpack_require__(2); - var Line = __webpack_require__(46); - var Bar = __webpack_require__(47); - var Points = __webpack_require__(48); + var Line = __webpack_require__(45); + var Bar = __webpack_require__(46); + var Points = __webpack_require__(47); /** * /** @@ -14186,7 +14186,7 @@ return /******/ (function(modules) { // webpackBootstrap var DataAxis = __webpack_require__(28); var GraphGroup = __webpack_require__(29); var Legend = __webpack_require__(33); - var BarGraphFunctions = __webpack_require__(47); + var BarGraphFunctions = __webpack_require__(46); var UNGROUPED = '__ungrouped__'; // reserved group id for ungrouped items @@ -15597,70 +15597,70 @@ return /******/ (function(modules) { // webpackBootstrap var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; - var _Groups = __webpack_require__(49); + var _Groups = __webpack_require__(48); var _Groups2 = _interopRequireWildcard(_Groups); - var _NodesHandler = __webpack_require__(50); + var _NodesHandler = __webpack_require__(49); var _NodesHandler2 = _interopRequireWildcard(_NodesHandler); - var _EdgesHandler = __webpack_require__(51); + var _EdgesHandler = __webpack_require__(50); var _EdgesHandler2 = _interopRequireWildcard(_EdgesHandler); - var _PhysicsEngine = __webpack_require__(52); + var _PhysicsEngine = __webpack_require__(51); var _PhysicsEngine2 = _interopRequireWildcard(_PhysicsEngine); - var _ClusterEngine = __webpack_require__(53); + var _ClusterEngine = __webpack_require__(52); var _ClusterEngine2 = _interopRequireWildcard(_ClusterEngine); - var _CanvasRenderer = __webpack_require__(54); + var _CanvasRenderer = __webpack_require__(53); var _CanvasRenderer2 = _interopRequireWildcard(_CanvasRenderer); - var _Canvas = __webpack_require__(55); + var _Canvas = __webpack_require__(54); var _Canvas2 = _interopRequireWildcard(_Canvas); - var _View = __webpack_require__(56); + var _View = __webpack_require__(55); var _View2 = _interopRequireWildcard(_View); - var _InteractionHandler = __webpack_require__(57); + var _InteractionHandler = __webpack_require__(56); var _InteractionHandler2 = _interopRequireWildcard(_InteractionHandler); - var _SelectionHandler = __webpack_require__(58); + var _SelectionHandler = __webpack_require__(57); var _SelectionHandler2 = _interopRequireWildcard(_SelectionHandler); - var _LayoutEngine = __webpack_require__(59); + var _LayoutEngine = __webpack_require__(58); var _LayoutEngine2 = _interopRequireWildcard(_LayoutEngine); - var _ManipulationSystem = __webpack_require__(60); + var _ManipulationSystem = __webpack_require__(59); var _ManipulationSystem2 = _interopRequireWildcard(_ManipulationSystem); - var _ConfigurationSystem = __webpack_require__(61); + var _ConfigurationSystem = __webpack_require__(60); var _ConfigurationSystem2 = _interopRequireWildcard(_ConfigurationSystem); - var _Validator = __webpack_require__(62); + var _Validator = __webpack_require__(61); var _Validator2 = _interopRequireWildcard(_Validator); - var _allOptions = __webpack_require__(63); + var _allOptions = __webpack_require__(62); var _allOptions2 = _interopRequireWildcard(_allOptions); // Load custom shapes into CanvasRenderingContext2D - __webpack_require__(64); + __webpack_require__(63); - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(65); var Hammer = __webpack_require__(41); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); @@ -15668,7 +15668,7 @@ return /******/ (function(modules) { // webpackBootstrap var dotparser = __webpack_require__(38); var gephiParser = __webpack_require__(39); var Images = __webpack_require__(37); - var Activator = __webpack_require__(65); + var Activator = __webpack_require__(64); /** * @constructor Network @@ -15992,6 +15992,127 @@ return /******/ (function(modules) { // webpackBootstrap return !this.activator || this.activator.active; }; + Network.prototype.setSize = function () { + this.canvas.setSize.apply(this.canvas, arguments); + }; + Network.prototype.canvasToDOM = function () { + this.canvas.canvasToDOM.apply(this.canvas, arguments); + }; + Network.prototype.DOMtoCanvas = function () { + this.canvas.setSize.DOMtoCanvas(this.canvas, arguments); + }; + Network.prototype.findNode = function () { + this.clustering.findNode.apply(this.clustering, arguments); + }; + Network.prototype.isCluster = function () { + this.clustering.isCluster.apply(this.clustering, arguments); + }; + Network.prototype.openCluster = function () { + this.clustering.openCluster.apply(this.clustering, arguments); + }; + Network.prototype.cluster = function () { + this.clustering.cluster.apply(this.clustering, arguments); + }; + Network.prototype.clusterByConnection = function () { + this.clustering.clusterByConnection.apply(this.clustering, arguments); + }; + Network.prototype.clusterByHubsize = function () { + this.clustering.clusterByHubsize.apply(this.clustering, arguments); + }; + Network.prototype.clusterOutliers = function () { + this.clustering.clusterOutliers.apply(this.clustering, arguments); + }; + Network.prototype.getSeed = function () { + this.layoutEngine.getSeed.apply(this.layoutEngine, arguments); + }; + Network.prototype.enableEditMode = function () { + this.manipulation.enableEditMode.apply(this.manipulation, arguments); + }; + Network.prototype.disableEditMode = function () { + this.manipulation.disableEditMode.apply(this.manipulation, arguments); + }; + Network.prototype.addNodeMode = function () { + this.manipulation.addNodeMode.apply(this.manipulation, arguments); + }; + Network.prototype.editNodeMode = function () { + this.manipulation.editNodeMode.apply(this.manipulation, arguments); + }; + Network.prototype.addEdgeMode = function () { + this.manipulation.addEdgeMode.apply(this.manipulation, arguments); + }; + Network.prototype.editEdgeMode = function () { + this.manipulation.editEdgeMode.apply(this.manipulation, arguments); + }; + Network.prototype.deleteSelected = function () { + this.manipulation.deleteSelected.apply(this.manipulation, arguments); + }; + Network.prototype.getPositions = function () { + this.nodesHandler.getPositions.apply(this.nodesHandler, arguments); + }; + Network.prototype.storePositions = function () { + this.nodesHandler.storePositions.apply(this.nodesHandler, arguments); + }; + Network.prototype.getBoundingBox = function () { + this.nodesHandler.getBoundingBox.apply(this.nodesHandler, arguments); + }; + Network.prototype.getConnectedNodes = function () { + this.nodesHandler.getConnectedNodes.apply(this.nodesHandler, arguments); + }; + Network.prototype.getEdges = function () { + this.nodesHandler.getEdges.apply(this.nodesHandler, arguments); + }; + Network.prototype.startSimulation = function () { + this.physics.startSimulation.apply(this.physics, arguments); + }; + Network.prototype.stopSimulation = function () { + this.physics.stopSimulation.apply(this.physics, arguments); + }; + Network.prototype.stabilize = function () { + this.physics.stabilize.apply(this.physics, arguments); + }; + Network.prototype.getSelection = function () { + this.selectionHandler.getSelection.apply(this.selectionHandler, arguments); + }; + Network.prototype.getSelectedNodes = function () { + this.selectionHandler.getSelectedNodes.apply(this.selectionHandler, arguments); + }; + Network.prototype.getSelectedEdges = function () { + this.selectionHandler.getSelectedEdges.apply(this.selectionHandler, arguments); + }; + Network.prototype.getNodeAt = function () { + this.selectionHandler.getNodeAt.apply(this.selectionHandler, arguments); + }; + Network.prototype.getEdgeAt = function () { + this.selectionHandler.getEdgeAt.apply(this.selectionHandler, arguments); + }; + Network.prototype.selectNodes = function () { + this.selectionHandler.selectNodes.apply(this.selectionHandler, arguments); + }; + Network.prototype.selectEdges = function () { + this.selectionHandler.selectEdges.apply(this.selectionHandler, arguments); + }; + Network.prototype.unselectAll = function () { + this.selectionHandler.unselectAll.apply(this.selectionHandler, arguments); + }; + Network.prototype.getScale = function () { + this.view.getScale.apply(this.view, arguments); + }; + Network.prototype.getPosition = function () { + this.view.getPosition.apply(this.view, arguments); + }; + Network.prototype.fit = function () { + this.view.fit.apply(this.view, arguments); + }; + Network.prototype.moveTo = function () { + this.view.moveTo.apply(this.view, arguments); + }; + Network.prototype.focusOnNode = function () { + this.view.focusOnNode.apply(this.view, arguments); + }; + Network.prototype.releaseNode = function () { + this.view.releaseNode.apply(this.view, arguments); + }; + module.exports = Network; /***/ }, @@ -16988,188 +17109,18 @@ return /******/ (function(modules) { // webpackBootstrap /* 42 */ /***/ function(module, exports, __webpack_require__) { - - /** - * Expose `Emitter`. - */ - - module.exports = Emitter; - - /** - * Initialize a new `Emitter`. - * - * @api public - */ - - function Emitter(obj) { - if (obj) return mixin(obj); - }; - - /** - * Mixin the emitter properties. - * - * @param {Object} obj - * @return {Object} - * @api private - */ - - function mixin(obj) { - for (var key in Emitter.prototype) { - obj[key] = Emitter.prototype[key]; - } - return obj; - } - - /** - * Listen on the given `event` with `fn`. - * - * @param {String} event - * @param {Function} fn - * @return {Emitter} - * @api public - */ - - Emitter.prototype.on = - Emitter.prototype.addEventListener = function(event, fn){ - this._callbacks = this._callbacks || {}; - (this._callbacks[event] = this._callbacks[event] || []) - .push(fn); - return this; - }; - - /** - * Adds an `event` listener that will be invoked a single - * time then automatically removed. - * - * @param {String} event - * @param {Function} fn - * @return {Emitter} - * @api public - */ - - Emitter.prototype.once = function(event, fn){ - var self = this; - this._callbacks = this._callbacks || {}; - - function on() { - self.off(event, on); - fn.apply(this, arguments); - } - - on.fn = fn; - this.on(event, on); - return this; - }; - - /** - * Remove the given callback for `event` or all - * registered callbacks. - * - * @param {String} event - * @param {Function} fn - * @return {Emitter} - * @api public - */ - - Emitter.prototype.off = - Emitter.prototype.removeListener = - Emitter.prototype.removeAllListeners = - Emitter.prototype.removeEventListener = function(event, fn){ - this._callbacks = this._callbacks || {}; - - // all - if (0 == arguments.length) { - this._callbacks = {}; - return this; - } - - // specific event - var callbacks = this._callbacks[event]; - if (!callbacks) return this; - - // remove all handlers - if (1 == arguments.length) { - delete this._callbacks[event]; - return this; - } - - // remove specific handler - var cb; - for (var i = 0; i < callbacks.length; i++) { - cb = callbacks[i]; - if (cb === fn || cb.fn === fn) { - callbacks.splice(i, 1); - break; - } - } - return this; - }; - - /** - * Emit `event` with the given args. - * - * @param {String} event - * @param {Mixed} ... - * @return {Emitter} - */ - - Emitter.prototype.emit = function(event){ - this._callbacks = this._callbacks || {}; - var args = [].slice.call(arguments, 1) - , callbacks = this._callbacks[event]; - - if (callbacks) { - callbacks = callbacks.slice(0); - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(this, args); - } - } - - return this; - }; - - /** - * Return array of callbacks for `event`. - * - * @param {String} event - * @return {Array} - * @api public - */ - - Emitter.prototype.listeners = function(event){ - this._callbacks = this._callbacks || {}; - return this._callbacks[event] || []; - }; - - /** - * Check if this emitter has `event` handlers. - * - * @param {String} event - * @return {Boolean} - * @api public - */ - - Emitter.prototype.hasListeners = function(event){ - return !! this.listeners(event).length; - }; - - -/***/ }, -/* 43 */ -/***/ function(module, exports, __webpack_require__) { - 'use strict'; - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(65); var Hammer = __webpack_require__(41); - var hammerUtil = __webpack_require__(44); + var hammerUtil = __webpack_require__(43); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); var Range = __webpack_require__(17); var ItemSet = __webpack_require__(32); var TimeAxis = __webpack_require__(35); - var Activator = __webpack_require__(65); + var Activator = __webpack_require__(64); var DateUtil = __webpack_require__(15); var CustomTime = __webpack_require__(27); @@ -18172,7 +18123,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Core; /***/ }, -/* 44 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18244,7 +18195,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.offRelease = exports.offTouch; /***/ }, -/* 45 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { // English @@ -18266,13 +18217,13 @@ return /******/ (function(modules) { // webpackBootstrap exports.nl_BE = exports.nl; /***/ }, -/* 46 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var DOMutil = __webpack_require__(2); - var Points = __webpack_require__(48); + var Points = __webpack_require__(47); function Line(groupId, options) { this.groupId = groupId; @@ -18476,13 +18427,13 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Line; /***/ }, -/* 47 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var DOMutil = __webpack_require__(2); - var Points = __webpack_require__(48); + var Points = __webpack_require__(47); function Bargraph(groupId, options) { this.groupId = groupId; @@ -18713,7 +18664,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Bargraph; /***/ }, -/* 48 */ +/* 47 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18760,7 +18711,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Points; /***/ }, -/* 49 */ +/* 48 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -18901,7 +18852,7 @@ return /******/ (function(modules) { // webpackBootstrap // 20:bright red /***/ }, -/* 50 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19360,7 +19311,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 51 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19769,7 +19720,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 52 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -20329,7 +20280,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 53 */ +/* 52 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -20981,7 +20932,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 54 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -21295,7 +21246,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 55 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -21308,7 +21259,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); var Hammer = __webpack_require__(41); - var hammerUtil = __webpack_require__(44); + var hammerUtil = __webpack_require__(43); var util = __webpack_require__(1); @@ -21630,7 +21581,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 56 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -22031,7 +21982,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 57 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -22743,7 +22694,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 58 */ +/* 57 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -23427,7 +23378,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 59 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -23919,7 +23870,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 60 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -23934,7 +23885,7 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var Hammer = __webpack_require__(41); - var hammerUtil = __webpack_require__(44); + var hammerUtil = __webpack_require__(43); var locales = __webpack_require__(81); /** @@ -25108,7 +25059,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 61 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -25904,7 +25855,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 62 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -26175,7 +26126,7 @@ return /******/ (function(modules) { // webpackBootstrap // item is a function, which is allowed /***/ }, -/* 63 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -26475,7 +26426,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 64 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { /** @@ -26759,13 +26710,13 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 65 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var keycharm = __webpack_require__(83); - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(65); var Hammer = __webpack_require__(41); var util = __webpack_require__(1); @@ -26911,6 +26862,176 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Activator; +/***/ }, +/* 65 */ +/***/ function(module, exports, __webpack_require__) { + + + /** + * Expose `Emitter`. + */ + + module.exports = Emitter; + + /** + * Initialize a new `Emitter`. + * + * @api public + */ + + function Emitter(obj) { + if (obj) return mixin(obj); + }; + + /** + * Mixin the emitter properties. + * + * @param {Object} obj + * @return {Object} + * @api private + */ + + function mixin(obj) { + for (var key in Emitter.prototype) { + obj[key] = Emitter.prototype[key]; + } + return obj; + } + + /** + * Listen on the given `event` with `fn`. + * + * @param {String} event + * @param {Function} fn + * @return {Emitter} + * @api public + */ + + Emitter.prototype.on = + Emitter.prototype.addEventListener = function(event, fn){ + this._callbacks = this._callbacks || {}; + (this._callbacks[event] = this._callbacks[event] || []) + .push(fn); + return this; + }; + + /** + * Adds an `event` listener that will be invoked a single + * time then automatically removed. + * + * @param {String} event + * @param {Function} fn + * @return {Emitter} + * @api public + */ + + Emitter.prototype.once = function(event, fn){ + var self = this; + this._callbacks = this._callbacks || {}; + + function on() { + self.off(event, on); + fn.apply(this, arguments); + } + + on.fn = fn; + this.on(event, on); + return this; + }; + + /** + * Remove the given callback for `event` or all + * registered callbacks. + * + * @param {String} event + * @param {Function} fn + * @return {Emitter} + * @api public + */ + + Emitter.prototype.off = + Emitter.prototype.removeListener = + Emitter.prototype.removeAllListeners = + Emitter.prototype.removeEventListener = function(event, fn){ + this._callbacks = this._callbacks || {}; + + // all + if (0 == arguments.length) { + this._callbacks = {}; + return this; + } + + // specific event + var callbacks = this._callbacks[event]; + if (!callbacks) return this; + + // remove all handlers + if (1 == arguments.length) { + delete this._callbacks[event]; + return this; + } + + // remove specific handler + var cb; + for (var i = 0; i < callbacks.length; i++) { + cb = callbacks[i]; + if (cb === fn || cb.fn === fn) { + callbacks.splice(i, 1); + break; + } + } + return this; + }; + + /** + * Emit `event` with the given args. + * + * @param {String} event + * @param {Mixed} ... + * @return {Emitter} + */ + + Emitter.prototype.emit = function(event){ + this._callbacks = this._callbacks || {}; + var args = [].slice.call(arguments, 1) + , callbacks = this._callbacks[event]; + + if (callbacks) { + callbacks = callbacks.slice(0); + for (var i = 0, len = callbacks.length; i < len; ++i) { + callbacks[i].apply(this, args); + } + } + + return this; + }; + + /** + * Return array of callbacks for `event`. + * + * @param {String} event + * @return {Array} + * @api public + */ + + Emitter.prototype.listeners = function(event){ + this._callbacks = this._callbacks || {}; + return this._callbacks[event] || []; + }; + + /** + * Check if this emitter has `event` handlers. + * + * @param {String} event + * @return {Boolean} + * @api public + */ + + Emitter.prototype.hasListeners = function(event){ + return !! this.listeners(event).length; + }; + + /***/ }, /* 66 */ /***/ function(module, exports, __webpack_require__) { @@ -29998,7 +30119,7 @@ return /******/ (function(modules) { // webpackBootstrap return _moment; })); - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(85)(module))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(102)(module))) /***/ }, /* 67 */ @@ -32684,7 +32805,7 @@ return /******/ (function(modules) { // webpackBootstrap prefixed: prefixed }); - if ("function" == TYPE_FUNCTION && __webpack_require__(86)) { + if ("function" == TYPE_FUNCTION && __webpack_require__(103)) { !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { return Hammer; }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -32717,63 +32838,63 @@ return /******/ (function(modules) { // webpackBootstrap var _Label2 = _interopRequireWildcard(_Label); - var _Box = __webpack_require__(87); + var _Box = __webpack_require__(85); var _Box2 = _interopRequireWildcard(_Box); - var _Circle = __webpack_require__(88); + var _Circle = __webpack_require__(86); var _Circle2 = _interopRequireWildcard(_Circle); - var _CircularImage = __webpack_require__(89); + var _CircularImage = __webpack_require__(87); var _CircularImage2 = _interopRequireWildcard(_CircularImage); - var _Database = __webpack_require__(90); + var _Database = __webpack_require__(88); var _Database2 = _interopRequireWildcard(_Database); - var _Diamond = __webpack_require__(91); + var _Diamond = __webpack_require__(89); var _Diamond2 = _interopRequireWildcard(_Diamond); - var _Dot = __webpack_require__(92); + var _Dot = __webpack_require__(90); var _Dot2 = _interopRequireWildcard(_Dot); - var _Ellipse = __webpack_require__(93); + var _Ellipse = __webpack_require__(91); var _Ellipse2 = _interopRequireWildcard(_Ellipse); - var _Icon = __webpack_require__(94); + var _Icon = __webpack_require__(92); var _Icon2 = _interopRequireWildcard(_Icon); - var _Image = __webpack_require__(95); + var _Image = __webpack_require__(93); var _Image2 = _interopRequireWildcard(_Image); - var _Square = __webpack_require__(96); + var _Square = __webpack_require__(94); var _Square2 = _interopRequireWildcard(_Square); - var _Star = __webpack_require__(97); + var _Star = __webpack_require__(95); var _Star2 = _interopRequireWildcard(_Star); - var _Text = __webpack_require__(98); + var _Text = __webpack_require__(96); var _Text2 = _interopRequireWildcard(_Text); - var _Triangle = __webpack_require__(99); + var _Triangle = __webpack_require__(97); var _Triangle2 = _interopRequireWildcard(_Triangle); - var _TriangleDown = __webpack_require__(100); + var _TriangleDown = __webpack_require__(98); var _TriangleDown2 = _interopRequireWildcard(_TriangleDown); - var _Validator = __webpack_require__(62); + var _Validator = __webpack_require__(61); var _Validator2 = _interopRequireWildcard(_Validator); @@ -33503,15 +33624,15 @@ return /******/ (function(modules) { // webpackBootstrap var _Label2 = _interopRequireWildcard(_Label); - var _BezierEdgeDynamic = __webpack_require__(101); + var _BezierEdgeDynamic = __webpack_require__(99); var _BezierEdgeDynamic2 = _interopRequireWildcard(_BezierEdgeDynamic); - var _BezierEdgeStatic = __webpack_require__(102); + var _BezierEdgeStatic = __webpack_require__(100); var _BezierEdgeStatic2 = _interopRequireWildcard(_BezierEdgeStatic); - var _StraightEdge = __webpack_require__(103); + var _StraightEdge = __webpack_require__(101); var _StraightEdge2 = _interopRequireWildcard(_StraightEdge); @@ -35032,7 +35153,7 @@ return /******/ (function(modules) { // webpackBootstrap }); var util = __webpack_require__(1); var Hammer = __webpack_require__(41); - var hammerUtil = __webpack_require__(44); + var hammerUtil = __webpack_require__(43); var keycharm = __webpack_require__(83); var NavigationHandler = (function () { @@ -35468,7 +35589,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); var Hammer = __webpack_require__(41); - var hammerUtil = __webpack_require__(44); + var hammerUtil = __webpack_require__(43); var util = __webpack_require__(1); var ColorPicker = (function () { @@ -36246,30 +36367,6 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 85 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = function(module) { - if(!module.webpackPolyfill) { - module.deprecate = function() {}; - module.paths = []; - // module.parent = undefined by default - module.children = []; - module.webpackPolyfill = 1; - } - return module; - } - - -/***/ }, -/* 86 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {module.exports = __webpack_amd_options__; - - /* WEBPACK VAR INJECTION */}.call(exports, {})) - -/***/ }, -/* 87 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36288,7 +36385,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _NodeBase2 = __webpack_require__(104); + var _NodeBase2 = __webpack_require__(105); var _NodeBase3 = _interopRequireWildcard(_NodeBase2); @@ -36367,7 +36464,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 88 */ +/* 86 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36386,7 +36483,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _CircleImageBase2 = __webpack_require__(105); + var _CircleImageBase2 = __webpack_require__(104); var _CircleImageBase3 = _interopRequireWildcard(_CircleImageBase2); @@ -36449,7 +36546,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 89 */ +/* 87 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36468,7 +36565,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _CircleImageBase2 = __webpack_require__(105); + var _CircleImageBase2 = __webpack_require__(104); var _CircleImageBase3 = _interopRequireWildcard(_CircleImageBase2); @@ -36550,7 +36647,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 90 */ +/* 88 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36569,7 +36666,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _NodeBase2 = __webpack_require__(104); + var _NodeBase2 = __webpack_require__(105); var _NodeBase3 = _interopRequireWildcard(_NodeBase2); @@ -36648,7 +36745,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 91 */ +/* 89 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36706,7 +36803,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 92 */ +/* 90 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36764,7 +36861,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 93 */ +/* 91 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36783,7 +36880,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _NodeBase2 = __webpack_require__(104); + var _NodeBase2 = __webpack_require__(105); var _NodeBase3 = _interopRequireWildcard(_NodeBase2); @@ -36865,7 +36962,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 94 */ +/* 92 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36884,7 +36981,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _NodeBase2 = __webpack_require__(104); + var _NodeBase2 = __webpack_require__(105); var _NodeBase3 = _interopRequireWildcard(_NodeBase2); @@ -36973,7 +37070,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 95 */ +/* 93 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36992,7 +37089,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _CircleImageBase2 = __webpack_require__(105); + var _CircleImageBase2 = __webpack_require__(104); var _CircleImageBase3 = _interopRequireWildcard(_CircleImageBase2); @@ -37051,7 +37148,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 96 */ +/* 94 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37110,7 +37207,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 97 */ +/* 95 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37168,7 +37265,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 98 */ +/* 96 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37187,7 +37284,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _NodeBase2 = __webpack_require__(104); + var _NodeBase2 = __webpack_require__(105); var _NodeBase3 = _interopRequireWildcard(_NodeBase2); @@ -37246,7 +37343,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 99 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37304,7 +37401,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 100 */ +/* 98 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37362,7 +37459,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 101 */ +/* 99 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37518,7 +37615,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 102 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37782,7 +37879,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 103 */ +/* 101 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37892,73 +37989,31 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 104 */ +/* 102 */ /***/ function(module, exports, __webpack_require__) { - 'use strict'; - - var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }; - - var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - - Object.defineProperty(exports, '__esModule', { - value: true - }); - - var NodeBase = (function () { - function NodeBase(options, body, labelModule) { - _classCallCheck(this, NodeBase); + module.exports = function(module) { + if(!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + module.children = []; + module.webpackPolyfill = 1; + } + return module; + } - this.body = body; - this.labelModule = labelModule; - this.setOptions(options); - this.top = undefined; - this.left = undefined; - this.height = undefined; - this.boundingBox = { top: 0, left: 0, right: 0, bottom: 0 }; - } - _createClass(NodeBase, [{ - key: 'setOptions', - value: function setOptions(options) { - this.options = options; - } - }, { - key: '_distanceToBorder', - value: function _distanceToBorder(angle) { - var borderWidth = 1; - return Math.min(Math.abs(this.width / 2 / Math.cos(angle)), Math.abs(this.height / 2 / Math.sin(angle))) + borderWidth; - } - }, { - key: 'enableShadow', - value: function enableShadow(ctx) { - if (this.options.shadow.enabled === true) { - ctx.shadowColor = 'rgba(0,0,0,0.5)'; - ctx.shadowBlur = this.options.shadow.size; - ctx.shadowOffsetX = this.options.shadow.x; - ctx.shadowOffsetY = this.options.shadow.y; - } - } - }, { - key: 'disableShadow', - value: function disableShadow(ctx) { - if (this.options.shadow.enabled === true) { - ctx.shadowColor = 'rgba(0,0,0,0)'; - ctx.shadowBlur = 0; - ctx.shadowOffsetX = 0; - ctx.shadowOffsetY = 0; - } - } - }]); +/***/ }, +/* 103 */ +/***/ function(module, exports, __webpack_require__) { - return NodeBase; - })(); + /* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {module.exports = __webpack_amd_options__; - exports['default'] = NodeBase; - module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, {})) /***/ }, -/* 105 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37977,7 +38032,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _NodeBase2 = __webpack_require__(104); + var _NodeBase2 = __webpack_require__(105); var _NodeBase3 = _interopRequireWildcard(_NodeBase2); @@ -38078,6 +38133,72 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = CircleImageBase; module.exports = exports['default']; +/***/ }, +/* 105 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }; + + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + + Object.defineProperty(exports, '__esModule', { + value: true + }); + + var NodeBase = (function () { + function NodeBase(options, body, labelModule) { + _classCallCheck(this, NodeBase); + + this.body = body; + this.labelModule = labelModule; + this.setOptions(options); + this.top = undefined; + this.left = undefined; + this.height = undefined; + this.boundingBox = { top: 0, left: 0, right: 0, bottom: 0 }; + } + + _createClass(NodeBase, [{ + key: 'setOptions', + value: function setOptions(options) { + this.options = options; + } + }, { + key: '_distanceToBorder', + value: function _distanceToBorder(angle) { + var borderWidth = 1; + return Math.min(Math.abs(this.width / 2 / Math.cos(angle)), Math.abs(this.height / 2 / Math.sin(angle))) + borderWidth; + } + }, { + key: 'enableShadow', + value: function enableShadow(ctx) { + if (this.options.shadow.enabled === true) { + ctx.shadowColor = 'rgba(0,0,0,0.5)'; + ctx.shadowBlur = this.options.shadow.size; + ctx.shadowOffsetX = this.options.shadow.x; + ctx.shadowOffsetY = this.options.shadow.y; + } + } + }, { + key: 'disableShadow', + value: function disableShadow(ctx) { + if (this.options.shadow.enabled === true) { + ctx.shadowColor = 'rgba(0,0,0,0)'; + ctx.shadowBlur = 0; + ctx.shadowOffsetX = 0; + ctx.shadowOffsetY = 0; + } + } + }]); + + return NodeBase; + })(); + + exports['default'] = NodeBase; + module.exports = exports['default']; + /***/ }, /* 106 */ /***/ function(module, exports, __webpack_require__) { @@ -38098,7 +38219,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _NodeBase2 = __webpack_require__(104); + var _NodeBase2 = __webpack_require__(105); var _NodeBase3 = _interopRequireWildcard(_NodeBase2); diff --git a/dist/vis.map b/dist/vis.map index bd18e93f..ab5e9524 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","Graph","Error","moment","hammer","Hammer","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","floor","random","toString","assignAllKeys","obj","prop","hasOwnProperty","fillIfDefined","parentObj","newObj","undefined","protoExtend","a","b","i","arguments","length","other","extend","selectiveExtend","props","Array","isArray","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","args","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","customTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","itemFromTarget","groupFromTarget","pageX","gesture","pageY","centerContainer","snap","time","snappedTime","what","foreground","labelSet","groupId","linegraph","getLegend","isGroupVisible","visibility","yAxisLeft","yAxisRight","legendLeft","legendRight","hidden","screenToValue","convertHiddenOptions","repeat","dateItem","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","_next","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","deltaX","deltaY","diffRange","safeStart","safeEnd","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","selected","displayed","dirty","select","unselect","groupChanged","_moveToGroup","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","_contentToString","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","outerHTML","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","warned","en","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","isFirst","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldSubGroupId","oldGroup","_constructByEndArray","itemProps","initialX","srcEvent","ctrlKey","_onDragStartAddItem","xAbs","newItem","initial","initialStart","initialEnd","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_this","clickToUse","nodes","nodeIndices","edges","edgeIndices","functions","createNode","createEdge","once","eventListeners","onTap","onTouch","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onMouseWheel","onPinch","onMouseMove","onRelease","onContext","view","bindEventListeners","images","_Groups2","_Canvas2","selectionHandler","_SelectionHandler2","interactionHandler","_InteractionHandler2","_View2","renderer","_CanvasRenderer2","physics","_PhysicsEngine2","layoutEngine","_LayoutEngine2","clustering","_ClusterEngine2","manipulation","_ManipulationSystem2","nodesHandler","_NodesHandler2","edgesHandler","_EdgesHandler2","configurationSystem","_ConfigurationSystem2","_interopRequireWildcard","__esModule","default","_Groups","_NodesHandler","_EdgesHandler","_PhysicsEngine","_ClusterEngine","_CanvasRenderer","_Canvas","_View","_InteractionHandler","_SelectionHandler","_LayoutEngine","_ManipulationSystem","_ConfigurationSystem","_Validator","_Validator2","Activator","errorFound","validate","error","layout","rendering","interaction","activator","_createKeyBinds","_updateVisibleIndices","nodeId","edgeId","_this2","updatePhysicsIndices","_updateValueRange","unselectAll","dotData","DOTToGraph","gephi","gephiData","parseGephi","valueTotal","setValueRange","isActive","active","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","src","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","node","graphs","attr","addEdge","edge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","graphData","dotNode","graphNode","image","shape","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","allowedToMove","gEdges","gNodes","gEdge","source","gNode","allowedToMoveX","allowedToMoveY","propagating","mixin","_callbacks","self","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","hammerUtil","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","properties","_redrawTimer","set","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","barId","addCustomTime","numIds","customBarId","ts","customBarIds","removeCustomTime","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","inputHandler","isTouching","isFinal","isReleasing","offTouch","offRelease","en_EN","en_US","nl","nl_NL","nl_BE","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","_classCallCheck","instance","Constructor","_createClass","defineProperties","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","Groups","defaultIndex","groupsArray","groupIndex","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_Node","_Node2","_Label","_Label2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","code","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","_properties","positionInitially","changedData","dataChanged","constants","constructorClass","dataArray","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","inherit","dashes","pattern","hoverWidth","selectionWidth","selfReferenceSize","smooth","dynamic","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","via","supportNodes","edgeType","colorDirty","_BarnesHutSolver","_BarnesHutSolver2","_Repulsion","_Repulsion2","_HierarchicalRepulsion","_HierarchicalRepulsion2","_SpringSolver","_SpringSolver2","_HierarchicalSpringSolver","_HierarchicalSpringSolver2","_CentralGravitySolver","_CentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","freezeCache","renderTimer","stabilized","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","solver","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","initPhysics","stopSimulation","startSimulation","init","nodesSolver","edgesSolver","gravitySolver","modelOptions","stabilize","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","startedStabilization","calculateForces","moveNodes","revert","nodeIds","vx","vy","nodesPresent","vminCorrected","nodeVelocity","_performStep","totalVelocity","solve","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","_Cluster","_Cluster2","ClusterEngine","clusteredNodes","hubsize","_getHubSize","tyepof","_checkOptions","nodesToCluster","clusterByConnection","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","_cloneOptions","_cluster","clusters","childNodeId","_getConnectedId","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","objId","amountOfConnections","newEdges","childNode","childKeys","otherNodeId","otherOnTo","clusterEdgeProperties","clusterId","processProperties","childNodesOptions","childEdgesOptions","_getClusterPosition","clusterNode","isCluster","containedNodes","containedEdges","_createClusterEdges","togglePhysics","minX","maxX","minY","maxY","lenght","clusterNodeId","containedNode","cleanup","clusterStack","findNode","fromArray","average","averageSquared","hubCounter","largestHub","letiance","standardDeviation","hubThreshold","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","pixelRatio","allowRedrawRequests","_requestRedraw","_startRendering","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_renderStep","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","w","save","translate","_drawEdges","_drawNodes","controlNodesActive","_drawControlNodes","restore","alwaysShow","isSelected","connected","browserType","Canvas","onresize","_prepareValue","tabIndex","_bindHammer","pinch","hammerFrame","emitEvent","oldWidth","oldHeight","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","releaseNode","specificNodes","zoomLevel","initialZoom","positionDefined","predefinedPosition","_getRange","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","_findCenter","animationOptions","animation","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","DOMtoCanvas","distanceFromCenter","_lockedRedraw","finished","_NavigationHandler","_NavigationHandler2","_Popup","_Popup2","InteractionHandler","navigationHandler","hoverObj","popup","popupObj","popupTimer","dragNodes","dragView","zoomView","hoverEnabled","navigationButtons","tooltipDelay","keyboard","speed","bindToWindow","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdges","selectedNodes","getNodeAt","selectObject","selectionObj","xFixed","yFixed","_handleDragStart","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","canvasToDOM","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","getEdgeAt","hoverObject","Node","Edge","blurObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","SelectionHandler","selectConnectedEdges","updateSelection","selectionChanged","deselectObject","eventType","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","clusterSize","_addToHover","_hoverConnectedEdges","getSelectedNodes","edgeIds","getSelectedEdges","idArray","RangeError","LayoutEngine","initialRandomSeed","randomSeed","optionsBackup","hierarchical","levelSeparation","sortMethod","hierarchicalLevels","setupHierarchicalLayout","allOptions","prevHierarchicalState","adaptAllOptions","nodesArray","isFixed","angle","seededRandom","definedLevel","undefinedLevel","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","positionedNodes","_placeBranchNodes","hubSize","_setLevel","minLevel","_setLevelDirected","parentId","parentLevel","childNodeLevel","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","functionality","editNode","editEdge","deleteNode","deleteEdge","handlerFunctions","controlNodeStyle","_clean","_restore","enableEditMode","disableEditMode","_setup","_bindHammerToDiv","toggleEditMode","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_temporaryBindEvent","_createBackButton","_createDescription","addDescription","_performAddNode","_getSelectedNode","finalizedData","alert","editClusterError","edgeDescription","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","editEdgeDescription","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","positions","findBorderPositions","_this3","deleteFunction","deleteClusterError","_createWrappers","_removeManipulationDOM","_createButton","edit","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","addNodeMode","addEdgeMode","editNodeMode","editEdgeMode","del","deleteSelected","back","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","createEdgeError","_performEditEdge","targetNode","connectionEdge","connectFromId","_performCreateEdge","clickData","_this4","defaultData","sourceNodeId","targetNodeId","_this5","_this6","_ColorPicker","_ColorPicker2","ConfigurationSystem","changedOptions","possibleOptions","actualOptions","configure","configureContainer","domElements","colorPicker","wrapper","config","optionObj","_makeItem","_makeHeader","_handleObject","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","base","newPath","_len","_key","div","objectLabel","selectedValue","_update","_makeLabel","input","oninput","checkbox","checked","defaultColor","_showColorPicker","bodyRect","pickerX","pickerY","setColor","setCallback","colorString","subObj","_addToPath","_getValue","_handleArray","_handleString","_makeCheckbox","enabledPath","enabledValue","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","_allOptions","_allOptions2","Validator","subObject","usedOptions","referenceOptions","check","__any__","getSuggestion","refOptionType","__type__","checkFields","optionType","referenceOption","recursive","print","printLocation","closestMatch","threshold","op","levenshteinDistance","str","matrix","CanvasRenderingContext2D","circle","square","s2","ir","triangleDown","star","n","diamond","roundRect","r2d","ellipse","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","database","wEllipse","hEllipse","ymb","yeb","arrow","xt","yt","xi","yi","xl","yl","xr","yr","dashedLine","x2","y2","patternLength","slope","distRemaining","patternIndex","dashLength","overlay","_onTapOverlay","bodyHammer","prevent_default","_hasParent","deactivate","keycharm","escListener","activate","unbind","global","utils_hooks__hooks","hookCallback","setHookCallback","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","res","hasOwnProp","create_utc__createUTC","createLocalOrUTC","utc","valid__isValid","_isValid","getTime","_pf","_strict","bigHour","valid__createInvalid","flags","NaN","copyConfig","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","updateInProgress","updateOffset","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","globalLocale","_abbr","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","number","targetLength","forceSign","output","addFormatToken","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","isValid","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecateSimple","deprecations","configFromISO","l","string","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","ms","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","local__createLocal","week","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","daysToAdd","getUTCDay","getSetDayOfYear","startOf","defaults","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","moment_calendar__calendar","sod","calendar","inputMs","endOf","isBetween","absFloor","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","postformat","withoutSuffix","humanize","fromNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","millisecond__milliseconds","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","bubble","daysToYears","yearsToDays","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","limit","withSuffix","iso_string__toISOString","Y","iso_string__abs","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","isoWeekYear","getSetDayOfMonth","invalidWeekday","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_get__milliseconds","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","_processing","propagatedHandler","_handled","stopped","firstTarget","_handlers","Manager","PropagatingHammer","_on","_off","_emit","_destroy","pointerType","handler","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","arg","each","iterator","dest","child","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","property","prefix","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","rotation","getRotation","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","getVelocity","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","mouse","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","dispatchEvent","TEST_ELEMENT","MOBILE_REGEX","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","getTouchAction","preventDefaults","prevented","hasNone","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","withState","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","_Box","_Box2","_Circle","_Circle2","_CircularImage","_CircularImage2","_Database","_Database2","_Diamond","_Diamond2","_Dot","_Dot2","_Ellipse","_Ellipse2","_Icon","_Icon2","_Image","_Image2","_Square","_Square2","_Star","_Star2","_Text","_Text2","_Triangle","_Triangle2","_TriangleDown","_TriangleDown2","imagelist","grouplist","globalOptions","baseSize","baseFontSize","labelModule","status","groupObj","imageObj","distanceToBorder","sizeDiff","fontDiff","resize","parentOptions","newOptions","parsedColor","_slicedToArray","Symbol","_arr","_n","_e","_s","err","Label","yLine","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fillRect","fontSize","_getColor","_getColor2","fontColor","_setAlignment","_setAlignment2","lineJoin","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","baseWidth","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","node1","node2","getPoint","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","BarnesHutSolver","barnesHutTree","thetaInversed","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","MAX_VALUE","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","gravity","_get","receiver","desc","getOwnPropertyDescriptor","getPrototypeOf","_inherits","subClass","superClass","__proto__","_Node3","Cluster","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","_stopMovement","configureKeyboardBindings","loadNavigationElements","cleanNavigation","_navigationReleaseOverload","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","boundAction","unbindFromRedraw","Popup","doShow","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","rgbObj","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","angleConvert","colorPickerSelector","colorPickerCanvas","putImageData","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","_moveSelector","sat","hfac","sfac","getImageData","newLeft","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","webpackContext","req","resolve","webpackPolyfill","paths","__webpack_amd_options__","_NodeBase2","_NodeBase3","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","enableShadow","disableShadow","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","_distanceToBorder","Database","networkScaleInv","_ShapeBase2","_ShapeBase3","Diamond","_ShapeBase","_resizeShape","_drawShape","Dot","Ellipse","Icon","_icon","iconTextSpacing","Square","Star","Text","Triangle","TriangleDown","_BezierEdgeBase2","_BezierEdgeBase3","BezierEdgeDynamic","_BezierEdgeBase","setupSupportNode","parentEdgeId","positionBezierNode","quadraticCurveTo","nearNode","_findBorderPositionBezier","x1","y1","x3","y3","_getDistanceToBezierEdge","BezierEdgeStatic","_getViaCoordinates","xVia","yVia","pi","originalAngle","myAngle","_EdgeBase2","_EdgeBase3","StraightEdge","_EdgeBase","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_getDistanceToLine","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","CircleImageBase","ratio","globalAlpha","drawImage","labelDimensions","ShapeBase","sizeMultiplier","BezierEdgeBase","distanceToPoint","difference","minDistance","lastX","lastY","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData","_getCircleData2","_circle","lineCap","setLineDash","altLength","lineDashOffset","_getCircleData3","_getCircleData32","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","_angle","_getCircleData7","_getCircleData72","_length","boolean","undef","configuration"],"mappings":"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Q,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UA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"} \ No newline at end of file +{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","Graph","Error","moment","hammer","Hammer","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","floor","random","toString","assignAllKeys","obj","prop","hasOwnProperty","fillIfDefined","parentObj","newObj","undefined","protoExtend","a","b","i","arguments","length","other","extend","selectiveExtend","props","Array","isArray","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","args","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","customTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","itemFromTarget","groupFromTarget","pageX","gesture","pageY","centerContainer","snap","time","snappedTime","what","foreground","labelSet","groupId","linegraph","getLegend","isGroupVisible","visibility","yAxisLeft","yAxisRight","legendLeft","legendRight","hidden","screenToValue","convertHiddenOptions","repeat","dateItem","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","_next","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","deltaX","deltaY","diffRange","safeStart","safeEnd","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","selected","displayed","dirty","select","unselect","groupChanged","_moveToGroup","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","_contentToString","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","outerHTML","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","warned","en","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","isFirst","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldSubGroupId","oldGroup","_constructByEndArray","itemProps","initialX","srcEvent","ctrlKey","_onDragStartAddItem","xAbs","newItem","initial","initialStart","initialEnd","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","pop","childNodes","nodeValue","_this","clickToUse","nodes","nodeIndices","edges","edgeIndices","functions","createNode","createEdge","once","eventListeners","onTap","onTouch","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onMouseWheel","onPinch","onMouseMove","onRelease","onContext","view","bindEventListeners","images","_Groups2","_Canvas2","selectionHandler","_SelectionHandler2","interactionHandler","_InteractionHandler2","_View2","renderer","_CanvasRenderer2","physics","_PhysicsEngine2","layoutEngine","_LayoutEngine2","clustering","_ClusterEngine2","manipulation","_ManipulationSystem2","nodesHandler","_NodesHandler2","edgesHandler","_EdgesHandler2","configurationSystem","_ConfigurationSystem2","_interopRequireWildcard","__esModule","default","_Groups","_NodesHandler","_EdgesHandler","_PhysicsEngine","_ClusterEngine","_CanvasRenderer","_Canvas","_View","_InteractionHandler","_SelectionHandler","_LayoutEngine","_ManipulationSystem","_ConfigurationSystem","_Validator","_Validator2","_allOptions","_allOptions2","Activator","errorFound","validate","printStyle","layout","rendering","interaction","activator","_createKeyBinds","_updateVisibleIndices","nodeId","edgeId","_this2","updatePhysicsIndices","_updateValueRange","unselectAll","dotData","DOTToGraph","gephi","gephiData","parseGephi","valueTotal","setValueRange","isActive","active","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","getBoundingBox","getConnectedNodes","getEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","selectNodes","selectEdges","getPosition","focusOnNode","releaseNode","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","src","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","node","graphs","attr","addEdge","edge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","graphData","dotNode","graphNode","image","shape","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","allowedToMove","gEdges","gNodes","gEdge","source","gNode","allowedToMoveX","allowedToMoveY","propagating","mixin","_callbacks","self","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","hammerUtil","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","properties","_redrawTimer","set","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","barId","addCustomTime","numIds","customBarId","ts","customBarIds","removeCustomTime","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","inputHandler","isTouching","isFinal","isReleasing","offTouch","offRelease","en_EN","en_US","nl","nl_NL","nl_BE","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","global","utils_hooks__hooks","hookCallback","setHookCallback","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","input","res","hasOwnProp","create_utc__createUTC","createLocalOrUTC","utc","valid__isValid","_isValid","getTime","_pf","_strict","bigHour","valid__createInvalid","flags","NaN","copyConfig","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","globalLocale","_abbr","code","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","number","targetLength","forceSign","output","addFormatToken","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","isValid","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecateSimple","deprecations","configFromISO","l","string","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","ms","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","local__createLocal","week","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","daysToAdd","getUTCDay","getSetDayOfYear","startOf","defaults","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","moment_calendar__calendar","sod","calendar","inputMs","endOf","isBetween","absFloor","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","postformat","withoutSuffix","humanize","fromNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","millisecond__milliseconds","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","bubble","daysToYears","yearsToDays","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","threshold","limit","withSuffix","iso_string__toISOString","Y","iso_string__abs","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","isoWeekYear","getSetDayOfMonth","invalidWeekday","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_get__milliseconds","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","_processing","propagatedHandler","_handled","stopped","firstTarget","_handlers","Manager","PropagatingHammer","_on","_off","_emit","_destroy","pointerType","handler","eventType","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","arg","each","iterator","dest","inherit","child","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","str","find","inArray","findByKey","uniqueArray","results","prefixed","property","prefix","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","rotation","getRotation","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","getVelocity","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","mouse","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","dispatchEvent","TEST_ELEMENT","MOBILE_REGEX","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","getTouchAction","preventDefaults","prevented","hasNone","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","withState","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","overlay","_onTapOverlay","bodyHammer","prevent_default","_hasParent","deactivate","keycharm","escListener","activate","unbind","webpackContext","req","resolve","webpackPolyfill","paths","children","__webpack_amd_options__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","_classCallCheck","instance","Constructor","_createClass","defineProperties","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","Groups","defaultIndex","groupsArray","groupIndex","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_Node","_Node2","_Label","_Label2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","_properties","positionInitially","changedData","dataChanged","constants","constructorClass","dataArray","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","dashes","pattern","hoverWidth","selectionWidth","selfReferenceSize","smooth","dynamic","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","via","supportNodes","edgeType","colorDirty","_BarnesHutSolver","_BarnesHutSolver2","_Repulsion","_Repulsion2","_HierarchicalRepulsion","_HierarchicalRepulsion2","_SpringSolver","_SpringSolver2","_HierarchicalSpringSolver","_HierarchicalSpringSolver2","_CentralGravitySolver","_CentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","freezeCache","renderTimer","stabilized","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","solver","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","initPhysics","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","startedStabilization","calculateForces","moveNodes","revert","nodeIds","vx","vy","nodesPresent","vminCorrected","nodeVelocity","_performStep","totalVelocity","solve","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","_Cluster","_Cluster2","ClusterEngine","clusteredNodes","hubsize","_getHubSize","tyepof","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","_cloneOptions","_cluster","clusters","childNodeId","_getConnectedId","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","objId","amountOfConnections","newEdges","childNode","childKeys","otherNodeId","otherOnTo","clusterEdgeProperties","clusterId","processProperties","childNodesOptions","childEdgesOptions","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","togglePhysics","minX","maxX","minY","maxY","lenght","clusterNodeId","containedNode","cleanup","clusterStack","fromArray","average","averageSquared","hubCounter","largestHub","letiance","standardDeviation","hubThreshold","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","pixelRatio","allowRedrawRequests","_requestRedraw","_startRendering","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_renderStep","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","save","translate","_drawEdges","_drawNodes","controlNodesActive","_drawControlNodes","restore","alwaysShow","isSelected","connected","browserType","Canvas","onresize","_prepareValue","tabIndex","_bindHammer","pinch","hammerFrame","emitEvent","oldWidth","oldHeight","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","specificNodes","zoomLevel","initialZoom","positionDefined","predefinedPosition","_getRange","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","_findCenter","animationOptions","animation","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_lockedRedraw","finished","_NavigationHandler","_NavigationHandler2","_Popup","_Popup2","InteractionHandler","navigationHandler","hoverObj","popup","popupObj","popupTimer","dragNodes","dragView","zoomView","hoverEnabled","navigationButtons","tooltipDelay","keyboard","speed","bindToWindow","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdges","selectedNodes","selectObject","selectionObj","xFixed","yFixed","_handleDragStart","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","Node","Edge","blurObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","SelectionHandler","selectConnectedEdges","updateSelection","selectionChanged","deselectObject","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","clusterSize","_addToHover","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","randomSeed","optionsBackup","hierarchical","levelSeparation","sortMethod","hierarchicalLevels","setupHierarchicalLayout","allOptions","prevHierarchicalState","adaptAllOptions","nodesArray","isFixed","seededRandom","definedLevel","undefinedLevel","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","positionedNodes","_placeBranchNodes","hubSize","_setLevel","minLevel","_setLevelDirected","parentId","parentLevel","childNodeLevel","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","functionality","editNode","editEdge","deleteNode","deleteEdge","handlerFunctions","controlNodeStyle","_clean","_restore","_setup","_bindHammerToDiv","toggleEditMode","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_temporaryBindEvent","_createBackButton","_createDescription","addDescription","_performAddNode","_getSelectedNode","finalizedData","alert","editClusterError","edgeDescription","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","editEdgeDescription","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","positions","findBorderPositions","_this3","deleteFunction","deleteClusterError","_createWrappers","_removeManipulationDOM","_createButton","edit","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","del","back","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","createEdgeError","_performEditEdge","targetNode","connectionEdge","connectFromId","_performCreateEdge","clickData","_this4","defaultData","sourceNodeId","targetNodeId","_this5","_this6","_ColorPicker","_ColorPicker2","ConfigurationSystem","changedOptions","possibleOptions","actualOptions","configure","configureContainer","domElements","colorPicker","wrapper","optionObj","_makeItem","_makeHeader","_handleObject","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","newPath","_len","_key","div","objectLabel","selectedValue","_update","_makeLabel","oninput","checkbox","checked","defaultColor","_showColorPicker","bodyRect","pickerX","pickerY","setColor","setCallback","colorString","subObj","_getValue","_handleArray","_handleString","_makeCheckbox","enabledPath","enabledValue","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","Validator","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","checkFields","__type__","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","undef","closestMatch","op","levenshteinDistance","matrix","boolean","CanvasRenderingContext2D","circle","square","s2","ir","triangleDown","star","n","diamond","roundRect","r2d","ellipse","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","database","wEllipse","hEllipse","ymb","yeb","arrow","xt","yt","xi","yi","xl","yl","xr","yr","dashedLine","x2","y2","patternLength","slope","distRemaining","patternIndex","dashLength","_Box","_Box2","_Circle","_Circle2","_CircularImage","_CircularImage2","_Database","_Database2","_Diamond","_Diamond2","_Dot","_Dot2","_Ellipse","_Ellipse2","_Icon","_Icon2","_Image","_Image2","_Square","_Square2","_Star","_Star2","_Text","_Text2","_Triangle","_Triangle2","_TriangleDown","_TriangleDown2","imagelist","grouplist","globalOptions","baseSize","baseFontSize","labelModule","status","groupObj","imageObj","distanceToBorder","sizeDiff","fontDiff","resize","parentOptions","newOptions","parsedColor","_slicedToArray","Symbol","_arr","_n","_e","_s","err","Label","yLine","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fillRect","fontSize","_getColor","_getColor2","fontColor","_setAlignment","_setAlignment2","lineJoin","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","baseWidth","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","node1","node2","getPoint","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","BarnesHutSolver","barnesHutTree","thetaInversed","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","MAX_VALUE","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","gravity","_get","receiver","desc","getOwnPropertyDescriptor","getPrototypeOf","_inherits","subClass","superClass","__proto__","_Node3","Cluster","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","_stopMovement","configureKeyboardBindings","loadNavigationElements","cleanNavigation","_navigationReleaseOverload","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","boundAction","unbindFromRedraw","Popup","doShow","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","rgbObj","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","angleConvert","colorPickerSelector","colorPickerCanvas","putImageData","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","_moveSelector","sat","hfac","sfac","getImageData","newLeft","_NodeBase2","_NodeBase3","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","enableShadow","disableShadow","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","_distanceToBorder","Database","networkScaleInv","_ShapeBase2","_ShapeBase3","Diamond","_ShapeBase","_resizeShape","_drawShape","Dot","Ellipse","Icon","_icon","iconTextSpacing","Square","Star","Text","Triangle","TriangleDown","_BezierEdgeBase2","_BezierEdgeBase3","BezierEdgeDynamic","_BezierEdgeBase","setupSupportNode","parentEdgeId","positionBezierNode","quadraticCurveTo","nearNode","_findBorderPositionBezier","x1","y1","x3","y3","_getDistanceToBezierEdge","BezierEdgeStatic","_getViaCoordinates","xVia","yVia","pi","originalAngle","myAngle","_EdgeBase2","_EdgeBase3","StraightEdge","_EdgeBase","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_getDistanceToLine","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","CircleImageBase","ratio","globalAlpha","drawImage","labelDimensions","ShapeBase","sizeMultiplier","BezierEdgeBase","distanceToPoint","difference","minDistance","lastX","lastY","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData","_getCircleData2","_circle","lineCap","setLineDash","altLength","lineDashOffset","_getCircleData3","_getCircleData32","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","_angle","_getCircleData7","_getCircleData72","_length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyBA,cAEA,SAA2CA,EAAMC,GAC1B,gBAAZC,UAA0C,gBAAXC,QACxCA,OAAOD,QAAUD,IACQ,kBAAXG,SAAyBA,OAAOC,IAC9CD,OAAOH,GACmB,gBAAZC,SACdA,QAAa,IAAID,IAEjBD,EAAU,IAAIC,KACbK,KAAM,WACT,MAAgB,UAAUC,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BP,WACAS,GAAIF,EACJG,QAAQ,EAUT,OANAL,GAAQE,GAAUI,KAAKV,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOS,QAAS,EAGTT,EAAOD,QAvBf,GAAIQ,KAqCJ,OATAF,GAAoBM,EAAIP,EAGxBC,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,GAGjBR,EAAoB,KAK/B,SAASL,EAAQD,EAASM,GAK9BN,EAAQe,KAAOT,EAAoB,GACnCN,EAAQgB,QAAUV,EAAoB,GAGtCN,EAAQiB,QAAUX,EAAoB,GACtCN,EAAQkB,SAAWZ,EAAoB,GACvCN,EAAQmB,MAAQb,EAAoB,GAGpCN,EAAQoB,QAAUd,EAAoB,GACtCN,EAAQqB,SACNC,OAAQhB,EAAoB,GAC5BiB,OAAQjB,EAAoB,GAC5BkB,QAASlB,EAAoB,GAC7BmB,QAASnB,EAAoB,IAC7BoB,OAAQpB,EAAoB,IAC5BqB,WAAYrB,EAAoB,KAIlCN,EAAQ4B,SAAWtB,EAAoB,IACvCN,EAAQ6B,QAAUvB,EAAoB,IACtCN,EAAQ8B,UACNC,SAAUzB,EAAoB,IAC9B0B,SAAU1B,EAAoB,IAC9B2B,MAAO3B,EAAoB,IAC3B4B,MAAO5B,EAAoB,IAC3B6B,SAAU7B,EAAoB,IAE9B8B,YACEC,OACEC,KAAMhC,EAAoB,IAC1BiC,eAAgBjC,EAAoB,IACpCkC,QAASlC,EAAoB,IAC7BmC,UAAWnC,EAAoB,IAC/BoC,UAAWpC,EAAoB,KAGjCqC,UAAWrC,EAAoB,IAC/BsC,YAAatC,EAAoB,IACjCuC,WAAYvC,EAAoB,IAChCwC,SAAUxC,EAAoB,IAC9ByC,WAAYzC,EAAoB,IAChC0C,MAAO1C,EAAoB,IAC3B2C,gBAAiB3C,EAAoB,IACrC4C,QAAS5C,EAAoB,IAC7B6C,OAAQ7C,EAAoB,IAC5B8C,UAAW9C,EAAoB,IAC/B+C,SAAU/C,EAAoB,MAKlCN,EAAQsD,QAAUhD,EAAoB,IACtCN,EAAQuD,SACNC,OAAQlD,EAAoB,IAC5BmD,UAAWnD,EAAoB,IAC/BoD,YAAapD,EAAoB,KAInCN,EAAQ2D,MAAQ,WACd,KAAM,IAAIC,OAAM,+EAIlB5D,EAAQ6D,OAASvD,EAAoB,IACrCN,EAAQ8D,OAASxD,EAAoB,IACrCN,EAAQ+D,OAASzD,EAAoB,KAIjC,SAASL,EAAQD,EAASM,GAQ9B,GAAIuD,GAASvD,EAAoB,GAOjCN,GAAQgE,SAAW,SAAUC,GAC3B,MAAOA,aAAkBC,SAA2B,gBAAVD,IAG5CjE,EAAQmE,mBAAqB,SAAUC,GACrC,KAAoC,GAA7BA,EAAUC,iBACfrE,EAAQmE,mBAAmBC,EAAUE,YACrCF,EAAUG,YAAYH,EAAUE,aAapCtE,EAAQwE,UAAY,SAAUC,EAAKC,EAAKC,EAAOC,GAC7C,GAAIF,GAAOD,EACT,MAAO,EAEP,IAAII,GAAQ,GAAKH,EAAMD,EACvB,OAAOK,MAAKJ,IAAI,GAAIE,EAAQH,GAAOI,IASvC7E,EAAQ+E,SAAW,SAAUd,GAC3B,MAAOA,aAAkBe,SAA2B,gBAAVf,IAQ5CjE,EAAQiF,OAAS,SAAUhB,GACzB,GAAIA,YAAkBiB,MACpB,OAAO,CACF,IAAIlF,EAAQ+E,SAASd,GAAS,CAEnC,GAAIkB,GAAQC,EAAaC,KAAKpB,EAC9B,IAAIkB,EACF,OAAO,CACF,KAAKG,MAAMJ,KAAKK,MAAMtB,IAC3B,OAAO,EAIX,OAAO,GAQTjE,EAAQwF,YAAc,SAAUvB,GAC9B,MAAyB,mBAAXwB,SAA0BA,OAAOC,eAAiBD,OAAOC,cAAcC,WAAa1B,YAAkBwB,QAAOC,cAAcC,WAQ3I3F,EAAQ4F,WAAa,WACnB,GAAIC,GAAK,WACP,MAAOf,MAAKgB,MAAsB,MAAhBhB,KAAKiB,UACrBC,SAAS,IAGb,OAAOH,KAAOA,IAAO,IAAMA,IAAO,IAAMA,IAAO,IAAMA,IAAO,IAAMA,IAAOA,IAAOA,KAQlF7F,EAAQiG,cAAgB,SAAUC,EAAKtB,GACrC,IAAK,GAAIuB,KAAQD,GACXA,EAAIE,eAAeD,IACI,gBAAdD,GAAIC,KACbD,EAAIC,GAAQvB,IAWpB5E,EAAQqG,cAAgB,SAAUC,EAAWC,GAC3C,IAAK,GAAIJ,KAAQG,GACME,SAAjBD,EAAOJ,IACmB,gBAAjBI,GAAOJ,KAChBG,EAAUH,GAAQI,EAAOJ,KAajCnG,EAAQyG,YAAc,SAAUC,EAAGC,GACjC,IAAK,GAAIC,GAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,GAAIG,GAAQF,UAAUD,EACtB,KAAK,GAAIT,KAAQY,GACfL,EAAEP,GAAQY,EAAMZ,GAGpB,MAAOO,IAUT1G,EAAQgH,OAAS,SAAUN,EAAGC,GAC5B,IAAK,GAAIC,GAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,GAAIG,GAAQF,UAAUD,EACtB,KAAK,GAAIT,KAAQY,GACXA,EAAMX,eAAeD,KACvBO,EAAEP,GAAQY,EAAMZ,IAItB,MAAOO,IAWT1G,EAAQiH,gBAAkB,SAAUC,EAAOR,EAAGC,GAC5C,IAAKQ,MAAMC,QAAQF,GACjB,KAAM,IAAItD,OAAM,uDAGlB,KAAK,GAAIgD,GAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAGpC,IAAK,GAFDG,GAAQF,UAAUD,GAEb9F,EAAI,EAAGA,EAAIoG,EAAMJ,OAAQhG,IAAK,CACrC,GAAIqF,GAAOe,EAAMpG,EACbiG,GAAMX,eAAeD,KACvBO,EAAEP,GAAQY,EAAMZ,IAItB,MAAOO,IAWT1G,EAAQqH,oBAAsB,SAAUH,EAAOR,EAAGC,GAEhD,GAAIQ,MAAMC,QAAQT,GAChB,KAAM,IAAIW,WAAU,yCAEtB,KAAK,GAAIV,GAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAEpC,IAAK,GADDG,GAAQF,UAAUD,GACb9F,EAAI,EAAGA,EAAIoG,EAAMJ,OAAQhG,IAAK,CACrC,GAAIqF,GAAOe,EAAMpG,EACjB,IAAIiG,EAAMX,eAAeD,GACvB,GAAIQ,EAAER,IAASQ,EAAER,GAAMoB,cAAgBC,OACrBhB,SAAZE,EAAEP,KACJO,EAAEP,OAEAO,EAAEP,GAAMoB,cAAgBC,OAC1BxH,EAAQyH,WAAWf,EAAEP,GAAOQ,EAAER,IAE9BO,EAAEP,GAAQQ,EAAER,OAET,CAAA,GAAIgB,MAAMC,QAAQT,EAAER,IACzB,KAAM,IAAImB,WAAU,yCAEpBZ,GAAEP,GAAQQ,EAAER,IAKpB,MAAOO,IAWT1G,EAAQ0H,uBAAyB,SAAUR,EAAOR,EAAGC,GAEnD,GAAIQ,MAAMC,QAAQT,GAChB,KAAM,IAAIW,WAAU,yCAEtB,KAAK,GAAInB,KAAQQ,GACf,GAAIA,EAAEP,eAAeD,IACQ,IAAvBe,EAAMS,QAAQxB,GAChB,GAAIQ,EAAER,IAASQ,EAAER,GAAMoB,cAAgBC,OACrBhB,SAAZE,EAAEP,KACJO,EAAEP,OAEAO,EAAEP,GAAMoB,cAAgBC,OAC1BxH,EAAQyH,WAAWf,EAAEP,GAAOQ,EAAER,IAE9BO,EAAEP,GAAQQ,EAAER,OAET,CAAA,GAAIgB,MAAMC,QAAQT,EAAER,IACzB,KAAM,IAAImB,WAAU,yCAEpBZ,GAAEP,GAAQQ,EAAER,GAKpB,MAAOO,IAWT1G,EAAQyH,WAAa,SAAUf,EAAGC,EAAGF,GACnC,IAAK,GAAIN,KAAQQ,GACf,GAAIA,EAAEP,eAAeD,IAASM,KAAgB,EAC5C,GAAIE,EAAER,IAASQ,EAAER,GAAMoB,cAAgBC,OACrBhB,SAAZE,EAAEP,KACJO,EAAEP,OAEAO,EAAEP,GAAMoB,cAAgBC,OAC1BxH,EAAQyH,WAAWf,EAAEP,GAAOQ,EAAER,GAAOM,GAErCC,EAAEP,GAAQQ,EAAER,OAET,IAAIgB,MAAMC,QAAQT,EAAER,IAAQ,CACjCO,EAAEP,KACF,KAAK,GAAIS,GAAI,EAAGA,EAAID,EAAER,GAAMW,OAAQF,IAClCF,EAAEP,GAAMyB,KAAKjB,EAAER,GAAMS,QAGvBF,GAAEP,GAAQQ,EAAER,EAIlB,OAAOO,IAUT1G,EAAQ6H,WAAa,SAAUnB,EAAGC,GAChC,GAAID,EAAEI,QAAUH,EAAEG,OAAQ,OAAO,CAEjC,KAAK,GAAIF,GAAI,EAAGkB,EAAMpB,EAAEI,OAAYgB,EAAJlB,EAASA,IACvC,GAAIF,EAAEE,IAAMD,EAAEC,GAAI,OAAO,CAG3B,QAAO,GAYT5G,EAAQ+H,QAAU,SAAU9D,EAAQ+D,GAClC,GAAI7C,EAEJ,IAAeqB,SAAXvC,EACF,MAAOuC,OAET,IAAe,OAAXvC,EACF,MAAO,KAGT,KAAK+D,EACH,MAAO/D,EAET,IAAsB,gBAAT+D,MAAwBA,YAAgBhD,SACnD,KAAM,IAAIpB,OAAM,wBAIlB,QAAQoE,GACN,IAAK,UACL,IAAK,UACH,MAAOC,SAAQhE,EAEjB,KAAK,SACL,IAAK,SACH,MAAOC,QAAOD,EAAOiE,UAEvB,KAAK,SACL,IAAK,SACH,MAAOlD,QAAOf,EAEhB,KAAK,OACH,GAAIjE,EAAQgE,SAASC,GACnB,MAAO,IAAIiB,MAAKjB,EAElB,IAAIA,YAAkBiB,MACpB,MAAO,IAAIA,MAAKjB,EAAOiE,UAClB,IAAIrE,EAAOsE,SAASlE,GACzB,MAAO,IAAIiB,MAAKjB,EAAOiE,UAEzB,IAAIlI,EAAQ+E,SAASd,GAEnB,MADAkB,GAAQC,EAAaC,KAAKpB,GACtBkB,EAEK,GAAID,MAAKhB,OAAOiB,EAAM,KAEtBtB,EAAOI,GAAQmE,QAGxB,MAAM,IAAIxE,OAAM,iCAAmC5D,EAAQqI,QAAQpE,GAAU,gBAGjF,KAAK,SACH,GAAIjE,EAAQgE,SAASC,GACnB,MAAOJ,GAAOI,EAEhB,IAAIA,YAAkBiB,MACpB,MAAOrB,GAAOI,EAAOiE,UAChB,IAAIrE,EAAOsE,SAASlE,GACzB,MAAOJ,GAAOI,EAEhB,IAAIjE,EAAQ+E,SAASd,GAEnB,MADAkB,GAAQC,EAAaC,KAAKpB,GAGjBJ,EAFLsB,EAEYjB,OAAOiB,EAAM,IAEblB,EAGhB,MAAM,IAAIL,OAAM,iCAAmC5D,EAAQqI,QAAQpE,GAAU,gBAGjF,KAAK,UACH,GAAIjE,EAAQgE,SAASC,GACnB,MAAO,IAAIiB,MAAKjB,EACX,IAAIA,YAAkBiB,MAC3B,MAAOjB,GAAOqE,aACT,IAAIzE,EAAOsE,SAASlE,GACzB,MAAOA,GAAOmE,SAASE,aAClB,IAAItI,EAAQ+E,SAASd,GAE1B,MADAkB,GAAQC,EAAaC,KAAKpB,GACtBkB,EAEK,GAAID,MAAKhB,OAAOiB,EAAM,KAAKmD,cAE3B,GAAIpD,MAAKjB,GAAQqE,aAG1B,MAAM,IAAI1E,OAAM,iCAAmC5D,EAAQqI,QAAQpE,GAAU,mBAGjF,KAAK,UACH,GAAIjE,EAAQgE,SAASC,GACnB,MAAO,SAAWA,EAAS,IACtB,IAAIA,YAAkBiB,MAC3B,MAAO,SAAWjB,EAAOiE,UAAY,IAChC,IAAIlI,EAAQ+E,SAASd,GAAS,CACnCkB,EAAQC,EAAaC,KAAKpB,EAC1B,IAAIW,EAOJ,OAJEA,GAFEO,EAEM,GAAID,MAAKhB,OAAOiB,EAAM,KAAK+C,UAE3B,GAAIhD,MAAKjB,GAAQiE,UAEpB,SAAWtD,EAAQ,KAE1B,KAAM,IAAIhB,OAAM,iCAAmC5D,EAAQqI,QAAQpE,GAAU,mBAGjF,SACE,KAAM,IAAIL,OAAM,iBAAmBoE,EAAO,MAOhD,IAAI5C,GAAe,qBAOnBpF,GAAQqI,QAAU,SAAUpE,GAC1B,GAAI+D,SAAc/D,EAElB,OAAY,UAAR+D,EACa,OAAX/D,EACK,OAELA,YAAkBgE,SACb,UAELhE,YAAkBC,QACb,SAELD,YAAkBe,QACb,SAELmC,MAAMC,QAAQnD,GACT,QAELA,YAAkBiB,MACb,OAEF,SACU,UAAR8C,EACF,SACU,WAARA,EACF,UACU,UAARA,EACF,SACWxB,SAATwB,EACF,YAGFA,GAUThI,EAAQuI,mBAAqB,SAAUC,EAAKC,GAE1C,IAAK,GADDC,MACK9B,EAAI,EAAGA,EAAI4B,EAAI1B,OAAQF,IAC9B8B,EAAOd,KAAKY,EAAI5B,GAGlB,OADA8B,GAAOd,KAAKa,GACLC,GAST1I,EAAQ2I,gBAAkB,SAAUC,GAClC,MAAOA,GAAKC,wBAAwBC,MAStC9I,EAAQ+I,eAAiB,SAAUH,GACjC,MAAOA,GAAKC,wBAAwBG,KAQtChJ,EAAQiJ,aAAe,SAAUL,EAAMM,GACrC,GAAIC,GAAUP,EAAKM,UAAUE,MAAM,IACD,KAA9BD,EAAQxB,QAAQuB,KAClBC,EAAQvB,KAAKsB,GACbN,EAAKM,UAAYC,EAAQE,KAAK,OASlCrJ,EAAQsJ,gBAAkB,SAAUV,EAAMM,GACxC,GAAIC,GAAUP,EAAKM,UAAUE,MAAM,KAC/BG,EAAQJ,EAAQxB,QAAQuB,EACf,KAATK,IACFJ,EAAQK,OAAOD,EAAO,GACtBX,EAAKM,UAAYC,EAAQE,KAAK,OAalCrJ,EAAQyJ,QAAU,SAAUxF,EAAQyF,GAClC,GAAI9C,GAAGkB,CACP,IAAIX,MAAMC,QAAQnD,GAEhB,IAAK2C,EAAI,EAAGkB,EAAM7D,EAAO6C,OAAYgB,EAAJlB,EAASA,IACxC8C,EAASzF,EAAO2C,GAAIA,EAAG3C,OAIzB,KAAK2C,IAAK3C,GACJA,EAAOmC,eAAeQ,IACxB8C,EAASzF,EAAO2C,GAAIA,EAAG3C,IAY/BjE,EAAQ2J,QAAU,SAAU1F,GAC1B,GAAI2F,KAEJ,KAAK,GAAIzD,KAAQlC,GACXA,EAAOmC,eAAeD,IAAOyD,EAAMhC,KAAK3D,EAAOkC,GAGrD,OAAOyD,IAUT5J,EAAQ6J,eAAiB,SAAU5F,EAAQ6F,EAAKlF,GAC9C,MAAIX,GAAO6F,KAASlF,GAClBX,EAAO6F,GAAOlF,GACP,IAEA,GAYX5E,EAAQ+J,iBAAmB,SAAUC,EAASC,EAAQC,EAAUC,GAC1DH,EAAQD,kBACSvD,SAAf2D,IAA0BA,GAAa,GAE5B,eAAXF,GAA2BG,UAAUC,UAAU1C,QAAQ,YAAc,IACvEsC,EAAS,kBAGXD,EAAQD,iBAAiBE,EAAQC,EAAUC,IAE3CH,EAAQM,YAAY,KAAOL,EAAQC,IAWvClK,EAAQuK,oBAAsB,SAAUP,EAASC,EAAQC,EAAUC,GAC7DH,EAAQO,qBAES/D,SAAf2D,IAA0BA,GAAa,GAE5B,eAAXF,GAA2BG,UAAUC,UAAU1C,QAAQ,YAAc,IACvEsC,EAAS,kBAGXD,EAAQO,oBAAoBN,EAAQC,EAAUC,IAG9CH,EAAQQ,YAAY,KAAOP,EAAQC,IAOvClK,EAAQyK,eAAiB,SAAUC,GAC5BA,IAAOA,EAAQC,OAAOD,OAEvBA,EAAMD,eACRC,EAAMD,iBAENC,EAAME,aAAc,GASxB5K,EAAQ6K,UAAY,SAAUH,GAEvBA,IACHA,EAAQC,OAAOD,MAGjB,IAAII,EAaJ,OAXIJ,GAAMI,OACRA,EAASJ,EAAMI,OACNJ,EAAMK,aACfD,EAASJ,EAAMK,YAGMvE,QAAnBsE,EAAOE,UAA4C,GAAnBF,EAAOE,WAEzCF,EAASA,EAAOG,YAGXH,GAQT9K,EAAQkL,UAAY,SAAUlB,EAASmB,GAGrC,IAFA,GAAIC,GAAIpB,EAEDoB,GAAG,CACR,GAAIA,IAAMD,EACR,OAAO,CAETC,GAAIA,EAAEH,WAGR,OAAO,GAGTjL,EAAQqL,UAQRrL,EAAQqL,OAAOC,UAAY,SAAU1G,EAAO2G,GAK1C,MAJoB,kBAAT3G,KACTA,EAAQA,KAGG,MAATA,EACc,GAATA,EAGF2G,GAAgB,MASzBvL,EAAQqL,OAAOG,SAAW,SAAU5G,EAAO2G,GAKzC,MAJoB,kBAAT3G,KACTA,EAAQA,KAGG,MAATA,EACKV,OAAOU,IAAU2G,GAAgB,KAGnCA,GAAgB,MASzBvL,EAAQqL,OAAOI,SAAW,SAAU7G,EAAO2G,GAKzC,MAJoB,kBAAT3G,KACTA,EAAQA,KAGG,MAATA,EACKI,OAAOJ,GAGT2G,GAAgB,MASzBvL,EAAQqL,OAAOK,OAAS,SAAU9G,EAAO2G,GAKvC,MAJoB,kBAAT3G,KACTA,EAAQA,KAGN5E,EAAQ+E,SAASH,GACZA,EACE5E,EAAQgE,SAASY,GACnBA,EAAQ,KAER2G,GAAgB,MAU3BvL,EAAQqL,OAAOM,UAAY,SAAU/G,EAAO2G,GAK1C,MAJoB,kBAAT3G,KACTA,EAAQA,KAGHA,GAAS2G,GAAgB,MASlCvL,EAAQ4L,SAAW,SAAUC,GAE3B,GAAIC,GAAiB,kCACrBD,GAAMA,EAAIE,QAAQD,EAAgB,SAAUlL,EAAGoL,EAAGC,EAAGtF,GACnD,MAAOqF,GAAIA,EAAIC,EAAIA,EAAItF,EAAIA,GAE7B,IAAIuF,GAAS,4CAA4C7G,KAAKwG,EAC9D,OAAOK,IACLF,EAAGG,SAASD,EAAO,GAAI,IACvBD,EAAGE,SAASD,EAAO,GAAI,IACvBvF,EAAGwF,SAASD,EAAO,GAAI,KACrB,MASNlM,EAAQoM,gBAAkB,SAAUC,EAAOC,GACzC,GAA4B,IAAxBD,EAAM1E,QAAQ,OAAc,CAC9B,GAAI4E,GAAMF,EAAMG,OAAOH,EAAM1E,QAAQ,KAAO,GAAGoE,QAAQ,IAAK,IAAI3C,MAAM,IACtE,OAAO,QAAUmD,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMD,EAAU,IAExE,GAAIC,GAAMvM,EAAQ4L,SAASS,EAC3B,OAAW,OAAPE,EACKF,EAEA,QAAUE,EAAIP,EAAI,IAAMO,EAAIN,EAAI,IAAMM,EAAI5F,EAAI,IAAM2F,EAAU,KAa3EtM,EAAQyM,SAAW,SAAUC,EAAKC,EAAOC,GACvC,MAAO,MAAQ,GAAK,KAAOF,GAAO,KAAOC,GAAS,GAAKC,GAAM5G,SAAS,IAAI6G,MAAM,IASlF7M,EAAQ8M,WAAa,SAAUT,GAC7B,GAAIxL,EACJ,IAAIb,EAAQ+E,SAASsH,GAAQ,CAC3B,GAAIrM,EAAQ+M,WAAWV,GAAQ,CAC7B,GAAIE,GAAMF,EAAMG,OAAO,GAAGA,OAAO,EAAGH,EAAMvF,OAAS,GAAGsC,MAAM,IAC5DiD,GAAQrM,EAAQyM,SAASF,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAE/C,GAAIvM,EAAQgN,WAAWX,GAAQ,CAC7B,GAAIY,GAAMjN,EAAQkN,SAASb,GACvBc,GAAoBC,EAAGH,EAAIG,EAAGC,EAAW,IAARJ,EAAII,EAAUC,EAAGxI,KAAKL,IAAI,EAAW,KAARwI,EAAIK,IAClEC,GAAmBH,EAAGH,EAAIG,EAAGC,EAAGvI,KAAKL,IAAI,EAAW,KAARwI,EAAIK,GAAWA,EAAW,GAARL,EAAIK,GAClEE,EAAiBxN,EAAQyN,SAASF,EAAeH,EAAGG,EAAeH,EAAGG,EAAeD,GACrFI,EAAkB1N,EAAQyN,SAASN,EAAgBC,EAAGD,EAAgBE,EAAGF,EAAgBG,EAE7FzM,IACE8M,WAAYtB,EACZuB,OAAQJ,EACRK,WACEF,WAAYD,EACZE,OAAQJ,GAEVM,OACEH,WAAYD,EACZE,OAAQJ,QAIZ3M,IACE8M,WAAYtB,EACZuB,OAAQvB,EACRwB,WACEF,WAAYtB,EACZuB,OAAQvB,GAEVyB,OACEH,WAAYtB,EACZuB,OAAQvB,QAKdxL,MACAA,EAAE8M,WAAatB,EAAMsB,YAAcnH,OACnC3F,EAAE+M,OAASvB,EAAMuB,QAAUpH,OAEvBxG,EAAQ+E,SAASsH,EAAMwB,WACzBhN,EAAEgN,WACAD,OAAQvB,EAAMwB,UACdF,WAAYtB,EAAMwB,YAGpBhN,EAAEgN,aACFhN,EAAEgN,UAAUF,WAAatB,EAAMwB,WAAaxB,EAAMwB,UAAUF,YAAcnH,OAC1E3F,EAAEgN,UAAUD,OAASvB,EAAMwB,WAAaxB,EAAMwB,UAAUD,QAAUpH,QAGhExG,EAAQ+E,SAASsH,EAAMyB,OACzBjN,EAAEiN,OACAF,OAAQvB,EAAMyB,MACdH,WAAYtB,EAAMyB,QAGpBjN,EAAEiN,SACFjN,EAAEiN,MAAMH,WAAatB,EAAMyB,OAASzB,EAAMyB,MAAMH,YAAcnH,OAC9D3F,EAAEiN,MAAMF,OAASvB,EAAMyB,OAASzB,EAAMyB,MAAMF,QAAUpH,OAI1D,OAAO3F,IAYTb,EAAQ+N,SAAW,SAAUrB,EAAKC,EAAOC,GACvCF,GAAY,IAAIC,GAAgB,IAAIC,GAAc,GAClD,IAAIoB,GAASlJ,KAAKL,IAAIiI,EAAK5H,KAAKL,IAAIkI,EAAOC,IACvCqB,EAASnJ,KAAKJ,IAAIgI,EAAK5H,KAAKJ,IAAIiI,EAAOC,GAG3C,IAAIoB,GAAUC,EACZ,OAASb,EAAG,EAAGC,EAAG,EAAGC,EAAGU,EAI1B,IAAIE,GAAIxB,GAAOsB,EAASrB,EAAQC,EAAOA,GAAQoB,EAAStB,EAAMC,EAAQC,EAAOF,EACzEU,EAAIV,GAAOsB,EAAS,EAAIpB,GAAQoB,EAAS,EAAI,EAC7CG,EAAM,IAAMf,EAAIc,GAAKD,EAASD,IAAW,IACzCI,GAAcH,EAASD,GAAUC,EACjCrJ,EAAQqJ,CACZ,QAASb,EAAGe,EAAKd,EAAGe,EAAYd,EAAG1I,GAGrC,IAAIyJ,IAEFjF,MAAO,SAAekF,GACpB,GAAIC,KAWJ,OATAD,GAAQlF,MAAM,KAAKK,QAAQ,SAAU+E,GACnC,GAAoB,IAAhBA,EAAMC,OAAc,CACtB,GAAIC,GAAQF,EAAMpF,MAAM,KACpBU,EAAM4E,EAAM,GAAGD,OACf7J,EAAQ8J,EAAM,GAAGD,MACrBF,GAAOzE,GAAOlF,KAIX2J,GAITlF,KAAM,SAAckF,GAClB,MAAO/G,QAAOmH,KAAKJ,GAAQK,IAAI,SAAU9E,GACvC,MAAOA,GAAM,KAAOyE,EAAOzE,KAC1BT,KAAK,OASZrJ,GAAQ6O,WAAa,SAAU7E,EAASsE,GACtC,GAAIQ,GAAgBT,EAAQjF,MAAMY,EAAQwE,MAAMF,SAC5CS,EAAYV,EAAQjF,MAAMkF,GAC1BC,EAASvO,EAAQgH,OAAO8H,EAAeC,EAE3C/E,GAAQwE,MAAMF,QAAUD,EAAQhF,KAAKkF,IAQvCvO,EAAQgP,cAAgB,SAAUhF,EAASsE,GACzC,GAAIC,GAASF,EAAQjF,MAAMY,EAAQwE,MAAMF,SACrCW,EAAeZ,EAAQjF,MAAMkF,EAEjC,KAAK,GAAIxE,KAAOmF,GACVA,EAAa7I,eAAe0D,UACvByE,GAAOzE,EAIlBE,GAAQwE,MAAMF,QAAUD,EAAQhF,KAAKkF,IAWvCvO,EAAQkP,SAAW,SAAU9B,EAAGC,EAAGC,GACjC,GAAItB,GAAGC,EAAGtF,EAENC,EAAI9B,KAAKgB,MAAU,EAAJsH,GACf+B,EAAQ,EAAJ/B,EAAQxG,EACZ9F,EAAIwM,GAAK,EAAID,GACb+B,EAAI9B,GAAK,EAAI6B,EAAI9B,GACjBgC,EAAI/B,GAAK,GAAK,EAAI6B,GAAK9B,EAE3B,QAAQzG,EAAI,GACV,IAAK,GACHoF,EAAIsB,EAAGrB,EAAIoD,EAAG1I,EAAI7F,CAAE,MACtB,KAAK,GACHkL,EAAIoD,EAAGnD,EAAIqB,EAAG3G,EAAI7F,CAAE,MACtB,KAAK,GACHkL,EAAIlL,EAAGmL,EAAIqB,EAAG3G,EAAI0I,CAAE,MACtB,KAAK,GACHrD,EAAIlL,EAAGmL,EAAImD,EAAGzI,EAAI2G,CAAE,MACtB,KAAK,GACHtB,EAAIqD,EAAGpD,EAAInL,EAAG6F,EAAI2G,CAAE,MACtB,KAAK,GACHtB,EAAIsB,EAAGrB,EAAInL,EAAG6F,EAAIyI,EAGtB,OAASpD,EAAGlH,KAAKgB,MAAU,IAAJkG,GAAUC,EAAGnH,KAAKgB,MAAU,IAAJmG,GAAUtF,EAAG7B,KAAKgB,MAAU,IAAJa,KAGzE3G,EAAQyN,SAAW,SAAUL,EAAGC,EAAGC,GACjC,GAAIf,GAAMvM,EAAQkP,SAAS9B,EAAGC,EAAGC,EACjC,OAAOtN,GAAQyM,SAASF,EAAIP,EAAGO,EAAIN,EAAGM,EAAI5F,IAG5C3G,EAAQkN,SAAW,SAAUrB,GAC3B,GAAIU,GAAMvM,EAAQ4L,SAASC,EAC3B,OAAO7L,GAAQ+N,SAASxB,EAAIP,EAAGO,EAAIN,EAAGM,EAAI5F,IAG5C3G,EAAQgN,WAAa,SAAUnB,GAC7B,GAAIyD,GAAO,qCAAqCC,KAAK1D,EACrD,OAAOyD,IAGTtP,EAAQ+M,WAAa,SAAUR,GAC7BA,EAAMA,EAAIR,QAAQ,IAAK,GACvB,IAAIuD,GAAO,wCAAwCC,KAAKhD,EACxD,OAAO+C,IAETtP,EAAQwP,YAAc,SAAUC,GAC9BA,EAAOA,EAAK1D,QAAQ,IAAK,GACzB,IAAIuD,GAAO,kDAAkDC,KAAKE,EAClE,OAAOH,IAUTtP,EAAQ0P,sBAAwB,SAAUC,EAAQC,GAChD,GAA8B,gBAAnBA,GAA6B,CAEtC,IAAK,GADDC,GAAWrI,OAAOsI,OAAOF,GACpBhJ,EAAI,EAAGA,EAAI+I,EAAO7I,OAAQF,IAC7BgJ,EAAgBxJ,eAAeuJ,EAAO/I,KACC,gBAA9BgJ,GAAgBD,EAAO/I,MAChCiJ,EAASF,EAAO/I,IAAM5G,EAAQ+P,aAAaH,EAAgBD,EAAO/I,KAIxE,OAAOiJ,GAEP,MAAO,OAWX7P,EAAQ+P,aAAe,SAAUH,GAC/B,GAA8B,gBAAnBA,GAA6B,CACtC,GAAIC,GAAWrI,OAAOsI,OAAOF,EAC7B,KAAK,GAAIhJ,KAAKgJ,GACRA,EAAgBxJ,eAAeQ,IACA,gBAAtBgJ,GAAgBhJ,KACzBiJ,EAASjJ,GAAK5G,EAAQ+P,aAAaH,EAAgBhJ,IAIzD,OAAOiJ,GAEP,MAAO,OAaX7P,EAAQgQ,aAAe,SAAUC,EAAaC,EAAS7E,GACrD,GAAwB7E,SAApB0J,EAAQ7E,GACV,GAA8B,iBAAnB6E,GAAQ7E,GACjB4E,EAAY5E,GAAQ8E,QAAUD,EAAQ7E,OACjC,CACL4E,EAAY5E,GAAQ8E,SAAU,CAC9B,KAAK,GAAIhK,KAAQ+J,GAAQ7E,GACnB6E,EAAQ7E,GAAQjF,eAAeD,KACjC8J,EAAY5E,GAAQlF,GAAQ+J,EAAQ7E,GAAQlF,MAkBtDnG,EAAQoQ,mBAAqB,SAAUC,EAAcC,EAAgBC,EAAOC,GAM1E,IALA,GAAIC,GAAgB,IAChBC,EAAY,EACZC,EAAM,EACNC,EAAOP,EAAavJ,OAAS,EAEnB8J,GAAPD,GAA2BF,EAAZC,GAA2B,CAC/C,GAAIG,GAAS/L,KAAKgB,OAAO6K,EAAMC,GAAQ,GAEnCE,EAAOT,EAAaQ,GACpBjM,EAAmB4B,SAAXgK,EAAuBM,EAAKP,GAASO,EAAKP,GAAOC,GAEzDO,EAAeT,EAAe1L,EAClC,IAAoB,GAAhBmM,EAEF,MAAOF,EACkB,KAAhBE,EAETJ,EAAME,EAAS,EAGfD,EAAOC,EAAS,EAGlBH,IAGF,MAAO,IAeT1Q,EAAQgR,kBAAoB,SAAUX,EAAcvF,EAAQyF,EAAOU,GAOjE,IANA,GAIIC,GAAWtM,EAAOuM,EAAWN,EAJ7BJ,EAAgB,IAChBC,EAAY,EACZC,EAAM,EACNC,EAAOP,EAAavJ,OAAS,EAGnB8J,GAAPD,GAA2BF,EAAZC,GAA2B,CAO/C,GALAG,EAAS/L,KAAKgB,MAAM,IAAO8K,EAAOD,IAClCO,EAAYb,EAAavL,KAAKJ,IAAI,EAAGmM,EAAS,IAAIN,GAClD3L,EAAQyL,EAAaQ,GAAQN,GAC7BY,EAAYd,EAAavL,KAAKL,IAAI4L,EAAavJ,OAAS,EAAG+J,EAAS,IAAIN,GAEpE3L,GAASkG,EAEX,MAAO+F,EACF,IAAgB/F,EAAZoG,GAAsBtM,EAAQkG,EAEvC,MAAyB,UAAlBmG,EAA6BnM,KAAKJ,IAAI,EAAGmM,EAAS,GAAKA,CACzD,IAAY/F,EAARlG,GAAkBuM,EAAYrG,EAEvC,MAAyB,UAAlBmG,EAA6BJ,EAAS/L,KAAKL,IAAI4L,EAAavJ,OAAS,EAAG+J,EAAS,EAG5E/F,GAARlG,EAEF+L,EAAME,EAAS,EAGfD,EAAOC,EAAS,EAGpBH,IAIF,MAAO,IAYT1Q,EAAQoR,cAAgB,SAAU/B,EAAGgC,EAAOC,EAAKC,GAC/C,GAAIC,GAASF,EAAMD,CAEnB,OADAhC,IAAKkC,EAAW,EACR,EAAJlC,EAAcmC,EAAS,EAAInC,EAAIA,EAAIgC,GACvChC,KACQmC,EAAS,GAAKnC,GAAKA,EAAI,GAAK,GAAKgC,IAQ3CrR,EAAQyR,iBAENC,OAAQ,SAAgBrC,GACtB,MAAOA,IAGTsC,WAAY,SAAoBtC,GAC9B,MAAOA,GAAIA,GAGbuC,YAAa,SAAqBvC,GAChC,MAAOA,IAAK,EAAIA,IAGlB+B,cAAe,SAAuB/B,GACpC,MAAW,GAAJA,EAAU,EAAIA,EAAIA,EAAI,IAAM,EAAI,EAAIA,GAAKA,GAGlDwC,YAAa,SAAqBxC,GAChC,MAAOA,GAAIA,EAAIA,GAGjByC,aAAc,SAAsBzC,GAClC,QAASA,EAAIA,EAAIA,EAAI,GAGvB0C,eAAgB,SAAwB1C,GACtC,MAAW,GAAJA,EAAU,EAAIA,EAAIA,EAAIA,GAAKA,EAAI,IAAM,EAAIA,EAAI,IAAM,EAAIA,EAAI,GAAK,GAGzE2C,YAAa,SAAqB3C,GAChC,MAAOA,GAAIA,EAAIA,EAAIA,GAGrB4C,aAAc,SAAsB5C,GAClC,MAAO,MAAMA,EAAIA,EAAIA,EAAIA,GAG3B6C,eAAgB,SAAwB7C,GACtC,MAAW,GAAJA,EAAU,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,IAAMA,EAAIA,EAAIA,EAAIA,GAG7D8C,YAAa,SAAqB9C,GAChC,MAAOA,GAAIA,EAAIA,EAAIA,EAAIA,GAGzB+C,aAAc,SAAsB/C,GAClC,MAAO,KAAMA,EAAIA,EAAIA,EAAIA,EAAIA,GAG/BgD,eAAgB,SAAwBhD,GACtC,MAAW,GAAJA,EAAU,GAAKA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,KAAOA,EAAIA,EAAIA,EAAIA,EAAIA,KAMrE,SAASpP,EAAQD,EAASM,GAW9BN,EAAQsS,gBAAkB,SAAUC,GAElC,IAAK,GAAIC,KAAeD,GAClBA,EAAcnM,eAAeoM,KAC/BD,EAAcC,GAAaC,UAAYF,EAAcC,GAAaE,KAClEH,EAAcC,GAAaE,UAYjC1S,EAAQ2S,gBAAkB,SAAUJ,GAElC,IAAK,GAAIC,KAAeD,GACtB,GAAIA,EAAcnM,eAAeoM,IAC3BD,EAAcC,GAAaC,UAAW,CACxC,IAAK,GAAI7L,GAAI,EAAGA,EAAI2L,EAAcC,GAAaC,UAAU3L,OAAQF,IAC/D2L,EAAcC,GAAaC,UAAU7L,GAAGqE,WAAW1G,YAAYgO,EAAcC,GAAaC,UAAU7L,GAEtG2L,GAAcC,GAAaC,eAgBnCzS,EAAQ4S,cAAgB,SAAUJ,EAAaD,EAAeM,GAC5D,GAAI7I,EAoBJ,OAlBIuI,GAAcnM,eAAeoM,GAG3BD,EAAcC,GAAaC,UAAU3L,OAAS,GAChDkD,EAAUuI,EAAcC,GAAaC,UAAU,GAC/CF,EAAcC,GAAaC,UAAUK,UAGrC9I,EAAU+I,SAASC,gBAAgB,6BAA8BR,GACjEK,EAAaI,YAAYjJ,KAI3BA,EAAU+I,SAASC,gBAAgB,6BAA8BR,GACjED,EAAcC,IAAiBE,QAAUD,cACzCI,EAAaI,YAAYjJ,IAE3BuI,EAAcC,GAAaE,KAAK9K,KAAKoC,GAC9BA,GAaThK,EAAQkT,cAAgB,SAAUV,EAAaD,EAAeY,EAAcC,GAC1E,GAAIpJ,EA4BJ,OA1BIuI,GAAcnM,eAAeoM,GAG3BD,EAAcC,GAAaC,UAAU3L,OAAS,GAChDkD,EAAUuI,EAAcC,GAAaC,UAAU,GAC/CF,EAAcC,GAAaC,UAAUK,UAGrC9I,EAAU+I,SAASM,cAAcb,GACZhM,SAAjB4M,EACFD,EAAaC,aAAapJ,EAASoJ,GAEnCD,EAAaF,YAAYjJ,KAK7BA,EAAU+I,SAASM,cAAcb,GACjCD,EAAcC,IAAiBE,QAAUD,cACpBjM,SAAjB4M,EACFD,EAAaC,aAAapJ,EAASoJ,GAEnCD,EAAaF,YAAYjJ,IAG7BuI,EAAcC,GAAaE,KAAK9K,KAAKoC,GAC9BA,GAgBThK,EAAQsT,UAAY,SAAUC,EAAGC,EAAGC,EAAOlB,EAAeM,EAAca,GACtE,GAAIC,EACkC,WAAlCF,EAAMvD,QAAQ0D,WAAWpF,OAC3BmF,EAAQ3T,EAAQ4S,cAAc,SAAUL,EAAeM,GACvDc,EAAME,eAAe,KAAM,KAAMN,GACjCI,EAAME,eAAe,KAAM,KAAML,GACjCG,EAAME,eAAe,KAAM,IAAK,GAAMJ,EAAMvD,QAAQ0D,WAAWE,QAE/DH,EAAQ3T,EAAQ4S,cAAc,OAAQL,EAAeM,GACrDc,EAAME,eAAe,KAAM,IAAKN,EAAI,GAAME,EAAMvD,QAAQ0D,WAAWE,MACnEH,EAAME,eAAe,KAAM,IAAKL,EAAI,GAAMC,EAAMvD,QAAQ0D,WAAWE,MACnEH,EAAME,eAAe,KAAM,QAASJ,EAAMvD,QAAQ0D,WAAWE,MAC7DH,EAAME,eAAe,KAAM,SAAUJ,EAAMvD,QAAQ0D,WAAWE,OAGxBtN,SAApCiN,EAAMvD,QAAQ0D,WAAWrF,QAC3BoF,EAAME,eAAe,KAAM,QAAS,OAASJ,EAAMA,MAAMvD,QAAQ0D,WAAWrF,QAE9EoF,EAAME,eAAe,KAAM,QAASJ,EAAMvK,UAAY,aAEtD,IAAI6K,GAAQ/T,EAAQ4S,cAAc,OAAQL,EAAeM,EAmBzD,OAlBIa,KACEA,EAASM,UACXT,GAAQG,EAASM,SAGfN,EAASO,UACXT,GAAQE,EAASO,SAEfP,EAASQ,UACXH,EAAMI,YAAcT,EAASQ,SAG3BR,EAASxK,WACX6K,EAAMF,eAAe,KAAM,QAASH,EAASxK,UAAY,eAG7D6K,EAAMF,eAAe,KAAM,IAAKN,GAChCQ,EAAMF,eAAe,KAAM,IAAKL,GACzBG,GAUT3T,EAAQoU,QAAU,SAAUb,EAAGC,EAAGa,EAAOC,EAAQpL,EAAWqJ,EAAeM,GACzE,GAAc,GAAVyB,EAAa,CACF,EAATA,IACFA,GAAU,GACVd,GAAKc,EAEP,IAAIC,GAAOvU,EAAQ4S,cAAc,OAAQL,EAAeM,EACxD0B,GAAKV,eAAe,KAAM,IAAKN,EAAI,GAAMc,GACzCE,EAAKV,eAAe,KAAM,IAAKL,GAC/Be,EAAKV,eAAe,KAAM,QAASQ,GACnCE,EAAKV,eAAe,KAAM,SAAUS,GACpCC,EAAKV,eAAe,KAAM,QAAS3K,MAMnC,SAASjJ,EAAQD,EAASM,GAkD9B,QAASW,GAAQuT,EAAMtE,GAerB,IAbIsE,GAASrN,MAAMC,QAAQoN,IAAUzT,EAAKyE,YAAYgP,KACpDtE,EAAUsE,EACVA,EAAO,MAGTpU,KAAKqU,SAAWvE,MAChB9P,KAAKsU,SACLtU,KAAK0G,OAAS,EACd1G,KAAKuU,SAAWvU,KAAKqU,SAASG,SAAW,KACzCxU,KAAKyU,SAIDzU,KAAKqU,SAASzM,KAChB,IAAK,GAAIuI,KAASnQ,MAAKqU,SAASzM,KAC9B,GAAI5H,KAAKqU,SAASzM,KAAK5B,eAAemK,GAAQ,CAC5C,GAAI3L,GAAQxE,KAAKqU,SAASzM,KAAKuI,EAClB,SAAT3L,GAA4B,WAATA,GAA+B,WAATA,EAC3CxE,KAAKyU,MAAMtE,GAAS,OAEpBnQ,KAAKyU,MAAMtE,GAAS3L,EAO5B,GAAIxE,KAAKqU,SAAS1M,QAChB,KAAM,IAAInE,OAAM,sDAGlBxD,MAAK0U,gBAGDN,GACFpU,KAAK2U,IAAIP,GAGXpU,KAAK4U,WAAW9E,GAtFlB,GAAInP,GAAOT,EAAoB,GAC3Ba,EAAQb,EAAoB,EAiGhCW,GAAQgU,UAAUD,WAAa,SAAU9E,GACnCA,GAA6B1J,SAAlB0J,EAAQgF,QACjBhF,EAAQgF,SAAU,EAEhB9U,KAAK+U,SACP/U,KAAK+U,OAAOC,gBACLhV,MAAK+U,SAIT/U,KAAK+U,SACR/U,KAAK+U,OAAShU,EAAM6F,OAAO5G,MACzB2L,SAAU,MAAO,SAAU,aAIF,gBAAlBmE,GAAQgF,OACjB9U,KAAK+U,OAAOH,WAAW9E,EAAQgF,UAevCjU,EAAQgU,UAAUI,GAAK,SAAU3K,EAAOhB,GACtC,GAAI4L,GAAclV,KAAK0U,aAAapK,EAC/B4K,KACHA,KACAlV,KAAK0U,aAAapK,GAAS4K,GAG7BA,EAAY1N,MACV8B,SAAUA,KAKdzI,EAAQgU,UAAUM,UAAYtU,EAAQgU,UAAUI,GAOhDpU,EAAQgU,UAAUO,IAAM,SAAU9K,EAAOhB,GACvC,GAAI4L,GAAclV,KAAK0U,aAAapK,EAChC4K,KACFlV,KAAK0U,aAAapK,GAAS4K,EAAYG,OAAO,SAAUvL,GACtD,MAAOA,GAASR,UAAYA,MAMlCzI,EAAQgU,UAAUS,YAAczU,EAAQgU,UAAUO,IASlDvU,EAAQgU,UAAUU,SAAW,SAAUjL,EAAOkL,EAAQC,GACpD,GAAa,KAATnL,EACF,KAAM,IAAI9G,OAAM,yBAGlB,IAAI0R,KACA5K,KAAStK,MAAK0U,eAChBQ,EAAcA,EAAYQ,OAAO1V,KAAK0U,aAAapK,KAEjD,KAAOtK,MAAK0U,eACdQ,EAAcA,EAAYQ,OAAO1V,KAAK0U,aAAa,MAGrD,KAAK,GAAIlO,GAAI,EAAGA,EAAI0O,EAAYxO,OAAQF,IAAK,CAC3C,GAAImP,GAAaT,EAAY1O,EACzBmP,GAAWrM,UACbqM,EAAWrM,SAASgB,EAAOkL,EAAQC,GAAY,QAYrD5U,EAAQgU,UAAUF,IAAM,SAAUP,EAAMqB,GACtC,GACIpV,GADAuV,KAEAC,EAAK7V,IAET,IAAI+G,MAAMC,QAAQoN,GAEhB,IAAK,GAAI5N,GAAI,EAAGkB,EAAM0M,EAAK1N,OAAYgB,EAAJlB,EAASA,IAC1CnG,EAAKwV,EAAGC,SAAS1B,EAAK5N,IACtBoP,EAASpO,KAAKnH,OAEX,IAAIM,EAAKyE,YAAYgP,GAG1B,IAAK,GADD2B,GAAU/V,KAAKgW,gBAAgB5B,GAC1B6B,EAAM,EAAGC,EAAO9B,EAAK+B,kBAAyBD,EAAND,EAAYA,IAAO,CAElE,IAAK,GADDvF,MACK0F,EAAM,EAAGC,EAAON,EAAQrP,OAAc2P,EAAND,EAAYA,IAAO,CAC1D,GAAIjG,GAAQ4F,EAAQK,EACpB1F,GAAKP,GAASiE,EAAKkC,SAASL,EAAKG,GAGnC/V,EAAKwV,EAAGC,SAASpF,GACjBkF,EAASpO,KAAKnH,OAEX,CAAA,KAAI+T,YAAgBhN,SAKzB,KAAM,IAAI5D,OAAM,mBAHhBnD,GAAKwV,EAAGC,SAAS1B,GACjBwB,EAASpO,KAAKnH,GAShB,MAJIuV,GAASlP,QACX1G,KAAKuV,SAAS,OAAStT,MAAO2T,GAAYH,GAGrCG,GAST/U,EAAQgU,UAAU0B,OAAS,SAAUnC,EAAMqB,GACzC,GAAIG,MACAY,KACAC,KACAZ,EAAK7V,KACLwU,EAAUqB,EAAGtB,SAEbmC,EAAc,SAAqBhG,GACrC,GAAIrQ,GAAKqQ,EAAK8D,EACVqB,GAAGvB,MAAMjU,IAEXA,EAAKwV,EAAGc,YAAYjG,GACpB8F,EAAWhP,KAAKnH,GAChBoW,EAAYjP,KAAKkJ,KAGjBrQ,EAAKwV,EAAGC,SAASpF,GACjBkF,EAASpO,KAAKnH,IAIlB,IAAI0G,MAAMC,QAAQoN,GAEhB,IAAK,GAAI5N,GAAI,EAAGkB,EAAM0M,EAAK1N,OAAYgB,EAAJlB,EAASA,IAC1CkQ,EAAYtC,EAAK5N,QAEd,IAAI7F,EAAKyE,YAAYgP,GAG1B,IAAK,GADD2B,GAAU/V,KAAKgW,gBAAgB5B,GAC1B6B,EAAM,EAAGC,EAAO9B,EAAK+B,kBAAyBD,EAAND,EAAYA,IAAO,CAElE,IAAK,GADDvF,MACK0F,EAAM,EAAGC,EAAON,EAAQrP,OAAc2P,EAAND,EAAYA,IAAO,CAC1D,GAAIjG,GAAQ4F,EAAQK,EACpB1F,GAAKP,GAASiE,EAAKkC,SAASL,EAAKG,GAGnCM,EAAYhG,OAET,CAAA,KAAI0D,YAAgBhN,SAIzB,KAAM,IAAI5D,OAAM,mBAFhBkT,GAAYtC,GAYd,MAPIwB,GAASlP,QACX1G,KAAKuV,SAAS,OAAStT,MAAO2T,GAAYH,GAExCe,EAAW9P,QACb1G,KAAKuV,SAAS,UAAYtT,MAAOuU,EAAYpC,KAAMqC,GAAehB,GAG7DG,EAASF,OAAOc,IAsCzB3V,EAAQgU,UAAU+B,IAAM,SAAUC,GAChC,GAGIxW,GAAIyW,EAAKhH,EAASsE,EAHlByB,EAAK7V,KAIL+W,EAAYpW,EAAKsH,QAAQxB,UAAU,GACtB,WAAbsQ,GAAsC,UAAbA,GAE3B1W,EAAKoG,UAAU,GACfqJ,EAAUrJ,UAAU,GACpB2N,EAAO3N,UAAU,IACK,SAAbsQ,GAETD,EAAMrQ,UAAU,GAChBqJ,EAAUrJ,UAAU,GACpB2N,EAAO3N,UAAU,KAGjBqJ,EAAUrJ,UAAU,GACpB2N,EAAO3N,UAAU,GAInB,IAAIuQ,EACJ,IAAIlH,GAAWA,EAAQkH,WAAY,CACjC,GAAIC,IAAiB,YAAa,QAAS,SAG3C,IAFAD,EAA0D,IAA7CC,EAAc1P,QAAQuI,EAAQkH,YAAoB,QAAUlH,EAAQkH,WAE7E5C,GAAQ4C,GAAcrW,EAAKsH,QAAQmM,GACrC,KAAM,IAAI5Q,OAAM,6BAA+B7C,EAAKsH,QAAQmM,GAAQ,sDAA6DtE,EAAQlI,KAAO,IAElJ,IAAkB,aAAdoP,IAA8BrW,EAAKyE,YAAYgP,GACjD,KAAM,IAAI5Q,OAAM,6EAGlBwT,GADS5C,GAC0B,aAAtBzT,EAAKsH,QAAQmM,GAAuB,YAEpC,OAIf,IAGI1D,GACAwG,EACA1Q,EACAkB,EANAE,EAAOkI,GAAWA,EAAQlI,MAAQ5H,KAAKqU,SAASzM,KAChDyN,EAASvF,GAAWA,EAAQuF,OAC5BpT,IAOJ,IAAUmE,QAAN/F,EAEFqQ,EAAOmF,EAAGsB,SAAS9W,EAAIuH,GACnByN,IAAWA,EAAO3E,KACpBA,EAAO,UAEJ,IAAWtK,QAAP0Q,EAET,IAAKtQ,EAAI,EAAGkB,EAAMoP,EAAIpQ,OAAYgB,EAAJlB,EAASA,IACrCkK,EAAOmF,EAAGsB,SAASL,EAAItQ,GAAIoB,KACtByN,GAAUA,EAAO3E,KACpBzO,EAAMuF,KAAKkJ,OAKf,KAAKwG,IAAUlX,MAAKsU,MACdtU,KAAKsU,MAAMtO,eAAekR,KAC5BxG,EAAOmF,EAAGsB,SAASD,EAAQtP,KACtByN,GAAUA,EAAO3E,KACpBzO,EAAMuF,KAAKkJ,GAYnB,IALIZ,GAAWA,EAAQsH,OAAehR,QAAN/F,GAC9BL,KAAKqX,MAAMpV,EAAO6N,EAAQsH,OAIxBtH,GAAWA,EAAQP,OAAQ,CAC7B,GAAIA,GAASO,EAAQP,MACrB,IAAUnJ,QAAN/F,EACFqQ,EAAO1Q,KAAKsX,cAAc5G,EAAMnB,OAEhC,KAAK/I,EAAI,EAAGkB,EAAMzF,EAAMyE,OAAYgB,EAAJlB,EAASA,IACvCvE,EAAMuE,GAAKxG,KAAKsX,cAAcrV,EAAMuE,GAAI+I,GAM9C,GAAkB,aAAdyH,EAA2B,CAC7B,GAAIjB,GAAU/V,KAAKgW,gBAAgB5B,EACnC,IAAUhO,QAAN/F,EAEFwV,EAAG0B,WAAWnD,EAAM2B,EAASrF,OAG7B,KAAKlK,EAAI,EAAGA,EAAIvE,EAAMyE,OAAQF,IAC5BqP,EAAG0B,WAAWnD,EAAM2B,EAAS9T,EAAMuE,GAGvC,OAAO4N,GACF,GAAkB,UAAd4C,EAAwB,CACjC,GAAIlL,KACJ,KAAKtF,EAAI,EAAGA,EAAIvE,EAAMyE,OAAQF,IAC5BsF,EAAO7J,EAAMuE,GAAGnG,IAAM4B,EAAMuE,EAE9B,OAAOsF,GAGP,GAAU1F,QAAN/F,EAEF,MAAOqQ,EAGP,IAAI0D,EAAM,CAER,IAAK5N,EAAI,EAAGkB,EAAMzF,EAAMyE,OAAYgB,EAAJlB,EAASA,IACvC4N,EAAK5M,KAAKvF,EAAMuE,GAElB,OAAO4N,GAGP,MAAOnS,IAcfpB,EAAQgU,UAAU2C,OAAS,SAAU1H,GACnC,GAIItJ,GACAkB,EACArH,EACAqQ,EACAzO,EARAmS,EAAOpU,KAAKsU,MACZe,EAASvF,GAAWA,EAAQuF,OAC5B+B,EAAQtH,GAAWA,EAAQsH,MAC3BxP,EAAOkI,GAAWA,EAAQlI,MAAQ5H,KAAKqU,SAASzM,KAMhDkP,IAEJ,IAAIzB,EAEF,GAAI+B,EAAO,CAETnV,IACA,KAAK5B,IAAM+T,GACLA,EAAKpO,eAAe3F,KACtBqQ,EAAO1Q,KAAKmX,SAAS9W,EAAIuH,GACrByN,EAAO3E,IACTzO,EAAMuF,KAAKkJ,GAOjB,KAFA1Q,KAAKqX,MAAMpV,EAAOmV,GAEb5Q,EAAI,EAAGkB,EAAMzF,EAAMyE,OAAYgB,EAAJlB,EAASA,IACvCsQ,EAAItQ,GAAKvE,EAAMuE,GAAGxG,KAAKuU,cAIzB,KAAKlU,IAAM+T,GACLA,EAAKpO,eAAe3F,KACtBqQ,EAAO1Q,KAAKmX,SAAS9W,EAAIuH,GACrByN,EAAO3E,IACToG,EAAItP,KAAKkJ,EAAK1Q,KAAKuU,gBAO3B,IAAI6C,EAAO,CAETnV,IACA,KAAK5B,IAAM+T,GACLA,EAAKpO,eAAe3F,IACtB4B,EAAMuF,KAAK4M,EAAK/T,GAMpB,KAFAL,KAAKqX,MAAMpV,EAAOmV,GAEb5Q,EAAI,EAAGkB,EAAMzF,EAAMyE,OAAYgB,EAAJlB,EAASA,IACvCsQ,EAAItQ,GAAKvE,EAAMuE,GAAGxG,KAAKuU,cAIzB,KAAKlU,IAAM+T,GACLA,EAAKpO,eAAe3F,KACtBqQ,EAAO0D,EAAK/T,GACZyW,EAAItP,KAAKkJ,EAAK1Q,KAAKuU,WAM3B,OAAOuC,IAOTjW,EAAQgU,UAAU4C,WAAa,WAC7B,MAAOzX,OAaTa,EAAQgU,UAAUxL,QAAU,SAAUC,EAAUwG,GAC9C,GAGIY,GACArQ,EAJAgV,EAASvF,GAAWA,EAAQuF,OAC5BzN,EAAOkI,GAAWA,EAAQlI,MAAQ5H,KAAKqU,SAASzM,KAChDwM,EAAOpU,KAAKsU,KAIhB,IAAIxE,GAAWA,EAAQsH,MAIrB,IAAK,GAFDnV,GAAQjC,KAAK4W,IAAI9G,GAEZtJ,EAAI,EAAGkB,EAAMzF,EAAMyE,OAAYgB,EAAJlB,EAASA,IAC3CkK,EAAOzO,EAAMuE,GACbnG,EAAKqQ,EAAK1Q,KAAKuU,UACfjL,EAASoH,EAAMrQ,OAIjB,KAAKA,IAAM+T,GACLA,EAAKpO,eAAe3F,KACtBqQ,EAAO1Q,KAAKmX,SAAS9W,EAAIuH,KACpByN,GAAUA,EAAO3E,KACpBpH,EAASoH,EAAMrQ,KAkBzBQ,EAAQgU,UAAUrG,IAAM,SAAUlF,EAAUwG,GAC1C,GAIIY,GAJA2E,EAASvF,GAAWA,EAAQuF,OAC5BzN,EAAOkI,GAAWA,EAAQlI,MAAQ5H,KAAKqU,SAASzM,KAChD8P,KACAtD,EAAOpU,KAAKsU,KAIhB,KAAK,GAAIjU,KAAM+T,GACTA,EAAKpO,eAAe3F,KACtBqQ,EAAO1Q,KAAKmX,SAAS9W,EAAIuH,KACpByN,GAAUA,EAAO3E,KACpBgH,EAAYlQ,KAAK8B,EAASoH,EAAMrQ,IAUtC,OAJIyP,IAAWA,EAAQsH,OACrBpX,KAAKqX,MAAMK,EAAa5H,EAAQsH,OAG3BM,GAUT7W,EAAQgU,UAAUyC,cAAgB,SAAU5G,EAAMnB,GAChD,IAAKmB,EAEH,MAAOA,EAGT,IAAIiH,KAEJ,IAAI5Q,MAAMC,QAAQuI,GAChB,IAAK,GAAIY,KAASO,GACZA,EAAK1K,eAAemK,IAAmC,IAAzBZ,EAAOhI,QAAQ4I,KAC/CwH,EAAaxH,GAASO,EAAKP,QAI/B,KAAK,GAAIA,KAASO,GACZA,EAAK1K,eAAemK,IAAUZ,EAAOvJ,eAAemK,KACtDwH,EAAapI,EAAOY,IAAUO,EAAKP,GAKzC,OAAOwH,IAST9W,EAAQgU,UAAUwC,MAAQ,SAAUpV,EAAOmV,GACzC,GAAIzW,EAAKgE,SAASyS,GAAQ,CAExB,GAAIQ,GAAOR,CACXnV,GAAM4V,KAAK,SAAUvR,EAAGC,GACtB,GAAIuR,GAAKxR,EAAEsR,GACPG,EAAKxR,EAAEqR,EACX,OAAOE,GAAKC,EAAK,EAASA,EAALD,EAAU,GAAK,QAEjC,CAAA,GAAqB,kBAAVV,GAOhB,KAAM,IAAIlQ,WAAU,uCALpBjF,GAAM4V,KAAKT,KAgBfvW,EAAQgU,UAAUmD,OAAS,SAAU3X,EAAIoV,GACvC,GACIjP,GACAkB,EACAuQ,EAHAC,IAKJ,IAAInR,MAAMC,QAAQ3G,GAChB,IAAKmG,EAAI,EAAGkB,EAAMrH,EAAGqG,OAAYgB,EAAJlB,EAASA,IACpCyR,EAAYjY,KAAKmY,QAAQ9X,EAAGmG,IACX,MAAbyR,GACFC,EAAW1Q,KAAKyQ,OAIpBA,GAAYjY,KAAKmY,QAAQ9X,GACR,MAAb4X,GACFC,EAAW1Q,KAAKyQ,EAQpB,OAJIC,GAAWxR,QACb1G,KAAKuV,SAAS,UAAYtT,MAAOiW,GAAczC,GAG1CyC,GASTrX,EAAQgU,UAAUsD,QAAU,SAAU9X,GACpC,GAAIM,EAAKiD,SAASvD,IAAOM,EAAKgE,SAAStE,IACrC,GAAIL,KAAKsU,MAAMjU,GAGb,aAFOL,MAAKsU,MAAMjU,GAClBL,KAAK0G,SACErG,MAEJ,IAAIA,YAAc+G,QAAQ,CAC/B,GAAI8P,GAAS7W,EAAGL,KAAKuU,SACrB,IAAI2C,GAAUlX,KAAKsU,MAAM4C,GAGvB,aAFOlX,MAAKsU,MAAM4C,GAClBlX,KAAK0G,SACEwQ,EAGX,MAAO,OAQTrW,EAAQgU,UAAUuD,MAAQ,SAAU3C,GAClC,GAAIqB,GAAM1P,OAAOmH,KAAKvO,KAAKsU,MAO3B,OALAtU,MAAKsU,SACLtU,KAAK0G,OAAS,EAEd1G,KAAKuV,SAAS,UAAYtT,MAAO6U,GAAOrB,GAEjCqB,GAQTjW,EAAQgU,UAAUvQ,IAAM,SAAU6L,GAChC,GAAIiE,GAAOpU,KAAKsU,MACZhQ,EAAM,KACN+T,EAAW,IAEf,KAAK,GAAIhY,KAAM+T,GACb,GAAIA,EAAKpO,eAAe3F,GAAK,CAC3B,GAAIqQ,GAAO0D,EAAK/T,GACZiY,EAAY5H,EAAKP,EACJ,OAAbmI,KAAuBhU,GAAOgU,EAAYD,KAC5C/T,EAAMoM,EACN2H,EAAWC,GAKjB,MAAOhU,IAQTzD,EAAQgU,UAAUxQ,IAAM,SAAU8L,GAChC,GAAIiE,GAAOpU,KAAKsU,MACZjQ,EAAM,KACNkU,EAAW,IAEf,KAAK,GAAIlY,KAAM+T,GACb,GAAIA,EAAKpO,eAAe3F,GAAK,CAC3B,GAAIqQ,GAAO0D,EAAK/T,GACZiY,EAAY5H,EAAKP,EACJ,OAAbmI,KAAuBjU,GAAmBkU,EAAZD,KAChCjU,EAAMqM,EACN6H,EAAWD,GAKjB,MAAOjU,IAUTxD,EAAQgU,UAAU2D,SAAW,SAAUrI,GACrC,GAII3J,GAJA4N,EAAOpU,KAAKsU,MACZmE,KACAC,EAAY1Y,KAAKqU,SAASzM,MAAQ5H,KAAKqU,SAASzM,KAAKuI,IAAU,KAC/DwI,EAAQ,CAGZ,KAAK,GAAI5S,KAAQqO,GACf,GAAIA,EAAKpO,eAAeD,GAAO,CAC7B,GAAI2K,GAAO0D,EAAKrO,GACZvB,EAAQkM,EAAKP,GACbyI,GAAS,CACb,KAAKpS,EAAI,EAAOmS,EAAJnS,EAAWA,IACrB,GAAIiS,EAAOjS,IAAMhC,EAAO,CACtBoU,GAAS,CACT,OAGCA,GAAoBxS,SAAV5B,IACbiU,EAAOE,GAASnU,EAChBmU,KAKN,GAAID,EACF,IAAKlS,EAAI,EAAGA,EAAIiS,EAAO/R,OAAQF,IAC7BiS,EAAOjS,GAAK7F,EAAKgH,QAAQ8Q,EAAOjS,GAAIkS,EAIxC,OAAOD,IAST5X,EAAQgU,UAAUiB,SAAW,SAAUpF,GACrC,GAAIrQ,GAAKqQ,EAAK1Q,KAAKuU,SAEnB,IAAUnO,QAAN/F,GAEF,GAAIL,KAAKsU,MAAMjU,GAEb,KAAM,IAAImD,OAAM,iCAAmCnD,EAAK,uBAI1DA,GAAKM,EAAK6E,aACVkL,EAAK1Q,KAAKuU,UAAYlU,CAGxB,IAAIyN,KACJ,KAAK,GAAIqC,KAASO,GAChB,GAAIA,EAAK1K,eAAemK,GAAQ,CAC9B,GAAIuI,GAAY1Y,KAAKyU,MAAMtE,EAC3BrC,GAAEqC,GAASxP,EAAKgH,QAAQ+I,EAAKP,GAAQuI,GAMzC,MAHA1Y,MAAKsU,MAAMjU,GAAMyN,EACjB9N,KAAK0G,SAEErG,GAUTQ,EAAQgU,UAAUsC,SAAW,SAAU9W,EAAIwY,GACzC,GAAI1I,GAAO3L,EAGPsU,EAAM9Y,KAAKsU,MAAMjU,EACrB,KAAKyY,EACH,MAAO,KAIT,IAAIC,KACJ,IAAIF,EACF,IAAK1I,IAAS2I,GACRA,EAAI9S,eAAemK,KACrB3L,EAAQsU,EAAI3I,GACZ4I,EAAU5I,GAASxP,EAAKgH,QAAQnD,EAAOqU,EAAM1I,SAKjD,KAAKA,IAAS2I,GACRA,EAAI9S,eAAemK,KACrB3L,EAAQsU,EAAI3I,GACZ4I,EAAU5I,GAAS3L,EAIzB,OAAOuU,IAWTlY,EAAQgU,UAAU8B,YAAc,SAAUjG,GACxC,GAAIrQ,GAAKqQ,EAAK1Q,KAAKuU,SACnB,IAAUnO,QAAN/F,EACF,KAAM,IAAImD,OAAM,6CAA+CwV,KAAKC,UAAUvI,GAAQ,IAExF,IAAI5C,GAAI9N,KAAKsU,MAAMjU,EACnB,KAAKyN,EAEH,KAAM,IAAItK,OAAM,uCAAyCnD,EAAK,SAIhE,KAAK,GAAI8P,KAASO,GAChB,GAAIA,EAAK1K,eAAemK,GAAQ,CAC9B,GAAIuI,GAAY1Y,KAAKyU,MAAMtE,EAC3BrC,GAAEqC,GAASxP,EAAKgH,QAAQ+I,EAAKP,GAAQuI,GAIzC,MAAOrY,IASTQ,EAAQgU,UAAUmB,gBAAkB,SAAUkD,GAE5C,IAAK,GADDnD,MACKK,EAAM,EAAGC,EAAO6C,EAAUC,qBAA4B9C,EAAND,EAAYA,IACnEL,EAAQK,GAAO8C,EAAUE,YAAYhD,IAAQ8C,EAAUG,eAAejD,EAExE,OAAOL,IAUTlV,EAAQgU,UAAU0C,WAAa,SAAU2B,EAAWnD,EAASrF,GAG3D,IAAK,GAFDuF,GAAMiD,EAAUI,SAEXlD,EAAM,EAAGC,EAAON,EAAQrP,OAAc2P,EAAND,EAAYA,IAAO,CAC1D,GAAIjG,GAAQ4F,EAAQK,EACpB8C,GAAUK,SAAStD,EAAKG,EAAK1F,EAAKP,MAItCtQ,EAAOD,QAAUiB,GAIb,SAAShB,EAAQD,EAASM,GAiB9B,QAASY,GAASsT,EAAMtE,GACtB9P,KAAKsU,MAAQ,KACbtU,KAAKwZ,QACLxZ,KAAK0G,OAAS,EACd1G,KAAKqU,SAAWvE,MAChB9P,KAAKuU,SAAW,KAChBvU,KAAK0U,eAEL,IAAImB,GAAK7V,IACTA,MAAK8J,SAAW,WACd+L,EAAG4D,SAASC,MAAM7D,EAAIpP,YAGxBzG,KAAK2Z,QAAQvF,GA1Bf,GAAIzT,GAAOT,EAAoB,GAC3BW,EAAUX,EAAoB,EAmClCY,GAAS+T,UAAU8E,QAAU,SAAUvF,GACrC,GAAI0C,GAAKtQ,EAAGkB,CAEZ,IAAI1H,KAAKsU,MAAO,CAEVtU,KAAKsU,MAAMgB,aACbtV,KAAKsU,MAAMgB,YAAY,IAAKtV,KAAK8J,UAInCgN,IACA,KAAK,GAAIzW,KAAML,MAAKwZ,KACdxZ,KAAKwZ,KAAKxT,eAAe3F,IAC3ByW,EAAItP,KAAKnH,EAGbL,MAAKwZ,QACLxZ,KAAK0G,OAAS,EACd1G,KAAKuV,SAAS,UAAYtT,MAAO6U,IAKnC,GAFA9W,KAAKsU,MAAQF,EAETpU,KAAKsU,MAAO,CAMd,IAJAtU,KAAKuU,SAAWvU,KAAKqU,SAASG,SAAWxU,KAAKsU,OAAStU,KAAKsU,MAAMxE,SAAW9P,KAAKsU,MAAMxE,QAAQ0E,SAAW,KAG3GsC,EAAM9W,KAAKsU,MAAMkD,QAASnC,OAAQrV,KAAKqU,UAAYrU,KAAKqU,SAASgB,SAC5D7O,EAAI,EAAGkB,EAAMoP,EAAIpQ,OAAYgB,EAAJlB,EAASA,IACrCnG,EAAKyW,EAAItQ,GACTxG,KAAKwZ,KAAKnZ,IAAM,CAElBL,MAAK0G,OAASoQ,EAAIpQ,OAClB1G,KAAKuV,SAAS,OAAStT,MAAO6U,IAG1B9W,KAAKsU,MAAMW,IACbjV,KAAKsU,MAAMW,GAAG,IAAKjV,KAAK8J,YAS9BhJ,EAAS+T,UAAU+E,QAAU,WAQ3B,IAAK,GAPDvZ,GACAyW,EAAM9W,KAAKsU,MAAMkD,QAASnC,OAAQrV,KAAKqU,UAAYrU,KAAKqU,SAASgB,SACjEwE,KACAC,KACAC,KAGKvT,EAAI,EAAGA,EAAIsQ,EAAIpQ,OAAQF,IAC9BnG,EAAKyW,EAAItQ,GACTqT,EAAOxZ,IAAM,EACRL,KAAKwZ,KAAKnZ,KACbyZ,EAAMtS,KAAKnH,GACXL,KAAKwZ,KAAKnZ,IAAM,EAChBL,KAAK0G,SAKT,KAAKrG,IAAML,MAAKwZ,KACVxZ,KAAKwZ,KAAKxT,eAAe3F,KACtBwZ,EAAOxZ,KACV0Z,EAAQvS,KAAKnH,SACNL,MAAKwZ,KAAKnZ,GACjBL,KAAK0G,UAMPoT,GAAMpT,QACR1G,KAAKuV,SAAS,OAAStT,MAAO6X,IAE5BC,EAAQrT,QACV1G,KAAKuV,SAAS,UAAYtT,MAAO8X,KAsCrCjZ,EAAS+T,UAAU+B,IAAM,SAAUC,GACjC,GAGIC,GAAKhH,EAASsE,EAHdyB,EAAK7V,KAIL+W,EAAYpW,EAAKsH,QAAQxB,UAAU,GACtB,WAAbsQ,GAAsC,UAAbA,GAAsC,SAAbA,GAEpDD,EAAMrQ,UAAU,GAChBqJ,EAAUrJ,UAAU,GACpB2N,EAAO3N,UAAU,KAGjBqJ,EAAUrJ,UAAU,GACpB2N,EAAO3N,UAAU,GAInB,IAAIuT,GAAcrZ,EAAKiG,UAAW5G,KAAKqU,SAAUvE,EAG7C9P,MAAKqU,SAASgB,QAAUvF,GAAWA,EAAQuF,SAC7C2E,EAAY3E,OAAS,SAAU3E,GAC7B,MAAOmF,GAAGxB,SAASgB,OAAO3E,IAASZ,EAAQuF,OAAO3E,IAKtD,IAAIuJ,KAOJ,OANW7T,SAAP0Q,GACFmD,EAAazS,KAAKsP,GAEpBmD,EAAazS,KAAKwS,GAClBC,EAAazS,KAAK4M,GAEXpU,KAAKsU,OAAStU,KAAKsU,MAAMsC,IAAI8C,MAAM1Z,KAAKsU,MAAO2F,IAWxDnZ,EAAS+T,UAAU2C,OAAS,SAAU1H,GACpC,GAAIgH,EAEJ,IAAI9W,KAAKsU,MAAO,CACd,GACIe,GADA6E,EAAgBla,KAAKqU,SAASgB,MAK9BA,GAFAvF,GAAWA,EAAQuF,OACjB6E,EACO,SAAUxJ,GACjB,MAAOwJ,GAAcxJ,IAASZ,EAAQuF,OAAO3E,IAGtCZ,EAAQuF,OAGV6E,EAGXpD,EAAM9W,KAAKsU,MAAMkD,QACfnC,OAAQA,EACR+B,MAAOtH,GAAWA,EAAQsH,YAG5BN,KAGF,OAAOA,IAQThW,EAAS+T,UAAU4C,WAAa,WAE9B,IADA,GAAI0C,GAAUna,KACPma,YAAmBrZ,IACxBqZ,EAAUA,EAAQ7F,KAEpB,OAAO6F,IAAW,MAYpBrZ,EAAS+T,UAAU4E,SAAW,SAAUnP,EAAOkL,EAAQC,GACrD,GAAIjP,GAAGkB,EAAKrH,EAAIqQ,EACZoG,EAAMtB,GAAUA,EAAOvT,MACvBmS,EAAOpU,KAAKsU,MACZmC,KACAqD,KACAM,KACAL,IAEJ,IAAIjD,GAAO1C,EAAM,CACf,OAAQ9J,GACN,IAAK,MAEH,IAAK9D,EAAI,EAAGkB,EAAMoP,EAAIpQ,OAAYgB,EAAJlB,EAASA,IACrCnG,EAAKyW,EAAItQ,GACTkK,EAAO1Q,KAAK4W,IAAIvW,GACZqQ,IACF1Q,KAAKwZ,KAAKnZ,IAAM,EAChByZ,EAAMtS,KAAKnH,GAIf,MAEF,KAAK,SAGH,IAAKmG,EAAI,EAAGkB,EAAMoP,EAAIpQ,OAAYgB,EAAJlB,EAASA,IACrCnG,EAAKyW,EAAItQ,GACTkK,EAAO1Q,KAAK4W,IAAIvW,GAEZqQ,EACE1Q,KAAKwZ,KAAKnZ,IACZ+Z,EAAQ5S,KAAKnH,GACboW,EAAYjP,KAAKgO,EAAOpB,KAAK5N,MAE7BxG,KAAKwZ,KAAKnZ,IAAM,EAChByZ,EAAMtS,KAAKnH,IAGTL,KAAKwZ,KAAKnZ,WACLL,MAAKwZ,KAAKnZ,GACjB0Z,EAAQvS,KAAKnH,GAKnB,MAEF,KAAK,SAEH,IAAKmG,EAAI,EAAGkB,EAAMoP,EAAIpQ,OAAYgB,EAAJlB,EAASA,IACrCnG,EAAKyW,EAAItQ,GACLxG,KAAKwZ,KAAKnZ,WACLL,MAAKwZ,KAAKnZ,GACjB0Z,EAAQvS,KAAKnH,IAOrBL,KAAK0G,QAAUoT,EAAMpT,OAASqT,EAAQrT,OAElCoT,EAAMpT,QACR1G,KAAKuV,SAAS,OAAStT,MAAO6X,GAASrE,GAErC2E,EAAQ1T,QACV1G,KAAKuV,SAAS,UAAYtT,MAAOmY,EAAShG,KAAMqC,GAAehB,GAE7DsE,EAAQrT,QACV1G,KAAKuV,SAAS,UAAYtT,MAAO8X,GAAWtE,KAMlD3U,EAAS+T,UAAUI,GAAKpU,EAAQgU,UAAUI,GAC1CnU,EAAS+T,UAAUO,IAAMvU,EAAQgU,UAAUO,IAC3CtU,EAAS+T,UAAUU,SAAW1U,EAAQgU,UAAUU,SAGhDzU,EAAS+T,UAAUM,UAAYrU,EAAS+T,UAAUI,GAClDnU,EAAS+T,UAAUS,YAAcxU,EAAS+T,UAAUO,IAEpDvV,EAAOD,QAAUkB,GAMb,SAASjB,EAAQD,EAASM,GAiB9B,QAASa,GAAM+O,GAEb9P,KAAKqa,MAAQ,KACbra,KAAKsE,IAAMgW,EAAAA,EAGXta,KAAK+U,UACL/U,KAAKua,SAAW,KAChBva,KAAKwa,UAAY,KAEjBxa,KAAK4U,WAAW9E,GAgBlB/O,EAAM8T,UAAUD,WAAa,SAAU9E,GACjCA,GAAoC,mBAAlBA,GAAQuK,QAC5Bra,KAAKqa,MAAQvK,EAAQuK,OAEnBvK,GAAkC,mBAAhBA,GAAQxL,MAC5BtE,KAAKsE,IAAMwL,EAAQxL,KAGrBtE,KAAKya,kBAsBP1Z,EAAM6F,OAAS,SAAU/C,EAAQiM,GAC/B,GAAIgF,GAAQ,GAAI/T,GAAM+O,EAEtB,IAAqB1J,SAAjBvC,EAAO6W,MACT,KAAM,IAAIlX,OAAM,6CAElBK,GAAO6W,MAAQ,WACb5F,EAAM4F,QAGR,IAAIC,KACF/C,KAAM,QACNgD,SAAUxU,QAGZ,IAAI0J,GAAWA,EAAQnE,QACrB,IAAK,GAAInF,GAAI,EAAGA,EAAIsJ,EAAQnE,QAAQjF,OAAQF,IAAK,CAC/C,GAAIoR,GAAO9H,EAAQnE,QAAQnF,EAC3BmU,GAAQnT,MACNoQ,KAAMA,EACNgD,SAAU/W,EAAO+T,KAEnB9C,EAAMnJ,QAAQ9H,EAAQ+T,GAS1B,MALA9C,GAAM0F,WACJ3W,OAAQA,EACR8W,QAASA,GAGJ7F,GAOT/T,EAAM8T,UAAUG,QAAU,WAGxB,GAFAhV,KAAK0a,QAED1a,KAAKwa,UAAW,CAGlB,IAAK,GAFD3W,GAAS7D,KAAKwa,UAAU3W,OACxB8W,EAAU3a,KAAKwa,UAAUG,QACpBnU,EAAI,EAAGA,EAAImU,EAAQjU,OAAQF,IAAK,CACvC,GAAIqU,GAASF,EAAQnU,EACjBqU,GAAOD,SACT/W,EAAOgX,EAAOjD,MAAQiD,EAAOD,eAEtB/W,GAAOgX,EAAOjD,MAGzB5X,KAAKwa,UAAY,OASrBzZ,EAAM8T,UAAUlJ,QAAU,SAAU9H,EAAQgX,GAC1C,GAAIhF,GAAK7V,KACL4a,EAAW/W,EAAOgX,EACtB,KAAKD,EACH,KAAM,IAAIpX,OAAM,UAAYqX,EAAS,aAGvChX,GAAOgX,GAAU,WAGf,IAAK,GADDhE,MACKrQ,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IACpCqQ,EAAKrQ,GAAKC,UAAUD,EAItBqP,GAAGf,OACD+B,KAAMA,EACNiE,GAAIF,EACJG,QAAS/a,SASfe,EAAM8T,UAAUC,MAAQ,SAAUkG,GAE9Bhb,KAAK+U,OAAOvN,KADO,kBAAVwT,IACUF,GAAIE,GAENA,GAGnBhb,KAAKya,kBAOP1Z,EAAM8T,UAAU4F,eAAiB,WAQ/B,GANIza,KAAK+U,OAAOrO,OAAS1G,KAAKsE,KAC5BtE,KAAK0a,QAIPO,aAAajb,KAAKua,UACdva,KAAK8U,MAAMpO,OAAS,GAA2B,gBAAf1G,MAAKqa,MAAoB,CAC3D,GAAIxE,GAAK7V,IACTA,MAAKua,SAAWW,WAAW,WACzBrF,EAAG6E,SACF1a,KAAKqa,SAOZtZ,EAAM8T,UAAU6F,MAAQ,WACtB,KAAO1a,KAAK+U,OAAOrO,OAAS,GAAG,CAC7B,GAAIsU,GAAQhb,KAAK+U,OAAOrC,OACxBsI,GAAMF,GAAGpB,MAAMsB,EAAMD,SAAWC,EAAMF,GAAIE,EAAMnE,YAIpDhX,EAAOD,QAAUmB,GAIb,SAASlB,EAAQD,EAASM,GA0B9B,QAASc,GAAQma,EAAW/G,EAAMtE,GAChC,KAAM9P,eAAgBgB,IACpB,KAAM,IAAIoa,aAAY,mDAIxBpb,MAAKqb,iBAAmBF,EACxBnb,KAAKiU,MAAQ,QACbjU,KAAKkU,OAAS,QACdlU,KAAKsb,OAAS,GACdtb,KAAKub,eAAiB,MACtBvb,KAAKwb,eAAiB,MAEtBxb,KAAKyb,OAAS,IACdzb,KAAK0b,OAAS,IACd1b,KAAK2b,OAAS,GAEd,IAAIC,GAAc,SAAqB1O,GACrC,MAAOA,GAETlN,MAAK6b,YAAcD,EACnB5b,KAAK8b,YAAcF,EACnB5b,KAAK+b,YAAcH,EAEnB5b,KAAKgc,YAAc,OACnBhc,KAAKic,YAAc,QAEnBjc,KAAKoO,MAAQpN,EAAQkb,MAAMC,IAC3Bnc,KAAKoc,iBAAkB,EACvBpc,KAAKqc,UAAW,EAChBrc,KAAKsc,iBAAkB,EACvBtc,KAAKuc,YAAa,EAClBvc,KAAKwc,gBAAiB,EACtBxc,KAAKyc,aAAc,EACnBzc,KAAK0c,cAAgB,GAErB1c,KAAK2c,kBAAoB,IACzB3c,KAAK4c,kBAAmB,EAExB5c,KAAK6c,OAAS,GAAI3b,GAClBlB,KAAK8c,IAAM,GAAIzb,GAAQ,EAAG,EAAG,IAE7BrB,KAAKkZ,UAAY,KACjBlZ,KAAK+c,WAAa,KAGlB/c,KAAKgd,KAAO5W,OACZpG,KAAKid,KAAO7W,OACZpG,KAAKkd,KAAO9W,OACZpG,KAAKmd,SAAW/W,OAChBpG,KAAKod,UAAYhX,OAEjBpG,KAAKqd,KAAO,EACZrd,KAAKsd,MAAQlX,OACbpG,KAAKud,KAAO,EACZvd,KAAKwd,KAAO,EACZxd,KAAKyd,MAAQrX,OACbpG,KAAK0d,KAAO,EACZ1d,KAAK2d,KAAO,EACZ3d,KAAK4d,MAAQxX,OACbpG,KAAK6d,KAAO,EACZ7d,KAAK8d,SAAW,EAChB9d,KAAK+d,SAAW,EAChB/d,KAAKge,UAAY,EACjBhe,KAAKie,UAAY,EAIjBje,KAAKke,UAAY,UACjBle,KAAKme,UAAY,UACjBne,KAAKoe,SAAW,UAChBpe,KAAKqe,eAAiB,UAGtBre,KAAK0P,SAGL1P,KAAK4U,WAAW9E,GAGZsE,GACFpU,KAAK2Z,QAAQvF,GA0iEjB,QAASkK,GAAUhU,GACjB,MAAI,WAAaA,GACRA,EAAMiU,QACPjU,EAAMkU,cAAc,IAAMlU,EAAMkU,cAAc,GAAGD,SAAW,EAQtE,QAASE,GAAUnU,GACjB,MAAI,WAAaA,GACRA,EAAMoU,QACPpU,EAAMkU,cAAc,IAAMlU,EAAMkU,cAAc,GAAGE,SAAW,EA/pEtE,GAAIC,GAAUze,EAAoB,IAC9BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BS,EAAOT,EAAoB,GAC3BmB,EAAUnB,EAAoB,IAC9BkB,EAAUlB,EAAoB,GAC9BgB,EAAShB,EAAoB,GAC7BiB,EAASjB,EAAoB,GAC7BoB,EAASpB,EAAoB,IAC7BqB,EAAarB,EAAoB,GAmGrCye,GAAQ3d,EAAQ6T,WAKhB7T,EAAQ6T,UAAU+J,UAAY,WAC5B5e,KAAKyE,MAAQ,GAAIpD,GAAQ,GAAKrB,KAAKud,KAAOvd,KAAKqd,MAAO,GAAKrd,KAAK0d,KAAO1d,KAAKwd,MAAO,GAAKxd,KAAK6d,KAAO7d,KAAK2d,OAGrG3d,KAAKsc,kBACHtc,KAAKyE,MAAM0O,EAAInT,KAAKyE,MAAM2O,EAE5BpT,KAAKyE,MAAM2O,EAAIpT,KAAKyE,MAAM0O,EAG1BnT,KAAKyE,MAAM0O,EAAInT,KAAKyE,MAAM2O,GAK9BpT,KAAKyE,MAAMoa,GAAK7e,KAAK0c,cAIrB1c,KAAKyE,MAAMD,MAAQ,GAAKxE,KAAK+d,SAAW/d,KAAK8d,SAG7C,IAAIgB,IAAW9e,KAAKud,KAAOvd,KAAKqd,MAAQ,EAAIrd,KAAKyE,MAAM0O,EACnD4L,GAAW/e,KAAK0d,KAAO1d,KAAKwd,MAAQ,EAAIxd,KAAKyE,MAAM2O,EACnD4L,GAAWhf,KAAK6d,KAAO7d,KAAK2d,MAAQ,EAAI3d,KAAKyE,MAAMoa,CACvD7e,MAAK6c,OAAOoC,eAAeH,EAASC,EAASC,IAS/Che,EAAQ6T,UAAUqK,eAAiB,SAAUC,GAC3C,GAAIC,GAAcpf,KAAKqf,2BAA2BF,EAClD,OAAOnf,MAAKsf,4BAA4BF,IAW1Cpe,EAAQ6T,UAAUwK,2BAA6B,SAAUF,GACvD,GAAII,GAAKJ,EAAQhM,EAAInT,KAAKyE,MAAM0O,EAC5BqM,EAAKL,EAAQ/L,EAAIpT,KAAKyE,MAAM2O,EAC5BqM,EAAKN,EAAQN,EAAI7e,KAAKyE,MAAMoa,EAC5Ba,EAAK1f,KAAK6c,OAAO8C,oBAAoBxM,EACrCyM,EAAK5f,KAAK6c,OAAO8C,oBAAoBvM,EACrCyM,EAAK7f,KAAK6c,OAAO8C,oBAAoBd,EAGzCiB,EAAQpb,KAAKqb,IAAI/f,KAAK6c,OAAOmD,oBAAoB7M,GAC7C8M,EAAQvb,KAAKwb,IAAIlgB,KAAK6c,OAAOmD,oBAAoB7M,GACjDgN,EAAQzb,KAAKqb,IAAI/f,KAAK6c,OAAOmD,oBAAoB5M,GACjDgN,EAAQ1b,KAAKwb,IAAIlgB,KAAK6c,OAAOmD,oBAAoB5M,GACjDiN,EAAQ3b,KAAKqb,IAAI/f,KAAK6c,OAAOmD,oBAAoBnB,GACjDyB,EAAQ5b,KAAKwb,IAAIlgB,KAAK6c,OAAOmD,oBAAoBnB,GAGrD0B,EAAKH,GAASC,GAASb,EAAKI,GAAMU,GAASf,EAAKG,IAAOS,GAASV,EAAKI,GACjEW,EAAKV,GAASM,GAASX,EAAKI,GAAMM,GAASE,GAASb,EAAKI,GAAMU,GAASf,EAAKG,KAAQO,GAASK,GAASd,EAAKI,GAAMS,GAASd,EAAKG,IAChIe,EAAKR,GAASG,GAASX,EAAKI,GAAMM,GAASE,GAASb,EAAKI,GAAMU,GAASf,EAAKG,KAAQI,GAASQ,GAASd,EAAKI,GAAMS,GAASd,EAAKG,GAEpI,OAAO,IAAIre,GAAQkf,EAAIC,EAAIC,IAU7Bzf,EAAQ6T,UAAUyK,4BAA8B,SAAUF,GACxD,GAQIsB,GACAC,EATAC,EAAK5gB,KAAK8c,IAAI3J,EACd0N,EAAK7gB,KAAK8c,IAAI1J,EACd0N,EAAK9gB,KAAK8c,IAAI+B,EACd0B,EAAKnB,EAAYjM,EACjBqN,EAAKpB,EAAYhM,EACjBqN,EAAKrB,EAAYP,CAerB,OAVI7e,MAAKoc,iBACPsE,GAAMH,EAAKK,IAAOE,EAAKL,GACvBE,GAAMH,EAAKK,IAAOC,EAAKL,KAEvBC,EAAKH,IAAOO,EAAK9gB,KAAK6c,OAAOkE,gBAC7BJ,EAAKH,IAAOM,EAAK9gB,KAAK6c,OAAOkE,iBAKxB,GAAI3f,GAAQpB,KAAKghB,QAAUN,EAAK1gB,KAAKihB,MAAMC,OAAOC,YAAanhB,KAAKohB,QAAUT,EAAK3gB,KAAKihB,MAAMC,OAAOC,cAO9GngB,EAAQ6T,UAAUwM,oBAAsB,SAAUC,GAChD,GAAIC,GAAO,QACPC,EAAS,OACTC,EAAc,CAElB,IAA+B,gBAApBH,GACTC,EAAOD,EACPE,EAAS,OACTC,EAAc,MACT,IAA+B,gBAApBH,GACalb,SAAzBkb,EAAgBC,OAAoBA,EAAOD,EAAgBC,MAChCnb,SAA3Bkb,EAAgBE,SAAsBA,EAASF,EAAgBE,QAC/Bpb,SAAhCkb,EAAgBG,cAA2BA,EAAcH,EAAgBG,iBACxE,IAAwBrb,SAApBkb,EACT,KAAM,qCAGRthB,MAAKihB,MAAM7S,MAAMkT,gBAAkBC,EACnCvhB,KAAKihB,MAAM7S,MAAMsT,YAAcF,EAC/BxhB,KAAKihB,MAAM7S,MAAMuT,YAAcF,EAAc,KAC7CzhB,KAAKihB,MAAM7S,MAAMwT,YAAc,SAIjC5gB,EAAQkb,OACN2F,IAAK,EACLC,SAAU,EACVC,QAAS,EACT5F,IAAK,EACL6F,QAAS,EACTC,SAAU,EACVC,QAAS,EACTC,KAAM,EACNC,KAAM,EACNC,QAAS,GASXrhB,EAAQ6T,UAAUyN,gBAAkB,SAAUC,GAC5C,OAAQA,GACN,IAAK,MACH,MAAOvhB,GAAQkb,MAAMC,GACvB,KAAK,WACH,MAAOnb,GAAQkb,MAAM8F,OACvB,KAAK,YACH,MAAOhhB,GAAQkb,MAAM+F,QACvB,KAAK,WACH,MAAOjhB,GAAQkb,MAAMgG,OACvB,KAAK,OACH,MAAOlhB,GAAQkb,MAAMkG,IACvB,KAAK,OACH,MAAOphB,GAAQkb,MAAMiG,IACvB,KAAK,UACH,MAAOnhB,GAAQkb,MAAMmG,OACvB,KAAK,MACH,MAAOrhB,GAAQkb,MAAM2F,GACvB,KAAK,YACH,MAAO7gB,GAAQkb,MAAM4F,QACvB,KAAK,WACH,MAAO9gB,GAAQkb,MAAM6F,QAGzB,MAAO,IAQT/gB,EAAQ6T,UAAU2N,wBAA0B,SAAUpO,EAAMhG,GAC1D,GAAIpO,KAAKoO,QAAUpN,EAAQkb,MAAMC,KAAOnc,KAAKoO,QAAUpN,EAAQkb,MAAM8F,SAAWhiB,KAAKoO,QAAUpN,EAAQkb,MAAMkG,MAAQpiB,KAAKoO,QAAUpN,EAAQkb,MAAMiG,MAAQniB,KAAKoO,QAAUpN,EAAQkb,MAAMmG,SAAWriB,KAAKoO,QAAUpN,EAAQkb,MAAM2F,IAE7N7hB,KAAKgd,KAAO,EACZhd,KAAKid,KAAO,EACZjd,KAAKkd,KAAO,EACZld,KAAKmd,SAAW/W,OAEZgO,EAAK+E,qBAAuB,IAC9BnZ,KAAKod,UAAY,OAEd,CAAA,GAAIpd,KAAKoO,QAAUpN,EAAQkb,MAAM+F,UAAYjiB,KAAKoO,QAAUpN,EAAQkb,MAAMgG,SAAWliB,KAAKoO,QAAUpN,EAAQkb,MAAM4F,UAAY9hB,KAAKoO,QAAUpN,EAAQkb,MAAM6F,QAWhK,KAAM,kBAAoB/hB,KAAKoO,MAAQ,GATvCpO,MAAKgd,KAAO,EACZhd,KAAKid,KAAO,EACZjd,KAAKkd,KAAO;AACZld,KAAKmd,SAAW,EAEZ/I,EAAK+E,qBAAuB,IAC9BnZ,KAAKod,UAAY,KAOvBpc,EAAQ6T,UAAUsB,gBAAkB,SAAU/B,GAC5C,MAAOA,GAAK1N,QAGd1F,EAAQ6T,UAAUsE,mBAAqB,SAAU/E,GAC/C,GAAIqO,GAAU,CACd,KAAK,GAAIC,KAAUtO,GAAK,GAClBA,EAAK,GAAGpO,eAAe0c,IACzBD,GAGJ,OAAOA,IAGTzhB,EAAQ6T,UAAU8N,kBAAoB,SAAUvO,EAAMsO,GAEpD,IAAK,GADDE,MACKpc,EAAI,EAAGA,EAAI4N,EAAK1N,OAAQF,IACgB,IAA3Coc,EAAerb,QAAQ6M,EAAK5N,GAAGkc,KACjCE,EAAepb,KAAK4M,EAAK5N,GAAGkc,GAGhC,OAAOE,IAGT5hB,EAAQ6T,UAAUgO,eAAiB,SAAUzO,EAAMsO,GAEjD,IAAK,GADDI,IAAWze,IAAK+P,EAAK,GAAGsO,GAASpe,IAAK8P,EAAK,GAAGsO,IACzClc,EAAI,EAAGA,EAAI4N,EAAK1N,OAAQF,IAC3Bsc,EAAOze,IAAM+P,EAAK5N,GAAGkc,KACvBI,EAAOze,IAAM+P,EAAK5N,GAAGkc,IAEnBI,EAAOxe,IAAM8P,EAAK5N,GAAGkc,KACvBI,EAAOxe,IAAM8P,EAAK5N,GAAGkc,GAGzB,OAAOI,IAST9hB,EAAQ6T,UAAUkO,gBAAkB,SAAUC,EAAS5U,GACrD,GAAIyH,GAAK7V,IAOT,IAJIA,KAAKma,SACPna,KAAKma,QAAQ/E,IAAI,IAAKpV,KAAKijB,WAGb7c,SAAZ4c,EAAJ,CAEIjc,MAAMC,QAAQgc,KAChBA,EAAU,GAAIniB,GAAQmiB,GAGxB,IAAI5O,EACJ,MAAI4O,YAAmBniB,IAAWmiB,YAAmBliB,IAGnD,KAAM,IAAI0C,OAAM,uCAGlB,IALE4Q,EAAO4O,EAAQpM,MAKE,GAAfxC,EAAK1N,OAAT,CAEA1G,KAAKma,QAAU6I,EACfhjB,KAAKkZ,UAAY9E,EAGjBpU,KAAKijB,UAAY,WACfpN,EAAG8D,QAAQ9D,EAAGsE,UAEhBna,KAAKma,QAAQlF,GAAG,IAAKjV,KAAKijB,WAS1BjjB,KAAKgd,KAAO,IACZhd,KAAKid,KAAO,IACZjd,KAAKkd,KAAO,IACZld,KAAKmd,SAAW,QAChBnd,KAAKod,UAAY,SAGbhJ,EAAK,GAAGpO,eAAe,WACDI,SAApBpG,KAAKkjB,aACPljB,KAAKkjB,WAAa,GAAI/hB,GAAO6hB,EAAShjB,KAAKod,UAAWpd,MACtDA,KAAKkjB,WAAWC,kBAAkB,WAChCtN,EAAGuN,WAKT,IAAIC,GAAWrjB,KAAKoO,OAASpN,EAAQkb,MAAM2F,KAAO7hB,KAAKoO,OAASpN,EAAQkb,MAAM4F,UAAY9hB,KAAKoO,OAASpN,EAAQkb,MAAM6F,OAGtH,IAAIsB,EAAU,CACZ,GAA8Bjd,SAA1BpG,KAAKsjB,iBACPtjB,KAAKge,UAAYhe,KAAKsjB,qBACjB,CACL,GAAIC,GAAQvjB,KAAK2iB,kBAAkBvO,EAAMpU,KAAKgd,KAC9Chd,MAAKge,UAAYuF,EAAM,GAAKA,EAAM,IAAM,EAG1C,GAA8Bnd,SAA1BpG,KAAKwjB,iBACPxjB,KAAKie,UAAYje,KAAKwjB,qBACjB,CACL,GAAIC,GAAQzjB,KAAK2iB,kBAAkBvO,EAAMpU,KAAKid,KAC9Cjd,MAAKie,UAAYwF,EAAM,GAAKA,EAAM,IAAM,GAK5C,GAAIC,GAAS1jB,KAAK6iB,eAAezO,EAAMpU,KAAKgd,KACxCqG,KACFK,EAAOrf,KAAOrE,KAAKge,UAAY,EAC/B0F,EAAOpf,KAAOtE,KAAKge,UAAY,GAEjChe,KAAKqd,KAA4BjX,SAArBpG,KAAK2jB,YAA4B3jB,KAAK2jB,YAAcD,EAAOrf,IACvErE,KAAKud,KAA4BnX,SAArBpG,KAAK4jB,YAA4B5jB,KAAK4jB,YAAcF,EAAOpf,IACnEtE,KAAKud,MAAQvd,KAAKqd,OAAMrd,KAAKud,KAAOvd,KAAKqd,KAAO,GACpDrd,KAAKsd,MAA8BlX,SAAtBpG,KAAK6jB,aAA6B7jB,KAAK6jB,cAAgB7jB,KAAKud,KAAOvd,KAAKqd,MAAQ,CAE7F,IAAIyG,GAAS9jB,KAAK6iB,eAAezO,EAAMpU,KAAKid,KACxCoG,KACFS,EAAOzf,KAAOrE,KAAKie,UAAY,EAC/B6F,EAAOxf,KAAOtE,KAAKie,UAAY,GAEjCje,KAAKwd,KAA4BpX,SAArBpG,KAAK+jB,YAA4B/jB,KAAK+jB,YAAcD,EAAOzf,IACvErE,KAAK0d,KAA4BtX,SAArBpG,KAAKgkB,YAA4BhkB,KAAKgkB,YAAcF,EAAOxf,IACnEtE,KAAK0d,MAAQ1d,KAAKwd,OAAMxd,KAAK0d,KAAO1d,KAAKwd,KAAO,GACpDxd,KAAKyd,MAA8BrX,SAAtBpG,KAAKikB,aAA6BjkB,KAAKikB,cAAgBjkB,KAAK0d,KAAO1d,KAAKwd,MAAQ,CAE7F,IAAI0G,GAASlkB,KAAK6iB,eAAezO,EAAMpU,KAAKkd,KAM5C,IALAld,KAAK2d,KAA4BvX,SAArBpG,KAAKmkB,YAA4BnkB,KAAKmkB,YAAcD,EAAO7f,IACvErE,KAAK6d,KAA4BzX,SAArBpG,KAAKokB,YAA4BpkB,KAAKokB,YAAcF,EAAO5f,IACnEtE,KAAK6d,MAAQ7d,KAAK2d,OAAM3d,KAAK6d,KAAO7d,KAAK2d,KAAO,GACpD3d,KAAK4d,MAA8BxX,SAAtBpG,KAAKqkB,aAA6BrkB,KAAKqkB,cAAgBrkB,KAAK6d,KAAO7d,KAAK2d,MAAQ,EAEvEvX,SAAlBpG,KAAKmd,SAAwB,CAC/B,GAAImH,GAAatkB,KAAK6iB,eAAezO,EAAMpU,KAAKmd,SAChDnd,MAAK8d,SAAoC1X,SAAzBpG,KAAKukB,gBAAgCvkB,KAAKukB,gBAAkBD,EAAWjgB,IACvFrE,KAAK+d,SAAoC3X,SAAzBpG,KAAKwkB,gBAAgCxkB,KAAKwkB,gBAAkBF,EAAWhgB,IACnFtE,KAAK+d,UAAY/d,KAAK8d,WAAU9d,KAAK+d,SAAW/d,KAAK8d,SAAW,GAItE9d,KAAK4e,eAQP5d,EAAQ6T,UAAU4P,eAAiB,SAAUrQ,GAE3C,GAAIjB,GAAGC,EAAG5M,EAAGqY,EAAG/Y,EAAKyN,EAEjBwJ,IAEJ,IAAI/c,KAAKoO,QAAUpN,EAAQkb,MAAMiG,MAAQniB,KAAKoO,QAAUpN,EAAQkb,MAAMmG,QAAS,CAK7E,GAAIkB,MACAE,IACJ,KAAKjd,EAAI,EAAGA,EAAIxG,KAAKmW,gBAAgB/B,GAAO5N,IAC1C2M,EAAIiB,EAAK5N,GAAGxG,KAAKgd,OAAS,EAC1B5J,EAAIgB,EAAK5N,GAAGxG,KAAKid,OAAS,EAED,KAArBsG,EAAMhc,QAAQ4L,IAChBoQ,EAAM/b,KAAK2L,GAEY,KAArBsQ,EAAMlc,QAAQ6L,IAChBqQ,EAAMjc,KAAK4L,EAIf,IAAIsR,GAAa,SAAoBpe,EAAGC,GACtC,MAAOD,GAAIC,EAEbgd,GAAM1L,KAAK6M,GACXjB,EAAM5L,KAAK6M,EAGX,IAAIC,KACJ,KAAKne,EAAI,EAAGA,EAAI4N,EAAK1N,OAAQF,IAAK,CAChC2M,EAAIiB,EAAK5N,GAAGxG,KAAKgd,OAAS,EAC1B5J,EAAIgB,EAAK5N,GAAGxG,KAAKid,OAAS,EAC1B4B,EAAIzK,EAAK5N,GAAGxG,KAAKkd,OAAS,CAE1B,IAAI0H,GAASrB,EAAMhc,QAAQ4L,GACvB0R,EAASpB,EAAMlc,QAAQ6L,EAEAhN,UAAvBue,EAAWC,KACbD,EAAWC,MAGb,IAAIzF,GAAU,GAAI9d,EAClB8d,GAAQhM,EAAIA,EACZgM,EAAQ/L,EAAIA,EACZ+L,EAAQN,EAAIA,EAEZ/Y,KACAA,EAAIyN,MAAQ4L,EACZrZ,EAAIgf,MAAQ1e,OACZN,EAAIif,OAAS3e,OACbN,EAAIkf,OAAS,GAAI3jB,GAAQ8R,EAAGC,EAAGpT,KAAK2d,MAEpCgH,EAAWC,GAAQC,GAAU/e,EAE7BiX,EAAWvV,KAAK1B,GAIlB,IAAKqN,EAAI,EAAGA,EAAIwR,EAAWje,OAAQyM,IACjC,IAAKC,EAAI,EAAGA,EAAIuR,EAAWxR,GAAGzM,OAAQ0M,IAChCuR,EAAWxR,GAAGC,KAChBuR,EAAWxR,GAAGC,GAAG6R,WAAa9R,EAAIwR,EAAWje,OAAS,EAAIie,EAAWxR,EAAI,GAAGC,GAAKhN,OACjFue,EAAWxR,GAAGC,GAAG8R,SAAW9R,EAAIuR,EAAWxR,GAAGzM,OAAS,EAAIie,EAAWxR,GAAGC,EAAI,GAAKhN,OAClFue,EAAWxR,GAAGC,GAAG+R,WAAahS,EAAIwR,EAAWje,OAAS,GAAK0M,EAAIuR,EAAWxR,GAAGzM,OAAS,EAAIie,EAAWxR,EAAI,GAAGC,EAAI,GAAKhN,YAO3H,KAAKI,EAAI,EAAGA,EAAI4N,EAAK1N,OAAQF,IAC3B+M,EAAQ,GAAIlS,GACZkS,EAAMJ,EAAIiB,EAAK5N,GAAGxG,KAAKgd,OAAS,EAChCzJ,EAAMH,EAAIgB,EAAK5N,GAAGxG,KAAKid,OAAS,EAChC1J,EAAMsL,EAAIzK,EAAK5N,GAAGxG,KAAKkd,OAAS,EAEV9W,SAAlBpG,KAAKmd,WACP5J,EAAM/O,MAAQ4P,EAAK5N,GAAGxG,KAAKmd,WAAa,GAG1CrX,KACAA,EAAIyN,MAAQA,EACZzN,EAAIkf,OAAS,GAAI3jB,GAAQkS,EAAMJ,EAAGI,EAAMH,EAAGpT,KAAK2d,MAChD7X,EAAIgf,MAAQ1e,OACZN,EAAIif,OAAS3e,OAEb2W,EAAWvV,KAAK1B,EAIpB,OAAOiX,IAST/b,EAAQ6T,UAAUnF,OAAS,WAEzB,KAAO1P,KAAKqb,iBAAiBpX,iBAC3BjE,KAAKqb,iBAAiBlX,YAAYnE,KAAKqb,iBAAiBnX,WAG1DlE,MAAKihB,MAAQtO,SAASM,cAAc,OACpCjT,KAAKihB,MAAM7S,MAAMgX,SAAW,WAC5BplB,KAAKihB,MAAM7S,MAAMiX,SAAW,SAG5BrlB,KAAKihB,MAAMC,OAASvO,SAASM,cAAc,UAC3CjT,KAAKihB,MAAMC,OAAO9S,MAAMgX,SAAW,WACnCplB,KAAKihB,MAAMpO,YAAY7S,KAAKihB,MAAMC,OAGhC,IAAIoE,GAAW3S,SAASM,cAAc,MACtCqS,GAASlX,MAAMnC,MAAQ,MACvBqZ,EAASlX,MAAMmX,WAAa,OAC5BD,EAASlX,MAAMoX,QAAU,OACzBF,EAASG,UAAY,mDACrBzlB,KAAKihB,MAAMC,OAAOrO,YAAYyS,GAGhCtlB,KAAKihB,MAAM5L,OAAS1C,SAASM,cAAc,OAC3CjT,KAAKihB,MAAM5L,OAAOjH,MAAMgX,SAAW,WACnCplB,KAAKihB,MAAM5L,OAAOjH,MAAM4W,OAAS,MACjChlB,KAAKihB,MAAM5L,OAAOjH,MAAM1F,KAAO,MAC/B1I,KAAKihB,MAAM5L,OAAOjH,MAAM6F,MAAQ,OAChCjU,KAAKihB,MAAMpO,YAAY7S,KAAKihB,MAAM5L,OAGlC,IAAIQ,GAAK7V,KACL0lB,EAAc,SAAqBpb,GACrCuL,EAAG8P,aAAarb,IAEdsb,EAAe,SAAsBtb,GACvCuL,EAAGgQ,cAAcvb,IAEfwb,EAAe,SAAsBxb,GACvCuL,EAAGkQ,SAASzb,IAEV0b,EAAY,SAAmB1b,GACjCuL,EAAGoQ,WAAW3b,GAIhB3J,GAAKgJ,iBAAiB3J,KAAKihB,MAAMC,OAAQ,UAAWgF,WACpDvlB,EAAKgJ,iBAAiB3J,KAAKihB,MAAMC,OAAQ,YAAawE,GACtD/kB,EAAKgJ,iBAAiB3J,KAAKihB,MAAMC,OAAQ,aAAc0E,GACvDjlB,EAAKgJ,iBAAiB3J,KAAKihB,MAAMC,OAAQ,aAAc4E,GACvDnlB,EAAKgJ,iBAAiB3J,KAAKihB,MAAMC,OAAQ,YAAa8E,GAGtDhmB,KAAKqb,iBAAiBxI,YAAY7S,KAAKihB,QAUzCjgB,EAAQ6T,UAAUsR,QAAU,SAAUlS,EAAOC,GAC3ClU,KAAKihB,MAAM7S,MAAM6F,MAAQA,EACzBjU,KAAKihB,MAAM7S,MAAM8F,OAASA,EAE1BlU,KAAKomB,iBAMPplB,EAAQ6T,UAAUuR,cAAgB,WAChCpmB,KAAKihB,MAAMC,OAAO9S,MAAM6F,MAAQ,OAChCjU,KAAKihB,MAAMC,OAAO9S,MAAM8F,OAAS,OAEjClU,KAAKihB,MAAMC,OAAOjN,MAAQjU,KAAKihB,MAAMC,OAAOC,YAC5CnhB,KAAKihB,MAAMC,OAAOhN,OAASlU,KAAKihB,MAAMC,OAAOmF,aAG7CrmB,KAAKihB,MAAM5L,OAAOjH,MAAM6F,MAAQjU,KAAKihB,MAAMC,OAAOC,YAAc,GAAS,MAM3EngB,EAAQ6T,UAAUyR,eAAiB,WACjC,IAAKtmB,KAAKihB,MAAM5L,SAAWrV,KAAKihB,MAAM5L,OAAOkR,OAAQ,KAAM,wBAE3DvmB,MAAKihB,MAAM5L,OAAOkR,OAAOC,QAM3BxlB,EAAQ6T,UAAU4R,cAAgB,WAC3BzmB,KAAKihB,MAAM5L,QAAWrV,KAAKihB,MAAM5L,OAAOkR,QAE7CvmB,KAAKihB,MAAM5L,OAAOkR,OAAOG,QAS3B1lB,EAAQ6T,UAAU8R,cAAgB,WAEmC,MAA/D3mB,KAAKub,eAAeqL,OAAO5mB,KAAKub,eAAe7U,OAAS,GAC1D1G,KAAKghB,QAAU6F,WAAW7mB,KAAKub,gBAAkB,IAAMvb,KAAKihB,MAAMC,OAAOC,YAEzEnhB,KAAKghB,QAAU6F,WAAW7mB,KAAKub,gBAIkC,MAA/Dvb,KAAKwb,eAAeoL,OAAO5mB,KAAKwb,eAAe9U,OAAS,GAC1D1G,KAAKohB,QAAUyF,WAAW7mB,KAAKwb,gBAAkB,KAAOxb,KAAKihB,MAAMC,OAAOmF,aAAermB,KAAKihB,MAAM5L,OAAOgR,cAE3GrmB,KAAKohB,QAAUyF,WAAW7mB,KAAKwb,iBAoBnCxa,EAAQ6T,UAAUiS,kBAAoB,SAAUC,GAClC3gB,SAAR2gB,IAImB3gB,SAAnB2gB,EAAIC,YAA6C5gB,SAAjB2gB,EAAIE,UACtCjnB,KAAK6c,OAAOqK,eAAeH,EAAIC,WAAYD,EAAIE,UAG5B7gB,SAAjB2gB,EAAII,UACNnnB,KAAK6c,OAAOuK,aAAaL,EAAII,UAG/BnnB,KAAKojB,WAQPpiB,EAAQ6T,UAAUwS,kBAAoB,WACpC,GAAIN,GAAM/mB,KAAK6c,OAAOyK,gBAEtB,OADAP,GAAII,SAAWnnB,KAAK6c,OAAOkE,eACpBgG,GAMT/lB,EAAQ6T,UAAU0S,UAAY,SAAUnT,GAEtCpU,KAAK+iB,gBAAgB3O,EAAMpU,KAAKoO,OAE5BpO,KAAKkjB,WAEPljB,KAAK+c,WAAa/c,KAAKkjB,WAAWuB,iBAGlCzkB,KAAK+c,WAAa/c,KAAKykB,eAAezkB,KAAKkZ,WAI7ClZ,KAAKwnB,iBAOPxmB,EAAQ6T,UAAU8E,QAAU,SAAUvF,GACpCpU,KAAKunB,UAAUnT,GACfpU,KAAKojB,SAGDpjB,KAAKynB,oBAAsBznB,KAAKkjB,YAClCljB,KAAKsmB,kBAQTtlB,EAAQ6T,UAAUD,WAAa,SAAU9E,GACvC,GAAI4X,GAAiBthB,MAIrB,IAFApG,KAAKymB,gBAEWrgB,SAAZ0J,EAAuB,CAkBzB,GAhBsB1J,SAAlB0J,EAAQmE,QAAqBjU,KAAKiU,MAAQnE,EAAQmE,OAC/B7N,SAAnB0J,EAAQoE,SAAsBlU,KAAKkU,OAASpE,EAAQoE,QAEhC9N,SAApB0J,EAAQgP,UAAuB9e,KAAKub,eAAiBzL,EAAQgP,SACzC1Y,SAApB0J,EAAQiP,UAAuB/e,KAAKwb,eAAiB1L,EAAQiP,SAErC3Y,SAAxB0J,EAAQkM,cAA2Bhc,KAAKgc,YAAclM,EAAQkM,aACtC5V,SAAxB0J,EAAQmM,cAA2Bjc,KAAKic,YAAcnM,EAAQmM,aAC3C7V,SAAnB0J,EAAQ2L,SAAsBzb,KAAKyb,OAAS3L,EAAQ2L,QACjCrV,SAAnB0J,EAAQ4L,SAAsB1b,KAAK0b,OAAS5L,EAAQ4L,QACjCtV,SAAnB0J,EAAQ6L,SAAsB3b,KAAK2b,OAAS7L,EAAQ6L,QAE5BvV,SAAxB0J,EAAQ+L,cAA2B7b,KAAK6b,YAAc/L,EAAQ+L,aACtCzV,SAAxB0J,EAAQgM,cAA2B9b,KAAK8b,YAAchM,EAAQgM,aACtC1V,SAAxB0J,EAAQiM,cAA2B/b,KAAK+b,YAAcjM,EAAQiM,aAE5C3V,SAAlB0J,EAAQ1B,MAAqB,CAC/B,GAAIuZ,GAAc3nB,KAAKsiB,gBAAgBxS,EAAQ1B,MAC3B,MAAhBuZ,IACF3nB,KAAKoO,MAAQuZ,GAGQvhB,SAArB0J,EAAQuM,WAAwBrc,KAAKqc,SAAWvM,EAAQuM,UAC5BjW,SAA5B0J,EAAQsM,kBAA+Bpc,KAAKoc,gBAAkBtM,EAAQsM,iBAC/ChW,SAAvB0J,EAAQyM,aAA0Bvc,KAAKuc,WAAazM,EAAQyM,YACxCnW,SAApB0J,EAAQ8X,UAAuB5nB,KAAKyc,YAAc3M,EAAQ8X,SACxBxhB,SAAlC0J,EAAQ+X,wBAAqC7nB,KAAK6nB,sBAAwB/X,EAAQ+X,uBACtDzhB,SAA5B0J,EAAQwM,kBAA+Btc,KAAKsc,gBAAkBxM,EAAQwM,iBAC5ClW,SAA1B0J,EAAQ4M,gBAA6B1c,KAAK0c,cAAgB5M,EAAQ4M,eAEpCtW,SAA9B0J,EAAQ6M,oBAAiC3c,KAAK2c,kBAAoB7M,EAAQ6M,mBAC7CvW,SAA7B0J,EAAQ8M,mBAAgC5c,KAAK4c,iBAAmB9M,EAAQ8M,kBACzCxW,SAA/B0J,EAAQ2X,qBAAkCznB,KAAKynB,mBAAqB3X,EAAQ2X,oBAEtDrhB,SAAtB0J,EAAQkO,YAAyBhe,KAAKsjB,iBAAmBxT,EAAQkO,WAC3C5X,SAAtB0J,EAAQmO,YAAyBje,KAAKwjB,iBAAmB1T,EAAQmO,WAEhD7X,SAAjB0J,EAAQuN,OAAoBrd,KAAK2jB,YAAc7T,EAAQuN,MACrCjX,SAAlB0J,EAAQwN,QAAqBtd,KAAK6jB,aAAe/T,EAAQwN,OACxClX,SAAjB0J,EAAQyN,OAAoBvd,KAAK4jB,YAAc9T,EAAQyN,MACtCnX,SAAjB0J,EAAQ0N,OAAoBxd,KAAK+jB,YAAcjU,EAAQ0N,MACrCpX,SAAlB0J,EAAQ2N,QAAqBzd,KAAKikB,aAAenU,EAAQ2N,OACxCrX,SAAjB0J,EAAQ4N,OAAoB1d,KAAKgkB,YAAclU,EAAQ4N,MACtCtX,SAAjB0J,EAAQ6N,OAAoB3d,KAAKmkB,YAAcrU,EAAQ6N,MACrCvX,SAAlB0J,EAAQ8N,QAAqB5d,KAAKqkB,aAAevU,EAAQ8N,OACxCxX,SAAjB0J,EAAQ+N,OAAoB7d,KAAKokB,YAActU,EAAQ+N,MAClCzX,SAArB0J,EAAQgO,WAAwB9d,KAAKukB,gBAAkBzU,EAAQgO,UAC1C1X,SAArB0J,EAAQiO,WAAwB/d,KAAKwkB,gBAAkB1U,EAAQiO,UAEpC3X,SAA3B0J,EAAQ4X,iBAA8BA,EAAiB5X,EAAQ4X,gBAE5CthB,SAAnBshB,GACF1nB,KAAK6c,OAAOqK,eAAeQ,EAAeV,WAAYU,EAAeT,UACrEjnB,KAAK6c,OAAOuK,aAAaM,EAAeP,YAExCnnB,KAAK6c,OAAOqK,eAAe,EAAG,IAC9BlnB,KAAK6c,OAAOuK,aAAa,MAI7BpnB,KAAKqhB,oBAAoBvR,GAAWA,EAAQwR,iBAE5CthB,KAAKmmB,QAAQnmB,KAAKiU,MAAOjU,KAAKkU,QAG1BlU,KAAKkZ,WACPlZ,KAAK2Z,QAAQ3Z,KAAKkZ,WAIhBlZ,KAAKynB,oBAAsBznB,KAAKkjB,YAClCljB,KAAKsmB,kBAOTtlB,EAAQ6T,UAAUuO,OAAS,WACzB,GAAwBhd,SAApBpG,KAAK+c,WACP,KAAM,mCAGR/c,MAAKomB,gBACLpmB,KAAK2mB,gBACL3mB,KAAK8nB,gBACL9nB,KAAK+nB,eACL/nB,KAAKgoB,cAEDhoB,KAAKoO,QAAUpN,EAAQkb,MAAMiG,MAAQniB,KAAKoO,QAAUpN,EAAQkb,MAAMmG,QACpEriB,KAAKioB,kBACIjoB,KAAKoO,QAAUpN,EAAQkb,MAAMkG,KACtCpiB,KAAKkoB,kBACIloB,KAAKoO,QAAUpN,EAAQkb,MAAM2F,KAAO7hB,KAAKoO,QAAUpN,EAAQkb,MAAM4F,UAAY9hB,KAAKoO,QAAUpN,EAAQkb,MAAM6F,QACnH/hB,KAAKmoB,iBAGLnoB,KAAKooB,iBAGPpoB,KAAKqoB,cACLroB,KAAKsoB,iBAMPtnB,EAAQ6T,UAAUkT,aAAe,WAC/B,GAAI7G,GAASlhB,KAAKihB,MAAMC,OACpBqH,EAAMrH,EAAOsH,WAAW,KAE5BD,GAAIE,UAAU,EAAG,EAAGvH,EAAOjN,MAAOiN,EAAOhN,SAM3ClT,EAAQ6T,UAAUyT,cAAgB,WAChC,GAAIlV,EAEJ,IAAIpT,KAAKoO,QAAUpN,EAAQkb,MAAM+F,UAAYjiB,KAAKoO,QAAUpN,EAAQkb,MAAMgG,QAAS,CAEjF,GAEIwG,GAAUC,EAFVC,EAAmC,IAAzB5oB,KAAKihB,MAAME,WAGrBnhB,MAAKoO,QAAUpN,EAAQkb,MAAMgG,SAC/BwG,EAAWE,EAAU,EACrBD,EAAWC,EAAU,EAAc,EAAVA,IAEzBF,EAAW,GACXC,EAAW,GAGb,IAAIzU,GAASxP,KAAKJ,IAA8B,IAA1BtE,KAAKihB,MAAMoF,aAAqB,KAClDzd,EAAM5I,KAAKsb,OACXuN,EAAQ7oB,KAAKihB,MAAME,YAAcnhB,KAAKsb,OACtC5S,EAAOmgB,EAAQF,EACf3D,EAASpc,EAAMsL,EAGrB,GAAIgN,GAASlhB,KAAKihB,MAAMC,OACpBqH,EAAMrH,EAAOsH,WAAW,KAI5B,IAHAD,EAAIO,UAAY,EAChBP,EAAIQ,KAAO,aAEP/oB,KAAKoO,QAAUpN,EAAQkb,MAAM+F,SAAU,CAEzC,GAAI+G,GAAO,EACPC,EAAO/U,CACX,KAAKd,EAAI4V,EAAUC,EAAJ7V,EAAUA,IAAK,CAC5B,GAAIrE,IAAKqE,EAAI4V,IAASC,EAAOD,GAGzBjb,EAAU,IAAJgB,EACN9C,EAAQjM,KAAKkpB,SAASnb,EAAK,EAAG,EAElCwa,GAAIY,YAAcld,EAClBsc,EAAIa,YACJb,EAAIc,OAAO3gB,EAAME,EAAMwK,GACvBmV,EAAIe,OAAOT,EAAOjgB,EAAMwK,GACxBmV,EAAI/G,SAGN+G,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIgB,WAAW7gB,EAAME,EAAK+f,EAAUzU,GAiBtC,GAdIlU,KAAKoO,QAAUpN,EAAQkb,MAAMgG,UAE/BqG,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIiB,UAAYxpB,KAAKoe,SACrBmK,EAAIa,YACJb,EAAIc,OAAO3gB,EAAME,GACjB2f,EAAIe,OAAOT,EAAOjgB,GAClB2f,EAAIe,OAAOT,EAAQF,EAAWD,EAAU1D,GACxCuD,EAAIe,OAAO5gB,EAAMsc,GACjBuD,EAAIkB,YACJlB,EAAIhH,OACJgH,EAAI/G,UAGFxhB,KAAKoO,QAAUpN,EAAQkb,MAAM+F,UAAYjiB,KAAKoO,QAAUpN,EAAQkb,MAAMgG,QAAS,CAEjF,GAAIwH,GAAc,EACdC,EAAO,GAAIpoB,GAAWvB,KAAK8d,SAAU9d,KAAK+d,UAAW/d,KAAK+d,SAAW/d,KAAK8d,UAAY,GAAG,EAK7F,KAJA6L,EAAK1Y,QACD0Y,EAAKC,aAAe5pB,KAAK8d,UAC3B6L,EAAKE,QAECF,EAAKzY,OACXkC,EAAI4R,GAAU2E,EAAKC,aAAe5pB,KAAK8d,WAAa9d,KAAK+d,SAAW/d,KAAK8d,UAAY5J,EAErFqU,EAAIa,YACJb,EAAIc,OAAO3gB,EAAOghB,EAAatW,GAC/BmV,EAAIe,OAAO5gB,EAAM0K,GACjBmV,EAAI/G,SAEJ+G,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYxpB,KAAKke,UACrBqK,EAAIyB,SAASL,EAAKC,aAAclhB,EAAO,EAAIghB,EAAatW,GAExDuW,EAAKE,MAGPtB,GAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,KACnB,IAAIpW,GAAQ3T,KAAKic,WACjBsM,GAAIyB,SAASrW,EAAOkV,EAAO7D,EAAShlB,KAAKsb,UAO7Cta,EAAQ6T,UAAU2S,cAAgB,WAGhC,GAFAxnB,KAAKihB,MAAM5L,OAAOoQ,UAAY,GAE1BzlB,KAAKkjB,WAAY,CACnB,GAAIpT,IACFma,QAASjqB,KAAK6nB,uBAEZtB,EAAS,GAAIjlB,GAAOtB,KAAKihB,MAAM5L,OAAQvF,EAC3C9P,MAAKihB,MAAM5L,OAAOkR,OAASA,EAG3BvmB,KAAKihB,MAAM5L,OAAOjH,MAAMoX,QAAU,OAGlCe,EAAO2D,UAAUlqB,KAAKkjB,WAAWzK,QACjC8N,EAAO4D,gBAAgBnqB,KAAK2c,kBAG5B,IAAI9G,GAAK7V,KACLoqB,EAAW,WACb,GAAIjhB,GAAQod,EAAO8D,UAEnBxU,GAAGqN,WAAWoH,YAAYnhB,GAC1B0M,EAAGkH,WAAalH,EAAGqN,WAAWuB,iBAE9B5O,EAAGuN,SAELmD,GAAOgE,oBAAoBH,OAE3BpqB,MAAKihB,MAAM5L,OAAOkR,OAASngB,QAO/BpF,EAAQ6T,UAAUiT,cAAgB,WACC1hB,SAA7BpG,KAAKihB,MAAM5L,OAAOkR,QACpBvmB,KAAKihB,MAAM5L,OAAOkR,OAAOnD,UAO7BpiB,EAAQ6T,UAAUwT,YAAc,WAC9B,GAAIroB,KAAKkjB,WAAY,CACnB,GAAIhC,GAASlhB,KAAKihB,MAAMC,OACpBqH,EAAMrH,EAAOsH,WAAW,KAE5BD,GAAIQ,KAAO,aACXR,EAAIiC,UAAY,OAChBjC,EAAIiB,UAAY,OAChBjB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,KAEnB,IAAI5W,GAAInT,KAAKsb,OACTlI,EAAIpT,KAAKsb,MACbiN,GAAIyB,SAAShqB,KAAKkjB,WAAWuH,WAAa,KAAOzqB,KAAKkjB,WAAWwH,mBAAoBvX,EAAGC,KAO5FpS,EAAQ6T,UAAUmT,YAAc,WAC9B,GAEI2C,GACAC,EACAjB,EACAkB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAtX,EACAC,EACAsX,EACAC,EAdAlK,EAASlhB,KAAKihB,MAAMC,OACpBqH,EAAMrH,EAAOsH,WAAW,KAiB5BD,GAAIQ,KAAO,GAAK/oB,KAAK6c,OAAOkE,eAAiB,UAG7C,IAAIsK,GAAW,KAAQrrB,KAAKyE,MAAM0O,EAC9BmY,EAAW,KAAQtrB,KAAKyE,MAAM2O,EAC9BmY,EAAa,EAAIvrB,KAAK6c,OAAOkE,eAC7ByK,EAAWxrB,KAAK6c,OAAOyK,iBAAiBN,UAU5C,KAPAuB,EAAIO,UAAY,EAChB+B,EAAmCzkB,SAAtBpG,KAAK6jB,aAClB8F,EAAO,GAAIpoB,GAAWvB,KAAKqd,KAAMrd,KAAKud,KAAMvd,KAAKsd,MAAOuN,GACxDlB,EAAK1Y,QACD0Y,EAAKC,aAAe5pB,KAAKqd,MAC3BsM,EAAKE,QAECF,EAAKzY,OAAO,CAClB,GAAIiC,GAAIwW,EAAKC,YAET5pB,MAAKqc,UACPsO,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQ8R,EAAGnT,KAAKwd,KAAMxd,KAAK2d,OAC1DiN,EAAK5qB,KAAKkf,eAAe,GAAI7d,GAAQ8R,EAAGnT,KAAK0d,KAAM1d,KAAK2d,OACxD4K,EAAIY,YAAcnpB,KAAKme,UACvBoK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOsB,EAAGzX,EAAGyX,EAAGxX,GACpBmV,EAAI/G,WAEJmJ,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQ8R,EAAGnT,KAAKwd,KAAMxd,KAAK2d,OAC1DiN,EAAK5qB,KAAKkf,eAAe,GAAI7d,GAAQ8R,EAAGnT,KAAKwd,KAAO6N,EAAUrrB,KAAK2d,OACnE4K,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOsB,EAAGzX,EAAGyX,EAAGxX,GACpBmV,EAAI/G,SAEJmJ,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQ8R,EAAGnT,KAAK0d,KAAM1d,KAAK2d,OAC1DiN,EAAK5qB,KAAKkf,eAAe,GAAI7d,GAAQ8R,EAAGnT,KAAK0d,KAAO2N,EAAUrrB,KAAK2d,OACnE4K,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOsB,EAAGzX,EAAGyX,EAAGxX,GACpBmV,EAAI/G,UAGNwJ,EAAQtmB,KAAKwb,IAAIsL,GAAY,EAAIxrB,KAAKwd,KAAOxd,KAAK0d,KAClDoN,EAAO9qB,KAAKkf,eAAe,GAAI7d,GAAQ8R,EAAG6X,EAAOhrB,KAAK2d,OAClDjZ,KAAKwb,IAAe,EAAXsL,GAAgB,GAC3BjD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,MACnBe,EAAK1X,GAAKmY,GACD7mB,KAAKqb,IAAe,EAAXyL,GAAgB,GAClCjD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAEnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYxpB,KAAKke,UACrBqK,EAAIyB,SAAS,KAAOhqB,KAAK6b,YAAY8N,EAAKC,cAAgB,KAAMkB,EAAK3X,EAAG2X,EAAK1X,GAE7EuW,EAAKE,OAWP,IAPAtB,EAAIO,UAAY,EAChB+B,EAAmCzkB,SAAtBpG,KAAKikB,aAClB0F,EAAO,GAAIpoB,GAAWvB,KAAKwd,KAAMxd,KAAK0d,KAAM1d,KAAKyd,MAAOoN,GACxDlB,EAAK1Y,QACD0Y,EAAKC,aAAe5pB,KAAKwd,MAC3BmM,EAAKE,QAECF,EAAKzY,OACPlR,KAAKqc,UACPsO,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKqd,KAAMsM,EAAKC,aAAc5pB,KAAK2d,OAC1EiN,EAAK5qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKud,KAAMoM,EAAKC,aAAc5pB,KAAK2d,OACxE4K,EAAIY,YAAcnpB,KAAKme,UACvBoK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOsB,EAAGzX,EAAGyX,EAAGxX,GACpBmV,EAAI/G,WAEJmJ,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKqd,KAAMsM,EAAKC,aAAc5pB,KAAK2d,OAC1EiN,EAAK5qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKqd,KAAOiO,EAAU3B,EAAKC,aAAc5pB,KAAK2d,OACnF4K,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOsB,EAAGzX,EAAGyX,EAAGxX,GACpBmV,EAAI/G,SAEJmJ,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKud,KAAMoM,EAAKC,aAAc5pB,KAAK2d,OAC1EiN,EAAK5qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKud,KAAO+N,EAAU3B,EAAKC,aAAc5pB,KAAK2d,OACnF4K,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOsB,EAAGzX,EAAGyX,EAAGxX,GACpBmV,EAAI/G,UAGNuJ,EAAQrmB,KAAKqb,IAAIyL,GAAY,EAAIxrB,KAAKqd,KAAOrd,KAAKud,KAClDuN,EAAO9qB,KAAKkf,eAAe,GAAI7d,GAAQ0pB,EAAOpB,EAAKC,aAAc5pB,KAAK2d,OAClEjZ,KAAKwb,IAAe,EAAXsL,GAAgB,GAC3BjD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,MACnBe,EAAK1X,GAAKmY,GACD7mB,KAAKqb,IAAe,EAAXyL,GAAgB,GAClCjD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAEnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYxpB,KAAKke,UACrBqK,EAAIyB,SAAS,KAAOhqB,KAAK8b,YAAY6N,EAAKC,cAAgB,KAAMkB,EAAK3X,EAAG2X,EAAK1X,GAE7EuW,EAAKE,MAaP,KATAtB,EAAIO,UAAY,EAChB+B,EAAmCzkB,SAAtBpG,KAAKqkB,aAClBsF,EAAO,GAAIpoB,GAAWvB,KAAK2d,KAAM3d,KAAK6d,KAAM7d,KAAK4d,MAAOiN,GACxDlB,EAAK1Y,QACD0Y,EAAKC,aAAe5pB,KAAK2d,MAC3BgM,EAAKE,OAEPkB,EAAQrmB,KAAKwb,IAAIsL,GAAY,EAAIxrB,KAAKqd,KAAOrd,KAAKud,KAClDyN,EAAQtmB,KAAKqb,IAAIyL,GAAY,EAAIxrB,KAAKwd,KAAOxd,KAAK0d,MAC1CiM,EAAKzY,OAEXyZ,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQ0pB,EAAOC,EAAOrB,EAAKC,eAC1DrB,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOqB,EAAKxX,EAAIoY,EAAYZ,EAAKvX,GACrCmV,EAAI/G,SAEJ+G,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYxpB,KAAKke,UACrBqK,EAAIyB,SAAShqB,KAAK+b,YAAY4N,EAAKC,cAAgB,IAAKe,EAAKxX,EAAI,EAAGwX,EAAKvX,GAEzEuW,EAAKE,MAEPtB,GAAIO,UAAY,EAChB6B,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQ0pB,EAAOC,EAAOhrB,KAAK2d,OAC1DiN,EAAK5qB,KAAKkf,eAAe,GAAI7d,GAAQ0pB,EAAOC,EAAOhrB,KAAK6d,OACxD0K,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOsB,EAAGzX,EAAGyX,EAAGxX,GACpBmV,EAAI/G,SAGJ+G,EAAIO,UAAY,EAEhBqC,EAASnrB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKqd,KAAMrd,KAAKwd,KAAMxd,KAAK2d,OACpEyN,EAASprB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKud,KAAMvd,KAAKwd,KAAMxd,KAAK2d,OACpE4K,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAO8B,EAAOhY,EAAGgY,EAAO/X,GAC5BmV,EAAIe,OAAO8B,EAAOjY,EAAGiY,EAAOhY,GAC5BmV,EAAI/G,SAEJ2J,EAASnrB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKqd,KAAMrd,KAAK0d,KAAM1d,KAAK2d,OACpEyN,EAASprB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKud,KAAMvd,KAAK0d,KAAM1d,KAAK2d,OACpE4K,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAO8B,EAAOhY,EAAGgY,EAAO/X,GAC5BmV,EAAIe,OAAO8B,EAAOjY,EAAGiY,EAAOhY,GAC5BmV,EAAI/G,SAGJ+G,EAAIO,UAAY,EAEhB6B,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKqd,KAAMrd,KAAKwd,KAAMxd,KAAK2d,OAClEiN,EAAK5qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKqd,KAAMrd,KAAK0d,KAAM1d,KAAK2d,OAChE4K,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOsB,EAAGzX,EAAGyX,EAAGxX,GACpBmV,EAAI/G,SAEJmJ,EAAO3qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKud,KAAMvd,KAAKwd,KAAMxd,KAAK2d,OAClEiN,EAAK5qB,KAAKkf,eAAe,GAAI7d,GAAQrB,KAAKud,KAAMvd,KAAK0d,KAAM1d,KAAK2d,OAChE4K,EAAIY,YAAcnpB,KAAKke,UACvBqK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAOsB,EAAGzX,EAAGyX,EAAGxX,GACpBmV,EAAI/G,QAGJ,IAAI/F,GAASzb,KAAKyb,MACdA,GAAO/U,OAAS,IAClBmN,EAAU,GAAM7T,KAAKyE,MAAM2O,EAC3B2X,GAAS/qB,KAAKqd,KAAOrd,KAAKud,MAAQ,EAClCyN,EAAQtmB,KAAKwb,IAAIsL,GAAY,EAAIxrB,KAAKwd,KAAO3J,EAAU7T,KAAK0d,KAAO7J,EACnEiX,EAAO9qB,KAAKkf,eAAe,GAAI7d,GAAQ0pB,EAAOC,EAAOhrB,KAAK2d,OACtDjZ,KAAKwb,IAAe,EAAXsL,GAAgB,GAC3BjD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,OACVrlB,KAAKqb,IAAe,EAAXyL,GAAgB,GAClCjD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAEnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYxpB,KAAKke,UACrBqK,EAAIyB,SAASvO,EAAQqP,EAAK3X,EAAG2X,EAAK1X,GAIpC,IAAIsI,GAAS1b,KAAK0b,MACdA,GAAOhV,OAAS,IAClBkN,EAAU,GAAM5T,KAAKyE,MAAM0O,EAC3B4X,EAAQrmB,KAAKqb,IAAIyL,GAAY,EAAIxrB,KAAKqd,KAAOzJ,EAAU5T,KAAKud,KAAO3J,EACnEoX,GAAShrB,KAAKwd,KAAOxd,KAAK0d,MAAQ,EAClCoN,EAAO9qB,KAAKkf,eAAe,GAAI7d,GAAQ0pB,EAAOC,EAAOhrB,KAAK2d,OACtDjZ,KAAKwb,IAAe,EAAXsL,GAAgB,GAC3BjD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,OACVrlB,KAAKqb,IAAe,EAAXyL,GAAgB,GAClCjD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAEnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYxpB,KAAKke,UACrBqK,EAAIyB,SAAStO,EAAQoP,EAAK3X,EAAG2X,EAAK1X,GAIpC,IAAIuI,GAAS3b,KAAK2b,MACdA,GAAOjV,OAAS,IAClBwkB,EAAS,GACTH,EAAQrmB,KAAKwb,IAAIsL,GAAY,EAAIxrB,KAAKqd,KAAOrd,KAAKud,KAClDyN,EAAQtmB,KAAKqb,IAAIyL,GAAY,EAAIxrB,KAAKwd,KAAOxd,KAAK0d,KAClDuN,GAASjrB,KAAK2d,KAAO3d,KAAK6d,MAAQ,EAClCiN,EAAO9qB,KAAKkf,eAAe,GAAI7d,GAAQ0pB,EAAOC,EAAOC,IACrD1C,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYxpB,KAAKke,UACrBqK,EAAIyB,SAASrO,EAAQmP,EAAK3X,EAAI+X,EAAQJ,EAAK1X,KAU/CpS,EAAQ6T,UAAUqU,SAAW,SAAUuC,EAAGC,EAAGC,GAC3C,GAAIC,GAAGC,EAAGC,EAAGC,EAAGC,EAAIC,CAMpB,QAJAF,EAAIJ,EAAID,EACRM,EAAKtnB,KAAKgB,MAAM+lB,EAAI,IACpBQ,EAAIF,GAAK,EAAIrnB,KAAKwnB,IAAIT,EAAI,GAAK,EAAI,IAE3BO,GACN,IAAK,GACHJ,EAAIG,EAAEF,EAAII,EAAEH,EAAI,CAAE,MACpB,KAAK,GACHF,EAAIK,EAAEJ,EAAIE,EAAED,EAAI,CAAE,MACpB,KAAK,GACHF,EAAI,EAAEC,EAAIE,EAAED,EAAIG,CAAE,MACpB,KAAK,GACHL,EAAI,EAAEC,EAAII,EAAEH,EAAIC,CAAE,MACpB,KAAK,GACHH,EAAIK,EAAEJ,EAAI,EAAEC,EAAIC,CAAE,MACpB,KAAK,GACHH,EAAIG,EAAEF,EAAI,EAAEC,EAAIG,CAAE,MAEpB,SACEL,EAAI,EAAEC,EAAI,EAAEC,EAAI,EAGpB,MAAO,OAAS/f,SAAa,IAAJ6f,GAAW,IAAM7f,SAAa,IAAJ8f,GAAW,IAAM9f,SAAa,IAAJ+f,GAAW,KAO1F9qB,EAAQ6T,UAAUoT,gBAAkB,WAClC,GAEI1U,GACAsV,EACAjgB,EACAujB,EACA3lB,EACA4lB,EACA5C,EACAL,EACAL,EACA9b,EACAC,EACAC,EACAmf,EAdAnL,EAASlhB,KAAKihB,MAAMC,OACpBqH,EAAMrH,EAAOsH,WAAW,KAe5B,MAAwBpiB,SAApBpG,KAAK+c,YAA4B/c,KAAK+c,WAAWrW,QAAU,GAA/D,CAGA,IAAKF,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IAAK,CAC3C,GAAIse,GAAQ9kB,KAAKqf,2BAA2Brf,KAAK+c,WAAWvW,GAAG+M,OAC3DwR,EAAS/kB,KAAKsf,4BAA4BwF,EAE9C9kB,MAAK+c,WAAWvW,GAAGse,MAAQA,EAC3B9kB,KAAK+c,WAAWvW,GAAGue,OAASA,CAG5B,IAAIuH,GAActsB,KAAKqf,2BAA2Brf,KAAK+c,WAAWvW,GAAGwe,OACrEhlB,MAAK+c,WAAWvW,GAAG+lB,KAAOvsB,KAAKoc,gBAAkBkQ,EAAY5lB,UAAY4lB,EAAYzN,EAIvF,GAAI2N,GAAY,SAAmBlmB,EAAGC,GACpC,MAAOA,GAAEgmB,KAAOjmB,EAAEimB,KAIpB,IAFAvsB,KAAK+c,WAAWlF,KAAK2U,GAEjBxsB,KAAKoO,QAAUpN,EAAQkb,MAAMmG,SAC/B,IAAK7b,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IAMtC,GALA+M,EAAQvT,KAAK+c,WAAWvW,GACxBqiB,EAAQ7oB,KAAK+c,WAAWvW,GAAGye,WAC3Brc,EAAM5I,KAAK+c,WAAWvW,GAAG0e,SACzBiH,EAAQnsB,KAAK+c,WAAWvW,GAAG2e,WAEb/e,SAAVmN,GAAiCnN,SAAVyiB,GAA+BziB,SAARwC,GAA+BxC,SAAV+lB,EAAqB,CAE1F,GAAInsB,KAAKwc,gBAAkBxc,KAAKuc,WAAY,CAK1C,GAAIkQ,GAAQprB,EAAQqrB,SAASP,EAAMrH,MAAOvR,EAAMuR,OAC5C6H,EAAQtrB,EAAQqrB,SAAS9jB,EAAIkc,MAAO+D,EAAM/D,OAC1C8H,EAAevrB,EAAQwrB,aAAaJ,EAAOE,GAC3CjlB,EAAMklB,EAAalmB,QAGvB0lB,GAAiBQ,EAAa/N,EAAI,MAElCuN,IAAiB,CAGfA,IAEFC,GAAQ9Y,EAAMA,MAAMsL,EAAIgK,EAAMtV,MAAMsL,EAAIjW,EAAI2K,MAAMsL,EAAIsN,EAAM5Y,MAAMsL,GAAK,EACvE7R,EAAmE,KAA9D,GAAKqf,EAAOrsB,KAAK2d,MAAQ3d,KAAKyE,MAAMoa,EAAI7e,KAAK0c,eAClDzP,EAAI,EAEAjN,KAAKuc,YACPrP,EAAIxI,KAAKL,IAAI,EAAIuoB,EAAazZ,EAAIzL,EAAM,EAAG,GAC3C8hB,EAAYxpB,KAAKkpB,SAASlc,EAAGC,EAAGC,GAChCic,EAAcK,IAEdtc,EAAI,EACJsc,EAAYxpB,KAAKkpB,SAASlc,EAAGC,EAAGC,GAChCic,EAAcnpB,KAAKke,aAGrBsL,EAAY,OACZL,EAAcnpB,KAAKke,WAErB4K,EAAY,GAEZP,EAAIO,UAAYA,EAChBP,EAAIiB,UAAYA,EAChBjB,EAAIY,YAAcA,EAClBZ,EAAIa,YACJb,EAAIc,OAAO9V,EAAMwR,OAAO5R,EAAGI,EAAMwR,OAAO3R,GACxCmV,EAAIe,OAAOT,EAAM9D,OAAO5R,EAAG0V,EAAM9D,OAAO3R,GACxCmV,EAAIe,OAAO6C,EAAMpH,OAAO5R,EAAGgZ,EAAMpH,OAAO3R,GACxCmV,EAAIe,OAAO1gB,EAAImc,OAAO5R,EAAGvK,EAAImc,OAAO3R,GACpCmV,EAAIkB,YACJlB,EAAIhH,OACJgH,EAAI/G,cAKR,KAAKhb,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IACtC+M,EAAQvT,KAAK+c,WAAWvW,GACxBqiB,EAAQ7oB,KAAK+c,WAAWvW,GAAGye,WAC3Brc,EAAM5I,KAAK+c,WAAWvW,GAAG0e,SAEX9e,SAAVmN,IAEAuV,EADE9oB,KAAKoc,gBACK,GAAK7I,EAAMuR,MAAMjG,EAEjB,IAAM7e,KAAK8c,IAAI+B,EAAI7e,KAAK6c,OAAOkE,iBAIjC3a,SAAVmN,GAAiCnN,SAAVyiB,IAEzBwD,GAAQ9Y,EAAMA,MAAMsL,EAAIgK,EAAMtV,MAAMsL,GAAK,EACzC7R,EAAmE,KAA9D,GAAKqf,EAAOrsB,KAAK2d,MAAQ3d,KAAKyE,MAAMoa,EAAI7e,KAAK0c,eAElD6L,EAAIO,UAAYA,EAChBP,EAAIY,YAAcnpB,KAAKkpB,SAASlc,EAAG,EAAG,GACtCub,EAAIa,YACJb,EAAIc,OAAO9V,EAAMwR,OAAO5R,EAAGI,EAAMwR,OAAO3R,GACxCmV,EAAIe,OAAOT,EAAM9D,OAAO5R,EAAG0V,EAAM9D,OAAO3R,GACxCmV,EAAI/G,UAGQpb,SAAVmN,GAA+BnN,SAARwC,IAEzByjB,GAAQ9Y,EAAMA,MAAMsL,EAAIjW,EAAI2K,MAAMsL,GAAK,EACvC7R,EAAmE,KAA9D,GAAKqf,EAAOrsB,KAAK2d,MAAQ3d,KAAKyE,MAAMoa,EAAI7e,KAAK0c,eAElD6L,EAAIO,UAAYA,EAChBP,EAAIY,YAAcnpB,KAAKkpB,SAASlc,EAAG,EAAG,GACtCub,EAAIa,YACJb,EAAIc,OAAO9V,EAAMwR,OAAO5R,EAAGI,EAAMwR,OAAO3R,GACxCmV,EAAIe,OAAO1gB,EAAImc,OAAO5R,EAAGvK,EAAImc,OAAO3R,GACpCmV,EAAI/G,YAUZxgB,EAAQ6T,UAAUuT,eAAiB,WACjC,GAEI5hB,GAFA0a,EAASlhB,KAAKihB,MAAMC,OACpBqH,EAAMrH,EAAOsH,WAAW,KAG5B,MAAwBpiB,SAApBpG,KAAK+c,YAA4B/c,KAAK+c,WAAWrW,QAAU,GAA/D,CAGA,IAAKF,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IAAK,CAC3C,GAAIse,GAAQ9kB,KAAKqf,2BAA2Brf,KAAK+c,WAAWvW,GAAG+M,OAC3DwR,EAAS/kB,KAAKsf,4BAA4BwF,EAC9C9kB,MAAK+c,WAAWvW,GAAGse,MAAQA,EAC3B9kB,KAAK+c,WAAWvW,GAAGue,OAASA,CAG5B,IAAIuH,GAActsB,KAAKqf,2BAA2Brf,KAAK+c,WAAWvW,GAAGwe,OACrEhlB,MAAK+c,WAAWvW,GAAG+lB,KAAOvsB,KAAKoc,gBAAkBkQ,EAAY5lB,UAAY4lB,EAAYzN,EAIvF,GAAI2N,GAAY,SAAmBlmB,EAAGC,GACpC,MAAOA,GAAEgmB,KAAOjmB,EAAEimB,KAEpBvsB,MAAK+c,WAAWlF,KAAK2U,EAGrB,IAAI5D,GAAmC,IAAzB5oB,KAAKihB,MAAME,WACzB,KAAK3a,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IAAK,CAC3C,GAAI+M,GAAQvT,KAAK+c,WAAWvW,EAE5B,IAAIxG,KAAKoO,QAAUpN,EAAQkb,MAAM8F,QAAS,CAGxC,GAAI2I,GAAO3qB,KAAKkf,eAAe3L,EAAMyR,OACrCuD,GAAIO,UAAY,EAChBP,EAAIY,YAAcnpB,KAAKme,UACvBoK,EAAIa,YACJb,EAAIc,OAAOsB,EAAKxX,EAAGwX,EAAKvX,GACxBmV,EAAIe,OAAO/V,EAAMwR,OAAO5R,EAAGI,EAAMwR,OAAO3R,GACxCmV,EAAI/G,SAIN,GAAI9N,EAEFA,GADE1T,KAAKoO,QAAUpN,EAAQkb,MAAMgG,QACxB0G,EAAU,EAAI,EAAIA,GAAWrV,EAAMA,MAAM/O,MAAQxE,KAAK8d,WAAa9d,KAAK+d,SAAW/d,KAAK8d,UAExF8K,CAGT,IAAIkE,EAEFA,GADE9sB,KAAKoc,gBACE1I,GAAQH,EAAMuR,MAAMjG,EAEpBnL,IAAS1T,KAAK8c,IAAI+B,EAAI7e,KAAK6c,OAAOkE,gBAEhC,EAAT+L,IACFA,EAAS,EAGX,IAAI/e,GAAK9B,EAAOyV,CACZ1hB,MAAKoO,QAAUpN,EAAQkb,MAAM+F,UAE/BlU,EAAqE,KAA9D,GAAKwF,EAAMA,MAAM/O,MAAQxE,KAAK8d,UAAY9d,KAAKyE,MAAMD,OAC5DyH,EAAQjM,KAAKkpB,SAASnb,EAAK,EAAG,GAC9B2T,EAAc1hB,KAAKkpB,SAASnb,EAAK,EAAG,KAC3B/N,KAAKoO,QAAUpN,EAAQkb,MAAMgG,SACtCjW,EAAQjM,KAAKoe,SACbsD,EAAc1hB,KAAKqe,iBAGnBtQ,EAA8E,KAAvE,GAAKwF,EAAMA,MAAMsL,EAAI7e,KAAK2d,MAAQ3d,KAAKyE,MAAMoa,EAAI7e,KAAK0c,eAC7DzQ,EAAQjM,KAAKkpB,SAASnb,EAAK,EAAG,GAC9B2T,EAAc1hB,KAAKkpB,SAASnb,EAAK,EAAG,KAItCwa,EAAIO,UAAY,EAChBP,EAAIY,YAAczH,EAClB6G,EAAIiB,UAAYvd,EAChBsc,EAAIa,YACJb,EAAIwE,IAAIxZ,EAAMwR,OAAO5R,EAAGI,EAAMwR,OAAO3R,EAAG0Z,EAAQ,EAAa,EAAVpoB,KAAKsoB,IAAQ,GAChEzE,EAAIhH,OACJgH,EAAI/G,YAQRxgB,EAAQ6T,UAAUsT,eAAiB,WACjC,GAEI3hB,GAAGymB,EAAGC,EAASC,EAFfjM,EAASlhB,KAAKihB,MAAMC,OACpBqH,EAAMrH,EAAOsH,WAAW,KAG5B,MAAwBpiB,SAApBpG,KAAK+c,YAA4B/c,KAAK+c,WAAWrW,QAAU,GAA/D,CAGA,IAAKF,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IAAK,CAC3C,GAAIse,GAAQ9kB,KAAKqf,2BAA2Brf,KAAK+c,WAAWvW,GAAG+M,OAC3DwR,EAAS/kB,KAAKsf,4BAA4BwF,EAC9C9kB,MAAK+c,WAAWvW,GAAGse,MAAQA,EAC3B9kB,KAAK+c,WAAWvW,GAAGue,OAASA,CAG5B,IAAIuH,GAActsB,KAAKqf,2BAA2Brf,KAAK+c,WAAWvW,GAAGwe,OACrEhlB,MAAK+c,WAAWvW,GAAG+lB,KAAOvsB,KAAKoc,gBAAkBkQ,EAAY5lB,UAAY4lB,EAAYzN,EAIvF,GAAI2N,GAAY,SAAmBlmB,EAAGC,GACpC,MAAOA,GAAEgmB,KAAOjmB,EAAEimB,KAEpBvsB,MAAK+c,WAAWlF,KAAK2U,EAGrB,IAAIY,GAASptB,KAAKge,UAAY,EAC1BqP,EAASrtB,KAAKie,UAAY,CAC9B,KAAKzX,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IAAK,CAC3C,GAGIuH,GAAK9B,EAAOyV,EAHZnO,EAAQvT,KAAK+c,WAAWvW,EAIxBxG,MAAKoO,QAAUpN,EAAQkb,MAAM4F,UAE/B/T,EAAqE,KAA9D,GAAKwF,EAAMA,MAAM/O,MAAQxE,KAAK8d,UAAY9d,KAAKyE,MAAMD,OAC5DyH,EAAQjM,KAAKkpB,SAASnb,EAAK,EAAG,GAC9B2T,EAAc1hB,KAAKkpB,SAASnb,EAAK,EAAG,KAC3B/N,KAAKoO,QAAUpN,EAAQkb,MAAM6F,SACtC9V,EAAQjM,KAAKoe,SACbsD,EAAc1hB,KAAKqe,iBAGnBtQ,EAA8E,KAAvE,GAAKwF,EAAMA,MAAMsL,EAAI7e,KAAK2d,MAAQ3d,KAAKyE,MAAMoa,EAAI7e,KAAK0c,eAC7DzQ,EAAQjM,KAAKkpB,SAASnb,EAAK,EAAG,GAC9B2T,EAAc1hB,KAAKkpB,SAASnb,EAAK,EAAG,KAIlC/N,KAAKoO,QAAUpN,EAAQkb,MAAM6F,UAC/BqL,EAASptB,KAAKge,UAAY,IAAMzK,EAAMA,MAAM/O,MAAQxE,KAAK8d,WAAa9d,KAAK+d,SAAW/d,KAAK8d,UAAY,GAAM,IAC7GuP,EAASrtB,KAAKie,UAAY,IAAM1K,EAAMA,MAAM/O,MAAQxE,KAAK8d,WAAa9d,KAAK+d,SAAW/d,KAAK8d,UAAY,GAAM,IAI/G,IAAIjI,GAAK7V,KACLmf,EAAU5L,EAAMA,MAChB3K,IAAS2K,MAAO,GAAIlS,GAAQ8d,EAAQhM,EAAIia,EAAQjO,EAAQ/L,EAAIia,EAAQlO,EAAQN,KAAQtL,MAAO,GAAIlS,GAAQ8d,EAAQhM,EAAIia,EAAQjO,EAAQ/L,EAAIia,EAAQlO,EAAQN,KAAQtL,MAAO,GAAIlS,GAAQ8d,EAAQhM,EAAIia,EAAQjO,EAAQ/L,EAAIia,EAAQlO,EAAQN,KAAQtL,MAAO,GAAIlS,GAAQ8d,EAAQhM,EAAIia,EAAQjO,EAAQ/L,EAAIia,EAAQlO,EAAQN,KAC7SmG,IAAYzR,MAAO,GAAIlS,GAAQ8d,EAAQhM,EAAIia,EAAQjO,EAAQ/L,EAAIia,EAAQrtB,KAAK2d,QAAWpK,MAAO,GAAIlS,GAAQ8d,EAAQhM,EAAIia,EAAQjO,EAAQ/L,EAAIia,EAAQrtB,KAAK2d,QAAWpK,MAAO,GAAIlS,GAAQ8d,EAAQhM,EAAIia,EAAQjO,EAAQ/L,EAAIia,EAAQrtB,KAAK2d,QAAWpK,MAAO,GAAIlS,GAAQ8d,EAAQhM,EAAIia,EAAQjO,EAAQ/L,EAAIia,EAAQrtB,KAAK2d,OAGjT/U,GAAIS,QAAQ,SAAUvD,GACpBA,EAAIif,OAASlP,EAAGqJ,eAAepZ,EAAIyN,SAErCyR,EAAO3b,QAAQ,SAAUvD,GACvBA,EAAIif,OAASlP,EAAGqJ,eAAepZ,EAAIyN,QAIrC,IAAI+Z,KAAcH,QAASvkB,EAAK2kB,OAAQlsB,EAAQmsB,IAAIxI,EAAO,GAAGzR,MAAOyR,EAAO,GAAGzR,SAAY4Z,SAAUvkB,EAAI,GAAIA,EAAI,GAAIoc,EAAO,GAAIA,EAAO,IAAKuI,OAAQlsB,EAAQmsB,IAAIxI,EAAO,GAAGzR,MAAOyR,EAAO,GAAGzR,SAAY4Z,SAAUvkB,EAAI,GAAIA,EAAI,GAAIoc,EAAO,GAAIA,EAAO,IAAKuI,OAAQlsB,EAAQmsB,IAAIxI,EAAO,GAAGzR,MAAOyR,EAAO,GAAGzR,SAAY4Z,SAAUvkB,EAAI,GAAIA,EAAI,GAAIoc,EAAO,GAAIA,EAAO,IAAKuI,OAAQlsB,EAAQmsB,IAAIxI,EAAO,GAAGzR,MAAOyR,EAAO,GAAGzR,SAAY4Z,SAAUvkB,EAAI,GAAIA,EAAI,GAAIoc,EAAO,GAAIA,EAAO,IAAKuI,OAAQlsB,EAAQmsB,IAAIxI,EAAO,GAAGzR,MAAOyR,EAAO,GAAGzR,QAI/f,KAHAA,EAAM+Z,SAAWA,EAGZL,EAAI,EAAGA,EAAIK,EAAS5mB,OAAQumB,IAAK,CACpCC,EAAUI,EAASL,EACnB,IAAIQ,GAAcztB,KAAKqf,2BAA2B6N,EAAQK,OAC1DL,GAAQX,KAAOvsB,KAAKoc,gBAAkBqR,EAAY/mB,UAAY+mB,EAAY5O,EAwB5E,IAjBAyO,EAASzV,KAAK,SAAUvR,EAAGC,GACzB,GAAImnB,GAAOnnB,EAAEgmB,KAAOjmB,EAAEimB,IACtB,OAAImB,GAAaA,EAGbpnB,EAAE6mB,UAAYvkB,EAAY,EAC1BrC,EAAE4mB,UAAYvkB,EAAY,GAGvB,IAIT2f,EAAIO,UAAY,EAChBP,EAAIY,YAAczH,EAClB6G,EAAIiB,UAAYvd,EAEXghB,EAAI,EAAGA,EAAIK,EAAS5mB,OAAQumB,IAC/BC,EAAUI,EAASL,GACnBE,EAAUD,EAAQC,QAClB5E,EAAIa,YACJb,EAAIc,OAAO8D,EAAQ,GAAGpI,OAAO5R,EAAGga,EAAQ,GAAGpI,OAAO3R,GAClDmV,EAAIe,OAAO6D,EAAQ,GAAGpI,OAAO5R,EAAGga,EAAQ,GAAGpI,OAAO3R,GAClDmV,EAAIe,OAAO6D,EAAQ,GAAGpI,OAAO5R,EAAGga,EAAQ,GAAGpI,OAAO3R,GAClDmV,EAAIe,OAAO6D,EAAQ,GAAGpI,OAAO5R,EAAGga,EAAQ,GAAGpI,OAAO3R,GAClDmV,EAAIe,OAAO6D,EAAQ,GAAGpI,OAAO5R,EAAGga,EAAQ,GAAGpI,OAAO3R,GAClDmV,EAAIhH,OACJgH,EAAI/G,YASVxgB,EAAQ6T,UAAUqT,gBAAkB,WAClC,GAEI3U,GACA/M,EAHA0a,EAASlhB,KAAKihB,MAAMC,OACpBqH,EAAMrH,EAAOsH,WAAW,KAI5B,MAAwBpiB,SAApBpG,KAAK+c,YAA4B/c,KAAK+c,WAAWrW,QAAU,GAA/D,CAGA,IAAKF,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IAAK,CAC3C,GAAIse,GAAQ9kB,KAAKqf,2BAA2Brf,KAAK+c,WAAWvW,GAAG+M,OAC3DwR,EAAS/kB,KAAKsf,4BAA4BwF,EAE9C9kB,MAAK+c,WAAWvW,GAAGse,MAAQA,EAC3B9kB,KAAK+c,WAAWvW,GAAGue,OAASA,EAc9B,IAVI/kB,KAAK+c,WAAWrW,OAAS,IAC3B6M,EAAQvT,KAAK+c,WAAW,GAExBwL,EAAIO,UAAY,EAChBP,EAAIY,YAAc,OAClBZ,EAAIa,YACJb,EAAIc,OAAO9V,EAAMwR,OAAO5R,EAAGI,EAAMwR,OAAO3R,IAIrC5M,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IACtC+M,EAAQvT,KAAK+c,WAAWvW,GACxB+hB,EAAIe,OAAO/V,EAAMwR,OAAO5R,EAAGI,EAAMwR,OAAO3R,EAItCpT,MAAK+c,WAAWrW,OAAS,GAC3B6hB,EAAI/G,WASRxgB,EAAQ6T,UAAU8Q,aAAe,SAAUrb,GAWzC,GAVAA,EAAQA,GAASC,OAAOD,MAIpBtK,KAAK2tB,gBACP3tB,KAAK4tB,WAAWtjB,GAIlBtK,KAAK2tB,eAAiBrjB,EAAMujB,MAAwB,IAAhBvjB,EAAMujB,MAA+B,IAAjBvjB,EAAMwjB,OACzD9tB,KAAK2tB,gBAAmB3tB,KAAK+tB,UAAlC,CAGA/tB,KAAKguB,YAAc1P,EAAUhU,GAC7BtK,KAAKiuB,YAAcxP,EAAUnU,GAE7BtK,KAAKkuB,WAAa,GAAIppB,MAAK9E,KAAKiR,OAChCjR,KAAKmuB,SAAW,GAAIrpB,MAAK9E,KAAKkR,KAC9BlR,KAAKouB,iBAAmBpuB,KAAK6c,OAAOyK,iBAEpCtnB,KAAKihB,MAAM7S,MAAMigB,OAAS,MAK1B,IAAIxY,GAAK7V,IACTA,MAAKsuB,YAAc,SAAUhkB,GAC3BuL,EAAG0Y,aAAajkB,IAElBtK,KAAKwuB,UAAY,SAAUlkB,GACzBuL,EAAG+X,WAAWtjB,IAEhB3J,EAAKgJ,iBAAiBgJ,SAAU,YAAakD,EAAGyY,aAChD3tB,EAAKgJ,iBAAiBgJ,SAAU,UAAWkD,EAAG2Y,WAC9C7tB,EAAK0J,eAAeC,KAQtBtJ,EAAQ6T,UAAU0Z,aAAe,SAAUjkB,GACzCA,EAAQA,GAASC,OAAOD,KAGxB,IAAImkB,GAAQ5H,WAAWvI,EAAUhU,IAAUtK,KAAKguB,YAC5CU,EAAQ7H,WAAWpI,EAAUnU,IAAUtK,KAAKiuB,YAE5CU,EAAgB3uB,KAAKouB,iBAAiBpH,WAAayH,EAAQ,IAC3DG,EAAc5uB,KAAKouB,iBAAiBnH,SAAWyH,EAAQ,IAEvDG,EAAY,EACZC,EAAYpqB,KAAKqb,IAAI8O,EAAY,IAAM,EAAInqB,KAAKsoB,GAIhDtoB,MAAKwnB,IAAIxnB,KAAKqb,IAAI4O,IAAkBG,IACtCH,EAAgBjqB,KAAKqqB,MAAMJ,EAAgBjqB,KAAKsoB,IAAMtoB,KAAKsoB,GAAK,MAE9DtoB,KAAKwnB,IAAIxnB,KAAKwb,IAAIyO,IAAkBG,IACtCH,GAAiBjqB,KAAKqqB,MAAMJ,EAAgBjqB,KAAKsoB,GAAK,IAAO,IAAOtoB,KAAKsoB,GAAK,MAI5EtoB,KAAKwnB,IAAIxnB,KAAKqb,IAAI6O,IAAgBE,IACpCF,EAAclqB,KAAKqqB,MAAMH,EAAclqB,KAAKsoB,IAAMtoB,KAAKsoB,IAErDtoB,KAAKwnB,IAAIxnB,KAAKwb,IAAI0O,IAAgBE,IACpCF,GAAelqB,KAAKqqB,MAAMH,EAAclqB,KAAKsoB,GAAK,IAAO,IAAOtoB,KAAKsoB,IAGvEhtB,KAAK6c,OAAOqK,eAAeyH,EAAeC,GAC1C5uB,KAAKojB,QAGL,IAAI4L,GAAahvB,KAAKqnB,mBACtBrnB,MAAKivB,KAAK,uBAAwBD,GAElCruB,EAAK0J,eAAeC,IAQtBtJ,EAAQ6T,UAAU+Y,WAAa,SAAUtjB,GACvCtK,KAAKihB,MAAM7S,MAAMigB,OAAS,OAC1BruB,KAAK2tB,gBAAiB,EAGtBhtB,EAAKwJ,oBAAoBwI,SAAU,YAAa3S,KAAKsuB,aACrD3tB,EAAKwJ,oBAAoBwI,SAAU,UAAW3S,KAAKwuB,WACnD7tB,EAAK0J,eAAeC,IAOtBtJ,EAAQ6T,UAAUoR,WAAa,SAAU3b,GACvC,GAAI+P,GAAQ,IACR6U,EAAelvB,KAAKihB,MAAMxY,wBAC1B0mB,EAAS7Q,EAAUhU,GAAS4kB,EAAaxmB,KACzC0mB,EAAS3Q,EAAUnU,GAAS4kB,EAAatmB,GAE7C,IAAK5I,KAAKyc,YAAV,CASA,GALIzc,KAAKqvB,gBACPpU,aAAajb,KAAKqvB,gBAIhBrvB,KAAK2tB,eAEP,WADA3tB,MAAKsvB,cAIP,IAAItvB,KAAK4nB,SAAW5nB,KAAK4nB,QAAQ2H,UAAW,CAE1C,GAAIA,GAAYvvB,KAAKwvB,iBAAiBL,EAAQC,EAC1CG,KAAcvvB,KAAK4nB,QAAQ2H,YAEzBA,EACFvvB,KAAKyvB,aAAaF,GAElBvvB,KAAKsvB,oBAGJ,CAEL,GAAIzZ,GAAK7V,IACTA,MAAKqvB,eAAiBnU,WAAW,WAC/BrF,EAAGwZ,eAAiB,IAGpB,IAAIE,GAAY1Z,EAAG2Z,iBAAiBL,EAAQC,EACxCG,IACF1Z,EAAG4Z,aAAaF,IAEjBlV,MAOPrZ,EAAQ6T,UAAUgR,cAAgB,SAAUvb,GAC1CtK,KAAK+tB,WAAY,CAEjB,IAAIlY,GAAK7V,IACTA,MAAK0vB,YAAc,SAAUplB,GAC3BuL,EAAG8Z,aAAarlB,IAElBtK,KAAK4vB,WAAa,SAAUtlB,GAC1BuL,EAAGga,YAAYvlB,IAEjB3J,EAAKgJ,iBAAiBgJ,SAAU,YAAakD,EAAG6Z,aAChD/uB,EAAKgJ,iBAAiBgJ,SAAU,WAAYkD,EAAG+Z,YAE/C5vB,KAAK2lB,aAAarb,IAMpBtJ,EAAQ6T,UAAU8a,aAAe,SAAUrlB,GACzCtK,KAAKuuB,aAAajkB,IAMpBtJ,EAAQ6T,UAAUgb,YAAc,SAAUvlB,GACxCtK,KAAK+tB,WAAY,EAEjBptB,EAAKwJ,oBAAoBwI,SAAU,YAAa3S,KAAK0vB,aACrD/uB,EAAKwJ,oBAAoBwI,SAAU,WAAY3S,KAAK4vB,YAEpD5vB,KAAK4tB,WAAWtjB,IAQlBtJ,EAAQ6T,UAAUkR,SAAW,SAAUzb,GAChCA,IACHA,EAAQC,OAAOD,MAGjB,IAAIwlB,GAAQ,CAcZ,IAbIxlB,EAAMylB,WAERD,EAAQxlB,EAAMylB,WAAa,IAClBzlB,EAAM0lB,SAIfF,GAASxlB,EAAM0lB,OAAS,GAMtBF,EAAO,CACT,GAAIG,GAAYjwB,KAAK6c,OAAOkE,eACxBmP,EAAYD,GAAa,EAAIH,EAAQ,GAEzC9vB,MAAK6c,OAAOuK,aAAa8I,GACzBlwB,KAAKojB,SAELpjB,KAAKsvB,eAIP,GAAIN,GAAahvB,KAAKqnB,mBACtBrnB,MAAKivB,KAAK,uBAAwBD,GAKlCruB,EAAK0J,eAAeC,IAUtBtJ,EAAQ6T,UAAUsb,gBAAkB,SAAU5c,EAAO6c,GAKnD,QAASC,GAAKld,GACZ,MAAOA,GAAI,EAAI,EAAQ,EAAJA,EAAQ,GAAK,EALlC,GAAI7M,GAAI8pB,EAAS,GACb7pB,EAAI6pB,EAAS,GACb3vB,EAAI2vB,EAAS,GAMbE,EAAKD,GAAM9pB,EAAE4M,EAAI7M,EAAE6M,IAAMI,EAAMH,EAAI9M,EAAE8M,IAAM7M,EAAE6M,EAAI9M,EAAE8M,IAAMG,EAAMJ,EAAI7M,EAAE6M,IACrEod,EAAKF,GAAM5vB,EAAE0S,EAAI5M,EAAE4M,IAAMI,EAAMH,EAAI7M,EAAE6M,IAAM3S,EAAE2S,EAAI7M,EAAE6M,IAAMG,EAAMJ,EAAI5M,EAAE4M,IACrEqd,EAAKH,GAAM/pB,EAAE6M,EAAI1S,EAAE0S,IAAMI,EAAMH,EAAI3S,EAAE2S,IAAM9M,EAAE8M,EAAI3S,EAAE2S,IAAMG,EAAMJ,EAAI1S,EAAE0S,GAGzE,SAAc,GAANmd,GAAiB,GAANC,GAAWD,GAAMC,GAAc,GAANA,GAAiB,GAANC,GAAWD,GAAMC,GAAc,GAANF,GAAiB,GAANE,GAAWF,GAAME,IAU9GxvB,EAAQ6T,UAAU2a,iBAAmB,SAAUrc,EAAGC,GAChD,GAAI5M,GACAiqB,EAAU,IAEdlB,EAAY,KACRmB,EAAmB,KACnBC,EAAc,KACdpD,EAAS,GAAInsB,GAAQ+R,EAAGC,EAE5B,IAAIpT,KAAKoO,QAAUpN,EAAQkb,MAAM2F,KAAO7hB,KAAKoO,QAAUpN,EAAQkb,MAAM4F,UAAY9hB,KAAKoO,QAAUpN,EAAQkb,MAAM6F,QAE5G,IAAKvb,EAAIxG,KAAK+c,WAAWrW,OAAS,EAAGF,GAAK,EAAGA,IAAK,CAChD+oB,EAAYvvB,KAAK+c,WAAWvW,EAC5B,IAAI8mB,GAAWiC,EAAUjC,QACzB,IAAIA,EACF,IAAK,GAAIrgB,GAAIqgB,EAAS5mB,OAAS,EAAGuG,GAAK,EAAGA,IAAK,CAE7C,GAAIigB,GAAUI,EAASrgB,GACnBkgB,EAAUD,EAAQC,QAClByD,GAAazD,EAAQ,GAAGpI,OAAQoI,EAAQ,GAAGpI,OAAQoI,EAAQ,GAAGpI,QAC9D8L,GAAa1D,EAAQ,GAAGpI,OAAQoI,EAAQ,GAAGpI,OAAQoI,EAAQ,GAAGpI,OAClE,IAAI/kB,KAAKmwB,gBAAgB5C,EAAQqD,IAAc5wB,KAAKmwB,gBAAgB5C,EAAQsD,GAE1E,MAAOtB,QAOf,KAAK/oB,EAAI,EAAGA,EAAIxG,KAAK+c,WAAWrW,OAAQF,IAAK,CAC3C+oB,EAAYvvB,KAAK+c,WAAWvW,EAC5B,IAAI+M,GAAQgc,EAAUxK,MACtB,IAAIxR,EAAO,CACT,GAAIud,GAAQpsB,KAAKwnB,IAAI/Y,EAAII,EAAMJ,GAC3B4d,EAAQrsB,KAAKwnB,IAAI9Y,EAAIG,EAAMH,GAC3BmZ,EAAO7nB,KAAKssB,KAAKF,EAAQA,EAAQC,EAAQA,IAExB,OAAhBJ,GAA+BA,EAAPpE,IAA8BkE,EAAPlE,IAClDoE,EAAcpE,EACdmE,EAAmBnB,IAM3B,MAAOmB,IAQT1vB,EAAQ6T,UAAU4a,aAAe,SAAUF,GACzC,GAAIzb,GAASmd,EAAMC,CAEdlxB,MAAK4nB,SAgCR9T,EAAU9T,KAAK4nB,QAAQuJ,IAAIrd,QAC3Bmd,EAAOjxB,KAAK4nB,QAAQuJ,IAAIF,KACxBC,EAAMlxB,KAAK4nB,QAAQuJ,IAAID,MAjCvBpd,EAAUnB,SAASM,cAAc,OACjCa,EAAQ1F,MAAMgX,SAAW,WACzBtR,EAAQ1F,MAAMoX,QAAU,OACxB1R,EAAQ1F,MAAMZ,OAAS,oBACvBsG,EAAQ1F,MAAMnC,MAAQ,UACtB6H,EAAQ1F,MAAMb,WAAa,wBAC3BuG,EAAQ1F,MAAMgjB,aAAe,MAC7Btd,EAAQ1F,MAAMijB,UAAY,qCAE1BJ,EAAOte,SAASM,cAAc,OAC9Bge,EAAK7iB,MAAMgX,SAAW,WACtB6L,EAAK7iB,MAAM8F,OAAS,OACpB+c,EAAK7iB,MAAM6F,MAAQ,IACnBgd,EAAK7iB,MAAMkjB,WAAa,oBAExBJ,EAAMve,SAASM,cAAc,OAC7Bie,EAAI9iB,MAAMgX,SAAW,WACrB8L,EAAI9iB,MAAM8F,OAAS,IACnBgd,EAAI9iB,MAAM6F,MAAQ,IAClBid,EAAI9iB,MAAMZ,OAAS,oBACnB0jB,EAAI9iB,MAAMgjB,aAAe,MAEzBpxB,KAAK4nB,SACH2H,UAAW,KACX4B,KACErd,QAASA,EACTmd,KAAMA,EACNC,IAAKA,KASXlxB,KAAKsvB,eAELtvB,KAAK4nB,QAAQ2H,UAAYA,EACO,kBAArBvvB,MAAKyc,YACd3I,EAAQ2R,UAAYzlB,KAAKyc,YAAY8S,EAAUhc,OAE/CO,EAAQ2R,UAAY,6BAAoC8J,EAAUhc,MAAMJ,EAAI,gCAAuCoc,EAAUhc,MAAMH,EAAI,gCAAuCmc,EAAUhc,MAAMsL,EAAI,qBAGpM/K,EAAQ1F,MAAM1F,KAAO,IACrBoL,EAAQ1F,MAAMxF,IAAM,IACpB5I,KAAKihB,MAAMpO,YAAYiB,GACvB9T,KAAKihB,MAAMpO,YAAYoe,GACvBjxB,KAAKihB,MAAMpO,YAAYqe,EAGvB,IAAIK,GAAezd,EAAQ0d,YACvBC,EAAgB3d,EAAQ4d,aACxBC,EAAaV,EAAKS,aAClBE,EAAWV,EAAIM,YACfK,EAAYX,EAAIQ,aAEhBhpB,EAAO6mB,EAAUxK,OAAO5R,EAAIoe,EAAe,CAC/C7oB,GAAOhE,KAAKL,IAAIK,KAAKJ,IAAIoE,EAAM,IAAK1I,KAAKihB,MAAME,YAAc,GAAKoQ,GAElEN,EAAK7iB,MAAM1F,KAAO6mB,EAAUxK,OAAO5R,EAAI,KACvC8d,EAAK7iB,MAAMxF,IAAM2mB,EAAUxK,OAAO3R,EAAIue,EAAa,KACnD7d,EAAQ1F,MAAM1F,KAAOA,EAAO,KAC5BoL,EAAQ1F,MAAMxF,IAAM2mB,EAAUxK,OAAO3R,EAAIue,EAAaF,EAAgB,KACtEP,EAAI9iB,MAAM1F,KAAO6mB,EAAUxK,OAAO5R,EAAIye,EAAW,EAAI,KACrDV,EAAI9iB,MAAMxF,IAAM2mB,EAAUxK,OAAO3R,EAAIye,EAAY,EAAI,MAOvD7wB,EAAQ6T,UAAUya,aAAe,WAC/B,GAAItvB,KAAK4nB,QAAS,CAChB5nB,KAAK4nB,QAAQ2H,UAAY,IAEzB,KAAK,GAAIxpB,KAAQ/F,MAAK4nB,QAAQuJ,IAC5B,GAAInxB,KAAK4nB,QAAQuJ,IAAInrB,eAAeD,GAAO,CACzC,GAAIyC,GAAOxI,KAAK4nB,QAAQuJ,IAAIprB,EACxByC,IAAQA,EAAKqC,YACfrC,EAAKqC,WAAW1G,YAAYqE,MA+BtC3I,EAAOD,QAAUoB,GAMb,SAASnB,EAAQD,EAASM,GAgB9B,QAASgB,KACPlB,KAAK8xB,YAAc,GAAIzwB,GACvBrB,KAAK+xB,eACL/xB,KAAK+xB,YAAY/K,WAAa,EAC9BhnB,KAAK+xB,YAAY9K,SAAW,EAC5BjnB,KAAKgyB,UAAY,IAEjBhyB,KAAKiyB,eAAiB,GAAI5wB,GAC1BrB,KAAKkyB,eAAiB,GAAI7wB,GAAQ,GAAMqD,KAAKsoB,GAAI,EAAG,GAEpDhtB,KAAKmyB,6BAtBP,GAAI9wB,GAAUnB,EAAoB,GA+BlCgB,GAAO2T,UAAUoK,eAAiB,SAAU9L,EAAGC,EAAGyL,GAChD7e,KAAK8xB,YAAY3e,EAAIA,EACrBnT,KAAK8xB,YAAY1e,EAAIA,EACrBpT,KAAK8xB,YAAYjT,EAAIA,EAErB7e,KAAKmyB,8BAWPjxB,EAAO2T,UAAUqS,eAAiB,SAAUF,EAAYC,GACnC7gB,SAAf4gB,IACFhnB,KAAK+xB,YAAY/K,WAAaA,GAGf5gB,SAAb6gB,IACFjnB,KAAK+xB,YAAY9K,SAAWA,EACxBjnB,KAAK+xB,YAAY9K,SAAW,IAAGjnB,KAAK+xB,YAAY9K,SAAW,GAC3DjnB,KAAK+xB,YAAY9K,SAAW,GAAMviB,KAAKsoB,KAAIhtB,KAAK+xB,YAAY9K,SAAW,GAAMviB,KAAKsoB,MAGrE5mB,SAAf4gB,GAAyC5gB,SAAb6gB,IAC9BjnB,KAAKmyB,8BAQTjxB,EAAO2T,UAAUyS,eAAiB,WAChC,GAAI8K,KAIJ,OAHAA,GAAIpL,WAAahnB,KAAK+xB,YAAY/K,WAClCoL,EAAInL,SAAWjnB,KAAK+xB,YAAY9K,SAEzBmL,GAOTlxB,EAAO2T,UAAUuS,aAAe,SAAU1gB,GACzBN,SAAXM,IAEJ1G,KAAKgyB,UAAYtrB,EAKb1G,KAAKgyB,UAAY,MAAMhyB,KAAKgyB,UAAY,KACxChyB,KAAKgyB,UAAY,IAAGhyB,KAAKgyB,UAAY,GAEzChyB,KAAKmyB,+BAOPjxB,EAAO2T,UAAUkM,aAAe,WAC9B,MAAO/gB,MAAKgyB,WAOd9wB,EAAO2T,UAAU8K,kBAAoB,WACnC,MAAO3f,MAAKiyB,gBAOd/wB,EAAO2T,UAAUmL,kBAAoB,WACnC,MAAOhgB,MAAKkyB,gBAOdhxB,EAAO2T,UAAUsd,2BAA6B,WAE5CnyB,KAAKiyB,eAAe9e,EAAInT,KAAK8xB,YAAY3e,EAAInT,KAAKgyB,UAAYttB,KAAKqb,IAAI/f,KAAK+xB,YAAY/K,YAActiB,KAAKwb,IAAIlgB,KAAK+xB,YAAY9K,UAChIjnB,KAAKiyB,eAAe7e,EAAIpT,KAAK8xB,YAAY1e,EAAIpT,KAAKgyB,UAAYttB,KAAKwb,IAAIlgB,KAAK+xB,YAAY/K,YAActiB,KAAKwb,IAAIlgB,KAAK+xB,YAAY9K,UAChIjnB,KAAKiyB,eAAepT,EAAI7e,KAAK8xB,YAAYjT,EAAI7e,KAAKgyB,UAAYttB,KAAKqb,IAAI/f,KAAK+xB,YAAY9K,UAGxFjnB,KAAKkyB,eAAe/e,EAAIzO,KAAKsoB,GAAK,EAAIhtB,KAAK+xB,YAAY9K,SACvDjnB,KAAKkyB,eAAe9e,EAAI,EACxBpT,KAAKkyB,eAAerT,GAAK7e,KAAK+xB,YAAY/K,YAG5CnnB,EAAOD,QAAUsB,GAIb,SAASrB,EAAQD,EAASM,GAa9B,QAASiB,GAAOiT,EAAMsO,EAAQ2P,GAC5BryB,KAAKoU,KAAOA,EACZpU,KAAK0iB,OAASA,EACd1iB,KAAKqyB,MAAQA,EAEbryB,KAAKmJ,MAAQ/C,OACbpG,KAAKwE,MAAQ4B,OAGbpG,KAAKyY,OAAS4Z,EAAM1P,kBAAkBvO,EAAKwC,MAAO5W,KAAK0iB;AAGvD1iB,KAAKyY,OAAOZ,KAAK,SAAUvR,EAAGC,GAC5B,MAAOD,GAAIC,EAAI,EAAQA,EAAJD,EAAQ,GAAK,IAG9BtG,KAAKyY,OAAO/R,OAAS,GACvB1G,KAAKsqB,YAAY,GAInBtqB,KAAK+c,cAEL/c,KAAKM,QAAS,EACdN,KAAKsyB,eAAiBlsB,OAElBisB,EAAMzV,kBACR5c,KAAKM,QAAS,EACdN,KAAKuyB,oBAELvyB,KAAKM,QAAS,EAvClB,GAAIQ,GAAWZ,EAAoB,EA+CnCiB,GAAO0T,UAAU2d,SAAW,WAC1B,MAAOxyB,MAAKM,QAOda,EAAO0T,UAAU4d,kBAAoB,WAInC,IAHA,GAAI/qB,GAAM1H,KAAKyY,OAAO/R,OAElBF,EAAI,EACDxG,KAAK+c,WAAWvW,IACrBA,GAGF,OAAO9B,MAAKqqB,MAAMvoB,EAAIkB,EAAM,MAO9BvG,EAAO0T,UAAU4V,SAAW,WAC1B,MAAOzqB,MAAKqyB,MAAMrW,aAOpB7a,EAAO0T,UAAU6d,UAAY,WAC3B,MAAO1yB,MAAK0iB,QAOdvhB,EAAO0T,UAAU6V,iBAAmB,WAClC,MAAmBtkB,UAAfpG,KAAKmJ,MAA4B/C,OAE9BpG,KAAKyY,OAAOzY,KAAKmJ,QAO1BhI,EAAO0T,UAAU8d,UAAY,WAC3B,MAAO3yB,MAAKyY,QAQdtX,EAAO0T,UAAUyB,SAAW,SAAUnN,GACpC,GAAIA,GAASnJ,KAAKyY,OAAO/R,OAAQ,KAAM,2BAEvC,OAAO1G,MAAKyY,OAAOtP,IAQrBhI,EAAO0T,UAAU4P,eAAiB,SAAUtb,GAG1C,GAFc/C,SAAV+C,IAAqBA,EAAQnJ,KAAKmJ,OAExB/C,SAAV+C,EAAqB,QAEzB,IAAI4T,EACJ,IAAI/c,KAAK+c,WAAW5T,GAClB4T,EAAa/c,KAAK+c,WAAW5T,OACxB,CACL,GAAI4F,KACJA,GAAE2T,OAAS1iB,KAAK0iB,OAChB3T,EAAEvK,MAAQxE,KAAKyY,OAAOtP,EAEtB,IAAIypB,GAAW,GAAI9xB,GAASd,KAAKoU,MAAQiB,OAAQ,SAAgB3E,GAC7D,MAAOA,GAAK3B,EAAE2T,SAAW3T,EAAEvK,SACxBoS,KACPmG,GAAa/c,KAAKqyB,MAAM5N,eAAemO,GAEvC5yB,KAAK+c,WAAW5T,GAAS4T,EAG3B,MAAOA,IAMT5b,EAAO0T,UAAUsO,kBAAoB,SAAU7Z,GAC7CtJ,KAAKsyB,eAAiBhpB,GAQxBnI,EAAO0T,UAAUyV,YAAc,SAAUnhB,GACvC,GAAIA,GAASnJ,KAAKyY,OAAO/R,OAAQ,KAAM,2BAEvC1G,MAAKmJ,MAAQA,EACbnJ,KAAKwE,MAAQxE,KAAKyY,OAAOtP,IAO3BhI,EAAO0T,UAAU0d,iBAAmB,SAAUppB,GAC9B/C,SAAV+C,IAAqBA,EAAQ,EAEjC,IAAI8X,GAAQjhB,KAAKqyB,MAAMpR,KAEvB,IAAI9X,EAAQnJ,KAAKyY,OAAO/R,OAAQ,CAC9B,CAAqB1G,KAAKykB,eAAetb,GAIlB/C,SAAnB6a,EAAM4R,WACR5R,EAAM4R,SAAWlgB,SAASM,cAAc,OACxCgO,EAAM4R,SAASzkB,MAAMgX,SAAW,WAChCnE,EAAM4R,SAASzkB,MAAMnC,MAAQ,OAC7BgV,EAAMpO,YAAYoO,EAAM4R,UAE1B,IAAIA,GAAW7yB,KAAKyyB,mBACpBxR,GAAM4R,SAASpN,UAAY,wBAA0BoN,EAAW,IAEhE5R,EAAM4R,SAASzkB,MAAM4W,OAAS,OAC9B/D,EAAM4R,SAASzkB,MAAM1F,KAAO,MAE5B,IAAImN,GAAK7V,IACTkb,YAAW,WACTrF,EAAG0c,iBAAiBppB,EAAQ,IAC3B,IACHnJ,KAAKM,QAAS,MAEdN,MAAKM,QAAS,EAGS8F,SAAnB6a,EAAM4R,WACR5R,EAAM9c,YAAY8c,EAAM4R,UACxB5R,EAAM4R,SAAWzsB,QAGfpG,KAAKsyB,gBAAgBtyB,KAAKsyB,kBAIlCzyB,EAAOD,QAAUuB,GAIb,SAAStB,EAAQD,EAASM,GAS9B,QAASkB,GAAQ+R,EAAGC,GAClBpT,KAAKmT,EAAU/M,SAAN+M,EAAkBA,EAAI,EAC/BnT,KAAKoT,EAAUhN,SAANgN,EAAkBA,EAAI,EAGjCvT,EAAOD,QAAUwB,GAIb,SAASvB,EAAQD,EAASM,GAU9B,QAASmB,GAAQ8R,EAAGC,EAAGyL,GACrB7e,KAAKmT,EAAU/M,SAAN+M,EAAkBA,EAAI,EAC/BnT,KAAKoT,EAAUhN,SAANgN,EAAkBA,EAAI,EAC/BpT,KAAK6e,EAAUzY,SAANyY,EAAkBA,EAAI,EASjCxd,EAAQqrB,SAAW,SAAUpmB,EAAGC,GAC9B,GAAIusB,GAAM,GAAIzxB,EAId,OAHAyxB,GAAI3f,EAAI7M,EAAE6M,EAAI5M,EAAE4M,EAChB2f,EAAI1f,EAAI9M,EAAE8M,EAAI7M,EAAE6M,EAChB0f,EAAIjU,EAAIvY,EAAEuY,EAAItY,EAAEsY,EACTiU,GASTzxB,EAAQsT,IAAM,SAAUrO,EAAGC,GACzB,GAAIwsB,GAAM,GAAI1xB,EAId,OAHA0xB,GAAI5f,EAAI7M,EAAE6M,EAAI5M,EAAE4M,EAChB4f,EAAI3f,EAAI9M,EAAE8M,EAAI7M,EAAE6M,EAChB2f,EAAIlU,EAAIvY,EAAEuY,EAAItY,EAAEsY,EACTkU,GAST1xB,EAAQmsB,IAAM,SAAUlnB,EAAGC,GACzB,MAAO,IAAIlF,IAASiF,EAAE6M,EAAI5M,EAAE4M,GAAK,GAAI7M,EAAE8M,EAAI7M,EAAE6M,GAAK,GAAI9M,EAAEuY,EAAItY,EAAEsY,GAAK,IAUrExd,EAAQwrB,aAAe,SAAUvmB,EAAGC,GAClC,GAAIqmB,GAAe,GAAIvrB,EAMvB,OAJAurB,GAAazZ,EAAI7M,EAAE8M,EAAI7M,EAAEsY,EAAIvY,EAAEuY,EAAItY,EAAE6M,EACrCwZ,EAAaxZ,EAAI9M,EAAEuY,EAAItY,EAAE4M,EAAI7M,EAAE6M,EAAI5M,EAAEsY,EACrC+N,EAAa/N,EAAIvY,EAAE6M,EAAI5M,EAAE6M,EAAI9M,EAAE8M,EAAI7M,EAAE4M,EAE9ByZ,GAOTvrB,EAAQwT,UAAUnO,OAAS,WACzB,MAAOhC,MAAKssB,KAAKhxB,KAAKmT,EAAInT,KAAKmT,EAAInT,KAAKoT,EAAIpT,KAAKoT,EAAIpT,KAAK6e,EAAI7e,KAAK6e,IAGrEhf,EAAOD,QAAUyB,GAIb,SAASxB,EAAQD,EAASM,GAe9B,QAASoB,GAAO6Z,EAAWrL,GACzB,GAAkB1J,SAAd+U,EACF,KAAM,qCAKR,IAHAnb,KAAKmb,UAAYA,EACjBnb,KAAKiqB,QAAUna,GAA8B1J,QAAnB0J,EAAQma,QAAuBna,EAAQma,SAAU,EAEvEjqB,KAAKiqB,QAAS,CAChBjqB,KAAKihB,MAAQtO,SAASM,cAAc,OAEpCjT,KAAKihB,MAAM7S,MAAM6F,MAAQ,OACzBjU,KAAKihB,MAAM7S,MAAMgX,SAAW,WAC5BplB,KAAKmb,UAAUtI,YAAY7S,KAAKihB,OAEhCjhB,KAAKihB,MAAM+R,KAAOrgB,SAASM,cAAc,SACzCjT,KAAKihB,MAAM+R,KAAKprB,KAAO,SACvB5H,KAAKihB,MAAM+R,KAAKxuB,MAAQ,OACxBxE,KAAKihB,MAAMpO,YAAY7S,KAAKihB,MAAM+R,MAElChzB,KAAKihB,MAAMuF,KAAO7T,SAASM,cAAc,SACzCjT,KAAKihB,MAAMuF,KAAK5e,KAAO,SACvB5H,KAAKihB,MAAMuF,KAAKhiB,MAAQ,OACxBxE,KAAKihB,MAAMpO,YAAY7S,KAAKihB,MAAMuF,MAElCxmB,KAAKihB,MAAM4I,KAAOlX,SAASM,cAAc,SACzCjT,KAAKihB,MAAM4I,KAAKjiB,KAAO,SACvB5H,KAAKihB,MAAM4I,KAAKrlB,MAAQ,OACxBxE,KAAKihB,MAAMpO,YAAY7S,KAAKihB,MAAM4I,MAElC7pB,KAAKihB,MAAMgS,IAAMtgB,SAASM,cAAc,SACxCjT,KAAKihB,MAAMgS,IAAIrrB,KAAO,SACtB5H,KAAKihB,MAAMgS,IAAI7kB,MAAMgX,SAAW,WAChCplB,KAAKihB,MAAMgS,IAAI7kB,MAAMZ,OAAS,gBAC9BxN,KAAKihB,MAAMgS,IAAI7kB,MAAM6F,MAAQ,QAC7BjU,KAAKihB,MAAMgS,IAAI7kB,MAAM8F,OAAS,MAC9BlU,KAAKihB,MAAMgS,IAAI7kB,MAAMgjB,aAAe,MACpCpxB,KAAKihB,MAAMgS,IAAI7kB,MAAM8kB,gBAAkB,MACvClzB,KAAKihB,MAAMgS,IAAI7kB,MAAMZ,OAAS,oBAC9BxN,KAAKihB,MAAMgS,IAAI7kB,MAAMkT,gBAAkB,UACvCthB,KAAKihB,MAAMpO,YAAY7S,KAAKihB,MAAMgS,KAElCjzB,KAAKihB,MAAMkS,MAAQxgB,SAASM,cAAc,SAC1CjT,KAAKihB,MAAMkS,MAAMvrB,KAAO,SACxB5H,KAAKihB,MAAMkS,MAAM/kB,MAAMkN,OAAS,MAChCtb,KAAKihB,MAAMkS,MAAM3uB,MAAQ,IACzBxE,KAAKihB,MAAMkS,MAAM/kB,MAAMgX,SAAW,WAClCplB,KAAKihB,MAAMkS,MAAM/kB,MAAM1F,KAAO,SAC9B1I,KAAKihB,MAAMpO,YAAY7S,KAAKihB,MAAMkS,MAGlC,IAAItd,GAAK7V,IACTA,MAAKihB,MAAMkS,MAAMzN,YAAc,SAAUpb,GACvCuL,EAAG8P,aAAarb,IAElBtK,KAAKihB,MAAM+R,KAAKI,QAAU,SAAU9oB,GAClCuL,EAAGmd,KAAK1oB,IAEVtK,KAAKihB,MAAMuF,KAAK4M,QAAU,SAAU9oB,GAClCuL,EAAGwd,WAAW/oB,IAEhBtK,KAAKihB,MAAM4I,KAAKuJ,QAAU,SAAU9oB,GAClCuL,EAAGgU,KAAKvf,IAIZtK,KAAKszB,iBAAmBltB,OAExBpG,KAAKyY,UACLzY,KAAKmJ,MAAQ/C,OAEbpG,KAAKuzB,YAAcntB,OACnBpG,KAAKwzB,aAAe,IACpBxzB,KAAKyzB,UAAW,EAnFlB,GAAI9yB,GAAOT,EAAoB,EAyF/BoB,GAAOuT,UAAUme,KAAO,WACtB,GAAI7pB,GAAQnJ,KAAKqqB,UACblhB,GAAQ,IACVA,IACAnJ,KAAK0zB,SAASvqB,KAOlB7H,EAAOuT,UAAUgV,KAAO,WACtB,GAAI1gB,GAAQnJ,KAAKqqB,UACblhB,GAAQnJ,KAAKyY,OAAO/R,OAAS,IAC/ByC,IACAnJ,KAAK0zB,SAASvqB,KAOlB7H,EAAOuT,UAAU8e,SAAW,WAC1B,GAAI1iB,GAAQ,GAAInM,MAEZqE,EAAQnJ,KAAKqqB,UACblhB,GAAQnJ,KAAKyY,OAAO/R,OAAS,GAC/ByC,IACAnJ,KAAK0zB,SAASvqB,IACLnJ,KAAKyzB,WAEdtqB,EAAQ,EACRnJ,KAAK0zB,SAASvqB,GAGhB,IAAI+H,GAAM,GAAIpM,MACV4oB,EAAOxc,EAAMD,EAIb2iB,EAAWlvB,KAAKJ,IAAItE,KAAKwzB,aAAe9F,EAAM,GAG9C7X,EAAK7V,IACTA,MAAKuzB,YAAcrY,WAAW,WAC5BrF,EAAG8d,YACFC,IAMLtyB,EAAOuT,UAAUwe,WAAa,WACHjtB,SAArBpG,KAAKuzB,YACPvzB,KAAKwmB,OAELxmB,KAAK0mB,QAOTplB,EAAOuT,UAAU2R,KAAO,WAElBxmB,KAAKuzB,cAETvzB,KAAK2zB,WAED3zB,KAAKihB,QACPjhB,KAAKihB,MAAMuF,KAAKhiB,MAAQ,UAO5BlD,EAAOuT,UAAU6R,KAAO,WACtBmN,cAAc7zB,KAAKuzB,aACnBvzB,KAAKuzB,YAAcntB,OAEfpG,KAAKihB,QACPjhB,KAAKihB,MAAMuF,KAAKhiB,MAAQ,SAQ5BlD,EAAOuT,UAAU0V,oBAAsB,SAAUjhB,GAC/CtJ,KAAKszB,iBAAmBhqB,GAO1BhI,EAAOuT,UAAUsV,gBAAkB,SAAUyJ,GAC3C5zB,KAAKwzB,aAAeI,GAOtBtyB,EAAOuT,UAAUif,gBAAkB,SAAUF,GAC3C,MAAO5zB,MAAKwzB,cASdlyB,EAAOuT,UAAUkf,YAAc,SAAUC,GACvCh0B,KAAKyzB,SAAWO,GAMlB1yB,EAAOuT,UAAUof,SAAW,WACI7tB,SAA1BpG,KAAKszB,kBACPtzB,KAAKszB,oBAOThyB,EAAOuT,UAAUuO,OAAS,WACxB,GAAIpjB,KAAKihB,MAAO,CAEdjhB,KAAKihB,MAAMgS,IAAI7kB,MAAMxF,IAAM5I,KAAKihB,MAAMoF,aAAe,EAAIrmB,KAAKihB,MAAMgS,IAAIvB,aAAe,EAAI,KAC3F1xB,KAAKihB,MAAMgS,IAAI7kB,MAAM6F,MAAQjU,KAAKihB,MAAME,YAAcnhB,KAAKihB,MAAM+R,KAAK7R,YAAcnhB,KAAKihB,MAAMuF,KAAKrF,YAAcnhB,KAAKihB,MAAM4I,KAAK1I,YAAc,GAAK,IAGrJ,IAAIzY,GAAO1I,KAAKk0B,YAAYl0B,KAAKmJ,MACjCnJ,MAAKihB,MAAMkS,MAAM/kB,MAAM1F,KAAOA,EAAO,OAQzCpH,EAAOuT,UAAUqV,UAAY,SAAUzR,GACrCzY,KAAKyY,OAASA,EAEVzY,KAAKyY,OAAO/R,OAAS,EAAG1G,KAAK0zB,SAAS,GAAQ1zB,KAAKmJ,MAAQ/C,QAOjE9E,EAAOuT,UAAU6e,SAAW,SAAUvqB,GACpC,KAAIA,EAAQnJ,KAAKyY,OAAO/R,QAMtB,KAAM,2BALN1G,MAAKmJ,MAAQA,EAEbnJ,KAAKojB,SACLpjB,KAAKi0B,YAUT3yB,EAAOuT,UAAUwV,SAAW,WAC1B,MAAOrqB,MAAKmJ,OAOd7H,EAAOuT,UAAU+B,IAAM,WACrB,MAAO5W,MAAKyY,OAAOzY,KAAKmJ,QAG1B7H,EAAOuT,UAAU8Q,aAAe,SAAUrb,GAExC,GAAIqjB,GAAiBrjB,EAAMujB,MAAwB,IAAhBvjB,EAAMujB,MAA+B,IAAjBvjB,EAAMwjB,MAC7D,IAAKH,EAAL,CAEA3tB,KAAKm0B,aAAe7pB,EAAMiU,QAC1Bve,KAAKo0B,YAAcvN,WAAW7mB,KAAKihB,MAAMkS,MAAM/kB,MAAM1F,MAErD1I,KAAKihB,MAAM7S,MAAMigB,OAAS,MAK1B,IAAIxY,GAAK7V,IACTA,MAAKsuB,YAAc,SAAUhkB,GAC3BuL,EAAG0Y,aAAajkB,IAElBtK,KAAKwuB,UAAY,SAAUlkB,GACzBuL,EAAG+X,WAAWtjB,IAEhB3J,EAAKgJ,iBAAiBgJ,SAAU,YAAa3S,KAAKsuB,aAClD3tB,EAAKgJ,iBAAiBgJ,SAAU,UAAW3S,KAAKwuB,WAChD7tB,EAAK0J,eAAeC,KAGtBhJ,EAAOuT,UAAUwf,YAAc,SAAU3rB,GACvC,GAAIuL,GAAQ4S,WAAW7mB,KAAKihB,MAAMgS,IAAI7kB,MAAM6F,OAASjU,KAAKihB,MAAMkS,MAAMhS,YAAc,GAChFhO,EAAIzK,EAAO,EAEXS,EAAQzE,KAAKqqB,MAAM5b,EAAIc,GAASjU,KAAKyY,OAAO/R,OAAS,GAIzD,OAHY,GAARyC,IAAWA,EAAQ,GACnBA,EAAQnJ,KAAKyY,OAAO/R,OAAS,IAAGyC,EAAQnJ,KAAKyY,OAAO/R,OAAS,GAE1DyC,GAGT7H,EAAOuT,UAAUqf,YAAc,SAAU/qB,GACvC,GAAI8K,GAAQ4S,WAAW7mB,KAAKihB,MAAMgS,IAAI7kB,MAAM6F,OAASjU,KAAKihB,MAAMkS,MAAMhS,YAAc,GAEhFhO,EAAIhK,GAASnJ,KAAKyY,OAAO/R,OAAS,GAAKuN,EACvCvL,EAAOyK,EAAI,CAEf,OAAOzK,IAGTpH,EAAOuT,UAAU0Z,aAAe,SAAUjkB,GACxC,GAAIojB,GAAOpjB,EAAMiU,QAAUve,KAAKm0B,aAC5BhhB,EAAInT,KAAKo0B,YAAc1G,EAEvBvkB,EAAQnJ,KAAKq0B,YAAYlhB,EAE7BnT,MAAK0zB,SAASvqB,GAEdxI,EAAK0J,kBAGP/I,EAAOuT,UAAU+Y,WAAa,SAAUtjB,GACtCtK,KAAKihB,MAAM7S,MAAMigB,OAAS,OAG1B1tB,EAAKwJ,oBAAoBwI,SAAU,YAAa3S,KAAKsuB,aACrD3tB,EAAKwJ,oBAAoBwI,SAAU,UAAW3S,KAAKwuB,WAEnD7tB,EAAK0J,kBAGPxK,EAAOD,QAAU0B,GAIb,SAASzB,EAAQD,EAASM,GA6B9B,QAASqB,GAAW0P,EAAOC,EAAKyY,EAAMkB,GAEpC7qB,KAAKs0B,OAAS,EACdt0B,KAAKu0B,KAAO,EACZv0B,KAAKw0B,MAAQ,EACbx0B,KAAK6qB,YAAa,EAClB7qB,KAAKy0B,UAAY,EAEjBz0B,KAAK00B,SAAW,EAChB10B,KAAK20B,SAAS1jB,EAAOC,EAAKyY,EAAMkB,GAYlCtpB,EAAWsT,UAAU8f,SAAW,SAAU1jB,EAAOC,EAAKyY,EAAMkB,GAC1D7qB,KAAKs0B,OAASrjB,EAAQA,EAAQ,EAC9BjR,KAAKu0B,KAAOrjB,EAAMA,EAAM,EAExBlR,KAAK40B,QAAQjL,EAAMkB,IASrBtpB,EAAWsT,UAAU+f,QAAU,SAAUjL,EAAMkB,GAChCzkB,SAATujB,GAA8B,GAARA,IAEPvjB,SAAfykB,IAA0B7qB,KAAK6qB,WAAaA,GAE5C7qB,KAAK6qB,cAAe,EAAM7qB,KAAKw0B,MAAQjzB,EAAWszB,oBAAoBlL,GAAW3pB,KAAKw0B,MAAQ7K,IAUpGpoB,EAAWszB,oBAAsB,SAAUlL,GACzC,GAAImL,GAAQ,SAAe3hB,GACzB,MAAOzO,MAAKqwB,IAAI5hB,GAAKzO,KAAKswB,MAIxBC,EAAQvwB,KAAKwwB,IAAI,GAAIxwB,KAAKqqB,MAAM+F,EAAMnL,KACtCwL,EAAQ,EAAIzwB,KAAKwwB,IAAI,GAAIxwB,KAAKqqB,MAAM+F,EAAMnL,EAAO,KACjDyL,EAAQ,EAAI1wB,KAAKwwB,IAAI,GAAIxwB,KAAKqqB,MAAM+F,EAAMnL,EAAO,KAGjDkB,EAAaoK,CASjB,OARIvwB,MAAKwnB,IAAIiJ,EAAQxL,IAASjlB,KAAKwnB,IAAIrB,EAAalB,KAAOkB,EAAasK,GACpEzwB,KAAKwnB,IAAIkJ,EAAQzL,IAASjlB,KAAKwnB,IAAIrB,EAAalB,KAAOkB,EAAauK,GAGtD,GAAdvK,IACFA,EAAa,GAGRA,GAOTtpB,EAAWsT,UAAU+U,WAAa,WAChC,MAAO/C,YAAW7mB,KAAK00B,SAASW,YAAYr1B,KAAKy0B,aAOnDlzB,EAAWsT,UAAUygB,QAAU,WAC7B,MAAOt1B,MAAKw0B,OAOdjzB,EAAWsT,UAAU5D,MAAQ,WAC3BjR,KAAK00B,SAAW10B,KAAKs0B,OAASt0B,KAAKs0B,OAASt0B,KAAKw0B,OAMnDjzB,EAAWsT,UAAUgV,KAAO,WAC1B7pB,KAAK00B,UAAY10B,KAAKw0B,OAOxBjzB,EAAWsT,UAAU3D,IAAM,WACzB,MAAOlR,MAAK00B,SAAW10B,KAAKu0B,MAG9B10B,EAAOD,QAAU2B,GAIb,SAAS1B,EAAQD,EAASM,GAyB9B,QAASsB,GAAS2Z,EAAWlZ,EAAOszB,EAAQzlB,GAC1C,KAAM9P,eAAgBwB,IACpB,KAAM,IAAI4Z,aAAY,mDAIxB,MAAMrU,MAAMC,QAAQuuB,IAAWA,YAAkB10B,IAAW00B,YAAkBz0B,KAAay0B,YAAkBnuB,QAAQ,CACnH,GAAIouB,GAAgB1lB,CACpBA,GAAUylB,EACVA,EAASC,EAGX,GAAI3f,GAAK7V,IACTA,MAAKy1B,gBACHxkB,MAAO,KACPC,IAAK,KAELwkB,YAAY,EAEZC,YAAa,SACb1hB,MAAO,KACPC,OAAQ,KACR0hB,UAAW,KACXC,UAAW,MAEb71B,KAAK8P,QAAUnP,EAAK0G,cAAerH,KAAKy1B,gBAGxCz1B,KAAK81B,QAAQ3a,GAGbnb,KAAKgC,cAELhC,KAAK+1B,MACH5E,IAAKnxB,KAAKmxB,IACV6E,SAAUh2B,KAAK8G,MACfmvB,SACEhhB,GAAIjV,KAAKiV,GAAGihB,KAAKl2B,MACjBoV,IAAKpV,KAAKoV,IAAI8gB,KAAKl2B,MACnBivB,KAAMjvB,KAAKivB,KAAKiH,KAAKl2B,OAEvBm2B,eACAx1B,MACEy1B,SAAU,WACR,MAAOvgB,GAAGwgB,SAAS1M,KAAKllB,OAE1B6wB,QAAS,WACP,MAAOzf,GAAGwgB,SAAS1M,KAAKA,MAG1B2M,SAAUzgB,EAAG0gB,UAAUL,KAAKrgB,GAC5B2gB,eAAgB3gB,EAAG4gB,gBAAgBP,KAAKrgB,GACxC6gB,OAAQ7gB,EAAG8gB,QAAQT,KAAKrgB,GACxB+gB,aAAc/gB,EAAGghB,cAAcX,KAAKrgB,KAKxC7V,KAAK82B,MAAQ,GAAIj1B,GAAM7B,KAAK+1B,MAC5B/1B,KAAKgC,WAAWwF,KAAKxH,KAAK82B,OAC1B92B,KAAK+1B,KAAKe,MAAQ92B,KAAK82B,MAGvB92B,KAAKq2B,SAAW,GAAIpzB,GAASjD,KAAK+1B,MAClC/1B,KAAK+2B,UAAY,KACjB/2B,KAAKgC,WAAWwF,KAAKxH,KAAKq2B,UAG1Br2B,KAAKg3B,YAAc,GAAIx0B,GAAYxC,KAAK+1B,MACxC/1B,KAAKgC,WAAWwF,KAAKxH,KAAKg3B,aAI1Bh3B,KAAKi3B,WAAa,GAAIx0B,GAAWzC,KAAK+1B,MACtC/1B,KAAKgC,WAAWwF,KAAKxH,KAAKi3B,YAG1Bj3B,KAAKk3B,QAAU,GAAIp0B,GAAQ9C,KAAK+1B,MAChC/1B,KAAKgC,WAAWwF,KAAKxH,KAAKk3B,SAE1Bl3B,KAAKm3B,UAAY,KACjBn3B,KAAKo3B,WAAa,KAElBp3B,KAAKiV,GAAG,MAAO,SAAU3K,GACvBuL,EAAGoZ,KAAK,QAASpZ,EAAGwhB,mBAAmB/sB,MAEzCtK,KAAKiV,GAAG,YAAa,SAAU3K,GAC7BuL,EAAGoZ,KAAK,cAAepZ,EAAGwhB,mBAAmB/sB,MAE/CtK,KAAKmxB,IAAIzxB,KAAK43B,cAAgB,SAAUhtB,GACtCuL,EAAGoZ,KAAK,cAAepZ,EAAGwhB,mBAAmB/sB,KAI3CwF,GACF9P,KAAK4U,WAAW9E,GAIdylB,GACFv1B,KAAKu3B,UAAUhC,GAIbtzB,EACFjC,KAAKw3B,SAASv1B,GAEdjC,KAAKy3B,UAhIT,GAEI92B,IAFUT,EAAoB,IACrBA,EAAoB,IACtBA,EAAoB,IAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/B2B,EAAQ3B,EAAoB,IAC5Bw3B,EAAOx3B,EAAoB,IAC3B+C,EAAW/C,EAAoB,IAC/BsC,EAActC,EAAoB,IAClCuC,EAAavC,EAAoB,IACjC4C,EAAU5C,EAAoB,GA2HlCsB,GAASqT,UAAY,GAAI6iB,GAOzBl2B,EAASqT,UAAUuO,OAAS,WAC1BpjB,KAAKk3B,SAAWl3B,KAAKk3B,QAAQS,WAAYC,cAAc,IACvD53B,KAAKy3B,WAOPj2B,EAASqT,UAAU2iB,SAAW,SAAUv1B,GACtC,GAGI41B,GAHAC,EAAgC,MAAlB93B,KAAKm3B,SAsBvB,IAfEU,EAHG51B,EAEMA,YAAiBpB,IAAWoB,YAAiBnB,GACzCmB,EAGA,GAAIpB,GAAQoB,GACvB2F,MACEqJ,MAAO,OACPC,IAAK,UARI,KAcflR,KAAKm3B,UAAYU,EACjB73B,KAAKk3B,SAAWl3B,KAAKk3B,QAAQM,SAASK,GAElCC,EACF,GAA0B1xB,QAAtBpG,KAAK8P,QAAQmB,OAA0C7K,QAApBpG,KAAK8P,QAAQoB,IAAkB,CACpE,GAA0B9K,QAAtBpG,KAAK8P,QAAQmB,OAA0C7K,QAApBpG,KAAK8P,QAAQoB,IAClD,GAAI6mB,GAAY/3B,KAAKg4B,eAGvB,IAAI/mB,GAA8B7K,QAAtBpG,KAAK8P,QAAQmB,MAAqBjR,KAAK8P,QAAQmB,MAAQ8mB,EAAU9mB,MACzEC,EAA0B9K,QAApBpG,KAAK8P,QAAQoB,IAAmBlR,KAAK8P,QAAQoB,IAAM6mB,EAAU7mB,GAEvElR,MAAKi4B,UAAUhnB,EAAOC,GAAOgnB,SAAS,QAEtCl4B,MAAKm4B,KAAMD,SAAS,KAS1B12B,EAASqT,UAAU0iB,UAAY,SAAUhC,GAEvC,GAAIsC,EAIFA,GAHGtC,EAEMA,YAAkB10B,IAAW00B,YAAkBz0B,GAC3Cy0B,EAGA,GAAI10B,GAAQ00B,GALZ,KAQfv1B,KAAKo3B,WAAaS,EAClB73B,KAAKk3B,QAAQK,UAAUM,IAmBzBr2B,EAASqT,UAAUujB,aAAe,SAAUthB,EAAKhH,GAC/C9P,KAAKk3B,SAAWl3B,KAAKk3B,QAAQkB,aAAathB,GAEtChH,GAAWA,EAAQuoB,OACrBr4B,KAAKq4B,MAAMvhB,EAAKhH,IAQpBtO,EAASqT,UAAUyjB,aAAe,WAChC,MAAOt4B,MAAKk3B,SAAWl3B,KAAKk3B,QAAQoB,oBAetC92B,EAASqT,UAAUwjB,MAAQ,SAAUh4B,EAAIyP,GACvC,GAAK9P,KAAKm3B,WAAmB/wB,QAAN/F,EAAvB,CAEA,GAAIyW,GAAM/P,MAAMC,QAAQ3G,GAAMA,GAAMA,GAGhC82B,EAAYn3B,KAAKm3B,UAAU1f,aAAab,IAAIE,GAC9ClP,MACEqJ,MAAO,OACPC,IAAK,UAKLD,EAAQ,KACRC,EAAM,IAcV,IAbAimB,EAAU9tB,QAAQ,SAAUkvB,GAC1B,GAAItrB,GAAIsrB,EAAStnB,MAAMnJ,UACnBkD,EAAI,OAASutB,GAAWA,EAASrnB,IAAIpJ,UAAYywB,EAAStnB,MAAMnJ,WAEtD,OAAVmJ,GAAsBA,EAAJhE,KACpBgE,EAAQhE,IAGE,OAARiE,GAAgBlG,EAAIkG,KACtBA,EAAMlG,KAII,OAAViG,GAA0B,OAARC,EAAc,CAElC,GAAIT,IAAUQ,EAAQC,GAAO,EACzB0iB,EAAWlvB,KAAKJ,IAAItE,KAAK82B,MAAM5lB,IAAMlR,KAAK82B,MAAM7lB,MAAuB,KAAfC,EAAMD,IAE9DinB,EAAUpoB,GAA+B1J,SAApB0J,EAAQooB,QAAwBpoB,EAAQooB,SAAU,CAC3El4B,MAAK82B,MAAMnC,SAASlkB,EAASmjB,EAAW,EAAGnjB,EAASmjB,EAAW,EAAGsE,MAUtE12B,EAASqT,UAAU2jB,aAAe,WAEhC,GAAIC,GAAUz4B,KAAKm3B,UAAU1f,aACzBpT,EAAM,KACNC,EAAM,IAEV,IAAIm0B,EAAS,CAEX,GAAIC,GAAUD,EAAQp0B,IAAI,QAC1BA,GAAMq0B,EAAU/3B,EAAKgH,QAAQ+wB,EAAQznB,MAAO,QAAQnJ,UAAY,IAKhE,IAAI6wB,GAAeF,EAAQn0B,IAAI,QAC3Bq0B,KACFr0B,EAAM3D,EAAKgH,QAAQgxB,EAAa1nB,MAAO,QAAQnJ,UAEjD,IAAI8wB,GAAaH,EAAQn0B,IAAI,MACzBs0B,KAEAt0B,EADS,MAAPA,EACI3D,EAAKgH,QAAQixB,EAAW1nB,IAAK,QAAQpJ,UAErCpD,KAAKJ,IAAIA,EAAK3D,EAAKgH,QAAQixB,EAAW1nB,IAAK,QAAQpJ,YAK/D,OACEzD,IAAY,MAAPA,EAAc,GAAIS,MAAKT,GAAO,KACnCC,IAAY,MAAPA,EAAc,GAAIQ,MAAKR,GAAO,OAUvC9C,EAASqT,UAAUwiB,mBAAqB,SAAU/sB,GAChD,GAAIoG,GAAO1Q,KAAKk3B,QAAQ2B,eAAevuB,GACnC+I,EAAQrT,KAAKk3B,QAAQ4B,gBAAgBxuB,GACrCyuB,EAAQzuB,EAAM0uB,QAAU1uB,EAAM0uB,QAAQzL,OAAOwL,MAAQzuB,EAAMyuB,MAC3DE,EAAQ3uB,EAAM0uB,QAAU1uB,EAAM0uB,QAAQzL,OAAO0L,MAAQ3uB,EAAM2uB,MAC3D9lB,EAAI4lB,EAAQp4B,EAAK4H,gBAAgBvI,KAAKmxB,IAAI+H,iBAC1C9lB,EAAI6lB,EAAQt4B,EAAKgI,eAAe3I,KAAKmxB,IAAI+H,iBAEzCC,EAAOn5B,KAAKk3B,QAAQpnB,QAAQqpB,MAAQ,KACpC10B,EAAQzE,KAAK+1B,KAAKp1B,KAAKy1B,WACvBzM,EAAO3pB,KAAK+1B,KAAKp1B,KAAK20B,UACtB8D,EAAOp5B,KAAK22B,QAAQxjB,GACpBkmB,EAAcF,EAAOA,EAAKC,EAAM30B,EAAOklB,GAAQyP,EAE/CxvB,EAAUjJ,EAAK8J,UAAUH,GACzBgvB,EAAO,IAkBX,OAjBY,OAAR5oB,EACF4oB,EAAO,OACE34B,EAAKmK,UAAUlB,EAAS5J,KAAKq2B,SAASlF,IAAIoI,YACnDD,EAAO,OACEt5B,KAAK+2B,WAAap2B,EAAKmK,UAAUlB,EAAS5J,KAAK+2B,UAAU5F,IAAIoI,YACtED,EAAO,OACE34B,EAAKmK,UAAUlB,EAAS5J,KAAKk3B,QAAQ/F,IAAIqI,UAClDF,EAAO,cACE34B,EAAKmK,UAAUlB,EAAS5J,KAAKi3B,WAAWhE,KACjDqG,EAAO,cAEA34B,EAAKmK,UAAUlB,EAAS5J,KAAKg3B,YAAY/D,KAChDqG,EAAO,eACE34B,EAAKmK,UAAUlB,EAAS5J,KAAKmxB,IAAI5D,UAC1C+L,EAAO,eAIPhvB,MAAOA,EACPoG,KAAMA,EAAOA,EAAKrQ,GAAK,KACvBgT,MAAOA,EAAQA,EAAMomB,QAAU,KAC/BH,KAAMA,EACNP,MAAOA,EACPE,MAAOA,EACP9lB,EAAGA,EACHC,EAAGA,EACHgmB,KAAMA,EACNC,YAAaA,IAIjBx5B,EAAOD,QAAU4B,GAIb,SAAS3B,EAAQD,EAASM,GAwB9B,QAASuB,GAAQ0Z,EAAWlZ,EAAOszB,EAAQzlB,GAEzC,KAAM/I,MAAMC,QAAQuuB,IAAWA,YAAkB10B,KAAY00B,YAAkBnuB,QAAQ,CACrF,GAAIouB,GAAgB1lB,CACpBA,GAAUylB,EACVA,EAASC,EAGX,GAAI3f,GAAK7V,IACTA,MAAKy1B,gBACHxkB,MAAO,KACPC,IAAK,KAELwkB,YAAY,EAEZC,YAAa,SACb1hB,MAAO,KACPC,OAAQ,KACR0hB,UAAW,KACXC,UAAW,MAEb71B,KAAK8P,QAAUnP,EAAK0G,cAAerH,KAAKy1B,gBAGxCz1B,KAAK81B,QAAQ3a,GAGbnb,KAAKgC,cAELhC,KAAK+1B,MACH5E,IAAKnxB,KAAKmxB,IACV6E,SAAUh2B,KAAK8G,MACfmvB,SACEhhB,GAAIjV,KAAKiV,GAAGihB,KAAKl2B,MACjBoV,IAAKpV,KAAKoV,IAAI8gB,KAAKl2B,MACnBivB,KAAMjvB,KAAKivB,KAAKiH,KAAKl2B,OAEvBm2B,eACAx1B,MACE21B,SAAUzgB,EAAG0gB,UAAUL,KAAKrgB,GAC5B2gB,eAAgB3gB,EAAG4gB,gBAAgBP,KAAKrgB,GACxC6gB,OAAQ7gB,EAAG8gB,QAAQT,KAAKrgB,GACxB+gB,aAAc/gB,EAAGghB,cAAcX,KAAKrgB,KAKxC7V,KAAK82B,MAAQ,GAAIj1B,GAAM7B,KAAK+1B,MAC5B/1B,KAAKgC,WAAWwF,KAAKxH,KAAK82B,OAC1B92B,KAAK+1B,KAAKe,MAAQ92B,KAAK82B,MAGvB92B,KAAKq2B,SAAW,GAAIpzB,GAASjD,KAAK+1B,MAClC/1B,KAAKgC,WAAWwF,KAAKxH,KAAKq2B,UAI1Br2B,KAAKg3B,YAAc,GAAIx0B,GAAYxC,KAAK+1B,MACxC/1B,KAAKgC,WAAWwF,KAAKxH,KAAKg3B,aAI1Bh3B,KAAKi3B,WAAa,GAAIx0B,GAAWzC,KAAK+1B,MACtC/1B,KAAKgC,WAAWwF,KAAKxH,KAAKi3B,YAG1Bj3B,KAAK05B,UAAY,GAAI12B,GAAUhD,KAAK+1B,MACpC/1B,KAAKgC,WAAWwF,KAAKxH,KAAK05B,WAE1B15B,KAAKm3B,UAAY,KACjBn3B,KAAKo3B,WAAa,KAElBp3B,KAAKiV,GAAG,MAAO,SAAU3K,GACvBuL,EAAGoZ,KAAK,QAASpZ,EAAGwhB,mBAAmB/sB,MAEzCtK,KAAKiV,GAAG,YAAa,SAAU3K,GAC7BuL,EAAGoZ,KAAK,cAAepZ,EAAGwhB,mBAAmB/sB,MAE/CtK,KAAKmxB,IAAIzxB,KAAK43B,cAAgB,SAAUhtB,GACtCuL,EAAGoZ,KAAK,cAAepZ,EAAGwhB,mBAAmB/sB,KAI3CwF,GACF9P,KAAK4U,WAAW9E,GAIdylB,GACFv1B,KAAKu3B,UAAUhC,GAIbtzB,EACFjC,KAAKw3B,SAASv1B,GAEdjC,KAAKy3B,UApHT,GAEI92B,IAFUT,EAAoB,IACrBA,EAAoB,IACtBA,EAAoB,IAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/B2B,EAAQ3B,EAAoB,IAC5Bw3B,EAAOx3B,EAAoB,IAC3B+C,EAAW/C,EAAoB,IAC/BsC,EAActC,EAAoB,IAClCuC,EAAavC,EAAoB,IACjC8C,EAAY9C,EAAoB,GA+GpCuB,GAAQoT,UAAY,GAAI6iB,GAMxBj2B,EAAQoT,UAAU2iB,SAAW,SAAUv1B,GACrC,GAGI41B,GAHAC,EAAgC,MAAlB93B,KAAKm3B,SAsBvB,IAfEU,EAHG51B,EAEMA,YAAiBpB,IAAWoB,YAAiBnB,GACzCmB,EAGA,GAAIpB,GAAQoB,GACvB2F,MACEqJ,MAAO,OACPC,IAAK,UARI,KAcflR,KAAKm3B,UAAYU,EACjB73B,KAAK05B,WAAa15B,KAAK05B,UAAUlC,SAASK,GAEtCC,EACF,GAA0B1xB,QAAtBpG,KAAK8P,QAAQmB,OAA0C7K,QAApBpG,KAAK8P,QAAQoB,IAAkB,CACpE,GAAID,GAA8B7K,QAAtBpG,KAAK8P,QAAQmB,MAAqBjR,KAAK8P,QAAQmB,MAAQ,KAC/DC,EAA0B9K,QAApBpG,KAAK8P,QAAQoB,IAAmBlR,KAAK8P,QAAQoB,IAAM,IAE7DlR,MAAKi4B,UAAUhnB,EAAOC,GAAOgnB,SAAS,QAEtCl4B,MAAKm4B,KAAMD,SAAS,KAS1Bz2B,EAAQoT,UAAU0iB,UAAY,SAAUhC,GAEtC,GAAIsC,EAIFA,GAHGtC,EAEMA,YAAkB10B,IAAW00B,YAAkBz0B,GAC3Cy0B,EAGA,GAAI10B,GAAQ00B,GALZ,KAQfv1B,KAAKo3B,WAAaS,EAClB73B,KAAK05B,UAAUnC,UAAUM,IAS3Bp2B,EAAQoT,UAAU8kB,UAAY,SAAUF,EAASxlB,EAAOC,GAOtD,MANc9N,UAAV6N,IACFA,EAAQ,IAEK7N,SAAX8N,IACFA,EAAS,IAE4B9N,SAAnCpG,KAAK05B,UAAUnE,OAAOkE,GACjBz5B,KAAK05B,UAAUnE,OAAOkE,GAASE,UAAU1lB,EAAOC,GAEhD,qBAAuBulB,GASlCh4B,EAAQoT,UAAU+kB,eAAiB,SAAUH,GAC3C,MAAuCrzB,UAAnCpG,KAAK05B,UAAUnE,OAAOkE,GACjBz5B,KAAK05B,UAAUnE,OAAOkE,GAASxP,UAAkE7jB,SAAtDpG,KAAK05B,UAAU5pB,QAAQylB,OAAOsE,WAAWJ,IAA+E,GAArDz5B,KAAK05B,UAAU5pB,QAAQylB,OAAOsE,WAAWJ,KAEvJ,GAUXh4B,EAAQoT,UAAU2jB,aAAe,WAC/B,GAAIn0B,GAAM,KACNC,EAAM,IAGV,KAAK,GAAIm1B,KAAWz5B,MAAK05B,UAAUnE,OACjC,GAAIv1B,KAAK05B,UAAUnE,OAAOvvB,eAAeyzB,IACO,GAA1Cz5B,KAAK05B,UAAUnE,OAAOkE,GAASxP,QACjC,IAAK,GAAIzjB,GAAI,EAAGA,EAAIxG,KAAK05B,UAAUnE,OAAOkE,GAAStC,UAAUzwB,OAAQF,IAAK,CACxE,GAAIkK,GAAO1Q,KAAK05B,UAAUnE,OAAOkE,GAAStC,UAAU3wB,GAChDhC,EAAQ7D,EAAKgH,QAAQ+I,EAAKyC,EAAG,QAAQrL,SACzCzD,GAAa,MAAPA,EAAcG,EAAQH,EAAMG,EAAQA,EAAQH,EAClDC,EAAa,MAAPA,EAAcE,EAAcA,EAANF,EAAcE,EAAQF,EAM1D,OACED,IAAY,MAAPA,EAAc,GAAIS,MAAKT,GAAO,KACnCC,IAAY,MAAPA,EAAc,GAAIQ,MAAKR,GAAO,OAUvC7C,EAAQoT,UAAUwiB,mBAAqB,SAAU/sB,GAC/C,GAAIyuB,GAAQzuB,EAAM0uB,QAAU1uB,EAAM0uB,QAAQzL,OAAOwL,MAAQzuB,EAAMyuB,MAC3DE,EAAQ3uB,EAAM0uB,QAAU1uB,EAAM0uB,QAAQzL,OAAO0L,MAAQ3uB,EAAM2uB,MAC3D9lB,EAAI4lB,EAAQp4B,EAAK4H,gBAAgBvI,KAAKmxB,IAAI+H,iBAC1C9lB,EAAI6lB,EAAQt4B,EAAKgI,eAAe3I,KAAKmxB,IAAI+H,iBACzCE,EAAOp5B,KAAK22B,QAAQxjB,GAEpBvJ,EAAUjJ,EAAK8J,UAAUH,GACzBgvB,EAAO,IACP34B,GAAKmK,UAAUlB,EAAS5J,KAAKq2B,SAASlF,IAAIoI,YAC5CD,EAAO,OACEt5B,KAAK+2B,WAAap2B,EAAKmK,UAAUlB,EAAS5J,KAAK+2B,UAAU5F,IAAIoI,YACtED,EAAO,OACE34B,EAAKmK,UAAUlB,EAAS5J,KAAK05B,UAAUI,UAAU3I,IAAIlQ,OAC9DqY,EAAO,YACE34B,EAAKmK,UAAUlB,EAAS5J,KAAK05B,UAAUK,WAAW5I,IAAIlQ,OAC/DqY,EAAO,YACE34B,EAAKmK,UAAUlB,EAAS5J,KAAK05B,UAAUM,WAAW7I,IAAIlQ,OAC/DqY,EAAO,SACE34B,EAAKmK,UAAUlB,EAAS5J,KAAK05B,UAAUO,YAAY9I,IAAIlQ,OAChEqY,EAAO,SACE34B,EAAKmK,UAAUlB,EAAS5J,KAAKi3B,WAAWhE,KACjDqG,EAAO,cAEA34B,EAAKmK,UAAUlB,EAAS5J,KAAKg3B,YAAY/D,KAChDqG,EAAO,eACE34B,EAAKmK,UAAUlB,EAAS5J,KAAKmxB,IAAI5D,UAC1C+L,EAAO,aAGT,IAAI90B,MACAs1B,EAAY95B,KAAK05B,UAAUI,UAC3BC,EAAa/5B,KAAK05B,UAAUK,UAQhC,OAPKD,GAAUI,QACb11B,EAAMgD,KAAKsyB,EAAUK,cAAc/mB,IAEhC2mB,EAAWG,QACd11B,EAAMgD,KAAKuyB,EAAWI,cAAc/mB,KAIpC9I,MAAOA,EACPgvB,KAAMA,EACNP,MAAOA,EACPE,MAAOA,EACP9lB,EAAGA,EACHC,EAAGA,EACHgmB,KAAMA,EACN50B,MAAOA,IAIX3E,EAAOD,QAAU6B,GAIb,SAAS5B,EAAQD,EAASM,GAI9B,GAAIuD,GAASvD,EAAoB,GAOjCN,GAAQw6B,qBAAuB,SAAUrE,EAAMI,GAE7C,GADAJ,EAAKI,eACDA,GACgC,GAA9BpvB,MAAMC,QAAQmvB,GAAsB,CACtC,IAAK,GAAI3vB,GAAI,EAAGA,EAAI2vB,EAAYzvB,OAAQF,IACtC,GAA8BJ,SAA1B+vB,EAAY3vB,GAAG6zB,OAAsB,CACvC,GAAIC,KACJA,GAASrpB,MAAQxN,EAAO0yB,EAAY3vB,GAAGyK,OAAOjJ,SAASF,UACvDwyB,EAASppB,IAAMzN,EAAO0yB,EAAY3vB,GAAG0K,KAAKlJ,SAASF,UACnDiuB,EAAKI,YAAY3uB,KAAK8yB,GAG1BvE,EAAKI,YAAYte,KAAK,SAAUvR,EAAGC,GACjC,MAAOD,GAAE2K,MAAQ1K,EAAE0K,UAW3BrR,EAAQ26B,kBAAoB,SAAUxE,EAAMI,GAC1C,GAAIA,GAAuD/vB,SAAxC2vB,EAAKC,SAASkD,gBAAgBjlB,MAAqB,CACpErU,EAAQw6B,qBAAqBrE,EAAMI,EAQnC,KAAK,GANDllB,GAAQxN,EAAOsyB,EAAKe,MAAM7lB,OAC1BC,EAAMzN,EAAOsyB,EAAKe,MAAM5lB,KAExBspB,EAAazE,EAAKe,MAAM5lB,IAAM6kB,EAAKe,MAAM7lB,MACzCwpB,EAAYD,EAAazE,EAAKC,SAASkD,gBAAgBjlB,MAElDzN,EAAI,EAAGA,EAAI2vB,EAAYzvB,OAAQF,IACtC,GAA8BJ,SAA1B+vB,EAAY3vB,GAAG6zB,OAAsB,CACvC,GAAIK,GAAYj3B,EAAO0yB,EAAY3vB,GAAGyK,OAClC0pB,EAAUl3B,EAAO0yB,EAAY3vB,GAAG0K,IAEpC,IAAoB,gBAAhBwpB,EAAUE,GACZ,KAAM,IAAIp3B,OAAM,qCAAuC2yB,EAAY3vB,GAAGyK,MAExE,IAAkB,gBAAd0pB,EAAQC,GACV,KAAM,IAAIp3B,OAAM,mCAAqC2yB,EAAY3vB,GAAG0K,IAGtE,IAAIC,GAAWwpB,EAAUD,CACzB,IAAIvpB,GAAY,EAAIspB,EAAW,CAE7B,GAAIvP,GAAS,EACT2P,EAAW3pB,EAAI4pB,OACnB,QAAQ3E,EAAY3vB,GAAG6zB,QACrB,IAAK,QAECK,EAAUK,OAASJ,EAAQI,QAC7B7P,EAAS,GAEXwP,EAAUM,UAAU/pB,EAAM+pB,aAC1BN,EAAUO,KAAKhqB,EAAMgqB,QACrBP,EAAUhO,SAAS,EAAG,QAEtBiO,EAAQK,UAAU/pB,EAAM+pB,aACxBL,EAAQM,KAAKhqB,EAAMgqB,QACnBN,EAAQjO,SAAS,EAAIxB,EAAQ,QAE7B2P,EAASlmB,IAAI,EAAG,QAChB,MACF,KAAK,SACH,GAAIumB,GAAYP,EAAQjN,KAAKgN,EAAW,QACpCK,EAAML,EAAUK,KAGpBL,GAAUS,KAAKlqB,EAAMkqB,QACrBT,EAAUU,MAAMnqB,EAAMmqB,SACtBV,EAAUO,KAAKhqB,EAAMgqB,QACrBN,EAAUD,EAAUI,QAGpBJ,EAAUK,IAAIA,GACdJ,EAAQI,IAAIA,GACZJ,EAAQhmB,IAAIumB,EAAW,QAEvBR,EAAUhO,SAAS,EAAG,SACtBiO,EAAQjO,SAAS,EAAG,SAEpBmO,EAASlmB,IAAI,EAAG,QAChB,MACF,KAAK,UACC+lB,EAAUU,SAAWT,EAAQS,UAC/BlQ,EAAS,GAEXwP,EAAUU,MAAMnqB,EAAMmqB,SACtBV,EAAUO,KAAKhqB,EAAMgqB,QACrBP,EAAUhO,SAAS,EAAG,UAEtBiO,EAAQS,MAAMnqB,EAAMmqB,SACpBT,EAAQM,KAAKhqB,EAAMgqB,QACnBN,EAAQjO,SAAS,EAAG,UACpBiO,EAAQhmB,IAAIuW,EAAQ,UAEpB2P,EAASlmB,IAAI,EAAG,SAChB,MACF,KAAK,SACC+lB,EAAUO,QAAUN,EAAQM,SAC9B/P,EAAS,GAEXwP,EAAUO,KAAKhqB,EAAMgqB,QACrBP,EAAUhO,SAAS,EAAG,SACtBiO,EAAQM,KAAKhqB,EAAMgqB,QACnBN,EAAQjO,SAAS,EAAG,SACpBiO,EAAQhmB,IAAIuW,EAAQ,SAEpB2P,EAASlmB,IAAI,EAAG,QAChB,MACF,SAEE,WADA0mB,SAAQtG,IAAI,2EAA4EoB,EAAY3vB,GAAG6zB,QAG3G,KAAmBQ,EAAZH,GAEL,OADA3E,EAAKI,YAAY3uB,MAAOyJ,MAAOypB,EAAU5yB,UAAWoJ,IAAKypB,EAAQ7yB,YACzDquB,EAAY3vB,GAAG6zB,QACrB,IAAK,QACHK,EAAU/lB,IAAI,EAAG,QACjBgmB,EAAQhmB,IAAI,EAAG,OACf,MACF,KAAK,SACH+lB,EAAU/lB,IAAI,EAAG,SACjBgmB,EAAQhmB,IAAI,EAAG,QACf,MACF,KAAK,UACH+lB,EAAU/lB,IAAI,EAAG,UACjBgmB,EAAQhmB,IAAI,EAAG,SACf,MACF,KAAK,SACH+lB,EAAU/lB,IAAI,EAAG,KACjBgmB,EAAQhmB,IAAI,EAAG,IACf,MACF,SAEE,WADA0mB,SAAQtG,IAAI,2EAA4EoB,EAAY3vB,GAAG6zB,QAI7GtE,EAAKI,YAAY3uB,MAAOyJ,MAAOypB,EAAU5yB,UAAWoJ,IAAKypB,EAAQ7yB,aAKvElI,EAAQ07B,iBAAiBvF,EAEzB,IAAIwF,GAAc37B,EAAQ47B,SAASzF,EAAKe,MAAM7lB,MAAO8kB,EAAKI,aACtDsF,EAAY77B,EAAQ47B,SAASzF,EAAKe,MAAM5lB,IAAK6kB,EAAKI,aAClDuF,EAAa3F,EAAKe,MAAM7lB,MACxB0qB,EAAW5F,EAAKe,MAAM5lB,GACA,IAAtBqqB,EAAYrB,SACdwB,EAAwC,GAA3B3F,EAAKe,MAAM8E,aAAuBL,EAAYb,UAAY,EAAIa,EAAYZ,QAAU,GAE3E,GAApBc,EAAUvB,SACZyB,EAAoC,GAAzB5F,EAAKe,MAAM+E,WAAqBJ,EAAUf,UAAY,EAAIe,EAAUd,QAAU,IAEjE,GAAtBY,EAAYrB,QAAsC,GAApBuB,EAAUvB,SAC1CnE,EAAKe,MAAMgF,YAAYJ,EAAYC,KAUzC/7B,EAAQ07B,iBAAmB,SAAUvF,GAGnC,IAAK,GAFDI,GAAcJ,EAAKI,YACnB4F,KACKv1B,EAAI,EAAGA,EAAI2vB,EAAYzvB,OAAQF,IACtC,IAAK,GAAIymB,GAAI,EAAGA,EAAIkJ,EAAYzvB,OAAQumB,IAClCzmB,GAAKymB,GAA8B,GAAzBkJ,EAAYlJ,GAAGjV,QAA2C,GAAzBme,EAAY3vB,GAAGwR,SAExDme,EAAYlJ,GAAGhc,OAASklB,EAAY3vB,GAAGyK,OAASklB,EAAYlJ,GAAG/b,KAAOilB,EAAY3vB,GAAG0K,IACvFilB,EAAYlJ,GAAGjV,QAAS,EAGjBme,EAAYlJ,GAAGhc,OAASklB,EAAY3vB,GAAGyK,OAASklB,EAAYlJ,GAAGhc,OAASklB,EAAY3vB,GAAG0K,KAC9FilB,EAAY3vB,GAAG0K,IAAMilB,EAAYlJ,GAAG/b,IACpCilB,EAAYlJ,GAAGjV,QAAS,GAGjBme,EAAYlJ,GAAG/b,KAAOilB,EAAY3vB,GAAGyK,OAASklB,EAAYlJ,GAAG/b,KAAOilB,EAAY3vB,GAAG0K,MAC1FilB,EAAY3vB,GAAGyK,MAAQklB,EAAYlJ,GAAGhc,MACtCklB,EAAYlJ,GAAGjV,QAAS,GAMhC,KAAK,GAAIxR,GAAI,EAAGA,EAAI2vB,EAAYzvB,OAAQF,IAClC2vB,EAAY3vB,GAAGwR,UAAW,GAC5B+jB,EAAUv0B,KAAK2uB,EAAY3vB,GAI/BuvB,GAAKI,YAAc4F,EACnBhG,EAAKI,YAAYte,KAAK,SAAUvR,EAAGC,GACjC,MAAOD,GAAE2K,MAAQ1K,EAAE0K,SAIvBrR,EAAQo8B,WAAa,SAAUC,GAC7B,IAAK,GAAIz1B,GAAI,EAAGA,EAAIy1B,EAAMv1B,OAAQF,IAChC60B,QAAQtG,IAAIvuB,EAAG,GAAI1B,MAAKm3B,EAAMz1B,GAAGyK,OAAQ,GAAInM,MAAKm3B,EAAMz1B,GAAG0K,KAAM+qB,EAAMz1B,GAAGyK,MAAOgrB,EAAMz1B,GAAG0K,IAAK+qB,EAAMz1B,GAAGwR,SAS5GpY,EAAQs8B,oBAAsB,SAAUC,EAAUC,GAGhD,IAAK,GAFDC,IAAe,EACfC,EAAeH,EAASI,QAAQz0B,UAC3BtB,EAAI,EAAGA,EAAI21B,EAAShG,YAAYzvB,OAAQF,IAAK,CACpD,GAAIk0B,GAAYyB,EAAShG,YAAY3vB,GAAGyK,MACpC0pB,EAAUwB,EAAShG,YAAY3vB,GAAG0K,GACtC,IAAIorB,GAAgB5B,GAA4BC,EAAf2B,EAAwB,CACvDD,GAAe,CACf,QAIJ,GAAoB,GAAhBA,GAAwBC,EAAeH,EAAS5H,KAAKzsB,WAAaw0B,GAAgBF,EAAc,CAClG,GAAItrB,GAAYrN,EAAO24B,GACnB/zB,EAAW5E,EAAOk3B,EAElB7pB,GAAUmqB,QAAU5yB,EAAS4yB,OAC/BkB,EAASK,cAAe,EACf1rB,EAAUsqB,SAAW/yB,EAAS+yB,QACvCe,EAASM,eAAgB,EAChB3rB,EAAUkqB,aAAe3yB,EAAS2yB,cAC3CmB,EAASO,aAAc,GAGzBP,EAASI,QAAUl0B,EAASL,WAkChCpI,EAAQ02B,SAAW,SAAUoB,EAAM0B,EAAMnlB,GACvC,GAAoC,GAAhCyjB,EAAK3B,KAAKI,YAAYzvB,OAAa,CACrC,GAAIi2B,GAAajF,EAAKZ,MAAM6F,WAAW1oB,EACvC,QAAQmlB,EAAKtxB,UAAY60B,EAAWzR,QAAUyR,EAAWl4B,MAEzD,GAAIy1B,GAASt6B,EAAQ47B,SAASpC,EAAM1B,EAAK3B,KAAKI,YACzB,IAAjB+D,EAAOA,SACTd,EAAOc,EAAOQ,UAGhB,IAAIvpB,GAAWvR,EAAQg9B,yBAAyBlF,EAAK3B,KAAKI,YAAauB,EAAKZ,MAAM7lB,MAAOymB,EAAKZ,MAAM5lB,IACpGkoB,GAAOx5B,EAAQi9B,qBAAqBnF,EAAK3B,KAAKI,YAAauB,EAAKZ,MAAOsC,EAEvE,IAAIuD,GAAajF,EAAKZ,MAAM6F,WAAW1oB,EAAO9C,EAC9C,QAAQioB,EAAKtxB,UAAY60B,EAAWzR,QAAUyR,EAAWl4B,OAY7D7E,EAAQ82B,OAAS,SAAUgB,EAAMvkB,EAAGc,GAClC,GAAoC,GAAhCyjB,EAAK3B,KAAKI,YAAYzvB,OAAa,CACrC,GAAIi2B,GAAajF,EAAKZ,MAAM6F,WAAW1oB,EACvC,OAAO,IAAInP,MAAKqO,EAAIwpB,EAAWl4B,MAAQk4B,EAAWzR,QAElD,GAAI4R,GAAiBl9B,EAAQg9B,yBAAyBlF,EAAK3B,KAAKI,YAAauB,EAAKZ,MAAM7lB,MAAOymB,EAAKZ,MAAM5lB,KACtG6rB,EAAgBrF,EAAKZ,MAAM5lB,IAAMwmB,EAAKZ,MAAM7lB,MAAQ6rB,EACpDE,EAAkBD,EAAgB5pB,EAAIc,EACtCgpB,EAA4Br9B,EAAQs9B,6BAA6BxF,EAAK3B,KAAKI,YAAauB,EAAKZ,MAAOkG,GAEpGG,EAAU,GAAIr4B,MAAKm4B,EAA4BD,EAAkBtF,EAAKZ,MAAM7lB,MAChF,OAAOksB,IAWXv9B,EAAQg9B,yBAA2B,SAAUzG,EAAallB,EAAOC,GAE/D,IAAK,GADDC,GAAW,EACN3K,EAAI,EAAGA,EAAI2vB,EAAYzvB,OAAQF,IAAK,CAC3C,GAAIk0B,GAAYvE,EAAY3vB,GAAGyK,MAC3B0pB,EAAUxE,EAAY3vB,GAAG0K,GAEzBwpB,IAAazpB,GAAmBC,EAAVypB,IACxBxpB,GAAYwpB,EAAUD,GAG1B,MAAOvpB,IAUTvR,EAAQi9B,qBAAuB,SAAU1G,EAAaW,EAAOsC,GAG3D,MAFAA,GAAO31B,EAAO21B,GAAMpxB,SAASF,UAC7BsxB,GAAQx5B,EAAQw9B,wBAAwBjH,EAAaW,EAAOsC,IAI9Dx5B,EAAQw9B,wBAA0B,SAAUjH,EAAaW,EAAOsC,GAC9D,GAAIiE,GAAa,CACjBjE,GAAO31B,EAAO21B,GAAMpxB,SAASF,SAE7B,KAAK,GAAItB,GAAI,EAAGA,EAAI2vB,EAAYzvB,OAAQF,IAAK,CAC3C,GAAIk0B,GAAYvE,EAAY3vB,GAAGyK,MAC3B0pB,EAAUxE,EAAY3vB,GAAG0K,GAEzBwpB,IAAa5D,EAAM7lB,OAAS0pB,EAAU7D,EAAM5lB,KAC1CkoB,GAAQuB,IACV0C,GAAc1C,EAAUD,GAI9B,MAAO2C,IAWTz9B,EAAQs9B,6BAA+B,SAAU/G,EAAaW,EAAOwG,GAKnE,IAAK,GAJDR,GAAiB,EACjB3rB,EAAW,EACXosB,EAAgBzG,EAAM7lB,MAEjBzK,EAAI,EAAGA,EAAI2vB,EAAYzvB,OAAQF,IAAK,CAC3C,GAAIk0B,GAAYvE,EAAY3vB,GAAGyK,MAC3B0pB,EAAUxE,EAAY3vB,GAAG0K,GAE7B,IAAIwpB,GAAa5D,EAAM7lB,OAAS0pB,EAAU7D,EAAM5lB,IAAK,CAGnD,GAFAC,GAAYupB,EAAY6C,EACxBA,EAAgB5C,EACZxpB,GAAYmsB,EACd,KAEAR,IAAkBnC,EAAUD,GAKlC,MAAOoC,IAWTl9B,EAAQ49B,mBAAqB,SAAUrH,EAAaiD,EAAMqE,EAAWC,GACnE,GAAIlC,GAAW57B,EAAQ47B,SAASpC,EAAMjD,EACtC,OAAuB,IAAnBqF,EAAStB,OACK,EAAZuD,EACuB,GAArBC,EACKlC,EAASd,WAAac,EAASb,QAAUvB,GAAQ,EAEjDoC,EAASd,UAAY,EAGL,GAArBgD,EACKlC,EAASb,SAAWvB,EAAOoC,EAASd,WAAa,EAEjDc,EAASb,QAAU,EAIvBvB,GAWXx5B,EAAQ47B,SAAW,SAAUpC,EAAMjD,GACjC,IAAK,GAAI3vB,GAAI,EAAGA,EAAI2vB,EAAYzvB,OAAQF,IAAK,CAC3C,GAAIk0B,GAAYvE,EAAY3vB,GAAGyK,MAC3B0pB,EAAUxE,EAAY3vB,GAAG0K,GAE7B,IAAIkoB,GAAQsB,GAAoBC,EAAPvB,EAEvB,OAASc,QAAQ,EAAMQ,UAAWA,EAAWC,QAASA,GAI1D,OAAST,QAAQ,EAAOQ,UAAWA,EAAWC,QAASA,KAKrD,SAAS96B,EAAQD,EAASM,GA8B9B,QAAS0B,GAASqP,EAAOC,EAAKysB,EAAaC,EAAiBC,EAAaC,GAEvE99B,KAAKu8B,QAAU,EAEfv8B,KAAK+9B,WAAY,EACjB/9B,KAAKg+B,UAAY,EACjBh+B,KAAK2pB,KAAO,EACZ3pB,KAAKyE,MAAQ,EAEbzE,KAAKi+B,YACLj+B,KAAKk+B,UACLl+B,KAAKm+B,UAAY,EAEjBn+B,KAAKo+B,YAAc,EAAG,EAAG,EAAG,IAC5Bp+B,KAAKq+B,YAAc,IAAM,GAAK,EAAG,GAEjCr+B,KAAK89B,WAAaA,EAElB99B,KAAK20B,SAAS1jB,EAAOC,EAAKysB,EAAaC,EAAiBC,GAa1Dj8B,EAASiT,UAAU8f,SAAW,SAAU1jB,EAAOC,EAAKysB,EAAaC,EAAiBC,GAChF79B,KAAKs0B,OAA6BluB,SAApBy3B,EAAYx5B,IAAoB4M,EAAQ4sB,EAAYx5B,IAClErE,KAAKu0B,KAA2BnuB,SAApBy3B,EAAYv5B,IAAoB4M,EAAM2sB,EAAYv5B,IAE1DtE,KAAKs0B,QAAUt0B,KAAKu0B,OACtBv0B,KAAKs0B,QAAU,IACft0B,KAAKu0B,MAAQ,GAGO,GAAlBv0B,KAAK+9B,WACP/9B,KAAKs+B,eAAeX,EAAaC,GAGnC59B,KAAKu+B,SAASV,IAOhBj8B,EAASiT,UAAUypB,eAAiB,SAAUX,EAAaC,GAEzD,GAAIlqB,GAAO1T,KAAKu0B,KAAOv0B,KAAKs0B,OACxBkK,EAAkB,IAAP9qB,EACX+qB,EAAmBd,GAAea,EAAWZ,GAC7Cc,EAAmBh6B,KAAKqqB,MAAMrqB,KAAKqwB,IAAIyJ,GAAY95B,KAAKswB,MAExD2J,EAAe,GACfC,EAAkBl6B,KAAKwwB,IAAI,GAAIwJ,GAE/BztB,EAAQ,CACW,GAAnBytB,IACFztB,EAAQytB,EAIV,KAAK,GADDG,IAAgB,EACXr4B,EAAIyK,EAAOvM,KAAKwnB,IAAI1lB,IAAM9B,KAAKwnB,IAAIwS,GAAmBl4B,IAAK,CAClEo4B,EAAkBl6B,KAAKwwB,IAAI,GAAI1uB,EAC/B,KAAK,GAAIymB,GAAI,EAAGA,EAAIjtB,KAAKq+B,WAAW33B,OAAQumB,IAAK,CAC/C,GAAI6R,GAAWF,EAAkB5+B,KAAKq+B,WAAWpR,EACjD,IAAI6R,GAAYL,EAAkB,CAChCI,GAAgB,EAChBF,EAAe1R,CACf,QAGJ,GAAqB,GAAjB4R,EACF,MAGJ7+B,KAAKg+B,UAAYW,EACjB3+B,KAAKyE,MAAQm6B,EACb5+B,KAAK2pB,KAAOiV,EAAkB5+B,KAAKq+B,WAAWM,IAOhD/8B,EAASiT,UAAU0pB,SAAW,SAAUV,GAClBz3B,SAAhBy3B,IACFA,KAGF,IAAIkB,GAAgC34B,SAApBy3B,EAAYx5B,IAAoBrE,KAAKs0B,OAAsB,EAAbt0B,KAAKyE,MAAYzE,KAAKq+B,WAAWr+B,KAAKg+B,WAAaH,EAAYx5B,IACzH26B,EAA8B54B,SAApBy3B,EAAYv5B,IAAoBtE,KAAKu0B,KAAOv0B,KAAKyE,MAAQzE,KAAKq+B,WAAWr+B,KAAKg+B,WAAaH,EAAYv5B,GAErHtE,MAAKk+B,UAAgC93B,SAApBy3B,EAAYv5B,IAAoBtE,KAAKi/B,aAAaD,GAAWnB,EAAYv5B,IAC1FtE,KAAKi+B,YAAkC73B,SAApBy3B,EAAYx5B,IAAoBrE,KAAKi/B,aAAaF,GAAalB,EAAYx5B,IAGvE,GAAnBrE,KAAK89B,aAAuB99B,KAAKk+B,UAAYl+B,KAAKi+B,aAAej+B,KAAK2pB,MAAQ,IAChF3pB,KAAKk+B,WAAal+B,KAAKk+B,UAAYl+B,KAAK2pB,MAG1C3pB,KAAKm+B,UAAYn+B,KAAKi/B,aAAaD,GAAWA,EAAUh/B,KAAKi/B,aAAaF,GAAaA,EACvF/+B,KAAKk/B,YAAcl/B,KAAKk+B,UAAYl+B,KAAKi+B,YAEzCj+B,KAAKu8B,QAAUv8B,KAAKk+B,WAGtBt8B,EAASiT,UAAUoqB,aAAe,SAAUz6B,GAC1C,GAAI26B,GAAU36B,EAAQA,GAASxE,KAAKyE,MAAQzE,KAAKq+B,WAAWr+B,KAAKg+B,WACjE,OAAIx5B,IAASxE,KAAKyE,MAAQzE,KAAKq+B,WAAWr+B,KAAKg+B,YAAc,GAAOh+B,KAAKyE,MAAQzE,KAAKq+B,WAAWr+B,KAAKg+B,WAC7FmB,EAAUn/B,KAAKyE,MAAQzE,KAAKq+B,WAAWr+B,KAAKg+B,WAE5CmB,GAQXv9B,EAASiT,UAAUuqB,QAAU,WAC3B,MAAOp/B,MAAKu8B,SAAWv8B,KAAKi+B,aAM9Br8B,EAASiT,UAAUgV,KAAO,WACxB,GAAImJ,GAAOhzB,KAAKu8B,OAChBv8B,MAAKu8B,SAAWv8B,KAAK2pB,KAGjB3pB,KAAKu8B,SAAWvJ,IAClBhzB,KAAKu8B,QAAUv8B,KAAKu0B,OAOxB3yB,EAASiT,UAAUwqB,SAAW,WAC5Br/B,KAAKu8B,SAAWv8B,KAAK2pB,KACrB3pB,KAAKk+B,WAAal+B,KAAK2pB,KACvB3pB,KAAKk/B,YAAcl/B,KAAKk+B,UAAYl+B,KAAKi+B,aAO3Cr8B,EAASiT,UAAU+U,WAAa,SAAU0V,GAExC,GAAI/C,GAAU73B,KAAKwnB,IAAIlsB,KAAKu8B,SAAWv8B,KAAK2pB,KAAO,EAAI,EAAI3pB,KAAKu8B,QAC5DlH,EAAc,GAAKvxB,OAAOy4B,GAASlH,YAAY,EAGnD,IAAiBjvB,SAAbk5B,GAA2Bp6B,MAAMpB,OAAOw7B,KAkC1C,GAAgC,IAA5BjK,EAAY9tB,QAAQ,MAA0C,IAA5B8tB,EAAY9tB,QAAQ,KAExD,IAAK,GAAIf,GAAI6uB,EAAY3uB,OAAS,EAAGF,EAAI,EAAGA,IAAK,CAC/C,GAAsB,KAAlB6uB,EAAY7uB,GAET,CAAA,GAAsB,KAAlB6uB,EAAY7uB,IAA+B,KAAlB6uB,EAAY7uB,GAAW,CACzD6uB,EAAcA,EAAY5oB,MAAM,EAAGjG,EACnC,OAEA,MALA6uB,EAAcA,EAAY5oB,MAAM,EAAGjG,QAtCa,CAEtD,GAAI+4B,GAAM,GACNp2B,EAAQksB,EAAY9tB,QAAQ,IAmBhC,IAlBa,IAAT4B,IAEFo2B,EAAMlK,EAAY5oB,MAAMtD,GAExBksB,EAAcA,EAAY5oB,MAAM,EAAGtD,IAErCA,EAAQzE,KAAKJ,IAAI+wB,EAAY9tB,QAAQ,KAAM8tB,EAAY9tB,QAAQ,MACjD,KAAV4B,GAEe,IAAbm2B,IACFjK,GAAe,KAGjBlsB,EAAQksB,EAAY3uB,OAAS44B,GACP,IAAbA,IAETn2B,GAASm2B,EAAW,GAElBn2B,EAAQksB,EAAY3uB,OAEtB,IAAK,GAAI84B,GAAMr2B,EAAQksB,EAAY3uB,OAAQ84B,EAAM,EAAGA,IAClDnK,GAAe,QAIjBA,GAAcA,EAAY5oB,MAAM,EAAGtD,EAGrCksB,IAAekK,EAiBjB,MAAOlK,IAQTzzB,EAASiT,UAAU4qB,QAAU,WAC3B,MAAOz/B,MAAKu8B,SAAWv8B,KAAKyE,MAAQzE,KAAKo+B,WAAWp+B,KAAKg+B,aAAe,GAG1En+B,EAAOD,QAAUgC,GAIb,SAAS/B,EAAQD,EAASM,GAkB9B,QAAS2B,GAAMk0B,EAAMjmB,GACnB,GAAI4vB,GAAMj8B,IAASk8B,MAAM,GAAGC,QAAQ,GAAGC,QAAQ,GAAGC,aAAa,EAC/D9/B,MAAKiR,MAAQyuB,EAAI5E,QAAQnmB,IAAI,GAAI,QAAQ7M,UACzC9H,KAAKkR,IAAMwuB,EAAI5E,QAAQnmB,IAAI,EAAG,QAAQ7M,UAEtC9H,KAAK+1B,KAAOA,EACZ/1B,KAAK+/B,gBAAkB,EACvB//B,KAAKggC,YAAc,EACnBhgC,KAAK47B,cAAe,EACpB57B,KAAK67B,YAAa,EAGlB77B,KAAKy1B,gBACHxkB,MAAO,KACPC,IAAK,KACLusB,UAAW,aACXwC,UAAU,EACVC,UAAU,EACV77B,IAAK,KACLC,IAAK,KACL67B,QAAS,GACTC,QAAS,UAEXpgC,KAAK8P,QAAUnP,EAAKiG,UAAW5G,KAAKy1B,gBAEpCz1B,KAAK8G,OACHu5B,UAEFrgC,KAAKsgC,aAAe,KAGpBtgC,KAAK+1B,KAAKE,QAAQhhB,GAAG,WAAYjV,KAAKugC,aAAarK,KAAKl2B,OACxDA,KAAK+1B,KAAKE,QAAQhhB,GAAG,UAAWjV,KAAKwgC,QAAQtK,KAAKl2B,OAClDA,KAAK+1B,KAAKE,QAAQhhB,GAAG,SAAUjV,KAAKygC,WAAWvK,KAAKl2B,OAGpDA,KAAK+1B,KAAKE,QAAQhhB,GAAG,aAAcjV,KAAK0gC,cAAcxK,KAAKl2B,OAG3DA,KAAK+1B,KAAKE,QAAQhhB,GAAG,QAASjV,KAAK2gC,SAASzK,KAAKl2B,OACjDA,KAAK+1B,KAAKE,QAAQhhB,GAAG,QAASjV,KAAK4gC,SAAS1K,KAAKl2B,OAEjDA,KAAK4U,WAAW9E,GAsClB,QAAS+wB,GAAkBpD,GACzB,GAAiB,cAAbA,GAA0C,YAAbA,EAC/B,KAAM,IAAIv2B,WAAU,sBAAwBu2B,EAAY,yCA0e5D,QAASqD,GAAWT,EAAOz2B,GACzB,OACEuJ,EAAGktB,EAAMltB,EAAIxS,EAAK4H,gBAAgBqB,GAClCwJ,EAAGitB,EAAMjtB,EAAIzS,EAAKgI,eAAeiB,IA7kBrC,GAAIjJ,GAAOT,EAAoB,GAE3BuD,GADavD,EAAoB,IACxBA,EAAoB,KAC7BqC,EAAYrC,EAAoB,IAChCyB,EAAWzB,EAAoB,GAuDnC2B,GAAMgT,UAAY,GAAItS,GAkBtBV,EAAMgT,UAAUD,WAAa,SAAU9E,GACrC,GAAIA,EAAS,CAEX,GAAIP,IAAU,YAAa,MAAO,MAAO,UAAW,UAAW,WAAY,WAAY,WAAY,cACnG5O,GAAKkG,gBAAgB0I,EAAQvP,KAAK8P,QAASA,IAEvC,SAAWA,IAAW,OAASA,KAEjC9P,KAAK20B,SAAS7kB,EAAQmB,MAAOnB,EAAQoB,OA2B3CrP,EAAMgT,UAAU8f,SAAW,SAAU1jB,EAAOC,EAAKgnB,EAAS6I,GACpDA,KAAW,IACbA,GAAS,EAEX,IAAIzM,GAAkBluB,QAAT6K,EAAqBtQ,EAAKgH,QAAQsJ,EAAO,QAAQnJ,UAAY,KACtEysB,EAAcnuB,QAAP8K,EAAmBvQ,EAAKgH,QAAQuJ,EAAK,QAAQpJ,UAAY,IAGpE,IAFA9H,KAAKghC,mBAED9I,EAAS,CACX,GAAIriB,GAAK7V,KACLihC,EAAYjhC,KAAKiR,MACjBiwB,EAAUlhC,KAAKkR,IACfC,EAA8B,gBAAZ+mB,GAAuBA,EAAU,IACnDiJ,GAAW,GAAIr8B,OAAOgD,UACtBs5B,GAAa,EAEbvX,EAAO,SAAWwX,GACpB,QAASxX,KACP,MAAOwX,GAAM3nB,MAAM1Z,KAAMyG,WAO3B,MAJAojB,GAAKjkB,SAAW,WACd,MAAOy7B,GAAMz7B,YAGRikB,GACN,WACD,IAAKhU,EAAG/O,MAAMu5B,MAAMiB,SAAU,CAC5B,GAAI5B,IAAM,GAAI56B,OAAOgD,UACjBsxB,EAAOsG,EAAMyB,EACbI,EAAOnI,EAAOjoB,EACdlE,EAAIs0B,GAAmB,OAAXjN,EAAkBA,EAAS3zB,EAAKqQ,cAAcooB,EAAM6H,EAAW3M,EAAQnjB,GACnFnG,EAAIu2B,GAAiB,OAAThN,EAAgBA,EAAO5zB,EAAKqQ,cAAcooB,EAAM8H,EAAS3M,EAAMpjB,EAE/EqwB,GAAU3rB,EAAGimB,YAAY7uB,EAAGjC,GAC5BrJ,EAAS44B,kBAAkB1kB,EAAGkgB,KAAMlgB,EAAG/F,QAAQqmB,aAC/CiL,EAAaA,GAAcI,EACvBA,GACF3rB,EAAGkgB,KAAKE,QAAQhH,KAAK,eAAiBhe,MAAO,GAAInM,MAAK+Q,EAAG5E,OAAQC,IAAK,GAAIpM,MAAK+Q,EAAG3E,KAAM6vB,OAAQA,IAG9FQ,EACEH,GACFvrB,EAAGkgB,KAAKE,QAAQhH,KAAK,gBAAkBhe,MAAO,GAAInM,MAAK+Q,EAAG5E,OAAQC,IAAK,GAAIpM,MAAK+Q,EAAG3E,KAAM6vB,OAAQA,IAKnGlrB,EAAGyqB,aAAeplB,WAAW2O,EAAM,MAKzC,OAAOA,KAEP,GAAI2X,GAAUxhC,KAAK87B,YAAYxH,EAAQC,EAEvC,IADA5yB,EAAS44B,kBAAkBv6B,KAAK+1B,KAAM/1B,KAAK8P,QAAQqmB,aAC/CqL,EAAS,CACX,GAAIhsB,IAAWvE,MAAO,GAAInM,MAAK9E,KAAKiR,OAAQC,IAAK,GAAIpM,MAAK9E,KAAKkR,KAAM6vB,OAAQA,EAC7E/gC,MAAK+1B,KAAKE,QAAQhH,KAAK,cAAezZ,GACtCxV,KAAK+1B,KAAKE,QAAQhH,KAAK,eAAgBzZ,KAS7C3T,EAAMgT,UAAUmsB,iBAAmB,WAC7BhhC,KAAKsgC,eACPrlB,aAAajb,KAAKsgC,cAClBtgC,KAAKsgC,aAAe,OAaxBz+B,EAAMgT,UAAUinB,YAAc,SAAU7qB,EAAOC,GAC7C,GAIIwc,GAJA+T,EAAoB,MAATxwB,EAAgBtQ,EAAKgH,QAAQsJ,EAAO,QAAQnJ,UAAY9H,KAAKiR,MACxEywB,EAAgB,MAAPxwB,EAAcvQ,EAAKgH,QAAQuJ,EAAK,QAAQpJ,UAAY9H,KAAKkR,IAClE5M,EAA0B,MAApBtE,KAAK8P,QAAQxL,IAAc3D,EAAKgH,QAAQ3H,KAAK8P,QAAQxL,IAAK,QAAQwD,UAAY,KACpFzD,EAA0B,MAApBrE,KAAK8P,QAAQzL,IAAc1D,EAAKgH,QAAQ3H,KAAK8P,QAAQzL,IAAK,QAAQyD,UAAY,IAIxF,IAAI5C,MAAMu8B,IAA0B,OAAbA,EACrB,KAAM,IAAIj+B,OAAM,kBAAoByN,EAAQ,IAE9C,IAAI/L,MAAMw8B,IAAsB,OAAXA,EACnB,KAAM,IAAIl+B,OAAM,gBAAkB0N,EAAM,IAyC1C,IArCauwB,EAATC,IACFA,EAASD,GAIC,OAARp9B,GACaA,EAAXo9B,IACF/T,EAAOrpB,EAAMo9B,EACbA,GAAY/T,EACZgU,GAAUhU,EAGC,MAAPppB,GACEo9B,EAASp9B,IACXo9B,EAASp9B,IAOL,OAARA,GACEo9B,EAASp9B,IACXopB,EAAOgU,EAASp9B,EAChBm9B,GAAY/T,EACZgU,GAAUhU,EAGC,MAAPrpB,GACaA,EAAXo9B,IACFA,EAAWp9B,IAOU,OAAzBrE,KAAK8P,QAAQqwB,QAAkB,CACjC,GAAIA,GAAUtZ,WAAW7mB,KAAK8P,QAAQqwB,QACxB,GAAVA,IACFA,EAAU,GAEYA,EAApBuB,EAASD,IACPzhC,KAAKkR,IAAMlR,KAAKiR,QAAUkvB,GAAWsB,EAAWzhC,KAAKiR,OAASywB,EAAS1hC,KAAKkR,KAE9EuwB,EAAWzhC,KAAKiR,MAChBywB,EAAS1hC,KAAKkR,MAGdwc,EAAOyS,GAAWuB,EAASD,GAC3BA,GAAY/T,EAAO,EACnBgU,GAAUhU,EAAO,IAMvB,GAA6B,OAAzB1tB,KAAK8P,QAAQswB,QAAkB,CACjC,GAAIA,GAAUvZ,WAAW7mB,KAAK8P,QAAQswB,QACxB,GAAVA,IACFA,EAAU,GAGRsB,EAASD,EAAWrB,IAClBpgC,KAAKkR,IAAMlR,KAAKiR,QAAUmvB,GAAWqB,EAAWzhC,KAAKiR,OAASywB,EAAS1hC,KAAKkR,KAE9EuwB,EAAWzhC,KAAKiR,MAChBywB,EAAS1hC,KAAKkR,MAGdwc,EAAOgU,EAASD,EAAWrB,EAC3BqB,GAAY/T,EAAO,EACnBgU,GAAUhU,EAAO,IAKvB,GAAI8T,GAAUxhC,KAAKiR,OAASwwB,GAAYzhC,KAAKkR,KAAOwwB,CASpD,OANMD,IAAYzhC,KAAKiR,OAASwwB,GAAYzhC,KAAKkR,KAAOwwB,GAAU1hC,KAAKiR,OAASywB,GAAU1hC,KAAKkR,KAAUlR,KAAKiR,OAASwwB,GAAYzhC,KAAKiR,OAASywB,GAAU1hC,KAAKkR,KAAOuwB,GAAYzhC,KAAKkR,KAAOwwB,GAC7L1hC,KAAK+1B,KAAKE,QAAQhH,KAAK,oBAGzBjvB,KAAKiR,MAAQwwB,EACbzhC,KAAKkR,IAAMwwB,EACJF,GAOT3/B,EAAMgT,UAAU8sB,SAAW,WACzB,OACE1wB,MAAOjR,KAAKiR,MACZC,IAAKlR,KAAKkR,MAUdrP,EAAMgT,UAAU8nB,WAAa,SAAU1oB,EAAO2tB,GAC5C,MAAO//B,GAAM86B,WAAW38B,KAAKiR,MAAOjR,KAAKkR,IAAK+C,EAAO2tB,IAWvD//B,EAAM86B,WAAa,SAAU1rB,EAAOC,EAAK+C,EAAO2tB,GAI9C,MAHoBx7B,UAAhBw7B,IACFA,EAAc,GAEH,GAAT3tB,GAAc/C,EAAMD,GAAS,GAE7Bia,OAAQja,EACRxM,MAAOwP,GAAS/C,EAAMD,EAAQ2wB,KAI9B1W,OAAQ,EACRzmB,MAAO,IAUb5C,EAAMgT,UAAU0rB,aAAe,SAAUj2B,GACvCtK,KAAK+/B,gBAAkB,EACvB//B,KAAK6hC,cAAgB,EAEhB7hC,KAAK8P,QAAQmwB,UAIbjgC,KAAK8G,MAAMu5B,MAAMyB,gBAEtB9hC,KAAK8G,MAAMu5B,MAAMpvB,MAAQjR,KAAKiR,MAC9BjR,KAAK8G,MAAMu5B,MAAMnvB,IAAMlR,KAAKkR,IAC5BlR,KAAK8G,MAAMu5B,MAAMiB,UAAW,EAExBthC,KAAK+1B,KAAK5E,IAAIzxB,OAChBM,KAAK+1B,KAAK5E,IAAIzxB,KAAK0O,MAAMigB,OAAS,UAStCxsB,EAAMgT,UAAU2rB,QAAU,SAAUl2B,GAElC,GAAKtK,KAAK8P,QAAQmwB,UAKbjgC,KAAK8G,MAAMu5B,MAAMyB,cAAtB,CAEA,GAAIrE,GAAYz9B,KAAK8P,QAAQ2tB,SAC7BoD,GAAkBpD,EAClB,IAAI3N,GAAqB,cAAb2N,EAA4BnzB,EAAMy3B,OAASz3B,EAAM03B,MAC7DlS,IAAS9vB,KAAK+/B,eACd,IAAInM,GAAW5zB,KAAK8G,MAAMu5B,MAAMnvB,IAAMlR,KAAK8G,MAAMu5B,MAAMpvB,MAGnDE,EAAWxP,EAASi7B,yBAAyB58B,KAAK+1B,KAAKI,YAAan2B,KAAKiR,MAAOjR,KAAKkR,IACzF0iB,IAAYziB,CAEZ,IAAI8C,GAAqB,cAAbwpB,EAA4Bz9B,KAAK+1B,KAAKC,SAASzI,OAAOtZ,MAAQjU,KAAK+1B,KAAKC,SAASzI,OAAOrZ,OAChG+tB,GAAanS,EAAQ7b,EAAQ2f,EAC7B6N,EAAWzhC,KAAK8G,MAAMu5B,MAAMpvB,MAAQgxB,EACpCP,EAAS1hC,KAAK8G,MAAMu5B,MAAMnvB,IAAM+wB,EAGhCC,EAAYvgC,EAAS67B,mBAAmBx9B,KAAK+1B,KAAKI,YAAasL,EAAUzhC,KAAK6hC,cAAgB/R,GAAO,GACrGqS,EAAUxgC,EAAS67B,mBAAmBx9B,KAAK+1B,KAAKI,YAAauL,EAAQ1hC,KAAK6hC,cAAgB/R,GAAO,EACrG,IAAIoS,GAAaT,GAAYU,GAAWT,EAKtC,MAJA1hC,MAAK+/B,iBAAmBjQ,EACxB9vB,KAAK8G,MAAMu5B,MAAMpvB,MAAQixB,EACzBliC,KAAK8G,MAAMu5B,MAAMnvB,IAAMixB,MACvBniC,MAAKwgC,QAAQl2B,EAIftK,MAAK6hC,cAAgB/R,EACrB9vB,KAAK87B,YAAY2F,EAAUC,GAG3B1hC,KAAK+1B,KAAKE,QAAQhH,KAAK,eACrBhe,MAAO,GAAInM,MAAK9E,KAAKiR,OACrBC,IAAK,GAAIpM,MAAK9E,KAAKkR,KACnB6vB,QAAQ,MASZl/B,EAAMgT,UAAU4rB,WAAa,SAAUn2B,GAEhCtK,KAAK8P,QAAQmwB,UAKbjgC,KAAK8G,MAAMu5B,MAAMyB,gBAEtB9hC,KAAK8G,MAAMu5B,MAAMiB,UAAW,EACxBthC,KAAK+1B,KAAK5E,IAAIzxB,OAChBM,KAAK+1B,KAAK5E,IAAIzxB,KAAK0O,MAAMigB,OAAS,QAIpCruB,KAAK+1B,KAAKE,QAAQhH,KAAK,gBACrBhe,MAAO,GAAInM,MAAK9E,KAAKiR,OACrBC,IAAK,GAAIpM,MAAK9E,KAAKkR,KACnB6vB,QAAQ,MAUZl/B,EAAMgT,UAAU6rB,cAAgB,SAAUp2B,GAExC,GAAMtK,KAAK8P,QAAQowB,UAAYlgC,KAAK8P,QAAQmwB,SAA5C,CAGA,GAAInQ,GAAQ,CAcZ,IAbIxlB,EAAMylB,WAERD,EAAQxlB,EAAMylB,WAAa,IAClBzlB,EAAM0lB,SAIfF,GAASxlB,EAAM0lB,OAAS,GAMtBF,EAAO,CAKT,GAAIrrB,EAEFA,GADU,EAARqrB,EACM,EAAIA,EAAQ,EAEZ,GAAK,EAAIA,EAAQ,EAI3B,IAAIsS,GAAUtB,GAAa3tB,EAAG7I,EAAMyuB,MAAO3lB,EAAG9I,EAAM2uB,OAASj5B,KAAK+1B,KAAK5E,IAAI5D,QACvE8U,EAAcriC,KAAKsiC,eAAeF,EAEtCpiC,MAAKuiC,KAAK99B,EAAO49B,EAAavS,GAKhCxlB,EAAMD,mBAORxI,EAAMgT,UAAU8rB,SAAW,SAAUr2B,GACnCtK,KAAK8G,MAAMu5B,MAAMpvB,MAAQjR,KAAKiR,MAC9BjR,KAAK8G,MAAMu5B,MAAMnvB,IAAMlR,KAAKkR,IAC5BlR,KAAK8G,MAAMu5B,MAAMyB,eAAgB,EACjC9hC,KAAK8G,MAAMu5B,MAAM9S,OAAS,KAC1BvtB,KAAKggC,YAAc,EACnBhgC,KAAK+/B,gBAAkB,GAQzBl+B,EAAMgT,UAAU+rB,SAAW,SAAUt2B,GAEnC,GAAMtK,KAAK8P,QAAQowB,UAAYlgC,KAAK8P,QAAQmwB,SAA5C,CAEAjgC,KAAK8G,MAAMu5B,MAAMyB,eAAgB,EAE5B9hC,KAAK8G,MAAMu5B,MAAM9S,SACpBvtB,KAAK8G,MAAMu5B,MAAM9S,OAASuT,EAAWx2B,EAAMijB,OAAQvtB,KAAK+1B,KAAK5E,IAAI5D,QAGnE,IAAI9oB,GAAQ,GAAK6F,EAAM7F,MAAQzE,KAAKggC,aAChCwC,EAAaxiC,KAAKsiC,eAAetiC,KAAK8G,MAAMu5B,MAAM9S,QAElDuP,EAAiBn7B,EAASi7B,yBAAyB58B,KAAK+1B,KAAKI,YAAan2B,KAAKiR,MAAOjR,KAAKkR,KAC3FuxB,EAAuB9gC,EAASy7B,wBAAwBp9B,KAAK+1B,KAAKI,YAAan2B,KAAMwiC,GACrFE,EAAsB5F,EAAiB2F,EAGvChB,EAAWe,EAAaC,GAAwBziC,KAAK8G,MAAMu5B,MAAMpvB,OAASuxB,EAAaC,IAAyBh+B,EAChHi9B,EAASc,EAAaE,GAAuB1iC,KAAK8G,MAAMu5B,MAAMnvB,KAAOsxB,EAAaE,IAAwBj+B,CAG9GzE,MAAK47B,aAA4B,GAAb,EAAIn3B,EACxBzE,KAAK67B,WAA0B,GAAbp3B,EAAQ,CAE1B,IAAIy9B,GAAYvgC,EAAS67B,mBAAmBx9B,KAAK+1B,KAAKI,YAAasL,EAAU,EAAIh9B,GAAO,GACpF09B,EAAUxgC,EAAS67B,mBAAmBx9B,KAAK+1B,KAAKI,YAAauL,EAAQj9B,EAAQ,GAAG,IAChFy9B,GAAaT,GAAYU,GAAWT,KACtC1hC,KAAK8G,MAAMu5B,MAAMpvB,MAAQixB,EACzBliC,KAAK8G,MAAMu5B,MAAMnvB,IAAMixB,EACvBniC,KAAKggC,YAAc,EAAI11B,EAAM7F,MAC7Bg9B,EAAWS,EACXR,EAASS,GAGXniC,KAAK20B,SAAS8M,EAAUC,GAAQ,GAAO,GAEvC1hC,KAAK47B,cAAe,EACpB57B,KAAK67B,YAAa,IASpBh6B,EAAMgT,UAAUytB,eAAiB,SAAUF,GACzC,GAAIzF,GACAc,EAAYz9B,KAAK8P,QAAQ2tB,SAI7B,IAFAoD,EAAkBpD,GAED,cAAbA,EACF,MAAOz9B,MAAK+1B,KAAKp1B,KAAK+1B,OAAO0L,EAAQjvB,GAAGrL,SAExC,IAAIoM,GAASlU,KAAK+1B,KAAKC,SAASzI,OAAOrZ,MAEvC,OADAyoB,GAAa38B,KAAK28B,WAAWzoB,GACtBkuB,EAAQhvB,EAAIupB,EAAWl4B,MAAQk4B,EAAWzR,QA4BrDrpB,EAAMgT,UAAU0tB,KAAO,SAAU99B,EAAO8oB,EAAQuC,GAEhC,MAAVvC,IACFA,GAAUvtB,KAAKiR,MAAQjR,KAAKkR,KAAO,EAGrC,IAAI4rB,GAAiBn7B,EAASi7B,yBAAyB58B,KAAK+1B,KAAKI,YAAan2B,KAAKiR,MAAOjR,KAAKkR,KAC3FuxB,EAAuB9gC,EAASy7B,wBAAwBp9B,KAAK+1B,KAAKI,YAAan2B,KAAMutB,GACrFmV,EAAsB5F,EAAiB2F,EAGvChB,EAAWlU,EAASkV,GAAwBziC,KAAKiR,OAASsc,EAASkV,IAAyBh+B,EAC5Fi9B,EAASnU,EAASmV,GAAuB1iC,KAAKkR,KAAOqc,EAASmV,IAAwBj+B,CAG1FzE,MAAK47B,aAAe9L,EAAQ,GAAI,GAAQ,EACxC9vB,KAAK67B,YAAc/L,EAAQ,GAAI,GAAQ;;AACvC,GAAIoS,GAAYvgC,EAAS67B,mBAAmBx9B,KAAK+1B,KAAKI,YAAasL,EAAU3R,GAAO,GAChFqS,EAAUxgC,EAAS67B,mBAAmBx9B,KAAK+1B,KAAKI,YAAauL,GAAS5R,GAAO,IAC7EoS,GAAaT,GAAYU,GAAWT,KACtCD,EAAWS,EACXR,EAASS,GAGXniC,KAAK20B,SAAS8M,EAAUC,GAAQ,GAAO,GAEvC1hC,KAAK47B,cAAe,EACpB57B,KAAK67B,YAAa,GASpBh6B,EAAMgT,UAAU8tB,KAAO,SAAU7S,GAE/B,GAAIpC,GAAO1tB,KAAKkR,IAAMlR,KAAKiR,MAGvBwwB,EAAWzhC,KAAKiR,MAAQyc,EAAOoC,EAC/B4R,EAAS1hC,KAAKkR,IAAMwc,EAAOoC,CAI/B9vB,MAAKiR,MAAQwwB,EACbzhC,KAAKkR,IAAMwwB,GAOb7/B,EAAMgT,UAAUwU,OAAS,SAAUA,GACjC,GAAIkE,IAAUvtB,KAAKiR,MAAQjR,KAAKkR,KAAO,EAEnCwc,EAAOH,EAASlE,EAGhBoY,EAAWzhC,KAAKiR,MAAQyc,EACxBgU,EAAS1hC,KAAKkR,IAAMwc,CAExB1tB,MAAK20B,SAAS8M,EAAUC,IAG1B7hC,EAAOD,QAAUiC,GAIb,SAAShC,EAAQD,EAASM,GAK9B,GAAI0iC,GAAU,IAMdhjC,GAAQijC,aAAe,SAAU5gC,GAC/BA,EAAM4V,KAAK,SAAUvR,EAAGC,GACtB,MAAOD,GAAE8N,KAAKnD,MAAQ1K,EAAE6N,KAAKnD,SASjCrR,EAAQkjC,WAAa,SAAU7gC,GAC7BA,EAAM4V,KAAK,SAAUvR,EAAGC,GACtB,GAAIw8B,GAAQ,OAASz8B,GAAE8N,KAAO9N,EAAE8N,KAAKlD,IAAM5K,EAAE8N,KAAKnD,MAC9C+xB,EAAQ,OAASz8B,GAAE6N,KAAO7N,EAAE6N,KAAKlD,IAAM3K,EAAE6N,KAAKnD,KAElD,OAAO8xB,GAAQC,KAenBpjC,EAAQkC,MAAQ,SAAUG,EAAOqZ,EAAQ2nB,GACvC,GAAIz8B,GAAG08B,CAEP,IAAID,EAEF,IAAKz8B,EAAI,EAAG08B,EAAOjhC,EAAMyE,OAAYw8B,EAAJ18B,EAAUA,IACzCvE,EAAMuE,GAAGoC,IAAM,IAKnB,KAAKpC,EAAI,EAAG08B,EAAOjhC,EAAMyE,OAAYw8B,EAAJ18B,EAAUA,IAAK,CAC9C,GAAIkK,GAAOzO,EAAMuE,EACjB,IAAIkK,EAAK5O,OAAsB,OAAb4O,EAAK9H,IAAc,CAEnC8H,EAAK9H,IAAM0S,EAAO6nB,IAElB,GAAG,CAID,IAAK,GADDC,GAAgB,KACXnW,EAAI,EAAGoW,EAAKphC,EAAMyE,OAAY28B,EAAJpW,EAAQA,IAAK,CAC9C,GAAItmB,GAAQ1E,EAAMgrB,EAClB,IAAkB,OAAdtmB,EAAMiC,KAAgBjC,IAAU+J,GAAQ/J,EAAM7E,OAASlC,EAAQ0jC,UAAU5yB,EAAM/J,EAAO2U,EAAO5K,MAAO,CACtG0yB,EAAgBz8B,CAChB,QAIiB,MAAjBy8B,IAEF1yB,EAAK9H,IAAMw6B,EAAcx6B,IAAMw6B,EAAclvB,OAASoH,EAAO5K,KAAKuW,gBAE7Dmc,MAYfxjC,EAAQ2jC,QAAU,SAAUthC,EAAOqZ,EAAQkoB,GACzC,GAAIh9B,GAAG08B,EAAMO,CAGb,KAAKj9B,EAAI,EAAG08B,EAAOjhC,EAAMyE,OAAYw8B,EAAJ18B,EAAUA,IACzC,GAA+BJ,SAA3BnE,EAAMuE,GAAG4N,KAAKsvB,SAAwB,CACxCD,EAASnoB,EAAO6nB,IAChB,KAAK,GAAIO,KAAYF,GACfA,EAAUx9B,eAAe09B,IACQ,GAA/BF,EAAUE,GAAUzZ,SAAmBuZ,EAAUE,GAAUv6B,MAAQq6B,EAAUvhC,EAAMuE,GAAG4N,KAAKsvB,UAAUv6B,QACvGs6B,GAAUD,EAAUE,GAAUxvB,OAASoH,EAAO5K,KAAKuW,SAIzDhlB,GAAMuE,GAAGoC,IAAM66B,MAEfxhC,GAAMuE,GAAGoC,IAAM0S,EAAO6nB,MAe5BvjC,EAAQ0jC,UAAY,SAAUh9B,EAAGC,EAAG+U,GAClC,MAAOhV,GAAEoC,KAAO4S,EAAO0L,WAAa4b,EAAUr8B,EAAEmC,KAAOnC,EAAE0N,OAAS3N,EAAEoC,KAAOpC,EAAE2N,MAAQqH,EAAO0L,WAAa4b,EAAUr8B,EAAEmC,MAAQpC,EAAEsC,IAAM0S,EAAO2L,SAAW2b,EAAUr8B,EAAEqC,IAAMrC,EAAE2N,QAAU5N,EAAEsC,IAAMtC,EAAE4N,OAASoH,EAAO2L,SAAW2b,EAAUr8B,EAAEqC,MAKpO,SAAS/I,EAAQD,EAASM,GAkC9B,QAAS6B,GAASkP,EAAOC,EAAKysB,EAAaxH,GAEzCn2B,KAAKu8B,QAAU,GAAIz3B,MACnB9E,KAAKs0B,OAAS,GAAIxvB,MAClB9E,KAAKu0B,KAAO,GAAIzvB,MAEhB9E,KAAK+9B,WAAY,EACjB/9B,KAAKyE,MAAQ,MACbzE,KAAK2pB,KAAO,EAGZ3pB,KAAK20B,SAAS1jB,EAAOC,EAAKysB,GAG1B39B,KAAK08B,aAAc,EACnB18B,KAAKy8B,eAAgB,EACrBz8B,KAAKw8B,cAAe,EACpBx8B,KAAKm2B,YAAcA,EACC/vB,SAAhB+vB,IACFn2B,KAAKm2B,gBAGPn2B,KAAK2jC,OAAS5hC,EAAS6hC,OApDzB,GAAIngC,GAASvD,EAAoB,IAC7ByB,EAAWzB,EAAoB,IAC/BS,EAAOT,EAAoB,EAsD/B6B,GAAS6hC,QACPC,aACEC,YAAa,MACbC,OAAQ,IACRC,OAAQ,QACRC,KAAM,QACNC,QAAS,QACTnJ,IAAK,IACLK,MAAO,MACPH,KAAM,QAERkJ,aACEL,YAAa,WACbC,OAAQ,eACRC,OAAQ,aACRC,KAAM,aACNC,QAAS,YACTnJ,IAAK,YACLK,MAAO,OACPH,KAAM,KAUVl5B,EAAS8S,UAAUuvB,UAAY,SAAUT,GACvC,GAAIU,GAAgB1jC,EAAK0G,cAAetF,EAAS6hC,OACjD5jC,MAAK2jC,OAAShjC,EAAK0G,WAAWg9B,EAAeV,IAa/C5hC,EAAS8S,UAAU8f,SAAW,SAAU1jB,EAAOC,EAAKysB,GAClD,KAAM1sB,YAAiBnM,OAAWoM,YAAepM,OAC/C,KAAM,+CAGR9E,MAAKs0B,OAAkBluB,QAAT6K,EAAqB,GAAInM,MAAKmM,EAAMnJ,WAAa,GAAIhD,MACnE9E,KAAKu0B,KAAcnuB,QAAP8K,EAAmB,GAAIpM,MAAKoM,EAAIpJ,WAAa,GAAIhD,MAEzD9E,KAAK+9B,WACP/9B,KAAKs+B,eAAeX,IAOxB57B,EAAS8S,UAAUyvB,MAAQ,WACzBtkC,KAAKu8B,QAAU,GAAIz3B,MAAK9E,KAAKs0B,OAAOxsB,WACpC9H,KAAKi/B,gBAOPl9B,EAAS8S,UAAUoqB,aAAe,WAIhC,OAAQj/B,KAAKyE,OACX,IAAK,OACHzE,KAAKu8B,QAAQgI,YAAYvkC,KAAK2pB,KAAOjlB,KAAKgB,MAAM1F,KAAKu8B,QAAQiI,cAAgBxkC,KAAK2pB,OAClF3pB,KAAKu8B,QAAQkI,SAAS,EACxB,KAAK,QACHzkC,KAAKu8B,QAAQmI,QAAQ,EACvB,KAAK,MACL,IAAK,UACH1kC,KAAKu8B,QAAQoI,SAAS,EACxB,KAAK,OACH3kC,KAAKu8B,QAAQqI,WAAW,EAC1B,KAAK,SACH5kC,KAAKu8B,QAAQsI,WAAW,EAC1B,KAAK,SACH7kC,KAAKu8B,QAAQuI,gBAAgB,GAIjC,GAAiB,GAAb9kC,KAAK2pB,KAEP,OAAQ3pB,KAAKyE,OACX,IAAK,cACHzE,KAAKu8B,QAAQuI,gBAAgB9kC,KAAKu8B,QAAQwI,kBAAoB/kC,KAAKu8B,QAAQwI,kBAAoB/kC,KAAK2pB,KAAM,MAC5G,KAAK,SACH3pB,KAAKu8B,QAAQsI,WAAW7kC,KAAKu8B,QAAQyI,aAAehlC,KAAKu8B,QAAQyI,aAAehlC,KAAK2pB,KAAM,MAC7F,KAAK,SACH3pB,KAAKu8B,QAAQqI,WAAW5kC,KAAKu8B,QAAQ0I,aAAejlC,KAAKu8B,QAAQ0I,aAAejlC,KAAK2pB,KAAM,MAC7F,KAAK,OACH3pB,KAAKu8B,QAAQoI,SAAS3kC,KAAKu8B,QAAQ2I,WAAallC,KAAKu8B,QAAQ2I,WAAallC,KAAK2pB,KAAM,MACvF,KAAK,UACL,IAAK,MACH3pB,KAAKu8B,QAAQmI,QAAQ1kC,KAAKu8B,QAAQ4I,UAAY,GAAKnlC,KAAKu8B,QAAQ4I,UAAY,GAAKnlC,KAAK2pB,KAAO,EAAG,MAClG,KAAK,QACH3pB,KAAKu8B,QAAQkI,SAASzkC,KAAKu8B,QAAQ6I,WAAaplC,KAAKu8B,QAAQ6I,WAAaplC,KAAK2pB,KAAM,MACvF,KAAK,OACH3pB,KAAKu8B,QAAQgI,YAAYvkC,KAAKu8B,QAAQiI,cAAgBxkC,KAAKu8B,QAAQiI,cAAgBxkC,KAAK2pB,QAWhG5nB,EAAS8S,UAAUuqB,QAAU,WAC3B,MAAOp/B,MAAKu8B,QAAQz0B,WAAa9H,KAAKu0B,KAAKzsB,WAM7C/F,EAAS8S,UAAUgV,KAAO,WACxB,GAAImJ,GAAOhzB,KAAKu8B,QAAQz0B,SAIxB,IAAI9H,KAAKu8B,QAAQ6I,WAAa,EAC5B,OAAQplC,KAAKyE,OACX,IAAK,cAEHzE,KAAKu8B,QAAU,GAAIz3B,MAAK9E,KAAKu8B,QAAQz0B,UAAY9H,KAAK2pB,KAAM,MAC9D,KAAK,SACH3pB,KAAKu8B,QAAU,GAAIz3B,MAAK9E,KAAKu8B,QAAQz0B,UAAwB,IAAZ9H,KAAK2pB,KAAa,MACrE,KAAK,SACH3pB,KAAKu8B,QAAU,GAAIz3B,MAAK9E,KAAKu8B,QAAQz0B,UAAwB,IAAZ9H,KAAK2pB,KAAc,GAAI,MAC1E,KAAK,OACH3pB,KAAKu8B,QAAU,GAAIz3B,MAAK9E,KAAKu8B,QAAQz0B,UAAwB,IAAZ9H,KAAK2pB,KAAc,GAAK,GAEzE,IAAI3c,GAAIhN,KAAKu8B,QAAQ2I,UACrBllC,MAAKu8B,QAAQoI,SAAS33B,EAAIA,EAAIhN,KAAK2pB,KACnC,MACF,KAAK,UACL,IAAK,MACH3pB,KAAKu8B,QAAQmI,QAAQ1kC,KAAKu8B,QAAQ4I,UAAYnlC,KAAK2pB,KAAM,MAC3D,KAAK,QACH3pB,KAAKu8B,QAAQkI,SAASzkC,KAAKu8B,QAAQ6I,WAAaplC,KAAK2pB,KAAM,MAC7D,KAAK,OACH3pB,KAAKu8B,QAAQgI,YAAYvkC,KAAKu8B,QAAQiI,cAAgBxkC,KAAK2pB,UAK/D,QAAQ3pB,KAAKyE,OACX,IAAK,cACHzE,KAAKu8B,QAAU,GAAIz3B,MAAK9E,KAAKu8B,QAAQz0B,UAAY9H,KAAK2pB,KAAM,MAC9D,KAAK,SACH3pB,KAAKu8B,QAAQsI,WAAW7kC,KAAKu8B,QAAQyI,aAAehlC,KAAK2pB,KAAM,MACjE,KAAK,SACH3pB,KAAKu8B,QAAQqI,WAAW5kC,KAAKu8B,QAAQ0I,aAAejlC,KAAK2pB,KAAM,MACjE,KAAK,OACH3pB,KAAKu8B,QAAQoI,SAAS3kC,KAAKu8B,QAAQ2I,WAAallC,KAAK2pB,KAAM,MAC7D,KAAK,UACL,IAAK,MACH3pB,KAAKu8B,QAAQmI,QAAQ1kC,KAAKu8B,QAAQ4I,UAAYnlC,KAAK2pB,KAAM,MAC3D,KAAK,QACH3pB,KAAKu8B,QAAQkI,SAASzkC,KAAKu8B,QAAQ6I,WAAaplC,KAAK2pB,KAAM,MAC7D,KAAK,OACH3pB,KAAKu8B,QAAQgI,YAAYvkC,KAAKu8B,QAAQiI,cAAgBxkC,KAAK2pB,MAMjE,GAAiB,GAAb3pB,KAAK2pB,KAEP,OAAQ3pB,KAAKyE,OACX,IAAK,cACCzE,KAAKu8B,QAAQwI,kBAAoB/kC,KAAK2pB,MAAM3pB,KAAKu8B,QAAQuI,gBAAgB,EAAG,MAClF,KAAK,SACC9kC,KAAKu8B,QAAQyI,aAAehlC,KAAK2pB,MAAM3pB,KAAKu8B,QAAQsI,WAAW,EAAG,MACxE,KAAK,SACC7kC,KAAKu8B,QAAQ0I,aAAejlC,KAAK2pB,MAAM3pB,KAAKu8B,QAAQqI,WAAW,EAAG,MACxE,KAAK,OACC5kC,KAAKu8B,QAAQ2I,WAAallC,KAAK2pB,MAAM3pB,KAAKu8B,QAAQoI,SAAS,EAAG,MACpE,KAAK,UACL,IAAK,MACC3kC,KAAKu8B,QAAQ4I,UAAYnlC,KAAK2pB,KAAO,GAAG3pB,KAAKu8B,QAAQmI,QAAQ,EAAG,MACtE,KAAK,QACC1kC,KAAKu8B,QAAQ6I,WAAaplC,KAAK2pB,MAAM3pB,KAAKu8B,QAAQkI,SAAS,EAAG,MACpE,KAAK,QAQLzkC,KAAKu8B,QAAQz0B,WAAakrB,IAC5BhzB,KAAKu8B,QAAU,GAAIz3B,MAAK9E,KAAKu0B,KAAKzsB,YAGpCnG,EAASu6B,oBAAoBl8B,KAAMgzB,IAOrCjxB,EAAS8S,UAAU+U,WAAa,WAC9B,MAAO5pB,MAAKu8B,SAedx6B,EAAS8S,UAAUwwB,SAAW,SAAU7vB,GAClCA,GAAiC,gBAAhBA,GAAO/Q,QAC1BzE,KAAKyE,MAAQ+Q,EAAO/Q,MACpBzE,KAAK2pB,KAAOnU,EAAOmU,KAAO,EAAInU,EAAOmU,KAAO,EAC5C3pB,KAAK+9B,WAAY,IAQrBh8B,EAAS8S,UAAUywB,aAAe,SAAUC,GAC1CvlC,KAAK+9B,UAAYwH,GAOnBxjC,EAAS8S,UAAUypB,eAAiB,SAAUX,GAC5C,GAAmBv3B,QAAfu3B,EAAJ,CAMA,GAAI6H,GAAW,QACXC,EAAY,OACZC,EAAU,MACVC,EAAW,KACXC,EAAa,IACbC,EAAa,IACbC,EAAkB,CAGP,KAAXN,EAAkB7H,IACpB39B,KAAKyE,MAAQ,OAAOzE,KAAK2pB,KAAO,KAEnB,IAAX6b,EAAiB7H,IACnB39B,KAAKyE,MAAQ,OAAOzE,KAAK2pB,KAAO,KAEnB,IAAX6b,EAAiB7H,IACnB39B,KAAKyE,MAAQ,OAAOzE,KAAK2pB,KAAO,KAEnB,GAAX6b,EAAgB7H,IAClB39B,KAAKyE,MAAQ,OAAOzE,KAAK2pB,KAAO,IAEnB,GAAX6b,EAAgB7H,IAClB39B,KAAKyE,MAAQ,OAAOzE,KAAK2pB,KAAO,IAEnB,EAAX6b,EAAe7H,IACjB39B,KAAKyE,MAAQ,OAAOzE,KAAK2pB,KAAO,GAE9B6b,EAAW7H,IACb39B,KAAKyE,MAAQ,OAAOzE,KAAK2pB,KAAO,GAElB,EAAZ8b,EAAgB9H,IAClB39B,KAAKyE,MAAQ,QAAQzE,KAAK2pB,KAAO,GAE/B8b,EAAY9H,IACd39B,KAAKyE,MAAQ,QAAQzE,KAAK2pB,KAAO,GAErB,EAAV+b,EAAc/H,IAChB39B,KAAKyE,MAAQ,MAAMzE,KAAK2pB,KAAO,GAEnB,EAAV+b,EAAc/H,IAChB39B,KAAKyE,MAAQ,MAAMzE,KAAK2pB,KAAO,GAE7B+b,EAAU/H,IACZ39B,KAAKyE,MAAQ,MAAMzE,KAAK2pB,KAAO,GAE7B+b,EAAU,EAAI/H,IAChB39B,KAAKyE,MAAQ,UAAUzE,KAAK2pB,KAAO,GAEtB,EAAXgc,EAAehI,IACjB39B,KAAKyE,MAAQ,OAAOzE,KAAK2pB,KAAO,GAE9Bgc,EAAWhI,IACb39B,KAAKyE,MAAQ,OAAOzE,KAAK2pB,KAAO,GAEjB,GAAbic,EAAkBjI,IACpB39B,KAAKyE,MAAQ,SAASzE,KAAK2pB,KAAO,IAEnB,GAAbic,EAAkBjI,IACpB39B,KAAKyE,MAAQ,SAASzE,KAAK2pB,KAAO,IAEnB,EAAbic,EAAiBjI,IACnB39B,KAAKyE,MAAQ,SAASzE,KAAK2pB,KAAO,GAEhCic,EAAajI,IACf39B,KAAKyE,MAAQ,SAASzE,KAAK2pB,KAAO,GAEnB,GAAbkc,EAAkBlI,IACpB39B,KAAKyE,MAAQ,SAASzE,KAAK2pB,KAAO,IAEnB,GAAbkc,EAAkBlI,IACpB39B,KAAKyE,MAAQ,SAASzE,KAAK2pB,KAAO,IAEnB,EAAbkc,EAAiBlI,IACnB39B,KAAKyE,MAAQ,SAASzE,KAAK2pB,KAAO,GAEhCkc,EAAalI,IACf39B,KAAKyE,MAAQ,SAASzE,KAAK2pB,KAAO,GAEd,IAAlBmc,EAAwBnI,IAC1B39B,KAAKyE,MAAQ,cAAczE,KAAK2pB,KAAO,KAEnB,IAAlBmc,EAAwBnI,IAC1B39B,KAAKyE,MAAQ,cAAczE,KAAK2pB,KAAO,KAEnB,GAAlBmc,EAAuBnI,IACzB39B,KAAKyE,MAAQ,cAAczE,KAAK2pB,KAAO,IAEnB,GAAlBmc,EAAuBnI,IACzB39B,KAAKyE,MAAQ,cAAczE,KAAK2pB,KAAO,IAEnB,EAAlBmc,EAAsBnI,IACxB39B,KAAKyE,MAAQ,cAAczE,KAAK2pB,KAAO,GAErCmc,EAAkBnI,IACpB39B,KAAKyE,MAAQ,cAAczE,KAAK2pB,KAAO,KAc3C5nB,EAASo3B,KAAO,SAAUgC,EAAM12B,EAAOklB,GACrC,GAAImR,GAAQ,GAAIh2B,MAAKq2B,EAAKrzB,UAE1B,IAAa,QAATrD,EAAiB,CACnB,GAAIw2B,GAAOH,EAAM0J,cAAgB9/B,KAAKqqB,MAAM+L,EAAMsK,WAAa,GAC/DtK,GAAMyJ,YAAY7/B,KAAKqqB,MAAMkM,EAAOtR,GAAQA,GAC5CmR,EAAM2J,SAAS,GACf3J,EAAM4J,QAAQ,GACd5J,EAAM6J,SAAS,GACf7J,EAAM8J,WAAW,GACjB9J,EAAM+J,WAAW,GACjB/J,EAAMgK,gBAAgB,OACjB,IAAa,SAATrgC,EACLq2B,EAAMqK,UAAY,IACpBrK,EAAM4J,QAAQ,GACd5J,EAAM2J,SAAS3J,EAAMsK,WAAa,IAGlCtK,EAAM4J,QAAQ,GAGhB5J,EAAM6J,SAAS,GACf7J,EAAM8J,WAAW,GACjB9J,EAAM+J,WAAW,GACjB/J,EAAMgK,gBAAgB,OACjB,IAAa,OAATrgC,EAAgB,CAEzB,OAAQklB,GACN,IAAK,GACL,IAAK,GACHmR,EAAM6J,SAA6C,GAApCjgC,KAAKqqB,MAAM+L,EAAMoK,WAAa,IAAU,MACzD,SACEpK,EAAM6J,SAA6C,GAApCjgC,KAAKqqB,MAAM+L,EAAMoK,WAAa,KAEjDpK,EAAM8J,WAAW,GACjB9J,EAAM+J,WAAW,GACjB/J,EAAMgK,gBAAgB,OACjB,IAAa,WAATrgC,EAAoB,CAE7B,OAAQklB,GACN,IAAK,GACL,IAAK,GACHmR,EAAM6J,SAA6C,GAApCjgC,KAAKqqB,MAAM+L,EAAMoK,WAAa,IAAU,MACzD,SACEpK,EAAM6J,SAA4C,EAAnCjgC,KAAKqqB,MAAM+L,EAAMoK,WAAa,IAEjDpK,EAAM8J,WAAW,GACjB9J,EAAM+J,WAAW,GACjB/J,EAAMgK,gBAAgB,OACjB,IAAa,QAATrgC,EAAiB,CAC1B,OAAQklB,GACN,IAAK,GACHmR,EAAM8J,WAAiD,GAAtClgC,KAAKqqB,MAAM+L,EAAMmK,aAAe,IAAU,MAC7D,SACEnK,EAAM8J,WAAiD,GAAtClgC,KAAKqqB,MAAM+L,EAAMmK,aAAe,KAErDnK,EAAM+J,WAAW,GACjB/J,EAAMgK,gBAAgB,OACjB,IAAa,UAATrgC,EAAmB,CAE5B,OAAQklB,GACN,IAAK,IACL,IAAK,IACHmR,EAAM8J,WAAgD,EAArClgC,KAAKqqB,MAAM+L,EAAMmK,aAAe,IACjDnK,EAAM+J,WAAW,EACjB,MACF,KAAK,GACH/J,EAAM+J,WAAiD,GAAtCngC,KAAKqqB,MAAM+L,EAAMkK,aAAe,IAAU,MAC7D,SACElK,EAAM+J,WAAiD,GAAtCngC,KAAKqqB,MAAM+L,EAAMkK,aAAe,KAErDlK,EAAMgK,gBAAgB,OACjB,IAAa,UAATrgC,EAET,OAAQklB,GACN,IAAK,IACL,IAAK,IACHmR,EAAM+J,WAAgD,EAArCngC,KAAKqqB,MAAM+L,EAAMkK,aAAe,IACjDlK,EAAMgK,gBAAgB,EACtB,MACF,KAAK,GACHhK,EAAMgK,gBAA6D,IAA7CpgC,KAAKqqB,MAAM+L,EAAMiK,kBAAoB,KAAc,MAC3E,SACEjK,EAAMgK,gBAA4D,IAA5CpgC,KAAKqqB,MAAM+L,EAAMiK,kBAAoB,UAE1D,IAAa,eAATtgC,EAAwB,CACjC,GAAI+vB,GAAQ7K,EAAO,EAAIA,EAAO,EAAI,CAClCmR,GAAMgK,gBAAgBpgC,KAAKqqB,MAAM+L,EAAMiK,kBAAoBvQ,GAASA,GAGtE,MAAOsG,IAQT/4B,EAAS8S,UAAU4qB,QAAU,WAC3B,GAAyB,GAArBz/B,KAAKw8B,aAEP,OADAx8B,KAAKw8B,cAAe,EACZx8B,KAAKyE,OACX,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,cACH,OAAO,CACT,SACE,OAAO,MAEN,IAA0B,GAAtBzE,KAAKy8B,cAEd,OADAz8B,KAAKy8B,eAAgB,EACbz8B,KAAKyE,OACX,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,cACH,OAAO,CACT,SACE,OAAO,MAEN,IAAwB,GAApBzE,KAAK08B,YAEd,OADA18B,KAAK08B,aAAc,EACX18B,KAAKyE,OACX,IAAK,cACL,IAAK,SACL,IAAK,SACL,IAAK,OACH,OAAO,CACT,SACE,OAAO,EAIb,OAAQzE,KAAKyE,OACX,IAAK,cACH,MAAyC,IAAlCzE,KAAKu8B,QAAQwI,iBACtB,KAAK,SACH,MAAoC,IAA7B/kC,KAAKu8B,QAAQyI,YACtB,KAAK,SACH,MAAkC,IAA3BhlC,KAAKu8B,QAAQ2I,YAAgD,GAA7BllC,KAAKu8B,QAAQ0I,YACtD,KAAK,OACH,MAAkC,IAA3BjlC,KAAKu8B,QAAQ2I,UACtB,KAAK,UACL,IAAK,MACH,MAAiC,IAA1BllC,KAAKu8B,QAAQ4I,SACtB,KAAK,QACH,MAAkC,IAA3BnlC,KAAKu8B,QAAQ6I,UACtB,KAAK,OACH,OAAO,CACT,SACE,OAAO,IAUbrjC,EAAS8S,UAAUkxB,cAAgB,SAAU5K,GAC/B/0B,QAAR+0B,IACFA,EAAOn7B,KAAKu8B,QAGd,IAAIoH,GAAS3jC,KAAK2jC,OAAOE,YAAY7jC,KAAKyE,MAC1C,OAAOk/B,IAAUA,EAAOj9B,OAAS,EAAIjD,EAAO03B,GAAMwI,OAAOA,GAAU,IASrE5hC,EAAS8S,UAAUmxB,cAAgB,SAAU7K,GAC/B/0B,QAAR+0B,IACFA,EAAOn7B,KAAKu8B,QAGd,IAAIoH,GAAS3jC,KAAK2jC,OAAOQ,YAAYnkC,KAAKyE,MAC1C,OAAOk/B,IAAUA,EAAOj9B,OAAS,EAAIjD,EAAO03B,GAAMwI,OAAOA,GAAU,IAGrE5hC,EAAS8S,UAAUoxB,aAAe,WAKhC,QAASC,GAAK1hC,GACZ,MAAOA,GAAQmlB,EAAO,GAAK,EAAI,QAAU,OAG3C,QAASwc,GAAMhL,GACb,MAAIA,GAAKiL,OAAO,GAAIthC,MAAQ,OACnB,SAELq2B,EAAKiL,OAAO3iC,IAASkR,IAAI,EAAG,OAAQ,OAC/B,YAELwmB,EAAKiL,OAAO3iC,IAASkR,IAAI,GAAI,OAAQ,OAChC,aAEF,GAGT,QAAS0xB,GAAYlL,GACnB,MAAOA,GAAKiL,OAAO,GAAIthC,MAAQ,QAAU,gBAAkB,GAG7D,QAASwhC,GAAanL,GACpB,MAAOA,GAAKiL,OAAO,GAAIthC,MAAQ,SAAW,iBAAmB,GAG/D,QAASyhC,GAAYpL,GACnB,MAAOA,GAAKiL,OAAO,GAAIthC,MAAQ,QAAU,gBAAkB,GA9B7D,GAAItE,GAAIiD,EAAOzD,KAAKu8B,SAChBpB,EAAO36B,EAAEgmC,OAAShmC,EAAEgmC,OAAO,MAAQhmC,EAAEimC,KAAK,MAC1C9c,EAAO3pB,KAAK2pB,IA+BhB,QAAQ3pB,KAAKyE,OACX,IAAK,cACH,MAAOyhC,GAAK/K,EAAK2E,gBAAgBzxB,MAEnC,KAAK,SACH,MAAO63B,GAAK/K,EAAK0E,WAAWxxB,MAE9B,KAAK,SACH,MAAO63B,GAAK/K,EAAKyE,WAAWvxB,MAE9B,KAAK,OACH,GAAIsxB,GAAQxE,EAAKwE,OAIjB,OAHiB,IAAb3/B,KAAK2pB,OACPgW,EAAQA,EAAQ,MAAQA,EAAQ,IAE3B,IAAMA,EAAQwG,EAAMhL,GAAQ+K,EAAK/K,EAAKwE,QAE/C,KAAK,UACH,MAAOxE,GAAKwI,OAAO,QAAQ+C,cAAgBP,EAAMhL,GAAQkL,EAAYlL,GAAQ+K,EAAK/K,EAAKA,OAEzF,KAAK,MACH,GAAIJ,GAAMI,EAAKA,OACXC,EAAQD,EAAKwI,OAAO,QAAQ+C,aAChC,OAAO,MAAQ3L,EAAM,IAAMK,EAAQkL,EAAanL,GAAQ+K,EAAKnL,EAAM,EAErE,KAAK,QACH,MAAOI,GAAKwI,OAAO,QAAQ+C,cAAgBJ,EAAanL,GAAQ+K,EAAK/K,EAAKC,QAE5E,KAAK,OACH,GAAIH,GAAOE,EAAKF,MAChB,OAAO,OAASA,EAAOsL,EAAYpL,GAAQ+K,EAAKjL,EAElD,SACE,MAAO,KAIbp7B,EAAOD,QAAUmC,GAIb,SAASlC,EAAQD,EAASM,GAgB9B,QAASgC,GAAKkS,EAAMuoB,EAAY7sB,GAC9B9P,KAAKK,GAAK,KACVL,KAAK+K,OAAS,KACd/K,KAAKoU,KAAOA,EACZpU,KAAKmxB,IAAM,KACXnxB,KAAK28B,WAAaA,MAClB38B,KAAK8P,QAAUA,MAEf9P,KAAK2mC,UAAW,EAChB3mC,KAAK4mC,WAAY,EACjB5mC,KAAK6mC,OAAQ,EAEb7mC,KAAK4I,IAAM,KACX5I,KAAK0I,KAAO,KACZ1I,KAAKiU,MAAQ,KACbjU,KAAKkU,OAAS,KA3BhB,GAAIvQ,GAASzD,EAAoB,IAC7BS,EAAOT,EAAoB,EA6B/BgC,GAAK2S,UAAU/S,OAAQ,EAKvBI,EAAK2S,UAAUiyB,OAAS,WACtB9mC,KAAK2mC,UAAW,EAChB3mC,KAAK6mC,OAAQ,EACT7mC,KAAK4mC,WAAW5mC,KAAKojB,UAM3BlhB,EAAK2S,UAAUkyB,SAAW,WACxB/mC,KAAK2mC,UAAW,EAChB3mC,KAAK6mC,OAAQ,EACT7mC,KAAK4mC,WAAW5mC,KAAKojB,UAQ3BlhB,EAAK2S,UAAU8E,QAAU,SAAUvF,GACjC,GAAI4yB,GAA6B5gC,QAAdgO,EAAKf,OAAsBrT,KAAKoU,KAAKf,OAASe,EAAKf,KAClE2zB,IACFhnC,KAAK+K,OAAOmsB,QAAQ+P,aAAajnC,KAAMoU,EAAKf,OAG9CrT,KAAKoU,KAAOA,EACZpU,KAAK6mC,OAAQ,EACT7mC,KAAK4mC,WAAW5mC,KAAKojB,UAO3BlhB,EAAK2S,UAAUqyB,UAAY,SAAUn8B,GAC/B/K,KAAK4mC,WACP5mC,KAAKmnC,OACLnnC,KAAK+K,OAASA,EACV/K,KAAK+K,QACP/K,KAAKonC,QAGPpnC,KAAK+K,OAASA,GASlB7I,EAAK2S,UAAUwyB,UAAY,SAAUvQ,GAEnC,OAAO,GAOT50B,EAAK2S,UAAUuyB,KAAO,WACpB,OAAO,GAOTllC,EAAK2S,UAAUsyB,KAAO,WACpB,OAAO,GAMTjlC,EAAK2S,UAAUuO,OAAS,aAKxBlhB,EAAK2S,UAAUyyB,YAAc,aAK7BplC,EAAK2S,UAAU0yB,YAAc,aAO7BrlC,EAAK2S,UAAU2yB,qBAAuB,SAAUC,GAC9C,GAAIznC,KAAK2mC,UAAY3mC,KAAK8P,QAAQ43B,SAAS1vB,SAAWhY,KAAKmxB,IAAIwW,aAAc,CAE3E,GAAI9xB,GAAK7V,KAEL2nC,EAAeh1B,SAASM,cAAc,MAC1C00B,GAAa7+B,UAAY,aACzB6+B,EAAaC,MAAQ,mBAGrB,GAAIjkC,GAAOgkC,GAAc1yB,GAAG,MAAO,SAAU3K,GAC3CuL,EAAG9K,OAAO88B,kBAAkBhyB,GAC5BvL,EAAMw9B,oBAGRL,EAAO50B,YAAY80B,GACnB3nC,KAAKmxB,IAAIwW,aAAeA,OACd3nC,KAAK2mC,UAAY3mC,KAAKmxB,IAAIwW,eAEhC3nC,KAAKmxB,IAAIwW,aAAa98B,YACxB7K,KAAKmxB,IAAIwW,aAAa98B,WAAW1G,YAAYnE,KAAKmxB,IAAIwW,cAExD3nC,KAAKmxB,IAAIwW,aAAe,OAS5BzlC,EAAK2S,UAAUkzB,gBAAkB,SAAUn+B,GACzC,GAAIkK,EACJ,IAAI9T,KAAK8P,QAAQk4B,SAAU,CACzB,GAAIzP,GAAWv4B,KAAK+K,OAAOmsB,QAAQC,UAAUvgB,IAAI5W,KAAKK,GACtDyT,GAAU9T,KAAK8P,QAAQk4B,SAASzP,OAEhCzkB,GAAU9T,KAAKoU,KAAKN,OAGtB,IAAI0tB,GAAUxhC,KAAKioC,iBAAiBjoC,KAAK8T,WAAa9T,KAAKioC,iBAAiBn0B,EAC5E,IAAI0tB,EAAS,CAEX,GAAI1tB,YAAmBo0B,SACrBt+B,EAAQ6b,UAAY,GACpB7b,EAAQiJ,YAAYiB,OACf,IAAe1N,QAAX0N,EACTlK,EAAQ6b,UAAY3R,MAEpB,IAAwB,cAAlB9T,KAAKoU,KAAKxM,MAA8CxB,SAAtBpG,KAAKoU,KAAKN,QAChD,KAAM,IAAItQ,OAAM,sCAAwCxD,KAAKK,GAIjEL,MAAK8T,QAAUA,IASnB5R,EAAK2S,UAAUszB,aAAe,SAAUv+B,GACf,MAAnB5J,KAAKoU,KAAKwzB,MACZh+B,EAAQg+B,MAAQ5nC,KAAKoU,KAAKwzB,OAAS,GAEnCh+B,EAAQw+B,gBAAgB,cAS5BlmC,EAAK2S,UAAUwzB,sBAAwB,SAAUz+B,GAC/C,GAAI5J,KAAK8P,QAAQw4B,gBAAkBtoC,KAAK8P,QAAQw4B,eAAe5hC,OAAS,EAAG,CACzE,GAAI6hC,KAEJ,IAAIxhC,MAAMC,QAAQhH,KAAK8P,QAAQw4B,gBAC7BC,EAAavoC,KAAK8P,QAAQw4B,mBACrB,CAAA,GAAmC,OAA/BtoC,KAAK8P,QAAQw4B,eAGtB,MAFAC,GAAanhC,OAAOmH,KAAKvO,KAAKoU,MAKhC,IAAK,GAAI5N,GAAI,EAAGA,EAAI+hC,EAAW7hC,OAAQF,IAAK,CAC1C,GAAIoR,GAAO2wB,EAAW/hC,GAClBhC,EAAQxE,KAAKoU,KAAKwD,EAET,OAATpT,EACFoF,EAAQ4+B,aAAa,QAAU5wB,EAAMpT,GAErCoF,EAAQw+B,gBAAgB,QAAUxwB,MAW1C1V,EAAK2S,UAAU4zB,aAAe,SAAU7+B,GAElC5J,KAAKoO,QACPzN,EAAKiO,cAAchF,EAAS5J,KAAKoO,OACjCpO,KAAKoO,MAAQ,MAIXpO,KAAKoU,KAAKhG,QACZzN,EAAK8N,WAAW7E,EAAS5J,KAAKoU,KAAKhG,OACnCpO,KAAKoO,MAAQpO,KAAKoU,KAAKhG,QAU3BlM,EAAK2S,UAAUozB,iBAAmB,SAAUn0B,GAC1C,MAAuB,gBAAZA,GAA6BA,EACpCA,GAAW,aAAeA,GAAgBA,EAAQ40B,UAC/C50B,GAGTjU,EAAOD,QAAUsC,GAUb,SAASrC,EAAQD,EAASM,GAoB9B,QAASiC,GAAeiS,EAAMuoB,EAAY7sB,GASxC,GARA9P,KAAK8G,OACHgN,SACEG,MAAO,IAGXjU,KAAKqlB,UAAW,EAGZjR,EAAM,CACR,GAAkBhO,QAAdgO,EAAKnD,MACP,KAAM,IAAIzN,OAAM,oCAAsC4Q,EAAK/T,GAE7D,IAAgB+F,QAAZgO,EAAKlD,IACP,KAAM,IAAI1N,OAAM,kCAAoC4Q,EAAK/T,IAI7D6B,EAAK3B,KAAKP,KAAMoU,EAAMuoB,EAAY7sB,GAElC9P,KAAK2oC,cAAe,EApCtB,GACIzmC,IADShC,EAAoB,IACtBA,EAAoB,KAC3B2C,EAAkB3C,EAAoB,IACtCoC,EAAYpC,EAAoB,GAoCpCiC,GAAe0S,UAAY,GAAI3S,GAAK,KAAM,KAAM,MAEhDC,EAAe0S,UAAU+zB,cAAgB,0BACzCzmC,EAAe0S,UAAU/S,OAAQ,EAOjCK,EAAe0S,UAAUwyB,UAAY,SAAUvQ,GAE7C,MAAO92B,MAAKoU,KAAKnD,MAAQ6lB,EAAM5lB,KAAOlR,KAAKoU,KAAKlD,IAAM4lB,EAAM7lB,OAM9D9O,EAAe0S,UAAUuO,OAAS,WAChC,GAAI+N,GAAMnxB,KAAKmxB,GAuBf,IAtBKA,IAEHnxB,KAAKmxB,OACLA,EAAMnxB,KAAKmxB,IAGXA,EAAI0X,IAAMl2B,SAASM,cAAc,OAIjCke,EAAIrd,QAAUnB,SAASM,cAAc,OACrCke,EAAIrd,QAAQhL,UAAY,mBACxBqoB,EAAI0X,IAAIh2B,YAAYse,EAAIrd,SAMxB9T,KAAK6mC,OAAQ,IAIV7mC,KAAK+K,OACR,KAAM,IAAIvH,OAAM,yCAElB,KAAK2tB,EAAI0X,IAAIh+B,WAAY,CACvB,GAAI0C,GAAavN,KAAK+K,OAAOomB,IAAI5jB,UACjC,KAAKA,EACH,KAAM,IAAI/J,OAAM,iEAElB+J,GAAWsF,YAAYse,EAAI0X,KAQ7B,GANA7oC,KAAK4mC,WAAY,EAMb5mC,KAAK6mC,MAAO,CACd7mC,KAAK+nC,gBAAgB/nC,KAAKmxB,IAAIrd,SAC9B9T,KAAKmoC,aAAanoC,KAAKmxB,IAAIrd,SAC3B9T,KAAKqoC,sBAAsBroC,KAAKmxB,IAAIrd,SACpC9T,KAAKyoC,aAAazoC,KAAKmxB,IAAI0X,IAG3B,IAAI//B,IAAa9I,KAAKoU,KAAKtL,UAAY,IAAM9I,KAAKoU,KAAKtL,UAAY,KAAO9I,KAAK2mC,SAAW,gBAAkB,GAC5GxV,GAAI0X,IAAI//B,UAAY9I,KAAK4oC,cAAgB9/B,EAGzC9I,KAAKqlB,SAA6D,WAAlD9a,OAAOu+B,iBAAiB3X,EAAIrd,SAASuR,SAGrDrlB,KAAK8G,MAAMgN,QAAQG,MAAQjU,KAAKmxB,IAAIrd,QAAQ0d,YAC5CxxB,KAAKkU,OAAS,EAEdlU,KAAK6mC,OAAQ,IAQjB1kC,EAAe0S,UAAUuyB,KAAO9kC,EAAUuS,UAAUuyB,KAMpDjlC,EAAe0S,UAAUsyB,KAAO7kC,EAAUuS,UAAUsyB,KAMpDhlC,EAAe0S,UAAUyyB,YAAchlC,EAAUuS,UAAUyyB,YAM3DnlC,EAAe0S,UAAU0yB,YAAc,SAAUjsB,GAC/C,GAAIytB,GAAqC,QAA7B/oC,KAAK8P,QAAQ6lB,WACzB31B,MAAKmxB,IAAIrd,QAAQ1F,MAAMxF,IAAMmgC,EAAQ,GAAK,IAC1C/oC,KAAKmxB,IAAIrd,QAAQ1F,MAAM4W,OAAS+jB,EAAQ,IAAM,EAC9C,IAAI70B,EAGJ,IAA2B9N,SAAvBpG,KAAKoU,KAAKsvB,SAAwB,CAGpC,GAAIsF,GAAehpC,KAAKoU,KAAKsvB,SACzBF,EAAYxjC,KAAK+K,OAAOy4B,UACxByF,EAAgBzF,EAAUwF,GAAc7/B,KAE5C,IAAa,GAAT4/B,EAAe,CAEjB70B,EAASlU,KAAK+K,OAAOy4B,UAAUwF,GAAc90B,OAASoH,EAAO5K,KAAKuW,SAClE/S,GAA2B,GAAjB+0B,EAAqB3tB,EAAO6nB,KAAO,GAAM7nB,EAAO5K,KAAKuW,SAAW,CAC1E,IAAIwc,GAASzjC,KAAK+K,OAAOnC,GACzB,KAAK,GAAI86B,KAAYF,GACfA,EAAUx9B,eAAe09B,IACQ,GAA/BF,EAAUE,GAAUzZ,SAAmBuZ,EAAUE,GAAUv6B,MAAQ8/B,IACrExF,GAAUD,EAAUE,GAAUxvB,OAASoH,EAAO5K,KAAKuW,SAMzDwc,IAA2B,GAAjBwF,EAAqB3tB,EAAO6nB,KAAO,GAAM7nB,EAAO5K,KAAKuW,SAAW,EAC1EjnB,KAAKmxB,IAAI0X,IAAIz6B,MAAMxF,IAAM66B,EAAS,KAClCzjC,KAAKmxB,IAAI0X,IAAIz6B,MAAM4W,OAAS,OAGzB,CACH,GAAIye,GAASzjC,KAAK+K,OAAOnC,IACrBsgC,EAAc,CAClB,KAAK,GAAIxF,KAAYF,GACnB,GAAIA,EAAUx9B,eAAe09B,IACQ,GAA/BF,EAAUE,GAAUzZ,QAAiB,CACvC,GAAIkf,GAAY3F,EAAUE,GAAUxvB,OAASoH,EAAO5K,KAAKuW,QACzDiiB,IAAeC,EACX3F,EAAUE,GAAUv6B,MAAQ8/B,IAC9BxF,GAAU0F,GAKlBj1B,EAASlU,KAAK+K,OAAOy4B,UAAUwF,GAAc90B,OAASoH,EAAO5K,KAAKuW,SAClEjnB,KAAKmxB,IAAI0X,IAAIz6B,MAAMxF,IAAM5I,KAAK+K,OAAOmJ,OAASg1B,EAAczF,EAAS,KACrEzjC,KAAKmxB,IAAI0X,IAAIz6B,MAAM4W,OAAS,QAM1BhlB,MAAK+K,iBAAkBlI,IAEzBqR,EAASxP,KAAKJ,IAAItE,KAAK+K,OAAOmJ,OAAQlU,KAAK+K,OAAOmsB,QAAQnB,KAAKC,SAASzI,OAAOrZ,OAAQlU,KAAK+K,OAAOmsB,QAAQnB,KAAKC,SAASkD,gBAAgBhlB,QACzIlU,KAAKmxB,IAAI0X,IAAIz6B,MAAMxF,IAAMmgC,EAAQ,IAAM,GACvC/oC,KAAKmxB,IAAI0X,IAAIz6B,MAAM4W,OAAS+jB,EAAQ,GAAK,MAEzC70B,EAASlU,KAAK+K,OAAOmJ,OAErBlU,KAAKmxB,IAAI0X,IAAIz6B,MAAMxF,IAAM5I,KAAK+K,OAAOnC,IAAM,KAC3C5I,KAAKmxB,IAAI0X,IAAIz6B,MAAM4W,OAAS,GAGhChlB,MAAKmxB,IAAI0X,IAAIz6B,MAAM8F,OAASA,EAAS,MAGvCrU,EAAOD,QAAUuC,GAIb,SAAStC,EAAQD,EAASM,GAiB9B,QAASkC,GAAQgS,EAAMuoB,EAAY7sB,GAajC,GAZA9P,KAAK8G,OACHoqB,KACEjd,MAAO,EACPC,OAAQ,GAEV+c,MACEhd,MAAO,EACPC,OAAQ,IAKRE,GACgBhO,QAAdgO,EAAKnD,MACP,KAAM,IAAIzN,OAAM,oCAAsC4Q,EAI1DlS,GAAK3B,KAAKP,KAAMoU,EAAMuoB,EAAY7sB,GAhCpC,CAAA,GAAI5N,GAAOhC,EAAoB,GACpBA,GAAoB,GAkC/BkC,EAAQyS,UAAY,GAAI3S,GAAK,KAAM,KAAM,MAOzCE,EAAQyS,UAAUwyB,UAAY,SAAUvQ,GAGtC,GAAIlD,IAAYkD,EAAM5lB,IAAM4lB,EAAM7lB,OAAS,CAC3C,OAAOjR,MAAKoU,KAAKnD,MAAQ6lB,EAAM7lB,MAAQ2iB,GAAY5zB,KAAKoU,KAAKnD,MAAQ6lB,EAAM5lB,IAAM0iB,GAMnFxxB,EAAQyS,UAAUuO,OAAS,WACzB,GAAI+N,GAAMnxB,KAAKmxB,GA6Bf,IA5BKA,IAEHnxB,KAAKmxB,OACLA,EAAMnxB,KAAKmxB,IAGXA,EAAI0X,IAAMl2B,SAASM,cAAc,OAGjCke,EAAIrd,QAAUnB,SAASM,cAAc,OACrCke,EAAIrd,QAAQhL,UAAY,mBACxBqoB,EAAI0X,IAAIh2B,YAAYse,EAAIrd,SAGxBqd,EAAIF,KAAOte,SAASM,cAAc,OAClCke,EAAIF,KAAKnoB,UAAY,WAGrBqoB,EAAID,IAAMve,SAASM,cAAc,OACjCke,EAAID,IAAIpoB,UAAY,UAGpBqoB,EAAI0X,IAAI,iBAAmB7oC,KAE3BA,KAAK6mC,OAAQ,IAIV7mC,KAAK+K,OACR,KAAM,IAAIvH,OAAM,yCAElB,KAAK2tB,EAAI0X,IAAIh+B,WAAY,CACvB,GAAI0uB,GAAav5B,KAAK+K,OAAOomB,IAAIoI,UACjC,KAAKA,EAAY,KAAM,IAAI/1B,OAAM,iEACjC+1B,GAAW1mB,YAAYse,EAAI0X,KAE7B,IAAK1X,EAAIF,KAAKpmB,WAAY,CACxB,GAAI0C,GAAavN,KAAK+K,OAAOomB,IAAI5jB,UACjC,KAAKA,EAAY,KAAM,IAAI/J,OAAM,iEACjC+J,GAAWsF,YAAYse,EAAIF,MAE7B,IAAKE,EAAID,IAAIrmB,WAAY,CACvB,GAAIs4B,GAAOnjC,KAAK+K,OAAOomB,IAAIgS,IAC3B,KAAK51B,EAAY,KAAM,IAAI/J,OAAM,2DACjC2/B,GAAKtwB,YAAYse,EAAID,KAQvB,GANAlxB,KAAK4mC,WAAY,EAMb5mC,KAAK6mC,MAAO,CACd7mC,KAAK+nC,gBAAgB/nC,KAAKmxB,IAAIrd,SAC9B9T,KAAKmoC,aAAanoC,KAAKmxB,IAAI0X,KAC3B7oC,KAAKqoC,sBAAsBroC,KAAKmxB,IAAI0X,KACpC7oC,KAAKyoC,aAAazoC,KAAKmxB,IAAI0X,IAG3B,IAAI//B,IAAa9I,KAAKoU,KAAKtL,UAAY,IAAM9I,KAAKoU,KAAKtL,UAAY,KAAO9I,KAAK2mC,SAAW,gBAAkB,GAC5GxV,GAAI0X,IAAI//B,UAAY,mBAAqBA,EACzCqoB,EAAIF,KAAKnoB,UAAY,oBAAsBA,EAC3CqoB,EAAID,IAAIpoB,UAAY,mBAAqBA,EAGzC9I,KAAK8G,MAAMoqB,IAAIhd,OAASid,EAAID,IAAIQ,aAChC1xB,KAAK8G,MAAMoqB,IAAIjd,MAAQkd,EAAID,IAAIM,YAC/BxxB,KAAK8G,MAAMmqB,KAAKhd,MAAQkd,EAAIF,KAAKO,YACjCxxB,KAAKiU,MAAQkd,EAAI0X,IAAIrX,YACrBxxB,KAAKkU,OAASid,EAAI0X,IAAInX,aAEtB1xB,KAAK6mC,OAAQ,EAGf7mC,KAAKwnC,qBAAqBrW,EAAI0X,MAOhCzmC,EAAQyS,UAAUuyB,KAAO,WAClBpnC,KAAK4mC,WACR5mC,KAAKojB,UAOThhB,EAAQyS,UAAUsyB,KAAO,WACvB,GAAInnC,KAAK4mC,UAAW,CAClB,GAAIzV,GAAMnxB,KAAKmxB,GAEXA,GAAI0X,IAAIh+B,YAAYsmB,EAAI0X,IAAIh+B,WAAW1G,YAAYgtB,EAAI0X,KACvD1X,EAAIF,KAAKpmB,YAAYsmB,EAAIF,KAAKpmB,WAAW1G,YAAYgtB,EAAIF,MACzDE,EAAID,IAAIrmB,YAAYsmB,EAAID,IAAIrmB,WAAW1G,YAAYgtB,EAAID,KAE3DlxB,KAAK4mC,WAAY,IAQrBxkC,EAAQyS,UAAUyyB,YAAc,WAC9B,GAAIr2B,GAAQjR,KAAK28B,WAAWrG,SAASt2B,KAAKoU,KAAKnD,OAC3Cm4B,EAAQppC,KAAK8P,QAAQs5B,KAIZ,UAATA,EACFppC,KAAK0I,KAAOuI,EAAQjR,KAAKiU,MACP,QAATm1B,EACTppC,KAAK0I,KAAOuI,EAGZjR,KAAK0I,KAAOuI,EAAQjR,KAAKiU,MAAQ,EAInCjU,KAAKmxB,IAAI0X,IAAIz6B,MAAM1F,KAAO1I,KAAK0I,KAAO,KAGtC1I,KAAKmxB,IAAIF,KAAK7iB,MAAM1F,KAAOuI,EAAQjR,KAAK8G,MAAMmqB,KAAKhd,MAAQ,EAAI,KAG/DjU,KAAKmxB,IAAID,IAAI9iB,MAAM1F,KAAOuI,EAAQjR,KAAK8G,MAAMoqB,IAAIjd,MAAQ,EAAI,MAO/D7R,EAAQyS,UAAU0yB,YAAc,WAC9B,GAAI5R,GAAc31B,KAAK8P,QAAQ6lB,YAC3BkT,EAAM7oC,KAAKmxB,IAAI0X,IACf5X,EAAOjxB,KAAKmxB,IAAIF,KAChBC,EAAMlxB,KAAKmxB,IAAID,GAEnB,IAAmB,OAAfyE,EACFkT,EAAIz6B,MAAMxF,KAAO5I,KAAK4I,KAAO,GAAK,KAElCqoB,EAAK7iB,MAAMxF,IAAM,IACjBqoB,EAAK7iB,MAAM8F,OAASlU,KAAK+K,OAAOnC,IAAM5I,KAAK4I,IAAM,EAAI,KACrDqoB,EAAK7iB,MAAM4W,OAAS,OACf,CAEL,GAAIqkB,GAAgBrpC,KAAK+K,OAAOmsB,QAAQpwB,MAAMoN,OAC1Cyd,EAAa0X,EAAgBrpC,KAAK+K,OAAOnC,IAAM5I,KAAK+K,OAAOmJ,OAASlU,KAAK4I,GAE7EigC,GAAIz6B,MAAMxF,KAAO5I,KAAK+K,OAAOmJ,OAASlU,KAAK4I,IAAM5I,KAAKkU,QAAU,GAAK,KACrE+c,EAAK7iB,MAAMxF,IAAMygC,EAAgB1X,EAAa,KAC9CV,EAAK7iB,MAAM4W,OAAS,IAGtBkM,EAAI9iB,MAAMxF,KAAO5I,KAAK8G,MAAMoqB,IAAIhd,OAAS,EAAI,MAG/CrU,EAAOD,QAAUwC,GAIb,SAASvC,EAAQD,EAASM,GAgB9B,QAASmC,GAAU+R,EAAMuoB,EAAY7sB,GAcnC,GAbA9P,KAAK8G,OACHoqB,KACEtoB,IAAK,EACLqL,MAAO,EACPC,OAAQ,GAEVJ,SACEI,OAAQ,EACRo1B,WAAY,IAKZl1B,GACgBhO,QAAdgO,EAAKnD,MACP,KAAM,IAAIzN,OAAM,oCAAsC4Q,EAI1DlS,GAAK3B,KAAKP,KAAMoU,EAAMuoB,EAAY7sB,GAhCpC,GAAI5N,GAAOhC,EAAoB,GAmC/BmC,GAAUwS,UAAY,GAAI3S,GAAK,KAAM,KAAM,MAO3CG,EAAUwS,UAAUwyB,UAAY,SAAUvQ,GAGxC,GAAIlD,IAAYkD,EAAM5lB,IAAM4lB,EAAM7lB,OAAS,CAC3C,OAAOjR,MAAKoU,KAAKnD,MAAQ6lB,EAAM7lB,MAAQ2iB,GAAY5zB,KAAKoU,KAAKnD,MAAQ6lB,EAAM5lB,IAAM0iB,GAMnFvxB,EAAUwS,UAAUuO,OAAS,WAC3B,GAAI+N,GAAMnxB,KAAKmxB,GA0Bf,IAzBKA,IAEHnxB,KAAKmxB,OACLA,EAAMnxB,KAAKmxB,IAGXA,EAAI5d,MAAQZ,SAASM,cAAc,OAInCke,EAAIrd,QAAUnB,SAASM,cAAc,OACrCke,EAAIrd,QAAQhL,UAAY,mBACxBqoB,EAAI5d,MAAMV,YAAYse,EAAIrd,SAG1Bqd,EAAID,IAAMve,SAASM,cAAc,OACjCke,EAAI5d,MAAMV,YAAYse,EAAID,KAG1BC,EAAI5d,MAAM,iBAAmBvT,KAE7BA,KAAK6mC,OAAQ,IAIV7mC,KAAK+K,OACR,KAAM,IAAIvH,OAAM,yCAElB,KAAK2tB,EAAI5d,MAAM1I,WAAY,CACzB,GAAI0uB,GAAav5B,KAAK+K,OAAOomB,IAAIoI,UACjC,KAAKA,EACH,KAAM,IAAI/1B,OAAM,iEAElB+1B,GAAW1mB,YAAYse,EAAI5d,OAQ7B,GANAvT,KAAK4mC,WAAY,EAMb5mC,KAAK6mC,MAAO,CACd7mC,KAAK+nC,gBAAgB/nC,KAAKmxB,IAAIrd,SAC9B9T,KAAKmoC,aAAanoC,KAAKmxB,IAAI5d,OAC3BvT,KAAKqoC,sBAAsBroC,KAAKmxB,IAAI5d,OACpCvT,KAAKyoC,aAAazoC,KAAKmxB,IAAI5d,MAG3B,IAAIzK,IAAa9I,KAAKoU,KAAKtL,UAAY,IAAM9I,KAAKoU,KAAKtL,UAAY,KAAO9I,KAAK2mC,SAAW,gBAAkB,GAC5GxV,GAAI5d,MAAMzK,UAAY,qBAAuBA,EAC7CqoB,EAAID,IAAIpoB,UAAY,mBAAqBA,EAGzC9I,KAAKiU,MAAQkd,EAAI5d,MAAMie,YACvBxxB,KAAKkU,OAASid,EAAI5d,MAAMme,aACxB1xB,KAAK8G,MAAMoqB,IAAIjd,MAAQkd,EAAID,IAAIM,YAC/BxxB,KAAK8G,MAAMoqB,IAAIhd,OAASid,EAAID,IAAIQ,aAChC1xB,KAAK8G,MAAMgN,QAAQI,OAASid,EAAIrd,QAAQ4d,aAGxCP,EAAIrd,QAAQ1F,MAAMk7B,WAAa,EAAItpC,KAAK8G,MAAMoqB,IAAIjd,MAAQ,KAG1Dkd,EAAID,IAAI9iB,MAAMxF,KAAO5I,KAAKkU,OAASlU,KAAK8G,MAAMoqB,IAAIhd,QAAU,EAAI,KAChEid,EAAID,IAAI9iB,MAAM1F,KAAO1I,KAAK8G,MAAMoqB,IAAIjd,MAAQ,EAAI,KAEhDjU,KAAK6mC,OAAQ,EAGf7mC,KAAKwnC,qBAAqBrW,EAAI5d,QAOhClR,EAAUwS,UAAUuyB,KAAO,WACpBpnC,KAAK4mC,WACR5mC,KAAKojB,UAOT/gB,EAAUwS,UAAUsyB,KAAO,WACrBnnC,KAAK4mC,YACH5mC,KAAKmxB,IAAI5d,MAAM1I,YACjB7K,KAAKmxB,IAAI5d,MAAM1I,WAAW1G,YAAYnE,KAAKmxB,IAAI5d,OAGjDvT,KAAK4mC,WAAY,IAQrBvkC,EAAUwS,UAAUyyB,YAAc,WAChC,GAAIr2B,GAAQjR,KAAK28B,WAAWrG,SAASt2B,KAAKoU,KAAKnD,MAE/CjR,MAAK0I,KAAOuI,EAAQjR,KAAK8G,MAAMoqB,IAAIjd,MAGnCjU,KAAKmxB,IAAI5d,MAAMnF,MAAM1F,KAAO1I,KAAK0I,KAAO,MAO1CrG,EAAUwS,UAAU0yB,YAAc,WAChC,GAAI5R,GAAc31B,KAAK8P,QAAQ6lB,YAC3BpiB,EAAQvT,KAAKmxB,IAAI5d,KAEF,QAAfoiB,EACFpiB,EAAMnF,MAAMxF,IAAM5I,KAAK4I,IAAM,KAE7B2K,EAAMnF,MAAMxF,IAAM5I,KAAK+K,OAAOmJ,OAASlU,KAAK4I,IAAM5I,KAAKkU,OAAS,MAIpErU,EAAOD,QAAUyC,GAIb,SAASxC,EAAQD,EAASM,GAiB9B,QAASoC,GAAU8R,EAAMuoB,EAAY7sB,GASnC,GARA9P,KAAK8G,OACHgN,SACEG,MAAO,IAGXjU,KAAKqlB,UAAW,EAGZjR,EAAM,CACR,GAAkBhO,QAAdgO,EAAKnD,MACP,KAAM,IAAIzN,OAAM,oCAAsC4Q,EAAK/T,GAE7D,IAAgB+F,QAAZgO,EAAKlD,IACP,KAAM,IAAI1N,OAAM,kCAAoC4Q,EAAK/T,IAI7D6B,EAAK3B,KAAKP,KAAMoU,EAAMuoB,EAAY7sB,GA/BpC,GACI5N,IADShC,EAAoB,IACtBA,EAAoB,IAiC/BoC,GAAUuS,UAAY,GAAI3S,GAAK,KAAM,KAAM,MAE3CI,EAAUuS,UAAU+zB,cAAgB,qBAOpCtmC,EAAUuS,UAAUwyB,UAAY,SAAUvQ,GAExC,MAAO92B,MAAKoU,KAAKnD,MAAQ6lB,EAAM5lB,KAAOlR,KAAKoU,KAAKlD,IAAM4lB,EAAM7lB,OAM9D3O,EAAUuS,UAAUuO,OAAS,WAC3B,GAAI+N,GAAMnxB,KAAKmxB,GAsBf,IArBKA,IAEHnxB,KAAKmxB,OACLA,EAAMnxB,KAAKmxB,IAGXA,EAAI0X,IAAMl2B,SAASM,cAAc,OAIjCke,EAAIrd,QAAUnB,SAASM,cAAc,OACrCke,EAAIrd,QAAQhL,UAAY,mBACxBqoB,EAAI0X,IAAIh2B,YAAYse,EAAIrd,SAGxBqd,EAAI0X,IAAI,iBAAmB7oC,KAE3BA,KAAK6mC,OAAQ,IAIV7mC,KAAK+K,OACR,KAAM,IAAIvH,OAAM,yCAElB,KAAK2tB,EAAI0X,IAAIh+B,WAAY,CACvB,GAAI0uB,GAAav5B,KAAK+K,OAAOomB,IAAIoI,UACjC,KAAKA,EACH,KAAM,IAAI/1B,OAAM,iEAElB+1B,GAAW1mB,YAAYse,EAAI0X,KAQ7B,GANA7oC,KAAK4mC,WAAY,EAMb5mC,KAAK6mC,MAAO,CACd7mC,KAAK+nC,gBAAgB/nC,KAAKmxB,IAAIrd,SAC9B9T,KAAKmoC,aAAanoC,KAAKmxB,IAAI0X,KAC3B7oC,KAAKqoC,sBAAsBroC,KAAKmxB,IAAI0X,KACpC7oC,KAAKyoC,aAAazoC,KAAKmxB,IAAI0X,IAG3B,IAAI//B,IAAa9I,KAAKoU,KAAKtL,UAAY,IAAM9I,KAAKoU,KAAKtL,UAAY,KAAO9I,KAAK2mC,SAAW,gBAAkB,GAC5GxV,GAAI0X,IAAI//B,UAAY9I,KAAK4oC,cAAgB9/B,EAGzC9I,KAAKqlB,SAA6D,WAAlD9a,OAAOu+B,iBAAiB3X,EAAIrd,SAASuR,SAKrDrlB,KAAKmxB,IAAIrd,QAAQ1F,MAAMm7B,SAAW,OAClCvpC,KAAK8G,MAAMgN,QAAQG,MAAQjU,KAAKmxB,IAAIrd,QAAQ0d,YAC5CxxB,KAAKkU,OAASlU,KAAKmxB,IAAI0X,IAAInX,aAC3B1xB,KAAKmxB,IAAIrd,QAAQ1F,MAAMm7B,SAAW,GAElCvpC,KAAK6mC,OAAQ,EAGf7mC,KAAKwnC,qBAAqBrW,EAAI0X,KAC9B7oC,KAAKwpC,mBACLxpC,KAAKypC,qBAOPnnC,EAAUuS,UAAUuyB,KAAO,WACpBpnC,KAAK4mC,WACR5mC,KAAKojB,UAQT9gB,EAAUuS,UAAUsyB,KAAO,WACzB,GAAInnC,KAAK4mC,UAAW,CAClB,GAAIiC,GAAM7oC,KAAKmxB,IAAI0X,GAEfA,GAAIh+B,YACNg+B,EAAIh+B,WAAW1G,YAAY0kC,GAG7B7oC,KAAK4mC,WAAY,IAarBtkC,EAAUuS,UAAUyyB,YAAc,SAAUoC,GAC1C,GAGIC,GACApY,EAJAqY,EAAc5pC,KAAK+K,OAAOkJ,MAC1BhD,EAAQjR,KAAK28B,WAAWrG,SAASt2B,KAAKoU,KAAKnD,OAC3CC,EAAMlR,KAAK28B,WAAWrG,SAASt2B,KAAKoU,KAAKlD,MAK3B9K,SAAdsjC,GAA2BA,KAAc,MAC9BE,EAAT34B,IACFA,GAAS24B,GAEP14B,EAAM,EAAI04B,IACZ14B,EAAM,EAAI04B,GAGd,IAAIC,GAAWnlC,KAAKJ,IAAI4M,EAAMD,EAAO,EAmBrC,QAjBIjR,KAAKqlB,UACPrlB,KAAK0I,KAAOuI,EACZjR,KAAKiU,MAAQ41B,EAAW7pC,KAAK8G,MAAMgN,QAAQG,MAC3Csd,EAAevxB,KAAK8G,MAAMgN,QAAQG,QAMlCjU,KAAK0I,KAAOuI,EACZjR,KAAKiU,MAAQ41B,EACbtY,EAAe7sB,KAAKL,IAAI6M,EAAMD,EAAQ,EAAIjR,KAAK8P,QAAQ0V,QAASxlB,KAAK8G,MAAMgN,QAAQG,QAGrFjU,KAAKmxB,IAAI0X,IAAIz6B,MAAM1F,KAAO1I,KAAK0I,KAAO,KACtC1I,KAAKmxB,IAAI0X,IAAIz6B,MAAM6F,MAAQ41B,EAAW,KAE9B7pC,KAAK8P,QAAQs5B,OACnB,IAAK,OACHppC,KAAKmxB,IAAIrd,QAAQ1F,MAAM1F,KAAO,GAC9B,MAEF,KAAK,QACH1I,KAAKmxB,IAAIrd,QAAQ1F,MAAM1F,KAAOhE,KAAKJ,IAAIulC,EAAWtY,EAAe,EAAIvxB,KAAK8P,QAAQ0V,QAAS,GAAK,IAChG,MAEF,KAAK,SACHxlB,KAAKmxB,IAAIrd,QAAQ1F,MAAM1F,KAAOhE,KAAKJ,KAAKulC,EAAWtY,EAAe,EAAIvxB,KAAK8P,QAAQ0V,SAAW,EAAG,GAAK,IACtG,MAEF,SAKMmkB,EAFA3pC,KAAKqlB,SACHnU,EAAM,EACMxM,KAAKJ,KAAK2M,EAAO,IAEhBsgB,EAGL,EAARtgB,EACYvM,KAAKL,KAAK4M,EAAOC,EAAMD,EAAQsgB,EAAe,EAAIvxB,KAAK8P,QAAQ0V,SAG/D,EAGlBxlB,KAAKmxB,IAAIrd,QAAQ1F,MAAM1F,KAAOihC,EAAc,OAQlDrnC,EAAUuS,UAAU0yB,YAAc,WAChC,GAAI5R,GAAc31B,KAAK8P,QAAQ6lB,YAC3BkT,EAAM7oC,KAAKmxB,IAAI0X,GAEA,QAAflT,EACFkT,EAAIz6B,MAAMxF,IAAM5I,KAAK4I,IAAM,KAE3BigC,EAAIz6B,MAAMxF,IAAM5I,KAAK+K,OAAOmJ,OAASlU,KAAK4I,IAAM5I,KAAKkU,OAAS,MAQlE5R,EAAUuS,UAAU20B,iBAAmB,WACrC,GAAIxpC,KAAK2mC,UAAY3mC,KAAK8P,QAAQ43B,SAASoC,aAAe9pC,KAAKmxB,IAAI4Y,SAAU,CAE3E,GAAIA,GAAWp3B,SAASM,cAAc,MACtC82B,GAASjhC,UAAY,gBACrBihC,EAASC,aAAehqC,KAExBA,KAAKmxB,IAAI0X,IAAIh2B,YAAYk3B,GACzB/pC,KAAKmxB,IAAI4Y,SAAWA,OACV/pC,KAAK2mC,UAAY3mC,KAAKmxB,IAAI4Y,WAEhC/pC,KAAKmxB,IAAI4Y,SAASl/B,YACpB7K,KAAKmxB,IAAI4Y,SAASl/B,WAAW1G,YAAYnE,KAAKmxB,IAAI4Y,UAEpD/pC,KAAKmxB,IAAI4Y,SAAW,OAQxBznC,EAAUuS,UAAU40B,kBAAoB,WACtC,GAAIzpC,KAAK2mC,UAAY3mC,KAAK8P,QAAQ43B,SAASoC,aAAe9pC,KAAKmxB,IAAI8Y,UAAW,CAE5E,GAAIA,GAAYt3B,SAASM,cAAc,MACvCg3B,GAAUnhC,UAAY,iBACtBmhC,EAAUC,cAAgBlqC,KAE1BA,KAAKmxB,IAAI0X,IAAIh2B,YAAYo3B,GACzBjqC,KAAKmxB,IAAI8Y,UAAYA,OACXjqC,KAAK2mC,UAAY3mC,KAAKmxB,IAAI8Y,YAEhCjqC,KAAKmxB,IAAI8Y,UAAUp/B,YACrB7K,KAAKmxB,IAAI8Y,UAAUp/B,WAAW1G,YAAYnE,KAAKmxB,IAAI8Y,WAErDjqC,KAAKmxB,IAAI8Y,UAAY,OAIzBpqC,EAAOD,QAAU0C,GAIb,SAASzC,EAAQD,EAASM,GAS9B,QAASqC,GAAUwzB,EAAMjmB,GACvB9P,KAAK8P,QAAU,KACf9P,KAAK8G,MAAQ,KAQfvE,EAAUsS,UAAUD,WAAa,SAAU9E,GACrCA,GACFnP,KAAKiG,OAAO5G,KAAK8P,QAASA,IAQ9BvN,EAAUsS,UAAUuO,OAAS,WAE3B,OAAO,GAMT7gB,EAAUsS,UAAUG,QAAU,aAQ9BzS,EAAUsS,UAAUs1B,WAAa,WAC/B,GAAIC,GAAUpqC,KAAK8G,MAAMujC,iBAAmBrqC,KAAK8G,MAAMmN,OAASjU,KAAK8G,MAAMwjC,kBAAoBtqC,KAAK8G,MAAMoN,MAK1G,OAHAlU,MAAK8G,MAAMujC,eAAiBrqC,KAAK8G,MAAMmN,MACvCjU,KAAK8G,MAAMwjC,gBAAkBtqC,KAAK8G,MAAMoN,OAEjCk2B,GAGTvqC,EAAOD,QAAU2C,GAMb,SAAS1C,EAAQD,EAASM,GAiB9B,QAASsC,GAAYuzB,EAAMjmB,GACzB9P,KAAK+1B,KAAOA,EAGZ/1B,KAAKy1B,gBACH8U,iBAAiB,EAEjBC,QAASA,EACThE,OAAQ,MAEVxmC,KAAK8P,QAAUnP,EAAKiG,UAAW5G,KAAKy1B,gBACpCz1B,KAAKkrB,OAAS,EAEdlrB,KAAK81B,UAEL91B,KAAK4U,WAAW9E,GA5BlB,GAAInP,GAAOT,EAAoB,GAC3BqC,EAAYrC,EAAoB,IAChCuD,EAASvD,EAAoB,IAC7BsqC,EAAUtqC,EAAoB,GA4BlCsC,GAAYqS,UAAY,GAAItS,GAM5BC,EAAYqS,UAAUihB,QAAU,WAC9B,GAAI7C,GAAMtgB,SAASM,cAAc,MACjCggB,GAAInqB,UAAY,mBAChBmqB,EAAI7kB,MAAMgX,SAAW,WACrB6N,EAAI7kB,MAAMxF,IAAM,MAChBqqB,EAAI7kB,MAAM8F,OAAS,OAEnBlU,KAAKizB,IAAMA,GAMbzwB,EAAYqS,UAAUG,QAAU,WAC9BhV,KAAK8P,QAAQy6B,iBAAkB,EAC/BvqC,KAAKojB,SAELpjB,KAAK+1B,KAAO,MAQdvzB,EAAYqS,UAAUD,WAAa,SAAU9E,GACvCA,GAEFnP,EAAKkG,iBAAiB,kBAAmB,SAAU,WAAY7G,KAAK8P,QAASA,IAQjFtN,EAAYqS,UAAUuO,OAAS,WAC7B,GAAIpjB,KAAK8P,QAAQy6B,gBAAiB,CAChC,GAAIx/B,GAAS/K,KAAK+1B,KAAK5E,IAAIsZ,kBACvBzqC,MAAKizB,IAAIpoB,YAAcE,IAErB/K,KAAKizB,IAAIpoB,YACX7K,KAAKizB,IAAIpoB,WAAW1G,YAAYnE,KAAKizB,KAEvCloB,EAAO8H,YAAY7S,KAAKizB,KAExBjzB,KAAKiR,QAGP,IAAIyuB,GAAM,GAAI56B,OAAK,GAAIA,OAAOgD,UAAY9H,KAAKkrB,QAC3C/X,EAAInT,KAAK+1B,KAAKp1B,KAAK21B,SAASoJ,GAE5B8G,EAASxmC,KAAK8P,QAAQ06B,QAAQxqC,KAAK8P,QAAQ02B,OAC1CA,KACExmC,KAAK0qC,SACRrP,QAAQtG,IAAI,6BAAgC/0B,KAAK8P,QAAQ02B,OAAS,sEAClExmC,KAAK0qC,QAAS,GAEhBlE,EAASxmC,KAAK8P,QAAQ06B,QAAQG,GAEhC,IAAI/C,GAAQpB,EAAOjK,QAAU,IAAMiK,EAAOpN,KAAO,KAAO31B,EAAOi8B,GAAKiE,OAAO,8BAC3EiE,GAAQA,EAAMhhB,OAAO,GAAGgkB,cAAgBhD,EAAMiD,UAAU,GAExD7qC,KAAKizB,IAAI7kB,MAAM1F,KAAOyK,EAAI,KAC1BnT,KAAKizB,IAAI2U,MAAQA,MAGb5nC,MAAKizB,IAAIpoB,YACX7K,KAAKizB,IAAIpoB,WAAW1G,YAAYnE,KAAKizB,KAEvCjzB,KAAK0mB,MAGP,QAAO,GAMTlkB,EAAYqS,UAAU5D,MAAQ,WAG5B,QAASsF,KACPV,EAAG6Q,MAGH,IAAIjiB,GAAQoR,EAAGkgB,KAAKe,MAAM6F,WAAW9mB,EAAGkgB,KAAKC,SAASzI,OAAOtZ,OAAOxP,MAChEmvB,EAAW,EAAInvB,EAAQ,EACZ,IAAXmvB,IAAeA,EAAW,IAC1BA,EAAW,MAAMA,EAAW,KAEhC/d,EAAGuN,SAGHvN,EAAGi1B,iBAAmB5vB,WAAW3E,EAAQqd,GAd3C,GAAI/d,GAAK7V,IAiBTuW,MAMF/T,EAAYqS,UAAU6R,KAAO,WACGtgB,SAA1BpG,KAAK8qC,mBACP7vB,aAAajb,KAAK8qC,wBACX9qC,MAAK8qC,mBAUhBtoC,EAAYqS,UAAUk2B,eAAiB,SAAU3R,GAC/C,GAAInqB,GAAItO,EAAKgH,QAAQyxB,EAAM,QAAQtxB,UAC/B43B,GAAM,GAAI56B,OAAOgD,SACrB9H,MAAKkrB,OAASjc,EAAIywB,EAClB1/B,KAAKojB,UAOP5gB,EAAYqS,UAAUm2B,eAAiB,WACrC,MAAO,IAAIlmC,OAAK,GAAIA,OAAOgD,UAAY9H,KAAKkrB,SAG9CrrB,EAAOD,QAAU4C,GAIb,SAAS3C,EAAQD,EAASM,GAmB9B,QAASuC,GAAWszB,EAAMjmB,GACxB9P,KAAK+1B,KAAOA,EAGZ/1B,KAAKy1B,gBACHwV,gBAAgB,EAChBT,QAASA,EACThE,OAAQ,KACRnmC,GAAI,GAENL,KAAK8P,QAAUnP,EAAKiG,UAAW5G,KAAKy1B,gBAEhC3lB,GAAWA,EAAQspB,KACrBp5B,KAAKi3B,WAAannB,EAAQspB,KAE1Bp5B,KAAKi3B,WAAa,GAAInyB,MAGxB9E,KAAKkrC,eAGLlrC,KAAK81B,UAEL91B,KAAK4U,WAAW9E,GAtClB,GAAInM,GAASzD,EAAoB,IAC7BS,EAAOT,EAAoB,GAC3BqC,EAAYrC,EAAoB,IAChCuD,EAASvD,EAAoB,IAC7BsqC,EAAUtqC,EAAoB,GAqClCuC,GAAWoS,UAAY,GAAItS,GAO3BE,EAAWoS,UAAUD,WAAa,SAAU9E,GACtCA,IAEFnP,EAAKkG,iBAAiB,iBAAkB,SAAU,UAAW,MAAO7G,KAAK8P,QAASA,GAG9E9P,KAAK8P,QAAQzP,IACfL,KAAKojB,WASX3gB,EAAWoS,UAAUihB,QAAU,WAC7B,GAAI7C,GAAMtgB,SAASM,cAAc,MACjCggB,GAAInqB,UAAY,kBAChBmqB,EAAI7kB,MAAMgX,SAAW,WACrB6N,EAAI7kB,MAAMxF,IAAM,MAChBqqB,EAAI7kB,MAAM8F,OAAS,OACnBlU,KAAKizB,IAAMA,CAEX,IAAIkY,GAAOx4B,SAASM,cAAc,MAClCk4B,GAAK/8B,MAAMgX,SAAW,WACtB+lB,EAAK/8B,MAAMxF,IAAM,MACjBuiC,EAAK/8B,MAAM1F,KAAO,QAClByiC,EAAK/8B,MAAM8F,OAAS,OACpBi3B,EAAK/8B,MAAM6F,MAAQ,OACnBgf,EAAIpgB,YAAYs4B,GAGhBnrC,KAAK0D,OAAS,GAAIC,GAAOwnC,GACzBnrC,KAAK0D,OAAOuR,GAAG,WAAYjV,KAAKugC,aAAarK,KAAKl2B,OAClDA,KAAK0D,OAAOuR,GAAG,UAAWjV,KAAKwgC,QAAQtK,KAAKl2B,OAC5CA,KAAK0D,OAAOuR,GAAG,SAAUjV,KAAKygC,WAAWvK,KAAKl2B,QAUhDyC,EAAWoS,UAAUG,QAAU,WAC7BhV,KAAK8P,QAAQm7B,gBAAiB,EAC9BjrC,KAAKojB,SAELpjB,KAAK0D,OAAO6hC,QAAO,GACnBvlC,KAAK0D,OAAS,KAEd1D,KAAK+1B,KAAO,MAOdtzB,EAAWoS,UAAUuO,OAAS,WAC5B,GAAIpjB,KAAK8P,QAAQm7B,eAAgB,CAC/B,GAAIlgC,GAAS/K,KAAK+1B,KAAK5E,IAAIsZ,kBACvBzqC,MAAKizB,IAAIpoB,YAAcE,IAErB/K,KAAKizB,IAAIpoB,YACX7K,KAAKizB,IAAIpoB,WAAW1G,YAAYnE,KAAKizB,KAEvCloB,EAAO8H,YAAY7S,KAAKizB,KAG1B,IAAI9f,GAAInT,KAAK+1B,KAAKp1B,KAAK21B,SAASt2B,KAAKi3B,YAEjCuP,EAASxmC,KAAK8P,QAAQ06B,QAAQxqC,KAAK8P,QAAQ02B,OAC1CA,KACExmC,KAAK0qC,SACRrP,QAAQtG,IAAI,6BAAgC/0B,KAAK8P,QAAQ02B,OAAS,sEAClExmC,KAAK0qC,QAAS,GAEhBlE,EAASxmC,KAAK8P,QAAQ06B,QAAQG,GAEhC,IAAI/C,GAAQpB,EAAOpN,KAAO,KAAO31B,EAAOzD,KAAKi3B,YAAY0M,OAAO,8BAChEiE,GAAQA,EAAMhhB,OAAO,GAAGgkB,cAAgBhD,EAAMiD,UAAU,GAExD7qC,KAAKizB,IAAI7kB,MAAM1F,KAAOyK,EAAI,KAC1BnT,KAAKizB,IAAI2U,MAAQA,MAGb5nC,MAAKizB,IAAIpoB,YACX7K,KAAKizB,IAAIpoB,WAAW1G,YAAYnE,KAAKizB,IAIzC,QAAO,GAOTxwB,EAAWoS,UAAUu2B,cAAgB,SAAUhS,GAC7Cp5B,KAAKi3B,WAAat2B,EAAKgH,QAAQyxB,EAAM,QACrCp5B,KAAKojB,UAOP3gB,EAAWoS,UAAUw2B,cAAgB,WACnC,MAAO,IAAIvmC,MAAK9E,KAAKi3B,WAAWnvB,YAQlCrF,EAAWoS,UAAU0rB,aAAe,SAAUj2B,GAC5CtK,KAAKkrC,YAAY5J,UAAW,EAC5BthC,KAAKkrC,YAAYjU,WAAaj3B,KAAKi3B,WAEnC3sB,EAAMw9B,mBAQRrlC,EAAWoS,UAAU2rB,QAAU,SAAUl2B,GACvC,GAAKtK,KAAKkrC,YAAY5J,SAAtB,CAEA,GAAInuB,GAAInT,KAAK+1B,KAAKp1B,KAAK21B,SAASt2B,KAAKkrC,YAAYjU,YAAc3sB,EAAMy3B,OACjE3I,EAAOp5B,KAAK+1B,KAAKp1B,KAAK+1B,OAAOvjB,EAEjCnT,MAAKorC,cAAchS,GAGnBp5B,KAAK+1B,KAAKE,QAAQhH,KAAK,cACrB5uB,GAAIL,KAAK8P,QAAQzP,GACjB+4B,KAAM,GAAIt0B,MAAK9E,KAAKi3B,WAAWnvB,aAGjCwC,EAAMw9B,oBAQRrlC,EAAWoS,UAAU4rB,WAAa,SAAUn2B,GACrCtK,KAAKkrC,YAAY5J,WAGtBthC,KAAK+1B,KAAKE,QAAQhH,KAAK,eACrB5uB,GAAIL,KAAK8P,QAAQzP,GACjB+4B,KAAM,GAAIt0B,MAAK9E,KAAKi3B,WAAWnvB,aAGjCwC,EAAMw9B,oBAGRjoC,EAAOD,QAAU6C,GAIb,SAAS5C,EAAQD,EAASM,GAiB9B,QAASwC,GAASqzB,EAAMjmB,EAASw7B,EAAKC,GACpCvrC,KAAKK,GAAKM,EAAK6E,aACfxF,KAAK+1B,KAAOA,EAEZ/1B,KAAKy1B,gBACHE,YAAa,OACb6V,iBAAiB,EACjBC,iBAAiB,EACjBC,OAAO,EACPC,iBAAkB,EAClBC,iBAAkB,EAClBC,aAAc,GACdC,aAAc,EACdC,UAAW,GACX93B,MAAO,OACPgW,SAAS,EACT6T,YAAY,EACZD,aACEn1B,MAAQrE,IAAK+B,OAAW9B,IAAK8B,QAC7ByiB,OAASxkB,IAAK+B,OAAW9B,IAAK8B,SAEhCwhC,OACEl/B,MAAQoiB,KAAM1kB,QACdyiB,OAASiC,KAAM1kB,SAEjBu9B,QACEj7B,MAAQ42B,SAAUl5B,QAClByiB,OAASyW,SAAUl5B,UAIvBpG,KAAKurC,iBAAmBA,EACxBvrC,KAAKgsC,aAAeV,EACpBtrC,KAAK8G,SACL9G,KAAKisC,aACHC,SACAC,UACAvE,UAGF5nC,KAAKmxB,OAELnxB,KAAK82B,OAAU7lB,MAAO,EAAGC,IAAK,GAE9BlR,KAAK8P,QAAUnP,EAAKiG,UAAW5G,KAAKy1B,gBACpCz1B,KAAKosC,iBAAmB,EAExBpsC,KAAK4U,WAAW9E,GAChB9P,KAAKiU,MAAQnQ,QAAQ,GAAK9D,KAAK8P,QAAQmE,OAAOtI,QAAQ,KAAM,KAC5D3L,KAAKqsC,SAAWrsC,KAAKiU,MACrBjU,KAAKkU,OAASlU,KAAKgsC,aAAata,aAChC1xB,KAAKk6B,QAAS,EAEdl6B,KAAKssC,WAAa,GAClBtsC,KAAKusC,iBAAmB,GACxBvsC,KAAKwsC,aAAe,GAEpBxsC,KAAKysC,WAAa,EAClBzsC,KAAK0sC,QAAS,EACd1sC,KAAK2sC,eACL3sC,KAAK4sC,cAAe,EAEpB5sC,KAAKu1B,UACLv1B,KAAK6sC,eAAiB,EAGtB7sC,KAAK81B,SAEL,IAAIjgB,GAAK7V,IACTA,MAAK+1B,KAAKE,QAAQhhB,GAAG,eAAgB,WACnCY,EAAGsb,IAAI2b,cAAc1+B,MAAMxF,IAAMiN,EAAGkgB,KAAKC,SAAS+W,UAAY,OAnFlE,GAAIpsC,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BqC,EAAYrC,EAAoB,IAChC0B,EAAW1B,EAAoB;;AAoFnCwC,EAASmS,UAAY,GAAItS,GAEzBG,EAASmS,UAAUm4B,SAAW,SAAUr5B,EAAOs5B,GACxCjtC,KAAKu1B,OAAOvvB,eAAe2N,KAC9B3T,KAAKu1B,OAAO5hB,GAASs5B,GAEvBjtC,KAAK6sC,gBAAkB,GAGzBnqC,EAASmS,UAAUq4B,YAAc,SAAUv5B,EAAOs5B,GAChDjtC,KAAKu1B,OAAO5hB,GAASs5B,GAGvBvqC,EAASmS,UAAUs4B,YAAc,SAAUx5B,GACrC3T,KAAKu1B,OAAOvvB,eAAe2N,WACtB3T,MAAKu1B,OAAO5hB,GACnB3T,KAAK6sC,gBAAkB,IAI3BnqC,EAASmS,UAAUD,WAAa,SAAU9E,GACxC,GAAIA,EAAS,CACX,GAAIsT,IAAS,CACTpjB,MAAK8P,QAAQ6lB,aAAe7lB,EAAQ6lB,aAAuCvvB,SAAxB0J,EAAQ6lB,cAC7DvS,GAAS,EAEX,IAAI7T,IAAU,cAAe,kBAAmB,kBAAmB,QAAS,mBAAoB,mBAAoB,eAAgB,eAAgB,YAAa,QAAS,UAAW,cAAe,QAAS,SAAU,aACvN5O,GAAKkG,gBAAgB0I,EAAQvP,KAAK8P,QAASA,GAE3C9P,KAAKqsC,SAAWvoC,QAAQ,GAAK9D,KAAK8P,QAAQmE,OAAOtI,QAAQ,KAAM,KAEjD,GAAVyX,GAAkBpjB,KAAKmxB,IAAIlQ,QAC7BjhB,KAAKmnC,OACLnnC,KAAKonC,UAQX1kC,EAASmS,UAAUihB,QAAU,WAC3B91B,KAAKmxB,IAAIlQ,MAAQtO,SAASM,cAAc,OACxCjT,KAAKmxB,IAAIlQ,MAAM7S,MAAM6F,MAAQjU,KAAK8P,QAAQmE,MAC1CjU,KAAKmxB,IAAIlQ,MAAM7S,MAAM8F,OAASlU,KAAKkU,OAEnClU,KAAKmxB,IAAI2b,cAAgBn6B,SAASM,cAAc,OAChDjT,KAAKmxB,IAAI2b,cAAc1+B,MAAM6F,MAAQ,OACrCjU,KAAKmxB,IAAI2b,cAAc1+B,MAAM8F,OAASlU,KAAKkU,OAC3ClU,KAAKmxB,IAAI2b,cAAc1+B,MAAMgX,SAAW,WAGxCplB,KAAKsrC,IAAM34B,SAASC,gBAAgB,6BAA8B,OAClE5S,KAAKsrC,IAAIl9B,MAAMgX,SAAW,WAC1BplB,KAAKsrC,IAAIl9B,MAAMxF,IAAM,MACrB5I,KAAKsrC,IAAIl9B,MAAM8F,OAAS,OACxBlU,KAAKsrC,IAAIl9B,MAAM6F,MAAQ,OACvBjU,KAAKsrC,IAAIl9B,MAAMg/B,QAAU,QACzBptC,KAAKmxB,IAAIlQ,MAAMpO,YAAY7S,KAAKsrC,MAGlC5oC,EAASmS,UAAUw4B,kBAAoB,WACrCzsC,EAAQsR,gBAAgBlS,KAAK2sC,YAE7B,IAAIx5B,GACA44B,EAAY/rC,KAAK8P,QAAQi8B,UACzBuB,EAAa,GACbC,EAAa,EACbn6B,EAAIm6B,EAAa,GAAMD,CAGzBn6B,GAD8B,QAA5BnT,KAAK8P,QAAQ6lB,YACX4X,EAEAvtC,KAAKiU,MAAQ83B,EAAYwB,CAG/B,KAAK,GAAI9T,KAAWz5B,MAAKu1B,OACnBv1B,KAAKu1B,OAAOvvB,eAAeyzB,KACO,GAAhCz5B,KAAKu1B,OAAOkE,GAASxP,SAAkE7jB,SAA9CpG,KAAKurC,iBAAiB1R,WAAWJ,IAAuE,GAA7Cz5B,KAAKurC,iBAAiB1R,WAAWJ,KACvIz5B,KAAKu1B,OAAOkE,GAAS+T,SAASr6B,EAAGC,EAAGpT,KAAK2sC,YAAa3sC,KAAKsrC,IAAKS,EAAWuB,GAC3El6B,GAAKk6B,EAAaC,GAKxB3sC,GAAQ2R,gBAAgBvS,KAAK2sC,aAC7B3sC,KAAK4sC,cAAe,GAGtBlqC,EAASmS,UAAU44B,cAAgB,WACR,GAArBztC,KAAK4sC,eACPhsC,EAAQsR,gBAAgBlS,KAAK2sC,aAC7B/rC,EAAQ2R,gBAAgBvS,KAAK2sC,aAC7B3sC,KAAK4sC,cAAe,IAOxBlqC,EAASmS,UAAUuyB,KAAO,WACxBpnC,KAAKk6B,QAAS,EACTl6B,KAAKmxB,IAAIlQ,MAAMpW,aACc,QAA5B7K,KAAK8P,QAAQ6lB,YACf31B,KAAK+1B,KAAK5E,IAAIzoB,KAAKmK,YAAY7S,KAAKmxB,IAAIlQ,OAExCjhB,KAAK+1B,KAAK5E,IAAItI,MAAMhW,YAAY7S,KAAKmxB,IAAIlQ,QAIxCjhB,KAAKmxB,IAAI2b,cAAcjiC,YAC1B7K,KAAK+1B,KAAK5E,IAAIuc,qBAAqB76B,YAAY7S,KAAKmxB,IAAI2b,gBAO5DpqC,EAASmS,UAAUsyB,KAAO,WACxBnnC,KAAKk6B,QAAS,EACVl6B,KAAKmxB,IAAIlQ,MAAMpW,YACjB7K,KAAKmxB,IAAIlQ,MAAMpW,WAAW1G,YAAYnE,KAAKmxB,IAAIlQ,OAG7CjhB,KAAKmxB,IAAI2b,cAAcjiC,YACzB7K,KAAKmxB,IAAI2b,cAAcjiC,WAAW1G,YAAYnE,KAAKmxB,IAAI2b,gBAU3DpqC,EAASmS,UAAU8f,SAAW,SAAU1jB,EAAOC,GAC1B,GAAflR,KAAK0sC,QAA8C,GAA3B1sC,KAAK8P,QAAQguB,YAA2C,IAArB99B,KAAKwsC,cAC9Dv7B,EAAQ,IACVA,EAAQ,GAGZjR,KAAK82B,MAAM7lB,MAAQA,EACnBjR,KAAK82B,MAAM5lB,IAAMA,GAOnBxO,EAASmS,UAAUuO,OAAS,WAC1B,GAAIgnB,IAAU,EACVuD,EAAe,CAGnB3tC,MAAKmxB,IAAI2b,cAAc1+B,MAAMxF,IAAM5I,KAAK+1B,KAAKC,SAAS+W,UAAY,IAElE,KAAK,GAAItT,KAAWz5B,MAAKu1B,OACnBv1B,KAAKu1B,OAAOvvB,eAAeyzB,KACO,GAAhCz5B,KAAKu1B,OAAOkE,GAASxP,SAAkE7jB,SAA9CpG,KAAKurC,iBAAiB1R,WAAWJ,IAAuE,GAA7Cz5B,KAAKurC,iBAAiB1R,WAAWJ,IACvIkU,IAIN,IAA2B,GAAvB3tC,KAAK6sC,gBAAuC,GAAhBc,EAC9B3tC,KAAKmnC,WACA,CACLnnC,KAAKonC,OACLpnC,KAAKkU,OAASpQ,OAAO9D,KAAKgsC,aAAa59B,MAAM8F,OAAOvI,QAAQ,KAAM,KAGlE3L,KAAKmxB,IAAI2b,cAAc1+B,MAAM8F,OAASlU,KAAKkU,OAAS,KACpDlU,KAAKiU,MAAgC,GAAxBjU,KAAK8P,QAAQma,QAAkBnmB,QAAQ,GAAK9D,KAAK8P,QAAQmE,OAAOtI,QAAQ,KAAM,KAAO,CAElG,IAAI7E,GAAQ9G,KAAK8G,MACbma,EAAQjhB,KAAKmxB,IAAIlQ,KAGrBA,GAAMnY,UAAY,gBAGlB9I,KAAK4tC,oBAEL,IAAIjY,GAAc31B,KAAK8P,QAAQ6lB,YAC3B6V,EAAkBxrC,KAAK8P,QAAQ07B,gBAC/BC,EAAkBzrC,KAAK8P,QAAQ27B,eAGnC3kC,GAAM+mC,iBAAmBrC,EAAkB1kC,EAAMgnC,gBAAkB,EACnEhnC,EAAMinC,iBAAmBtC,EAAkB3kC,EAAMknC,gBAAkB,EAEnElnC,EAAMmnC,eAAiBjuC,KAAK+1B,KAAK5E,IAAIuc,qBAAqBlc,YAAcxxB,KAAKysC,WAAazsC,KAAKiU,MAAQ,EAAIjU,KAAK8P,QAAQ87B,iBACxH9kC,EAAMonC,gBAAkB,EACxBpnC,EAAMqnC,eAAiBnuC,KAAK+1B,KAAK5E,IAAIuc,qBAAqBlc,YAAcxxB,KAAKysC,WAAazsC,KAAKiU,MAAQ,EAAIjU,KAAK8P,QAAQ67B,iBACxH7kC,EAAMsnC,gBAAkB,EAGL,QAAfzY,GACF1U,EAAM7S,MAAMxF,IAAM,IAClBqY,EAAM7S,MAAM1F,KAAO,IACnBuY,EAAM7S,MAAM4W,OAAS,GACrB/D,EAAM7S,MAAM6F,MAAQjU,KAAKiU,MAAQ,KACjCgN,EAAM7S,MAAM8F,OAASlU,KAAKkU,OAAS,KACnClU,KAAK8G,MAAMmN,MAAQjU,KAAK+1B,KAAKC,SAASttB,KAAKuL,MAC3CjU,KAAK8G,MAAMoN,OAASlU,KAAK+1B,KAAKC,SAASttB,KAAKwL,SAG5C+M,EAAM7S,MAAMxF,IAAM,GAClBqY,EAAM7S,MAAM4W,OAAS,IACrB/D,EAAM7S,MAAM1F,KAAO,IACnBuY,EAAM7S,MAAM6F,MAAQjU,KAAKiU,MAAQ,KACjCgN,EAAM7S,MAAM8F,OAASlU,KAAKkU,OAAS,KACnClU,KAAK8G,MAAMmN,MAAQjU,KAAK+1B,KAAKC,SAASnN,MAAM5U,MAC5CjU,KAAK8G,MAAMoN,OAASlU,KAAK+1B,KAAKC,SAASnN,MAAM3U,QAG/Ck2B,EAAUpqC,KAAKquC,gBACfjE,EAAUpqC,KAAKmqC,cAAgBC,EAEL,GAAtBpqC,KAAK8P,QAAQ47B,MACf1rC,KAAKqtC,oBAELrtC,KAAKytC,gBAGPztC,KAAKsuC,aAAa3Y,GAEpB,MAAOyU,IAOT1nC,EAASmS,UAAUw5B,cAAgB,WACjC,GAAIjE,IAAU,CACdxpC,GAAQsR,gBAAgBlS,KAAKisC,YAAYC,OACzCtrC,EAAQsR,gBAAgBlS,KAAKisC,YAAYE,OAEzC,IAAIxW,GAAc31B,KAAK8P,QAAQ6lB,YAG3BgI,EAAc39B,KAAK0sC,OAAS1sC,KAAK8G,MAAMknC,iBAAmB,GAAKhuC,KAAKusC,iBAEpE5iB,EAAO,GAAI/nB,GAAS5B,KAAK82B,MAAM7lB,MAAOjR,KAAK82B,MAAM5lB,IAAKysB,EAAa39B,KAAKmxB,IAAIlQ,MAAMyQ,aAAc1xB,KAAK8P,QAAQ+tB,YAAY79B,KAAK8P,QAAQ6lB,aAA6B,GAAf31B,KAAK0sC,QAAmB1sC,KAAK8P,QAAQguB,WAG7L99B,MAAK2pB,KAAOA,CAGZ,IAAI2iB,IAActsC,KAAKmxB,IAAIlQ,MAAMyQ,aAAe/H,EAAKwU,WAAan+B,KAAKmxB,IAAIlQ,MAAMyQ,aAAe/H,EAAKuV,gBAAkBvV,EAAKuV,YAAcvV,EAAKwU,WAAaxU,EAAKA,KAEjK3pB,MAAKssC,WAAaA,CAElB,IAAIiC,GAAgBvuC,KAAKkU,OAASo4B,EAC9BkC,EAAiB,CAGrB,IAAmB,GAAfxuC,KAAK0sC,OAAiB,CACxBJ,EAAatsC,KAAKusC,iBAClBiC,EAAiB9pC,KAAKqqB,MAAM/uB,KAAKmxB,IAAIlQ,MAAMyQ,aAAe4a,EAAaiC,EACvE,KAAK,GAAI/nC,GAAI,EAAO,GAAMgoC,EAAVhoC,EAA0BA,IACxCmjB,EAAK0V,UAIP,IAFAkP,EAAgBvuC,KAAKkU,OAASo4B,EAEL,IAArBtsC,KAAKwsC,cAAiD,GAA3BxsC,KAAK8P,QAAQguB,WAAoB,CAC9D,GAAI2Q,GAAqB9kB,EAAKuU,UAAYvU,EAAKA,KAAO3pB,KAAKwsC,YAC3D,IAAIiC,EAAqB,EACvB,IAAK,GAAIjoC,GAAI,EAAOioC,EAAJjoC,EAAwBA,IACtCmjB,EAAKE,WAEF,IAAyB,EAArB4kB,EACT,IAAK,GAAIjoC,GAAI,GAAQioC,EAALjoC,EAAyBA,IACvCmjB,EAAK0V,gBAKXkP,IAAiB,GAGnBvuC,MAAK0uC,YAAc/kB,EAAKuU,SACxB,IAMIoB,GANAqP,EAAiB,EAGjBrqC,EAAM,CAI+B8B,UAArCpG,KAAK8P,QAAQ6zB,OAAOhO,KACtB2J,EAAWt/B,KAAK8P,QAAQ6zB,OAAOhO,GAAa2J,UAG9Ct/B,KAAK4uC,aAAe,CAEpB,KADA,GAAIx7B,GAAI,EACD9O,EAAMI,KAAKqqB,MAAMwf,IAAgB,CACtC5kB,EAAKE,OACLzW,EAAI1O,KAAKqqB,MAAMzqB,EAAMgoC,GACrBqC,EAAiBrqC,EAAMgoC,CACvB,IAAI7M,GAAU9V,EAAK8V,WAEfz/B,KAAK8P,QAAQ07B,iBAA8B,GAAX/L,GAAmC,GAAfz/B,KAAK0sC,QAAmD,GAAhC1sC,KAAK8P,QAAQ07B,kBAC3FxrC,KAAK6uC,aAAaz7B,EAAI,EAAGuW,EAAKC,WAAW0V,GAAW3J,EAAa,uBAAwB31B,KAAK8G,MAAMgnC,iBAGlGrO,GAAWz/B,KAAK8P,QAAQ27B,iBAAkC,GAAfzrC,KAAK0sC,QAAkD,GAAhC1sC,KAAK8P,QAAQ07B,iBAA2C,GAAfxrC,KAAK0sC,QAA8B,GAAXjN,GACjIrsB,GAAK,GACPpT,KAAK6uC,aAAaz7B,EAAI,EAAGuW,EAAKC,WAAW0V,GAAW3J,EAAa,uBAAwB31B,KAAK8G,MAAMknC,iBAEtGhuC,KAAK8uC,YAAY17B,EAAGuiB,EAAa,oCAAqC31B,KAAK8P,QAAQ67B,iBAAkB3rC,KAAK8G,MAAMqnC,iBAEhHnuC,KAAK8uC,YAAY17B,EAAGuiB,EAAa,oCAAqC31B,KAAK8P,QAAQ87B,iBAAkB5rC,KAAK8G,MAAMmnC,gBAG/F,GAAfjuC,KAAK0sC,QAAkC,GAAhB/iB,EAAK4S,UAC9Bv8B,KAAKwsC,aAAeloC,GAGtBA,IAGiB,GAAftE,KAAK0sC,OACP1sC,KAAKosC,iBAAmBh5B,GAAKpT,KAAK0uC,YAAc/kB,EAAK4S,SAErDv8B,KAAKosC,iBAAmBpsC,KAAKmxB,IAAIlQ,MAAMyQ,aAAe/H,EAAKuV,WAI7D,IAAI6P,GAAa,CACuB3oC,UAApCpG,KAAK8P,QAAQ83B,MAAMjS,IAAuEvvB,SAAzCpG,KAAK8P,QAAQ83B,MAAMjS,GAAa7K,OACnFikB,EAAa/uC,KAAK8G,MAAMkoC,gBAE1B,IAAI9jB,GAA+B,GAAtBlrB,KAAK8P,QAAQ47B,MAAgBhnC,KAAKJ,IAAItE,KAAK8P,QAAQi8B,UAAWgD,GAAc/uC,KAAK8P,QAAQ+7B,aAAe,GAAKkD,EAAa/uC,KAAK8P,QAAQ+7B,aAAe,EAyBnK,OAtBI7rC,MAAK4uC,aAAe5uC,KAAKiU,MAAQiX,GAAkC,GAAxBlrB,KAAK8P,QAAQma,SAC1DjqB,KAAKiU,MAAQjU,KAAK4uC,aAAe1jB,EACjClrB,KAAK8P,QAAQmE,MAAQjU,KAAKiU,MAAQ,KAClCrT,EAAQ2R,gBAAgBvS,KAAKisC,YAAYC,OACzCtrC,EAAQ2R,gBAAgBvS,KAAKisC,YAAYE,QACzCnsC,KAAKojB,SACLgnB,GAAU,GAGHpqC,KAAK4uC,aAAe5uC,KAAKiU,MAAQiX,GAAkC,GAAxBlrB,KAAK8P,QAAQma,SAAmBjqB,KAAKiU,MAAQjU,KAAKqsC,UACpGrsC,KAAKiU,MAAQvP,KAAKJ,IAAItE,KAAKqsC,SAAUrsC,KAAK4uC,aAAe1jB,GACzDlrB,KAAK8P,QAAQmE,MAAQjU,KAAKiU,MAAQ,KAClCrT,EAAQ2R,gBAAgBvS,KAAKisC,YAAYC,OACzCtrC,EAAQ2R,gBAAgBvS,KAAKisC,YAAYE,QACzCnsC,KAAKojB,SACLgnB,GAAU,IAEVxpC,EAAQ2R,gBAAgBvS,KAAKisC,YAAYC,OACzCtrC,EAAQ2R,gBAAgBvS,KAAKisC,YAAYE,QACzC/B,GAAU,GAGLA,GAGT1nC,EAASmS,UAAUo6B,aAAe,SAAUzqC,GAC1C,GAAI0qC,GAAgBlvC,KAAK0uC,YAAclqC,EACnC2qC,EAAiBD,EAAgBlvC,KAAKosC,gBAC1C,OAAO+C,IAGTzsC,EAASmS,UAAUslB,cAAgB,SAAUhnB,GAC3C,MAAOnT,MAAK0uC,YAAcv7B,EAAInT,KAAKosC,kBAYrC1pC,EAASmS,UAAUg6B,aAAe,SAAUz7B,EAAG0X,EAAM6K,EAAa7sB,EAAWsmC,GAE3E,GAAIz7B,GAAQ/S,EAAQkS,cAAc,MAAO9S,KAAKisC,YAAYE,OAAQnsC,KAAKmxB,IAAIlQ,MAC3EtN,GAAM7K,UAAYA,EAClB6K,EAAM8R,UAAYqF,EACC,QAAf6K,GACFhiB,EAAMvF,MAAM1F,KAAO,IAAM1I,KAAK8P,QAAQ+7B,aAAe,KACrDl4B,EAAMvF,MAAM0b,UAAY,UAExBnW,EAAMvF,MAAMya,MAAQ,IAAM7oB,KAAK8P,QAAQ+7B,aAAe,KACtDl4B,EAAMvF,MAAM0b,UAAY,QAG1BnW,EAAMvF,MAAMxF,IAAMwK,EAAI,GAAMg8B,EAAkBpvC,KAAK8P,QAAQg8B,aAAe,KAE1EhhB,GAAQ,EAER,IAAIukB,GAAe3qC,KAAKJ,IAAItE,KAAK8G,MAAMwoC,eAAgBtvC,KAAK8G,MAAMyoC,eAC9DvvC,MAAK4uC,aAAe9jB,EAAKpkB,OAAS2oC,IACpCrvC,KAAK4uC,aAAe9jB,EAAKpkB,OAAS2oC,IAYtC3sC,EAASmS,UAAUi6B,YAAc,SAAU17B,EAAGuiB,EAAa7sB,EAAWoiB,EAAQjX,GAC5E,GAAmB,GAAfjU,KAAK0sC,OAAgB,CACvB,GAAIzb,GAAOrwB,EAAQkS,cAAc,MAAO9S,KAAKisC,YAAYC,MAAOlsC,KAAKmxB,IAAI2b,cACzE7b,GAAKnoB,UAAYA,EACjBmoB,EAAKxL,UAAY,GAEE,QAAfkQ,EACF1E,EAAK7iB,MAAM1F,KAAO1I,KAAKiU,MAAQiX,EAAS,KAExC+F,EAAK7iB,MAAMya,MAAQ7oB,KAAKiU,MAAQiX,EAAS,KAG3C+F,EAAK7iB,MAAM6F,MAAQA,EAAQ,KAC3Bgd,EAAK7iB,MAAMxF,IAAMwK,EAAI,OASzB1Q,EAASmS,UAAUy5B,aAAe,SAAU3Y,GAI1C,GAHA/0B,EAAQsR,gBAAgBlS,KAAKisC,YAAYrE,OAGDxhC,SAApCpG,KAAK8P,QAAQ83B,MAAMjS,IAAuEvvB,SAAzCpG,KAAK8P,QAAQ83B,MAAMjS,GAAa7K,KAAoB,CACvG,GAAI8c,GAAQhnC,EAAQkS,cAAc,MAAO9S,KAAKisC,YAAYrE,MAAO5nC,KAAKmxB,IAAIlQ,MAC1E2mB,GAAM9+B,UAAY,4BAA8B6sB,EAChDiS,EAAMniB,UAAYzlB,KAAK8P,QAAQ83B,MAAMjS,GAAa7K,KAGJ1kB,SAA1CpG,KAAK8P,QAAQ83B,MAAMjS,GAAavnB,OAClCzN,EAAK8N,WAAWm5B,EAAO5nC,KAAK8P,QAAQ83B,MAAMjS,GAAavnB,OAGtC,QAAfunB,EACFiS,EAAMx5B,MAAM1F,KAAO1I,KAAK8G,MAAMkoC,gBAAkB,KAEhDpH,EAAMx5B,MAAMya,MAAQ7oB,KAAK8G,MAAMkoC,gBAAkB,KAGnDpH,EAAMx5B,MAAM6F,MAAQjU,KAAKkU,OAAS,KAIpCtT,EAAQ2R,gBAAgBvS,KAAKisC,YAAYrE,QAQ3CllC,EAASmS,UAAU+4B,mBAAqB,WAEtC,KAAM,mBAAqB5tC,MAAK8G,OAAQ,CACtC,GAAI0oC,GAAY78B,SAAS88B,eAAe,KACpCC,EAAmB/8B,SAASM,cAAc,MAC9Cy8B,GAAiB5mC,UAAY,mCAC7B4mC,EAAiB78B,YAAY28B,GAC7BxvC,KAAKmxB,IAAIlQ,MAAMpO,YAAY68B,GAE3B1vC,KAAK8G,MAAMgnC,gBAAkB4B,EAAiBrpB,aAC9CrmB,KAAK8G,MAAMyoC,eAAiBG,EAAiBvuB,YAE7CnhB,KAAKmxB,IAAIlQ,MAAM9c,YAAYurC,GAG7B,KAAM,mBAAqB1vC,MAAK8G,OAAQ,CACtC,GAAI6oC,GAAYh9B,SAAS88B,eAAe,KACpCG,EAAmBj9B,SAASM,cAAc,MAC9C28B,GAAiB9mC,UAAY,mCAC7B8mC,EAAiB/8B,YAAY88B,GAC7B3vC,KAAKmxB,IAAIlQ,MAAMpO,YAAY+8B,GAE3B5vC,KAAK8G,MAAMknC,gBAAkB4B,EAAiBvpB,aAC9CrmB,KAAK8G,MAAMwoC,eAAiBM,EAAiBzuB,YAE7CnhB,KAAKmxB,IAAIlQ,MAAM9c,YAAYyrC,GAG7B,KAAM,mBAAqB5vC,MAAK8G,OAAQ,CACtC,GAAI+oC,GAAYl9B,SAAS88B,eAAe,KACpCK,EAAmBn9B,SAASM,cAAc,MAC9C68B,GAAiBhnC,UAAY,mCAC7BgnC,EAAiBj9B,YAAYg9B,GAC7B7vC,KAAKmxB,IAAIlQ,MAAMpO,YAAYi9B,GAE3B9vC,KAAK8G,MAAMkoC,gBAAkBc,EAAiBzpB,aAC9CrmB,KAAK8G,MAAMipC,eAAiBD,EAAiB3uB,YAE7CnhB,KAAKmxB,IAAIlQ,MAAM9c,YAAY2rC,KAI/BjwC,EAAOD,QAAU8C,GAIb,SAAS7C,EAAQD,EAASM,GAoB9B,QAASyC,GAAW0Q,EAAOomB,EAAS3pB,EAASkgC,GAC3ChwC,KAAKK,GAAKo5B,CACV,IAAIlqB,IAAU,WAAY,QAAS,OAAQ,mBAAoB,WAAY,aAAc,SAAU,aACnGvP,MAAK8P,QAAUnP,EAAK2O,sBAAsBC,EAAQO,GAClD9P,KAAKiwC,kBAAwC7pC,SAApBiN,EAAMvK,UAC/B9I,KAAKgwC,yBAA2BA,EAChChwC,KAAKkwC,aAAe,EACpBlwC,KAAKuW,OAAOlD,GACkB,GAA1BrT,KAAKiwC,oBACPjwC,KAAKgwC,yBAAyB,IAAM,GAEtChwC,KAAKm3B,aACLn3B,KAAKiqB,QAA4B7jB,SAAlBiN,EAAM4W,SAAwB,EAAO5W,EAAM4W,QA5B5D,GAAItpB,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BiwC,EAAOjwC,EAAoB,IAC3BkwC,EAAMlwC,EAAoB,IAC1BmwC,EAASnwC,EAAoB,GA+BjCyC,GAAWkS,UAAU2iB,SAAW,SAAUv1B,GAC3B,MAATA,GACFjC,KAAKm3B,UAAYl1B,EACQ,GAArBjC,KAAK8P,QAAQ+H,MACf7X,KAAKm3B,UAAUtf,KAAK,SAAUvR,EAAGC,GAC/B,MAAOD,GAAE6M,EAAI5M,EAAE4M,KAInBnT,KAAKm3B,cAQTx0B,EAAWkS,UAAUy7B,gBAAkB,SAAUvpB,GAC/C/mB,KAAKkwC,aAAenpB,GAOtBpkB,EAAWkS,UAAUD,WAAa,SAAU9E,GAC1C,GAAgB1J,SAAZ0J,EAAuB,CACzB,GAAIP,IAAU,WAAY,QAAS,OAAQ,mBAAoB,WAC/D5O,GAAKsG,oBAAoBsI,EAAQvP,KAAK8P,QAASA,GAE/CnP,EAAKiP,aAAa5P,KAAK8P,QAASA,EAAS,cACzCnP,EAAKiP,aAAa5P,KAAK8P,QAASA,EAAS,cACzCnP,EAAKiP,aAAa5P,KAAK8P,QAASA,EAAS,UAErCA,EAAQygC,YACuB,gBAAtBzgC,GAAQygC,YACbzgC,EAAQygC,WAAWC,kBACqB,WAAtC1gC,EAAQygC,WAAWC,gBACrBxwC,KAAK8P,QAAQygC,WAAWE,MAAQ,EACe,WAAtC3gC,EAAQygC,WAAWC,gBAC5BxwC,KAAK8P,QAAQygC,WAAWE,MAAQ,GAEhCzwC,KAAK8P,QAAQygC,WAAWC,gBAAkB,cAC1CxwC,KAAK8P,QAAQygC,WAAWE,MAAQ,KAOhB,QAAtBzwC,KAAK8P,QAAQ1B,MACfpO,KAAK4H,KAAO,GAAIuoC,GAAKnwC,KAAKK,GAAIL,KAAK8P,SACJ,OAAtB9P,KAAK8P,QAAQ1B,MACtBpO,KAAK4H,KAAO,GAAIwoC,GAAIpwC,KAAKK,GAAIL,KAAK8P,SACH,UAAtB9P,KAAK8P,QAAQ1B,QACtBpO,KAAK4H,KAAO,GAAIyoC,GAAOrwC,KAAKK,GAAIL,KAAK8P,WAQzCnN,EAAWkS,UAAU0B,OAAS,SAAUlD,GACtCrT,KAAKqT,MAAQA,EACbrT,KAAK8T,QAAUT,EAAMS,SAAW,QAChC9T,KAAK8I,UAAYuK,EAAMvK,WAAa9I,KAAK8I,WAAa,kBAAoB9I,KAAKgwC,yBAAyB,GAAK,GAC7GhwC,KAAKiqB,QAA4B7jB,SAAlBiN,EAAM4W,SAAwB,EAAO5W,EAAM4W,QAC1DjqB,KAAKoO,MAAQiF,EAAMjF,MACnBpO,KAAK4U,WAAWvB,EAAMvD,UAaxBnN,EAAWkS,UAAU24B,SAAW,SAAUr6B,EAAGC,EAAGjB,EAAeu+B,EAAc3E,EAAWuB,GACtF,GACIqD,GAAMC,EADNC,EAA0B,GAAbvD,EAGbwD,EAAUlwC,EAAQ4R,cAAc,OAAQL,EAAeu+B,EAO3D,IANAI,EAAQr9B,eAAe,KAAM,IAAKN,GAClC29B,EAAQr9B,eAAe,KAAM,IAAKL,EAAIy9B,GACtCC,EAAQr9B,eAAe,KAAM,QAASs4B,GACtC+E,EAAQr9B,eAAe,KAAM,SAAU,EAAIo9B,GAC3CC,EAAQr9B,eAAe,KAAM,QAAS,eAEZ,QAAtBzT,KAAK8P,QAAQ1B,MACfuiC,EAAO/vC,EAAQ4R,cAAc,OAAQL,EAAeu+B,GACpDC,EAAKl9B,eAAe,KAAM,QAASzT,KAAK8I,WACrB1C,SAAfpG,KAAKoO,OACPuiC,EAAKl9B,eAAe,KAAM,QAAS,OAASzT,KAAKoO,OAGnDuiC,EAAKl9B,eAAe,KAAM,IAAK,IAAMN,EAAI,IAAMC,EAAI,MAAQD,EAAI44B,GAAa,IAAM34B,GAC/C,GAA/BpT,KAAK8P,QAAQihC,OAAOhhC,UACtB6gC,EAAWhwC,EAAQ4R,cAAc,OAAQL,EAAeu+B,GACjB,OAAnC1wC,KAAK8P,QAAQihC,OAAOpb,YACtBib,EAASn9B,eAAe,KAAM,IAAK,IAAMN,EAAI,MAAQC,EAAIy9B,GAAc,IAAM19B,EAAI,IAAMC,EAAI,MAAQD,EAAI44B,GAAa,IAAM34B,EAAI,MAAQD,EAAI44B,GAAa,KAAO34B,EAAIy9B,IAElKD,EAASn9B,eAAe,KAAM,IAAK,IAAMN,EAAI,IAAMC,EAAI,KAAYD,EAAI,KAAOC,EAAIy9B,GAAc,MAAa19B,EAAI44B,GAAa,KAAO34B,EAAIy9B,GAAc,KAAO19B,EAAI44B,GAAa,IAAM34B,GAEvLw9B,EAASn9B,eAAe,KAAM,QAASzT,KAAK8I,UAAY,mBAGnB,GAAnC9I,KAAK8P,QAAQ0D,WAAWzD,SAC1BnP,EAAQsS,UAAUC,EAAI,GAAM44B,EAAW34B,EAAGpT,KAAMmS,EAAeu+B,OAE5D,CACL,GAAIM,GAAWtsC,KAAKqqB,MAAM,GAAMgd,GAC5BkF,EAAavsC,KAAKqqB,MAAM,GAAMue,GAC9B4D,EAAaxsC,KAAKqqB,MAAM,IAAOue,GAE/BpiB,EAASxmB,KAAKqqB,OAAOgd,EAAY,EAAIiF,GAAY,EAErDpwC,GAAQoT,QAAQb,EAAI,GAAM69B,EAAW9lB,EAAQ9X,EAAIy9B,EAAaI,EAAa,EAAGD,EAAUC,EAAYjxC,KAAK8I,UAAY,WAAYqJ,EAAeu+B,GAChJ9vC,EAAQoT,QAAQb,EAAI,IAAM69B,EAAW9lB,EAAS,EAAG9X,EAAIy9B,EAAaK,EAAa,EAAGF,EAAUE,EAAYlxC,KAAK8I,UAAY,WAAYqJ,EAAeu+B,KAWxJ/tC,EAAWkS,UAAU8kB,UAAY,SAAUoS,EAAWuB,GACpD,GAAIhC,GAAM34B,SAASC,gBAAgB,6BAA8B,MAEjE,OADA5S,MAAKwtC,SAAS,EAAG,GAAMF,KAAgBhC,EAAKS,EAAWuB,IAC9C6D,KAAM7F,EAAK33B,MAAO3T,KAAK8T,QAAS6hB,YAAa31B,KAAK8P,QAAQshC,mBAGrEzuC,EAAWkS,UAAUw8B,UAAY,SAAUC,GACzC,MAAOtxC,MAAK4H,KAAKypC,UAAUC,IAG7B3uC,EAAWkS,UAAU08B,KAAO,SAAU9Y,EAASplB,EAAOm+B,GACpDxxC,KAAK4H,KAAK2pC,KAAK9Y,EAASplB,EAAOm+B,IAGjC3xC,EAAOD,QAAU+C,GAIb,SAAS9C,EAAQD,EAASM,GAc9B,QAAS0C,GAAM62B,EAASrlB,EAAM8iB,GAC5Bl3B,KAAKy5B,QAAUA,EACfz5B,KAAKwjC,aACLxjC,KAAKipC,cAAgB,EACrBjpC,KAAKyxC,gBAAkBr9B,GAAQA,EAAKs9B,cACpC1xC,KAAKk3B,QAAUA,EAEfl3B,KAAKmxB,OACLnxB,KAAK8G,OACH6M,OACEM,MAAO,EACPC,OAAQ,IAGZlU,KAAK8I,UAAY,KAEjB9I,KAAKiC,SACLjC,KAAK2xC,gBACL3xC,KAAKiQ,cACH2hC,WACAC,UAEF7xC,KAAK8xC,kBAAmB,CACxB,IAAIj8B,GAAK7V,IACTA,MAAKk3B,QAAQnB,KAAKE,QAAQhhB,GAAG,mBAAoB,WAC/CY,EAAGi8B,kBAAmB,IAGxB9xC,KAAK81B,UAEL91B,KAAK2Z,QAAQvF,GAxCf,CAAA,GAAIzT,GAAOT,EAAoB,GAC3B4B,EAAQ5B,EAAoB,GAChBA,GAAoB,IA6CpC0C,EAAMiS,UAAUihB,QAAU,WACxB,GAAIniB,GAAQhB,SAASM,cAAc,MACnCU,GAAM7K,UAAY,YAClB9I,KAAKmxB,IAAIxd,MAAQA,CAEjB,IAAIo+B,GAAQp/B,SAASM,cAAc,MACnC8+B,GAAMjpC,UAAY,YAClB6K,EAAMd,YAAYk/B,GAClB/xC,KAAKmxB,IAAI4gB,MAAQA,CAEjB,IAAIxY,GAAa5mB,SAASM,cAAc,MACxCsmB,GAAWzwB,UAAY,YACvBywB,EAAW,kBAAoBv5B,KAC/BA,KAAKmxB,IAAIoI,WAAaA,EAEtBv5B,KAAKmxB,IAAI5jB,WAAaoF,SAASM,cAAc,OAC7CjT,KAAKmxB,IAAI5jB,WAAWzE,UAAY,YAEhC9I,KAAKmxB,IAAIgS,KAAOxwB,SAASM,cAAc,OACvCjT,KAAKmxB,IAAIgS,KAAKr6B,UAAY,YAK1B9I,KAAKmxB,IAAI6gB,OAASr/B,SAASM,cAAc,OACzCjT,KAAKmxB,IAAI6gB,OAAO5jC,MAAMyrB,WAAa,SACnC75B,KAAKmxB,IAAI6gB,OAAOvsB,UAAY,IAC5BzlB,KAAKmxB,IAAI5jB,WAAWsF,YAAY7S,KAAKmxB,IAAI6gB,SAO3CpvC,EAAMiS,UAAU8E,QAAU,SAAUvF,GAElC,GAAIN,GAAUM,GAAQA,EAAKN,OACvBA,aAAmBo0B,SACrBloC,KAAKmxB,IAAI4gB,MAAMl/B,YAAYiB,GACN1N,SAAZ0N,GAAqC,OAAZA,EAClC9T,KAAKmxB,IAAI4gB,MAAMtsB,UAAY3R,EAE3B9T,KAAKmxB,IAAI4gB,MAAMtsB,UAAYzlB,KAAKy5B,SAAW,GAI7Cz5B,KAAKmxB,IAAIxd,MAAMi0B,MAAQxzB,GAAQA,EAAKwzB,OAAS,GAExC5nC,KAAKmxB,IAAI4gB,MAAM7tC,WAGlBvD,EAAKuI,gBAAgBlJ,KAAKmxB,IAAI4gB,MAAO,cAFrCpxC,EAAKkI,aAAa7I,KAAKmxB,IAAI4gB,MAAO,aAMpC,IAAIjpC,GAAYsL,GAAQA,EAAKtL,WAAa,IACtCA,IAAa9I,KAAK8I,YAChB9I,KAAK8I,YACPnI,EAAKuI,gBAAgBlJ,KAAKmxB,IAAIxd,MAAO3T,KAAK8I,WAC1CnI,EAAKuI,gBAAgBlJ,KAAKmxB,IAAIoI,WAAYv5B,KAAK8I,WAC/CnI,EAAKuI,gBAAgBlJ,KAAKmxB,IAAI5jB,WAAYvN,KAAK8I,WAC/CnI,EAAKuI,gBAAgBlJ,KAAKmxB,IAAIgS,KAAMnjC,KAAK8I,YAE3CnI,EAAKkI,aAAa7I,KAAKmxB,IAAIxd,MAAO7K,GAClCnI,EAAKkI,aAAa7I,KAAKmxB,IAAIoI,WAAYzwB,GACvCnI,EAAKkI,aAAa7I,KAAKmxB,IAAI5jB,WAAYzE,GACvCnI,EAAKkI,aAAa7I,KAAKmxB,IAAIgS,KAAMr6B,GACjC9I,KAAK8I,UAAYA,GAIf9I,KAAKoO,QACPzN,EAAKiO,cAAc5O,KAAKmxB,IAAIxd,MAAO,OAAS3T,KAAKoO,OACjDpO,KAAKoO,MAAQ,MAEXgG,GAAQA,EAAKhG,QACfzN,EAAK8N,WAAWzO,KAAKmxB,IAAIxd,MAAO,OAASS,EAAKhG,OAC9CpO,KAAKoO,MAAQgG,EAAKhG,QAQtBxL,EAAMiS,UAAUo9B,cAAgB,WAC9B,MAAOjyC,MAAK8G,MAAM6M,MAAMM,OAU1BrR,EAAMiS,UAAUuO,OAAS,SAAU0T,EAAOxb,EAAQ42B,GAChD,GAAI9H,IAAU,EAIV+H,EAAenyC,KAAKmxB,IAAI6gB,OAAO3rB,YAanC,IAZI8rB,GAAgBnyC,KAAKoyC,mBACvBpyC,KAAKoyC,iBAAmBD,EAExBxxC,EAAK0I,QAAQrJ,KAAKiC,MAAO,SAAUyO,GACjCA,EAAKm2B,OAAQ,EACTn2B,EAAKk2B,WAAWl2B,EAAK0S,WAG3B8uB,GAAU,GAI8B,kBAA/BlyC,MAAKk3B,QAAQpnB,QAAQsH,MAAsB,CAGpD,GAAI86B,EAAS,CAIX,GAAIr8B,GAAK7V,KACL0pC,GAAY,CAChB/oC,GAAK0I,QAAQrJ,KAAKiC,MAAO,SAAUyO,GAC5BA,EAAKk2B,YACRl2B,EAAK0S,SACLvN,EAAG87B,aAAanqC,KAAKkJ,IAEvBA,EAAK42B,YAAYoC,IAInB,IAAI2I,GAAqBryC,KAAKiQ,aAAa2hC,QAAQnlC,QAAQoL,KAAK,SAAUvR,EAAGC,GAC3E,MAAOsP,GAAGqhB,QAAQpnB,QAAQsH,MAAM9Q,EAAE8N,KAAM7N,EAAE6N,OAE5CtS,GAAMA,MAAMuwC,EAAoB/2B,GAAQ,GAG1Ctb,KAAK2xC,aAAe3xC,KAAKsyC,oBAAoBtyC,KAAKiQ,aAAcjQ,KAAK2xC,aAAc7a,OAGnF92B,MAAK2xC,aAAe3xC,KAAKsyC,oBAAoBtyC,KAAKiQ,aAAcjQ,KAAK2xC,aAAc7a,GAE/E92B,KAAKk3B,QAAQpnB,QAAQhO,MAEvBA,EAAMA,MAAM9B,KAAK2xC,aAAcr2B,EAAQ42B,GAGvCpwC,EAAMyhC,QAAQvjC,KAAK2xC,aAAcr2B,EAAQtb,KAAKwjC,UAKlD,IAAItvB,GAASlU,KAAKuyC,iBAAiBj3B,GAG/Bie,EAAav5B,KAAKmxB,IAAIoI,UAC1Bv5B,MAAK4I,IAAM2wB,EAAWiZ,UACtBxyC,KAAK0I,KAAO6wB,EAAWkZ,WACvBzyC,KAAKiU,MAAQslB,EAAW/H,YACxB4Y,EAAUzpC,EAAK8I,eAAezJ,KAAM,SAAUkU,IAAWk2B,EAGzDA,EAAUzpC,EAAK8I,eAAezJ,KAAK8G,MAAM6M,MAAO,QAAS3T,KAAKmxB,IAAI4gB,MAAM5wB,cAAgBipB,EACxFA,EAAUzpC,EAAK8I,eAAezJ,KAAK8G,MAAM6M,MAAO,SAAU3T,KAAKmxB,IAAI4gB,MAAM1rB,eAAiB+jB,EAG1FpqC,KAAKmxB,IAAI5jB,WAAWa,MAAM8F,OAASA,EAAS,KAC5ClU,KAAKmxB,IAAIoI,WAAWnrB,MAAM8F,OAASA,EAAS,KAC5ClU,KAAKmxB,IAAIxd,MAAMvF,MAAM8F,OAASA,EAAS,IAGvC,KAAK,GAAI1N,GAAI,EAAGksC,EAAK1yC,KAAK2xC,aAAajrC,OAAYgsC,EAAJlsC,EAAQA,IAAK,CAC1D,GAAIkK,GAAO1Q,KAAK2xC,aAAanrC,EAC7BkK,GAAK62B,YAAYjsB,GAGnB,MAAO8uB,IASTxnC,EAAMiS,UAAU09B,iBAAmB,SAAUj3B,GAE3C,GAAIpH,GACAy9B,EAAe3xC,KAAK2xC,YAGxB3xC,MAAK2yC,gBACL,IAAI98B,GAAK7V,IACT,IAAI2xC,EAAajrC,OAAS,EAAG,CAC3B,GAAIrC,GAAMstC,EAAa,GAAG/oC,IACtBtE,EAAMqtC,EAAa,GAAG/oC,IAAM+oC,EAAa,GAAGz9B,MAShD,IARAvT,EAAK0I,QAAQsoC,EAAc,SAAUjhC,GACnCrM,EAAMK,KAAKL,IAAIA,EAAKqM,EAAK9H,KACzBtE,EAAMI,KAAKJ,IAAIA,EAAKoM,EAAK9H,IAAM8H,EAAKwD,QACT9N,SAAvBsK,EAAK0D,KAAKsvB,WACZ7tB,EAAG2tB,UAAU9yB,EAAK0D,KAAKsvB,UAAUxvB,OAASxP,KAAKJ,IAAIuR,EAAG2tB,UAAU9yB,EAAK0D,KAAKsvB,UAAUxvB,OAAQxD,EAAKwD,QACjG2B,EAAG2tB,UAAU9yB,EAAK0D,KAAKsvB,UAAUzZ,SAAU,KAG3C5lB,EAAMiX,EAAO6nB,KAAM,CAErB,GAAIjY,GAAS7mB,EAAMiX,EAAO6nB,IAC1B7+B,IAAO4mB,EACPvqB,EAAK0I,QAAQsoC,EAAc,SAAUjhC,GACnCA,EAAK9H,KAAOsiB,IAGhBhX,EAAS5P,EAAMgX,EAAO5K,KAAKuW,SAAW,MAEtC/S,GAAS,CAIX,OAFAA,GAASxP,KAAKJ,IAAI4P,EAAQlU,KAAK8G,MAAM6M,MAAMO,SAQ7CtR,EAAMiS,UAAUuyB,KAAO,WAChBpnC,KAAKmxB,IAAIxd,MAAM9I,YAClB7K,KAAKk3B,QAAQ/F,IAAIqI,SAAS3mB,YAAY7S,KAAKmxB,IAAIxd,OAG5C3T,KAAKmxB,IAAIoI,WAAW1uB,YACvB7K,KAAKk3B,QAAQ/F,IAAIoI,WAAW1mB,YAAY7S,KAAKmxB,IAAIoI,YAG9Cv5B,KAAKmxB,IAAI5jB,WAAW1C,YACvB7K,KAAKk3B,QAAQ/F,IAAI5jB,WAAWsF,YAAY7S,KAAKmxB,IAAI5jB,YAG9CvN,KAAKmxB,IAAIgS,KAAKt4B,YACjB7K,KAAKk3B,QAAQ/F,IAAIgS,KAAKtwB,YAAY7S,KAAKmxB,IAAIgS,OAO/CvgC,EAAMiS,UAAUsyB,KAAO,WACrB,GAAIxzB,GAAQ3T,KAAKmxB,IAAIxd,KACjBA,GAAM9I,YACR8I,EAAM9I,WAAW1G,YAAYwP,EAG/B,IAAI4lB,GAAav5B,KAAKmxB,IAAIoI,UACtBA,GAAW1uB,YACb0uB,EAAW1uB,WAAW1G,YAAYo1B,EAGpC,IAAIhsB,GAAavN,KAAKmxB,IAAI5jB,UACtBA,GAAW1C,YACb0C,EAAW1C,WAAW1G,YAAYoJ,EAGpC,IAAI41B,GAAOnjC,KAAKmxB,IAAIgS,IAChBA,GAAKt4B,YACPs4B,EAAKt4B,WAAW1G,YAAYg/B,IAQhCvgC,EAAMiS,UAAUF,IAAM,SAAUjE,GAc9B,GAbA1Q,KAAKiC,MAAMyO,EAAKrQ,IAAMqQ,EACtBA,EAAKw2B,UAAUlnC,MAGYoG,SAAvBsK,EAAK0D,KAAKsvB,WAC+Bt9B,SAAvCpG,KAAKwjC,UAAU9yB,EAAK0D,KAAKsvB,YAC3B1jC,KAAKwjC,UAAU9yB,EAAK0D,KAAKsvB,WAAcxvB,OAAQ,EAAG+V,SAAS,EAAO9gB,MAAOnJ,KAAKipC,cAAehnC,UAC7FjC,KAAKipC,iBAEPjpC,KAAKwjC,UAAU9yB,EAAK0D,KAAKsvB,UAAUzhC,MAAMuF,KAAKkJ,IAEhD1Q,KAAK4yC,iBAEkC,IAAnC5yC,KAAK2xC,aAAapqC,QAAQmJ,GAAa,CACzC,GAAIomB,GAAQ92B,KAAKk3B,QAAQnB,KAAKe,KAC9B92B,MAAK6yC,gBAAgBniC,EAAM1Q,KAAK2xC,aAAc7a,KAIlDl0B,EAAMiS,UAAU+9B,eAAiB,WAC/B,GAA6BxsC,SAAzBpG,KAAKyxC,gBAA+B,CACtC,GAAIqB,KACJ,IAAmC,gBAAxB9yC,MAAKyxC,gBAA6B,CAC3C,IAAK,GAAI/N,KAAY1jC,MAAKwjC,UACxBsP,EAAUtrC,MAAOk8B,SAAUA,EAAUqP,UAAW/yC,KAAKwjC,UAAUE,GAAUzhC,MAAM,GAAGmS,KAAKpU,KAAKyxC,kBAE9FqB,GAAUj7B,KAAK,SAAUvR,EAAGC,GAC1B,MAAOD,GAAEysC,UAAYxsC,EAAEwsC,gBAEpB,IAAmC,kBAAxB/yC,MAAKyxC,gBAA+B,CACpD,IAAK,GAAI/N,KAAY1jC,MAAKwjC,UACxBsP,EAAUtrC,KAAKxH,KAAKwjC,UAAUE,GAAUzhC,MAAM,GAAGmS,KAEnD0+B,GAAUj7B,KAAK7X,KAAKyxC,iBAGtB,GAAIqB,EAAUpsC,OAAS,EACrB,IAAK,GAAIF,GAAI,EAAGA,EAAIssC,EAAUpsC,OAAQF,IACpCxG,KAAKwjC,UAAUsP,EAAUtsC,GAAGk9B,UAAUv6B,MAAQ3C,IAMtD5D,EAAMiS,UAAU89B,eAAiB,WAC/B,IAAK,GAAIjP,KAAY1jC,MAAKwjC,UACpBxjC,KAAKwjC,UAAUx9B,eAAe09B,KAChC1jC,KAAKwjC,UAAUE,GAAUzZ,SAAU,IASzCrnB,EAAMiS,UAAUmD,OAAS,SAAUtH,SAC1B1Q,MAAKiC,MAAMyO,EAAKrQ,IACvBqQ,EAAKw2B,UAAU,KAGf,IAAI/9B,GAAQnJ,KAAK2xC,aAAapqC,QAAQmJ,EACzB,KAATvH,GAAanJ,KAAK2xC,aAAavoC,OAAOD,EAAO,IASnDvG,EAAMiS,UAAUgzB,kBAAoB,SAAUn3B,GAC5C1Q,KAAKk3B,QAAQ8b,WAAWtiC,EAAKrQ,KAM/BuC,EAAMiS,UAAUuC,MAAQ,WAKtB,IAAK,GAJD5N,GAAQ7I,EAAK4I,QAAQvJ,KAAKiC,OAC1BgxC,KACAC,KAEK1sC,EAAI,EAAGA,EAAIgD,EAAM9C,OAAQF,IACNJ,SAAtBoD,EAAMhD,GAAG4N,KAAKlD,KAChBgiC,EAAS1rC,KAAKgC,EAAMhD,IAEtBysC,EAAWzrC,KAAKgC,EAAMhD,GAExBxG,MAAKiQ,cACH2hC,QAASqB,EACTpB,MAAOqB,GAGTpxC,EAAM+gC,aAAa7iC,KAAKiQ,aAAa2hC,SACrC9vC,EAAMghC,WAAW9iC,KAAKiQ,aAAa4hC,QAWrCjvC,EAAMiS,UAAUy9B,oBAAsB,SAAUriC,EAAckjC,EAAiBrc,GAC7E,GAKIpmB,GAAMlK,EALNmrC,KACAyB,KACAxf,GAAYkD,EAAM5lB,IAAM4lB,EAAM7lB,OAAS,EACvCoiC,EAAavc,EAAM7lB,MAAQ2iB,EAC3B0f,EAAaxc,EAAM5lB,IAAM0iB,EAIzB1jB,EAAiB,SAAwB1L,GAC3C,MAAY6uC,GAAR7uC,EACK,GACW8uC,GAAT9uC,EACF,EAEA,EAOX,IAAI2uC,EAAgBzsC,OAAS,EAC3B,IAAKF,EAAI,EAAGA,EAAI2sC,EAAgBzsC,OAAQF,IACtCxG,KAAKuzC,6BAA6BJ,EAAgB3sC,GAAImrC,EAAcyB,EAAoBtc,EAK5F,IAAI0c,GAAoB7yC,EAAKqP,mBAAmBC,EAAa2hC,QAAS1hC,EAAgB,OAAQ,QAS9F,IANAlQ,KAAKyzC,cAAcD,EAAmBvjC,EAAa2hC,QAASD,EAAcyB,EAAoB,SAAU1iC,GACtG,MAAOA,GAAK0D,KAAKnD,MAAQoiC,GAAc3iC,EAAK0D,KAAKnD,MAAQqiC,IAK9B,GAAzBtzC,KAAK8xC,iBAEP,IADA9xC,KAAK8xC,kBAAmB,EACnBtrC,EAAI,EAAGA,EAAIyJ,EAAa4hC,MAAMnrC,OAAQF,IACzCxG,KAAKuzC,6BAA6BtjC,EAAa4hC,MAAMrrC,GAAImrC,EAAcyB,EAAoBtc,OAExF,CAEL,GAAI4c,GAAkB/yC,EAAKqP,mBAAmBC,EAAa4hC,MAAO3hC,EAAgB,OAAQ,MAG1FlQ,MAAKyzC,cAAcC,EAAiBzjC,EAAa4hC,MAAOF,EAAcyB,EAAoB,SAAU1iC,GAClG,MAAOA,GAAK0D,KAAKlD,IAAMmiC,GAAc3iC,EAAK0D,KAAKlD,IAAMoiC,IAKzD,IAAK9sC,EAAI,EAAGA,EAAImrC,EAAajrC,OAAQF,IACnCkK,EAAOihC,EAAanrC,GACfkK,EAAKk2B,WAAWl2B,EAAK02B,OAE1B12B,EAAK42B,aAgBP,OAAOqK,IAGT/uC,EAAMiS,UAAU4+B,cAAgB,SAAUE,EAAY1xC,EAAO0vC,EAAcyB,EAAoBQ,GAC7F,GAAIljC,GACAlK,CAEJ,IAAkB,IAAdmtC,EAAkB,CACpB,IAAKntC,EAAImtC,EAAYntC,GAAK,IACxBkK,EAAOzO,EAAMuE,IACTotC,EAAeljC,IAFQlK,IAKWJ,SAAhCgtC,EAAmB1iC,EAAKrQ,MAC1B+yC,EAAmB1iC,EAAKrQ,KAAM,EAC9BsxC,EAAanqC,KAAKkJ,GAKxB,KAAKlK,EAAImtC,EAAa,EAAGntC,EAAIvE,EAAMyE,SACjCgK,EAAOzO,EAAMuE,IACTotC,EAAeljC,IAFsBlK,IAKHJ,SAAhCgtC,EAAmB1iC,EAAKrQ,MAC1B+yC,EAAmB1iC,EAAKrQ,KAAM,EAC9BsxC,EAAanqC,KAAKkJ,MAkB5B9N,EAAMiS,UAAUg+B,gBAAkB,SAAUniC,EAAMihC,EAAc7a,GAC1DpmB,EAAK22B,UAAUvQ,IACZpmB,EAAKk2B,WAAWl2B,EAAK02B,OAE1B12B,EAAK42B,cACLqK,EAAanqC,KAAKkJ,IAEdA,EAAKk2B,WAAWl2B,EAAKy2B,QAe7BvkC,EAAMiS,UAAU0+B,6BAA+B,SAAU7iC,EAAMihC,EAAcyB,EAAoBtc,GAC3FpmB,EAAK22B,UAAUvQ,GACmB1wB,SAAhCgtC,EAAmB1iC,EAAKrQ,MAC1B+yC,EAAmB1iC,EAAKrQ,KAAM,EAC9BsxC,EAAanqC,KAAKkJ,IAGhBA,EAAKk2B,WAAWl2B,EAAKy2B,QAI7BtnC,EAAOD,QAAUgD,GAIb,SAAS/C,EAAQD,EAASM,GAa9B,QAAS2C,GAAgB42B,EAASrlB,EAAM8iB,GACtCt0B,EAAMrC,KAAKP,KAAMy5B,EAASrlB,EAAM8iB,GAEhCl3B,KAAKiU,MAAQ,EACbjU,KAAKkU,OAAS,EACdlU,KAAK4I,IAAM,EACX5I,KAAK0I,KAAO,EAfd,GACI9F,IADO1C,EAAoB,GACnBA,EAAoB,IAiBhC2C,GAAgBgS,UAAYzN,OAAOsI,OAAO9M,EAAMiS,WAShDhS,EAAgBgS,UAAUuO,OAAS,SAAU0T,EAAOxb,EAAQ42B,GAC1D,GAAI9H,IAAU,CAEdpqC,MAAK2xC,aAAe3xC,KAAKsyC,oBAAoBtyC,KAAKiQ,aAAcjQ,KAAK2xC,aAAc7a,GAGnF92B,KAAKiU,MAAQjU,KAAKmxB,IAAI5jB,WAAWikB,YAGjCxxB,KAAKmxB,IAAI5jB,WAAWa,MAAM8F,OAAS,GAGnC,KAAK,GAAI1N,GAAI,EAAGksC,EAAK1yC,KAAK2xC,aAAajrC,OAAYgsC,EAAJlsC,EAAQA,IAAK,CAC1D,GAAIkK,GAAO1Q,KAAK2xC,aAAanrC,EAC7BkK,GAAK62B,YAAYjsB,GAGnB,MAAO8uB,IAMTvnC,EAAgBgS,UAAUuyB,KAAO,WAC1BpnC,KAAKmxB,IAAI5jB,WAAW1C,YACvB7K,KAAKk3B,QAAQ/F,IAAI5jB,WAAWsF,YAAY7S,KAAKmxB,IAAI5jB,aAIrD1N,EAAOD,QAAUiD,GAIb,SAAShD,EAAQD,EAASM,GA6B9B,QAAS4C,GAAQizB,EAAMjmB,GACrB9P,KAAK+1B,KAAOA,EAEZ/1B,KAAKy1B,gBACH7tB,KAAM,KACN+tB,YAAa,SACbyT,MAAO,OACPtnC,OAAO,EACP+xC,WAAY,KAEZC,YAAY,EACZpM,UACEoC,YAAY,EACZoD,aAAa,EACbv4B,KAAK,EACLqD,QAAQ,GAGVmhB,KAAMp3B,EAASo3B,KAEf4a,MAAO,SAAerjC,EAAMpH,GAC1BA,EAASoH,IAEXsjC,SAAU,SAAkBtjC,EAAMpH,GAChCA,EAASoH,IAEXujC,OAAQ,SAAgBvjC,EAAMpH,GAC5BA,EAASoH,IAEXwjC,SAAU,SAAkBxjC,EAAMpH,GAChCA,EAASoH,IAEXyjC,SAAU,SAAkBzjC,EAAMpH,GAChCA,EAASoH,IAGX4K,QACE5K,MACEsW,WAAY,GACZC,SAAU,IAEZkc,KAAM,IAER3d,QAAS,GAIXxlB,KAAK8P,QAAUnP,EAAKiG,UAAW5G,KAAKy1B,gBAGpCz1B,KAAKo0C,aACHxsC,MAAQqJ,MAAO,OAAQC,IAAK,SAG9BlR,KAAK28B,YACHrG,SAAUP,EAAKp1B,KAAK21B,SACpBI,OAAQX,EAAKp1B,KAAK+1B,QAEpB12B,KAAKmxB,OACLnxB,KAAK8G,SACL9G,KAAK0D,OAAS,IAEd,IAAImS,GAAK7V,IACTA,MAAKm3B,UAAY,KACjBn3B,KAAKo3B,WAAa,KAGlBp3B,KAAKq0C,eACH1/B,IAAK,SAAarK,EAAOkL,EAAQC,GAC/BI,EAAGy+B,OAAO9+B,EAAOvT,QAEnBsU,OAAQ,SAAgBjM,EAAOkL,EAAQC,GACrCI,EAAG0+B,UAAU/+B,EAAOvT,QAEtB+V,OAAQ,SAAgB1N,EAAOkL,EAAQC,GACrCI,EAAG2+B,UAAUh/B,EAAOvT,SAKxBjC,KAAKy0C,gBACH9/B,IAAK,SAAarK,EAAOkL,EAAQC,GAC/BI,EAAG6+B,aAAal/B,EAAOvT,QAEzBsU,OAAQ,SAAgBjM,EAAOkL,EAAQC,GACrCI,EAAG8+B,gBAAgBn/B,EAAOvT,QAE5B+V,OAAQ,SAAgB1N,EAAOkL,EAAQC,GACrCI,EAAG++B,gBAAgBp/B,EAAOvT,SAI9BjC,KAAKiC,SACLjC,KAAKu1B,UACLv1B,KAAK60C,YAEL70C,KAAK80C,aACL90C,KAAK+0C,YAAa,EAElB/0C,KAAKg1C,eAGLh1C,KAAK81B,UAEL91B,KAAK4U,WAAW9E,GAjIlB,GAAInM,GAASzD,EAAoB,IAC7BS,EAAOT,EAAoB,GAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/B6B,EAAW7B,EAAoB,IAC/BqC,EAAYrC,EAAoB,IAChC0C,EAAQ1C,EAAoB,IAC5B2C,EAAkB3C,EAAoB,IACtCkC,EAAUlC,EAAoB,IAC9BmC,EAAYnC,EAAoB,IAChCoC,EAAYpC,EAAoB,IAChCiC,EAAiBjC,EAAoB,IAErC+0C,EAAY,gBACZC,EAAa,gBAsHjBpyC,GAAQ+R,UAAY,GAAItS,GAGxBO,EAAQ+V,OACNtL,WAAYpL,EACZ0mC,IAAKzmC,EACL00B,MAAOx0B,EACPiR,MAAOlR,GAMTS,EAAQ+R,UAAUihB,QAAU,WAC1B,GAAI7U,GAAQtO,SAASM,cAAc,MACnCgO,GAAMnY,UAAY,cAClBmY,EAAM,oBAAsBjhB,KAC5BA,KAAKmxB,IAAIlQ,MAAQA,CAGjB,IAAI1T,GAAaoF,SAASM,cAAc,MACxC1F,GAAWzE,UAAY,iBACvBmY,EAAMpO,YAAYtF,GAClBvN,KAAKmxB,IAAI5jB,WAAaA,CAGtB,IAAIgsB,GAAa5mB,SAASM,cAAc,MACxCsmB,GAAWzwB,UAAY,iBACvBmY,EAAMpO,YAAY0mB,GAClBv5B,KAAKmxB,IAAIoI,WAAaA,CAGtB,IAAI4J,GAAOxwB,SAASM,cAAc,MAClCkwB,GAAKr6B,UAAY,WACjB9I,KAAKmxB,IAAIgS,KAAOA,CAGhB,IAAI3J,GAAW7mB,SAASM,cAAc,MACtCumB,GAAS1wB,UAAY,eACrB9I,KAAKmxB,IAAIqI,SAAWA,EAGpBx5B,KAAKm1C,kBAGL,IAAIC,GAAkB,GAAIvyC,GAAgBqyC,EAAY,KAAMl1C,KAC5Do1C,GAAgBhO,OAChBpnC,KAAKu1B,OAAO2f,GAAcE,EAM1Bp1C,KAAK0D,OAAS,GAAIC,GAAO3D,KAAK+1B,KAAK5E,IAAI+H,iBAGvCl5B,KAAK0D,OAAOuR,GAAG,eAAgB,SAAW3K,GACpCA,EAAM+qC,SACRr1C,KAAK2gC,SAASr2B,IAEf4rB,KAAKl2B,OACRA,KAAK0D,OAAOuR,GAAG,WAAYjV,KAAKugC,aAAarK,KAAKl2B,OAClDA,KAAK0D,OAAOuR,GAAG,UAAWjV,KAAKwgC,QAAQtK,KAAKl2B,OAC5CA,KAAK0D,OAAOuR,GAAG,SAAUjV,KAAKygC,WAAWvK,KAAKl2B,OAG9CA,KAAK0D,OAAOuR,GAAG,MAAOjV,KAAKs1C,cAAcpf,KAAKl2B,OAG9CA,KAAK0D,OAAOuR,GAAG,QAASjV,KAAKu1C,mBAAmBrf,KAAKl2B,OAGrDA,KAAK0D,OAAOuR,GAAG,YAAajV,KAAKw1C,WAAWtf,KAAKl2B,OAGjDA,KAAKonC,QAmEPtkC,EAAQ+R,UAAUD,WAAa,SAAU9E,GACvC,GAAIA,EAAS,CAEX,GAAIP,IAAU,OAAQ,QAAS,QAAS,UAAW,QAAS,aAAc,aAAc,iBAAkB,WAAY,OAAQ,OAC9H5O,GAAKkG,gBAAgB0I,EAAQvP,KAAK8P,QAASA,GAEvC,eAAiBA,KACgB,gBAAxBA,GAAQ6lB,YACjB31B,KAAK8P,QAAQ6lB,YAAc7lB,EAAQ6lB,YACK,gBAAxB7lB,GAAQ6lB,aAA4B,QAAU7lB,GAAQ6lB,cACtE31B,KAAK8P,QAAQ6lB,YAAc7lB,EAAQ6lB,YAAYjlB,OAI/C,UAAYZ,KACgB,gBAAnBA,GAAQwL,QACjBtb,KAAK8P,QAAQwL,OAAO6nB,KAAOrzB,EAAQwL,OACnCtb,KAAK8P,QAAQwL,OAAO5K,KAAKsW,WAAalX,EAAQwL,OAC9Ctb,KAAK8P,QAAQwL,OAAO5K,KAAKuW,SAAWnX,EAAQwL,QACT,gBAAnBxL,GAAQwL,SACxB3a,EAAKkG,iBAAiB,QAAS7G,KAAK8P,QAAQwL,OAAQxL,EAAQwL,QACxD,QAAUxL,GAAQwL,SACe,gBAAxBxL,GAAQwL,OAAO5K,MACxB1Q,KAAK8P,QAAQwL,OAAO5K,KAAKsW,WAAalX,EAAQwL,OAAO5K,KACrD1Q,KAAK8P,QAAQwL,OAAO5K,KAAKuW,SAAWnX,EAAQwL,OAAO5K,MACX,gBAAxBZ,GAAQwL,OAAO5K,MAC/B/P,EAAKkG,iBAAiB,aAAc,YAAa7G,KAAK8P,QAAQwL,OAAO5K,KAAMZ,EAAQwL,OAAO5K,SAM9F,YAAcZ,KACgB,iBAArBA,GAAQ43B,UACjB1nC,KAAK8P,QAAQ43B,SAASoC,WAAah6B,EAAQ43B,SAC3C1nC,KAAK8P,QAAQ43B,SAASwF,YAAcp9B,EAAQ43B,SAC5C1nC,KAAK8P,QAAQ43B,SAAS/yB,IAAM7E,EAAQ43B,SACpC1nC,KAAK8P,QAAQ43B,SAAS1vB,OAASlI,EAAQ43B,UACF,gBAArB53B,GAAQ43B,UACxB/mC,EAAKkG,iBAAiB,aAAc,cAAe,MAAO,UAAW7G,KAAK8P,QAAQ43B,SAAU53B,EAAQ43B,UAKxG,IAAI+N,GAAc,SAAW79B,GAC3B,GAAIkD,GAAKhL,EAAQ8H,EACjB,IAAIkD,EAAI,CACN,KAAMA,YAAc46B,WAClB,KAAM,IAAIlyC,OAAM,UAAYoU,EAAO,uBAAyBA,EAAO,mBAErE5X,MAAK8P,QAAQ8H,GAAQkD,IAEtBob,KAAKl2B,OACP,QAAS,WAAY,WAAY,SAAU,YAAYqJ,QAAQosC,GAGhEz1C,KAAK23B,cAST70B,EAAQ+R,UAAU8iB,UAAY,SAAU7nB,GACtC9P,KAAK60C,YACL70C,KAAK+0C,YAAa,EAEdjlC,GAAWA,EAAQ8nB,cACrBj3B,EAAK0I,QAAQrJ,KAAKiC,MAAO,SAAUyO,GACjCA,EAAKm2B,OAAQ,EACTn2B,EAAKk2B,WAAWl2B,EAAK0S,YAQ/BtgB,EAAQ+R,UAAUG,QAAU,WAC1BhV,KAAKmnC,OACLnnC,KAAKw3B,SAAS,MACdx3B,KAAKu3B,UAAU,MAEfv3B,KAAK0D,OAAS,KAEd1D,KAAK+1B,KAAO,KACZ/1B,KAAK28B,WAAa,MAMpB75B,EAAQ+R,UAAUsyB,KAAO,WAEnBnnC,KAAKmxB,IAAIlQ,MAAMpW,YACjB7K,KAAKmxB,IAAIlQ,MAAMpW,WAAW1G,YAAYnE,KAAKmxB,IAAIlQ,OAI7CjhB,KAAKmxB,IAAIgS,KAAKt4B,YAChB7K,KAAKmxB,IAAIgS,KAAKt4B,WAAW1G,YAAYnE,KAAKmxB,IAAIgS,MAI5CnjC,KAAKmxB,IAAIqI,SAAS3uB,YACpB7K,KAAKmxB,IAAIqI,SAAS3uB,WAAW1G,YAAYnE,KAAKmxB,IAAIqI,WAQtD12B,EAAQ+R,UAAUuyB,KAAO,WAElBpnC,KAAKmxB,IAAIlQ,MAAMpW,YAClB7K,KAAK+1B,KAAK5E,IAAI5D,OAAO1a,YAAY7S,KAAKmxB,IAAIlQ,OAIvCjhB,KAAKmxB,IAAIgS,KAAKt4B,YACjB7K,KAAK+1B,KAAK5E,IAAIsZ,mBAAmB53B,YAAY7S,KAAKmxB,IAAIgS,MAInDnjC,KAAKmxB,IAAIqI,SAAS3uB,YACrB7K,KAAK+1B,KAAK5E,IAAIzoB,KAAKmK,YAAY7S,KAAKmxB,IAAIqI,WAW5C12B,EAAQ+R,UAAUujB,aAAe,SAAUthB,GACzC,GAAItQ,GAAGksC,EAAIryC,EAAIqQ,CAMf,KAJWtK,QAAP0Q,IAAkBA,MACjB/P,MAAMC,QAAQ8P,KAAMA,GAAOA,IAG3BtQ,EAAI,EAAGksC,EAAK1yC,KAAK80C,UAAUpuC,OAAYgsC,EAAJlsC,EAAQA,IAC9CnG,EAAKL,KAAK80C,UAAUtuC,GACpBkK,EAAO1Q,KAAKiC,MAAM5B,GACdqQ,GAAMA,EAAKq2B,UAKjB,KADA/mC,KAAK80C,aACAtuC,EAAI,EAAGksC,EAAK57B,EAAIpQ,OAAYgsC,EAAJlsC,EAAQA,IACnCnG,EAAKyW,EAAItQ,GACTkK,EAAO1Q,KAAKiC,MAAM5B,GACdqQ,IACF1Q,KAAK80C,UAAUttC,KAAKnH,GACpBqQ,EAAKo2B,WASXhkC,EAAQ+R,UAAUyjB,aAAe,WAC/B,MAAOt4B,MAAK80C,UAAUp/B,YAOxB5S,EAAQ+R,UAAU8gC,gBAAkB,WAClC,GAAI7e,GAAQ92B,KAAK+1B,KAAKe,MAAM6K,WACxBj5B,EAAO1I,KAAK+1B,KAAKp1B,KAAK21B,SAASQ,EAAM7lB,OACrC4X,EAAQ7oB,KAAK+1B,KAAKp1B,KAAK21B,SAASQ,EAAM5lB,KAEtC4F,IACJ,KAAK,GAAI2iB,KAAWz5B,MAAKu1B,OACvB,GAAIv1B,KAAKu1B,OAAOvvB,eAAeyzB,GAM7B,IAAK,GALDpmB,GAAQrT,KAAKu1B,OAAOkE,GACpBmc,EAAkBviC,EAAMs+B,aAInBnrC,EAAI,EAAGA,EAAIovC,EAAgBlvC,OAAQF,IAAK,CAC/C,GAAIkK,GAAOklC,EAAgBpvC,EAEvBkK,GAAKhI,KAAOmgB,GAASnY,EAAKhI,KAAOgI,EAAKuD,MAAQvL,GAChDoO,EAAItP,KAAKkJ,EAAKrQ,IAMtB,MAAOyW,IAQThU,EAAQ+R,UAAUghC,UAAY,SAAUx1C,GAEtC,IAAK,GADDy0C,GAAY90C,KAAK80C,UACZtuC,EAAI,EAAGksC,EAAKoC,EAAUpuC,OAAYgsC,EAAJlsC,EAAQA,IAC7C,GAAIsuC,EAAUtuC,IAAMnG,EAAI,CAEtBy0C,EAAU1rC,OAAO5C,EAAG,EACpB,SASN1D,EAAQ+R,UAAUuO,OAAS,WACzB,GAAI9H,GAAStb,KAAK8P,QAAQwL,OACtBwb,EAAQ92B,KAAK+1B,KAAKe,MAClBxrB,EAAS3K,EAAKsK,OAAOK,OACrBwE,EAAU9P,KAAK8P,QACf6lB,EAAc7lB,EAAQ6lB,YACtByU,GAAU,EACVnpB,EAAQjhB,KAAKmxB,IAAIlQ,MACjBymB,EAAW53B,EAAQ43B,SAASoC,YAAch6B,EAAQ43B,SAASwF,WAG/DltC,MAAK8G,MAAM8B,IAAM5I,KAAK+1B,KAAKC,SAASptB,IAAIsL,OAASlU,KAAK+1B,KAAKC,SAASxoB,OAAO5E,IAC3E5I,KAAK8G,MAAM4B,KAAO1I,KAAK+1B,KAAKC,SAASttB,KAAKuL,MAAQjU,KAAK+1B,KAAKC,SAASxoB,OAAO9E,KAG5EuY,EAAMnY,UAAY,eAAiB4+B,EAAW,gBAAkB,IAGhE0C,EAAUpqC,KAAK81C,gBAAkB1L,CAIjC,IAAI2L,GAAkBjf,EAAM5lB,IAAM4lB,EAAM7lB,MACpC+kC,EAASD,GAAmB/1C,KAAKi2C,qBAAuBj2C,KAAK8G,MAAMmN,OAASjU,KAAK8G,MAAMovC,SACvFF,KAAQh2C,KAAK+0C,YAAa,GAC9B/0C,KAAKi2C,oBAAsBF,EAC3B/1C,KAAK8G,MAAMovC,UAAYl2C,KAAK8G,MAAMmN,KAElC,IAAIi+B,GAAUlyC,KAAK+0C,WACfoB,EAAan2C,KAAKo2C,cAClBC,GACF3lC,KAAM4K,EAAO5K,KACbyyB,KAAM7nB,EAAO6nB,MAEXmT,GACF5lC,KAAM4K,EAAO5K,KACbyyB,KAAM7nB,EAAO5K,KAAKuW,SAAW,GAE3B/S,EAAS,EACT2hB,EAAYva,EAAO6nB,KAAO7nB,EAAO5K,KAAKuW,QA6B1C,OA1BAjnB,MAAKu1B,OAAO2f,GAAY9xB,OAAO0T,EAAOwf,EAAgBpE,GAGtDvxC,EAAK0I,QAAQrJ,KAAKu1B,OAAQ,SAAUliB,GAClC,GAAIkjC,GAAcljC,GAAS8iC,EAAaE,EAAcC,EAClDE,EAAenjC,EAAM+P,OAAO0T,EAAOyf,EAAarE,EACpD9H,GAAUoM,GAAgBpM,EAC1Bl2B,GAAUb,EAAMa,SAElBA,EAASxP,KAAKJ,IAAI4P,EAAQ2hB,GAC1B71B,KAAK+0C,YAAa,EAGlB9zB,EAAM7S,MAAM8F,OAAS5I,EAAO4I,GAG5BlU,KAAK8G,MAAMmN,MAAQgN,EAAMuQ,YACzBxxB,KAAK8G,MAAMoN,OAASA,EAGpBlU,KAAKmxB,IAAIgS,KAAK/0B,MAAMxF,IAAM0C,EAAsB,OAAfqqB,EAAuB31B,KAAK+1B,KAAKC,SAASptB,IAAIsL,OAASlU,KAAK+1B,KAAKC,SAASxoB,OAAO5E,IAAM5I,KAAK+1B,KAAKC,SAASptB,IAAIsL,OAASlU,KAAK+1B,KAAKC,SAASkD,gBAAgBhlB,QAC3LlU,KAAKmxB,IAAIgS,KAAK/0B,MAAM1F,KAAO,IAG3B0hC,EAAUpqC,KAAKmqC,cAAgBC,GAUjCtnC,EAAQ+R,UAAUuhC,YAAc,WAC9B,GAAIK,GAA8C,OAA5Bz2C,KAAK8P,QAAQ6lB,YAAuB,EAAI31B,KAAK60C,SAASnuC,OAAS,EACjFgwC,EAAe12C,KAAK60C,SAAS4B,GAC7BN,EAAan2C,KAAKu1B,OAAOmhB,IAAiB12C,KAAKu1B,OAAO0f,EAE1D,OAAOkB,IAAc,MAQvBrzC,EAAQ+R,UAAUsgC,iBAAmB,WACnC,CAAA,GAEIzkC,GAAMwG,EAFNy/B,EAAY32C,KAAKu1B,OAAO0f,EACXj1C,MAAKu1B,OAAO2f,GAG7B,GAAIl1C,KAAKo3B,YAEP,GAAIuf,EAAW,CACbA,EAAUxP,aACHnnC,MAAKu1B,OAAO0f,EAEnB,KAAK/9B,IAAUlX,MAAKiC,MAClB,GAAIjC,KAAKiC,MAAM+D,eAAekR,GAAS,CACrCxG,EAAO1Q,KAAKiC,MAAMiV,GAClBxG,EAAK3F,QAAU2F,EAAK3F,OAAOiN,OAAOtH,EAClC,IAAI+oB,GAAUz5B,KAAK42C,YAAYlmC,EAAK0D,MAChCf,EAAQrT,KAAKu1B,OAAOkE,EACxBpmB,IAASA,EAAMsB,IAAIjE,IAASA,EAAKy2B,aAMvC,KAAKwP,EAAW,CACd,GAAIt2C,GAAK,KACL+T,EAAO,IACXuiC,GAAY,GAAI/zC,GAAMvC,EAAI+T,EAAMpU,MAChCA,KAAKu1B,OAAO0f,GAAa0B,CAEzB,KAAKz/B,IAAUlX,MAAKiC,MACdjC,KAAKiC,MAAM+D,eAAekR,KAC5BxG,EAAO1Q,KAAKiC,MAAMiV,GAClBy/B,EAAUhiC,IAAIjE,GAIlBimC,GAAUvP,SAShBtkC,EAAQ+R,UAAUgiC,YAAc,WAC9B,MAAO72C,MAAKmxB,IAAIqI,UAOlB12B,EAAQ+R,UAAU2iB,SAAW,SAAUv1B,GACrC,GACI6U,GADAjB,EAAK7V,KAEL82C,EAAe92C,KAAKm3B,SAGxB,IAAKl1B,EAEE,CAAA,KAAIA,YAAiBpB,IAAWoB,YAAiBnB,IAGtD,KAAM,IAAIoG,WAAU,kDAFpBlH,MAAKm3B,UAAYl1B,MAFjBjC,MAAKm3B,UAAY,IAkBnB,IAXI2f,IAEFn2C,EAAK0I,QAAQrJ,KAAKq0C,cAAe,SAAU/qC,EAAUgB,GACnDwsC,EAAa1hC,IAAI9K,EAAOhB,KAI1BwN,EAAMggC,EAAat/B,SACnBxX,KAAKw0C,UAAU19B,IAGb9W,KAAKm3B,UAAW,CAElB,GAAI92B,GAAKL,KAAKK,EACdM,GAAK0I,QAAQrJ,KAAKq0C,cAAe,SAAU/qC,EAAUgB,GACnDuL,EAAGshB,UAAUliB,GAAG3K,EAAOhB,EAAUjJ,KAInCyW,EAAM9W,KAAKm3B,UAAU3f,SACrBxX,KAAKs0C,OAAOx9B,GAGZ9W,KAAKm1C,qBAQTryC,EAAQ+R,UAAUkiC,SAAW,WAC3B,MAAO/2C,MAAKm3B,WAOdr0B,EAAQ+R,UAAU0iB,UAAY,SAAUhC,GACtC,GACIze,GADAjB,EAAK7V,IAgBT,IAZIA,KAAKo3B,aACPz2B,EAAK0I,QAAQrJ,KAAKy0C,eAAgB,SAAUnrC,EAAUgB,GACpDuL,EAAGuhB,WAAW9hB,YAAYhL,EAAOhB,KAInCwN,EAAM9W,KAAKo3B,WAAW5f,SACtBxX,KAAKo3B,WAAa,KAClBp3B,KAAK40C,gBAAgB99B,IAIlBye,EAEE,CAAA,KAAIA,YAAkB10B,IAAW00B,YAAkBz0B,IAGxD,KAAM,IAAIoG,WAAU,kDAFpBlH,MAAKo3B,WAAa7B,MAFlBv1B,MAAKo3B,WAAa,IAOpB,IAAIp3B,KAAKo3B,WAAY,CAEnB,GAAI/2B,GAAKL,KAAKK,EACdM,GAAK0I,QAAQrJ,KAAKy0C,eAAgB,SAAUnrC,EAAUgB,GACpDuL,EAAGuhB,WAAWniB,GAAG3K,EAAOhB,EAAUjJ,KAIpCyW,EAAM9W,KAAKo3B,WAAW5f,SACtBxX,KAAK00C,aAAa59B,GAIpB9W,KAAKm1C,mBAGLn1C,KAAKg3C,SAELh3C,KAAK+1B,KAAKE,QAAQhH,KAAK,UAAYna,OAAO,KAO5ChS,EAAQ+R,UAAUoiC,UAAY,WAC5B,MAAOj3C,MAAKo3B,YAOdt0B,EAAQ+R,UAAUm+B,WAAa,SAAU3yC,GACvC,GAAIqQ,GAAO1Q,KAAKm3B,UAAUvgB,IAAIvW,GAC1Bo4B,EAAUz4B,KAAKm3B,UAAU1f,YAEzB/G,IAEF1Q,KAAK8P,QAAQokC,SAASxjC,EAAM,SAAUA,GAChCA,GAGF+nB,EAAQzgB,OAAO3X,MAYvByC,EAAQ+R,UAAUqiC,SAAW,SAAU3e,GACrC,MAAOA,GAAS3wB,MAAQ5H,KAAK8P,QAAQlI,OAAS2wB,EAASrnB,IAAM,QAAU,QASzEpO,EAAQ+R,UAAU+hC,YAAc,SAAUre,GACxC,GAAI3wB,GAAO5H,KAAKk3C,SAAS3e,EACzB,OAAY,cAAR3wB,GAA0CxB,QAAlBmyB,EAASllB,MAC5B6hC,EAEAl1C,KAAKo3B,WAAamB,EAASllB,MAAQ4hC,GAS9CnyC,EAAQ+R,UAAU0/B,UAAY,SAAUz9B,GACtC,GAAIjB,GAAK7V,IAET8W,GAAIzN,QAAQ,SAAUhJ,GACpB,GAAIk4B,GAAW1iB,EAAGshB,UAAUvgB,IAAIvW,EAAIwV,EAAGu+B,aACnC1jC,EAAOmF,EAAG5T,MAAM5B,GAChBuH,EAAOiO,EAAGqhC,SAAS3e,GAEnBpxB,EAAcrE,EAAQ+V,MAAMjR,EAahC,IAXI8I,IAEGvJ,GAAiBuJ,YAAgBvJ,GAKpC0O,EAAGc,YAAYjG,EAAM6nB,IAHrB1iB,EAAGshC,YAAYzmC,GACfA,EAAO,QAMNA,EAAM,CAET,IAAIvJ,EAIG,KAEC,IAAID,WAFO,iBAARU,EAEW,+HAEA,sBAAwBA,EAAO,IAPnD8I,GAAO,GAAIvJ,GAAYoxB,EAAU1iB,EAAG8mB,WAAY9mB,EAAG/F,SACnDY,EAAKrQ,GAAKA,EACVwV,EAAGC,SAASpF,MAUlB1Q,KAAKg3C,SACLh3C,KAAK+0C,YAAa,EAClB/0C,KAAK+1B,KAAKE,QAAQhH,KAAK,UAAYna,OAAO,KAQ5ChS,EAAQ+R,UAAUy/B,OAASxxC,EAAQ+R,UAAU0/B,UAO7CzxC,EAAQ+R,UAAU2/B,UAAY,SAAU19B,GACtC,GAAI6B,GAAQ,EACR9C,EAAK7V,IACT8W,GAAIzN,QAAQ,SAAUhJ,GACpB,GAAIqQ,GAAOmF,EAAG5T,MAAM5B,EAChBqQ,KACFiI,IACA9C,EAAGshC,YAAYzmC,MAIfiI,IAEF3Y,KAAKg3C,SACLh3C,KAAK+0C,YAAa,EAClB/0C,KAAK+1B,KAAKE,QAAQhH,KAAK,UAAYna,OAAO,MAQ9ChS,EAAQ+R,UAAUmiC,OAAS,WAGzBr2C,EAAK0I,QAAQrJ,KAAKu1B,OAAQ,SAAUliB,GAClCA,EAAM+D,WASVtU,EAAQ+R,UAAU8/B,gBAAkB,SAAU79B,GAC5C9W,KAAK00C,aAAa59B,IAQpBhU,EAAQ+R,UAAU6/B,aAAe,SAAU59B,GACzC,GAAIjB,GAAK7V,IAET8W,GAAIzN,QAAQ,SAAUhJ,GACpB,GAAIixC,GAAYz7B,EAAGuhB,WAAWxgB,IAAIvW,GAC9BgT,EAAQwC,EAAG0f,OAAOl1B,EAEtB,IAAKgT,EA4BHA,EAAMsG,QAAQ23B,OA5BJ,CAEV,GAAIjxC,GAAM40C,GAAa50C,GAAM60C,EAC3B,KAAM,IAAI1xC,OAAM,qBAAuBnD,EAAK,qBAG9C,IAAI+2C,GAAehwC,OAAOsI,OAAOmG,EAAG/F,QACpCnP,GAAKiG,OAAOwwC,GACVljC,OAAQ,OAGVb,EAAQ,GAAIzQ,GAAMvC,EAAIixC,EAAWz7B,GACjCA,EAAG0f,OAAOl1B,GAAMgT,CAGhB,KAAK,GAAI6D,KAAUrB,GAAG5T,MACpB,GAAI4T,EAAG5T,MAAM+D,eAAekR,GAAS,CACnC,GAAIxG,GAAOmF,EAAG5T,MAAMiV,EAChBxG,GAAK0D,KAAKf,OAAShT,GACrBgT,EAAMsB,IAAIjE,GAKhB2C,EAAM+D,QACN/D,EAAM+zB,UAOVpnC,KAAK+1B,KAAKE,QAAQhH,KAAK,UAAYna,OAAO,KAQ5ChS,EAAQ+R,UAAU+/B,gBAAkB,SAAU99B,GAC5C,GAAIye,GAASv1B,KAAKu1B,MAClBze,GAAIzN,QAAQ,SAAUhJ,GACpB,GAAIgT,GAAQkiB,EAAOl1B,EAEfgT,KACFA,EAAM8zB,aACC5R,GAAOl1B,MAIlBL,KAAK23B,YAEL33B,KAAK+1B,KAAKE,QAAQhH,KAAK,UAAYna,OAAO,KAQ5ChS,EAAQ+R,UAAUihC,aAAe,WAC/B,GAAI91C,KAAKo3B,WAAY,CAEnB,GAAIyd,GAAW70C,KAAKo3B,WAAW5f,QAC7BJ,MAAOpX,KAAK8P,QAAQ+jC,aAGlBrS,GAAW7gC,EAAK8G,WAAWotC,EAAU70C,KAAK60C,SAC9C,IAAIrT,EAAS,CAEX,GAAIjM,GAASv1B,KAAKu1B,MAClBsf,GAASxrC,QAAQ,SAAUowB,GACzBlE,EAAOkE,GAAS0N,SAIlB0N,EAASxrC,QAAQ,SAAUowB,GACzBlE,EAAOkE,GAAS2N,SAGlBpnC,KAAK60C,SAAWA,EAGlB,MAAOrT,GAEP,OAAO,GASX1+B,EAAQ+R,UAAUiB,SAAW,SAAUpF,GACrC1Q,KAAKiC,MAAMyO,EAAKrQ,IAAMqQ,CAGtB,IAAI+oB,GAAUz5B,KAAK42C,YAAYlmC,EAAK0D,MAChCf,EAAQrT,KAAKu1B,OAAOkE,EACpBpmB,IAAOA,EAAMsB,IAAIjE,IASvB5N,EAAQ+R,UAAU8B,YAAc,SAAUjG,EAAM6nB,GAC9C,GAAI8e,GAAa3mC,EAAK0D,KAAKf,MACvBikC,EAAgB5mC,EAAK0D,KAAKsvB,QAM9B,IAHAhzB,EAAKiJ,QAAQ4e,GAGT8e,GAAc3mC,EAAK0D,KAAKf,OAASikC,GAAiB5mC,EAAK0D,KAAKsvB,SAAU,CACxE,GAAI6T,GAAWv3C,KAAKu1B,OAAO8hB,EACvBE,IAAUA,EAASv/B,OAAOtH,EAE9B,IAAI+oB,GAAUz5B,KAAK42C,YAAYlmC,EAAK0D,MAChCf,EAAQrT,KAAKu1B,OAAOkE,EACpBpmB,IAAOA,EAAMsB,IAAIjE;;GAUzB5N,EAAQ+R,UAAUsiC,YAAc,SAAUzmC,GAExCA,EAAKy2B,aAGEnnC,MAAKiC,MAAMyO,EAAKrQ,GAGvB,IAAI8I,GAAQnJ,KAAK80C,UAAUvtC,QAAQmJ,EAAKrQ,GAC3B,KAAT8I,GAAanJ,KAAK80C,UAAU1rC,OAAOD,EAAO,GAG9CuH,EAAK3F,QAAU2F,EAAK3F,OAAOiN,OAAOtH,IASpC5N,EAAQ+R,UAAU2iC,qBAAuB,SAAUhuC,GAGjD,IAAK,GAFD0pC,MAEK1sC,EAAI,EAAGA,EAAIgD,EAAM9C,OAAQF,IAC5BgD,EAAMhD,YAAclE,IACtB4wC,EAAS1rC,KAAKgC,EAAMhD,GAGxB,OAAO0sC,IAaTpwC,EAAQ+R,UAAU8rB,SAAW,SAAUr2B,GAErCtK,KAAKg1C,YAAYtkC,KAAO1Q,KAAK64B,eAAevuB,GAC5CtK,KAAKg1C,YAAYhL,aAAe1/B,EAAMI,OAAOs/B,eAAgB,EAC7DhqC,KAAKg1C,YAAY9K,cAAgB5/B,EAAMI,OAAOw/B,gBAAiB,EAC/DlqC,KAAKg1C,YAAYyC,UAAY,MAQ/B30C,EAAQ+R,UAAU0rB,aAAe,SAAUj2B,GACzC,GAAKtK,KAAK8P,QAAQ43B,SAASoC,YAAe9pC,KAAK8P,QAAQ43B,SAASwF,YAAhE,CAIA,GAEIpmC,GAFA4J,EAAO1Q,KAAKg1C,YAAYtkC,MAAQ,KAChCmF,EAAK7V,IAGT,IAAI0Q,GAAQA,EAAKi2B,SAAU,CACzB,GAAIqD,GAAehqC,KAAKg1C,YAAYhL,aAChCE,EAAgBlqC,KAAKg1C,YAAY9K,aAEjCF,IACFljC,GACE4J,KAAMs5B,EACN0N,SAAUptC,EAAMijB,OAAOpa,EACvB42B,UAAU,EACV31B,KAAMzT,EAAKiG,UAAW8J,EAAK0D,OAG7BpU,KAAKg1C,YAAYyC,WAAa3wC,IACrBojC,GACTpjC,GACE4J,KAAMw5B,EACNwN,SAAUptC,EAAMijB,OAAOpa,EACvB82B,WAAW,EACX71B,KAAMzT,EAAKiG,UAAW8J,EAAK0D,OAG7BpU,KAAKg1C,YAAYyC,WAAa3wC,IAE9B9G,KAAKg1C,YAAYyC,UAAYz3C,KAAKs4B,eAAe9pB,IAAI,SAAUnO,GAC7D,GAAIqQ,GAAOmF,EAAG5T,MAAM5B,GAChByG,GACF4J,KAAMA,EACNgnC,SAAUptC,EAAMijB,OAAOpa,EACvBiB,KAAMzT,EAAKiG,UAAW8J,EAAK0D,MAG7B,OAAOtN,KAIXwD,EAAMw9B,sBACG9nC,MAAK8P,QAAQ43B,SAAS/yB,KAAOrK,EAAMqtC,SAASC,SAErD53C,KAAK63C,oBAAoBvtC,KAS7BxH,EAAQ+R,UAAUgjC,oBAAsB,SAAUvtC,GAChD,GAAI6uB,GAAOn5B,KAAK8P,QAAQqpB,MAAQ,KAC5B2e,EAAOn3C,EAAK4H,gBAAgBvI,KAAKmxB,IAAIlQ,OACrC9N,EAAI7I,EAAMijB,OAAOpa,EAAI2kC,EAAO,GAC5B1e,EAAOp5B,KAAK+1B,KAAKp1B,KAAK+1B,OAAOvjB,GAC7B1O,EAAQzE,KAAK+1B,KAAKp1B,KAAKy1B,WACvBzM,EAAO3pB,KAAK+1B,KAAKp1B,KAAK20B,UACtBrkB,EAAQkoB,EAAOA,EAAKC,EAAM30B,EAAOklB,GAAQ1Y,EACzCC,EAAMD,EAENsnB,GACF3wB,KAAM,QACNqJ,MAAOA,EACPC,IAAKA,EACL4C,QAAS,YAGPzT,EAAKM,EAAK6E,YACd+yB,GAASv4B,KAAKm3B,UAAU5iB,UAAYlU,CAEpC,IAAIgT,GAAQrT,KAAK84B,gBAAgBxuB,EAC7B+I,KACFklB,EAASllB,MAAQA,EAAMomB,QAGzB,IAAIse,GAAU,GAAIz1C,GAAUi2B,EAAUv4B,KAAK28B,WAAY38B,KAAK8P,QAC5DioC,GAAQ13C,GAAKA,EACb03C,EAAQ3jC,KAAOmkB,EACfv4B,KAAK8V,SAASiiC,EAEd,IAAIjxC,IACF4J,KAAMqnC,EACN9N,WAAW,EACXyN,SAAUptC,EAAMijB,OAAOpa,EACvBiB,KAAMzT,EAAKiG,UAAW2xB,GAExBv4B,MAAKg1C,YAAYyC,WAAa3wC,GAE9BwD,EAAMw9B,mBAQRhlC,EAAQ+R,UAAU2rB,QAAU,SAAUl2B,GACpC,GAAItK,KAAKg1C,YAAYyC,UAAW,CAC9BntC,EAAMw9B,iBAEN,IAAIjyB,GAAK7V,KACLm5B,EAAOn5B,KAAK8P,QAAQqpB,MAAQ,KAC5BvlB,EAAU5T,KAAK+1B,KAAK5E,IAAIzxB,KAAK+yC,WAAazyC,KAAK+1B,KAAKC,SAASttB,KAAKuL,MAClExP,EAAQzE,KAAK+1B,KAAKp1B,KAAKy1B,WACvBzM,EAAO3pB,KAAK+1B,KAAKp1B,KAAK20B,SAG1Bt1B,MAAKg1C,YAAYyC,UAAUpuC,QAAQ,SAAUvC,GAC3C,GACIy1B,GAAU1mB,EAAGkgB,KAAKp1B,KAAK+1B,OAAOpsB,EAAMijB,OAAOpa,EAAIS,GAC/CokC,EAAUniC,EAAGkgB,KAAKp1B,KAAK+1B,OAAO5vB,EAAM4wC,SAAW9jC,GAC/CsX,EAASqR,EAAUyb,EAEnBzf,EAAW53B,EAAKiG,UAAWE,EAAM4J,KAAK0D,KAE1C,IAAIyB,EAAG/F,QAAQ43B,SAASoC,WACtB,GAAIhjC,EAAMijC,UAER,GAAsB3jC,QAAlBmyB,EAAStnB,MAAoB,CAC/B,GAAIgnC,GAAet3C,EAAKgH,QAAQb,EAAMsN,KAAKnD,MAAO,QAC9CA,EAAQ,GAAInM,MAAKmzC,EAAanwC,UAAYojB,EAC9CqN,GAAStnB,MAAQkoB,EAAOA,EAAKloB,EAAOxM,EAAOklB,GAAQ1Y,OAEhD,IAAInK,EAAMmjC,WAEf,GAAoB7jC,QAAhBmyB,EAASrnB,IAAkB,CAC7B,GAAIgnC,GAAav3C,EAAKgH,QAAQb,EAAMsN,KAAKlD,IAAK,QAC1CA,EAAM,GAAIpM,MAAKozC,EAAWpwC,UAAYojB,EAC1CqN,GAASrnB,IAAMioB,EAAOA,EAAKjoB,EAAKzM,EAAOklB,GAAQzY,OAIjD,IAAsB9K,QAAlBmyB,EAAStnB,MAAoB,CAC/B,GAAIgnC,GAAet3C,EAAKgH,QAAQb,EAAMsN,KAAKnD,MAAO,QAAQnJ,UACtDmJ,EAAQ,GAAInM,MAAKmzC,EAAe/sB,EAEpC,IAAoB9kB,QAAhBmyB,EAASrnB,IAAkB,CAC7B,GAAIgnC,GAAav3C,EAAKgH,QAAQb,EAAMsN,KAAKlD,IAAK,QAC1CC,EAAW+mC,EAAWpwC,UAAYmwC,EAAanwC,SAEnDywB,GAAStnB,MAAQkoB,EAAOA,EAAKloB,EAAOxM,EAAOklB,GAAQ1Y,EACnDsnB,EAASrnB,IAAM,GAAIpM,MAAKyzB,EAAStnB,MAAMnJ,UAAYqJ,OAEnDonB,GAAStnB,MAAQkoB,EAAOA,EAAKloB,EAAOxM,EAAOklB,GAAQ1Y,EAM3D,GAAI4E,EAAG/F,QAAQ43B,SAASwF,cAAiBpmC,EAAMijC,WAAajjC,EAAMmjC,WAC1C7jC,QAAlBmyB,EAASllB,MAAoB,CAE/B,GAAIA,GAAQwC,EAAGijB,gBAAgBxuB,EAC3B+I,KACFklB,EAASllB,MAAQA,EAAMomB,SAM7B5jB,EAAG/F,QAAQqkC,SAAS5b,EAAU,SAAUA,GAClCA,GACFzxB,EAAM4J,KAAKiJ,QAAQ4e,OAKzBv4B,KAAK+0C,YAAa,EAClB/0C,KAAK+1B,KAAKE,QAAQhH,KAAK,YAU3BnsB,EAAQ+R,UAAUoyB,aAAe,SAAUv2B,EAAM+oB,GAC/C,GAAIpmB,GAAQrT,KAAKu1B,OAAOkE,EACxB,IAAIpmB,GAASA,EAAMomB,SAAW/oB,EAAK0D,KAAKf,MAAO,CAC7C,GAAIkkC,GAAW7mC,EAAK3F,MACpBwsC,GAASv/B,OAAOtH,GAChB6mC,EAASngC,QACT/D,EAAMsB,IAAIjE,GACV2C,EAAM+D,QAEN1G,EAAK0D,KAAKf,MAAQA,EAAMomB,UAS5B32B,EAAQ+R,UAAU4rB,WAAa,SAAUn2B,GACvC,GAAItK,KAAKg1C,YAAYyC,UAAW,CAC9BntC,EAAMw9B,iBAGN,IAAIqQ,MACAtiC,EAAK7V,KACLy4B,EAAUz4B,KAAKm3B,UAAU1f,aAEzBggC,EAAYz3C,KAAKg1C,YAAYyC,SACjCz3C,MAAKg1C,YAAYyC,UAAY,KAC7BA,EAAUpuC,QAAQ,SAAUvC,GAC1B,GAAIzG,GAAKyG,EAAM4J,KAAKrQ,GAChBuY,EAAiD,MAAxC/C,EAAGshB,UAAUvgB,IAAIvW,EAAIwV,EAAGu+B,YAErC,IAAKx7B,EAYE,CAEL,GAAI2f,GAAW53B,EAAKiG,UAAWE,EAAM4J,KAAK0D,KAC1CyB,GAAG/F,QAAQmkC,OAAO1b,EAAU,SAAUA,GAChCA,GAEFA,EAASE,EAAQlkB,UAAYlU,EAC7B83C,EAAQ3wC,KAAK+wB,KAGbzxB,EAAM4J,KAAKiJ,QAAQ7S,EAAMsN,MAEzByB,EAAGk/B,YAAa,EAChBl/B,EAAGkgB,KAAKE,QAAQhH,KAAK,iBAvBzBpZ,GAAG/F,QAAQikC,MAAMjtC,EAAM4J,KAAK0D,KAAM,SAAUmkB,GAC1C1iB,EAAGshC,YAAYrwC,EAAM4J,MACjB6nB,GACF1iB,EAAGshB,UAAU1f,aAAa9C,IAAI4jB,GAIhC1iB,EAAGk/B,YAAa,EAChBl/B,EAAGkgB,KAAKE,QAAQhH,KAAK,cAsBvBkpB,EAAQzxC,QACV+xB,EAAQliB,OAAO4hC,KAUrBr1C,EAAQ+R,UAAUygC,cAAgB,SAAUhrC,GAC1C,GAAKtK,KAAK8P,QAAQgkC,WAAlB,CAEA,GAAI8D,GAAUttC,EAAMqtC,UAAYrtC,EAAMqtC,SAASC,QAC3CQ,EAAW9tC,EAAMqtC,UAAYrtC,EAAMqtC,SAASS,QAChD,IAAIR,GAAWQ,EAEb,WADAp4C,MAAKu1C,mBAAmBjrC,EAI1B,IAAI+tC,GAAer4C,KAAKs4B,eAEpB5nB,EAAO1Q,KAAK64B,eAAevuB,GAC3BwqC,EAAYpkC,GAAQA,EAAKrQ,MAC7BL,MAAKo4B,aAAa0c,EAElB,IAAIwD,GAAet4C,KAAKs4B,gBAIpBggB,EAAa5xC,OAAS,GAAK2xC,EAAa3xC,OAAS,IACnD1G,KAAK+1B,KAAKE,QAAQhH,KAAK,UACrBhtB,MAAOq2C,MAUbx1C,EAAQ+R,UAAU2gC,WAAa,SAAUlrC,GACvC,GAAKtK,KAAK8P,QAAQgkC,YACb9zC,KAAK8P,QAAQ43B,SAAS/yB,IAA3B,CAEA,GAAIkB,GAAK7V,KACLm5B,EAAOn5B,KAAK8P,QAAQqpB,MAAQ,KAC5BzoB,EAAO1Q,KAAK64B,eAAevuB,EAE/B,IAAIoG,EAAM,CAIR,GAAI6nB,GAAW1iB,EAAGshB,UAAUvgB,IAAIlG,EAAKrQ,GACrCL,MAAK8P,QAAQkkC,SAASzb,EAAU,SAAUA,GACpCA,GACF1iB,EAAGshB,UAAU1f,aAAalB,OAAOgiB,SAGhC,CAEL,GAAIuf,GAAOn3C,EAAK4H,gBAAgBvI,KAAKmxB,IAAIlQ,OACrC9N,EAAI7I,EAAMijB,OAAOpa,EAAI2kC,EACrB7mC,EAAQjR,KAAK+1B,KAAKp1B,KAAK+1B,OAAOvjB,GAC9B1O,EAAQzE,KAAK+1B,KAAKp1B,KAAKy1B,WACvBzM,EAAO3pB,KAAK+1B,KAAKp1B,KAAK20B,UAEtByiB,GACF9mC,MAAOkoB,EAAOA,EAAKloB,EAAOxM,EAAOklB,GAAQ1Y,EACzC6C,QAAS,WAIX,IAA0B,UAAtB9T,KAAK8P,QAAQlI,KAAkB,CACjC,GAAIsJ,GAAMlR,KAAK+1B,KAAKp1B,KAAK+1B,OAAOvjB,EAAInT,KAAK8G,MAAMmN,MAAQ,EACvD8jC,GAAQ7mC,IAAMioB,EAAOA,EAAKjoB,EAAKzM,EAAOklB,GAAQzY,EAGhD6mC,EAAQ/3C,KAAKm3B,UAAU5iB,UAAY5T,EAAK6E,YAExC,IAAI6N,GAAQrT,KAAK84B,gBAAgBxuB,EAC7B+I,KACF0kC,EAAQ1kC,MAAQA,EAAMomB,SAIxBz5B,KAAK8P,QAAQikC,MAAMgE,EAAS,SAAUrnC,GAChCA,GACFmF,EAAGshB,UAAU1f,aAAa9C,IAAIjE,QAYtC5N,EAAQ+R,UAAU0gC,mBAAqB,SAAUjrC,GAC/C,GAAKtK,KAAK8P,QAAQgkC,WAAlB,CAEA,GAAIgB,GACApkC,EAAO1Q,KAAK64B,eAAevuB,EAE/B,IAAIoG,EAAM,CAERokC,EAAY90C,KAAKs4B,cAEjB,IAAI8f,GAAW9tC,EAAMqtC,UAAYrtC,EAAMqtC,SAASS,WAAY,CAC5D,IAAIA,EAAU,CAIZtD,EAAUttC,KAAKkJ,EAAKrQ,GACpB,IAAIy2B,GAAQh0B,EAAQy1C,cAAcv4C,KAAKm3B,UAAUvgB,IAAIk+B,EAAW90C,KAAKo0C,aAGrEU,KACA,KAAK,GAAIz0C,KAAML,MAAKiC,MAClB,GAAIjC,KAAKiC,MAAM+D,eAAe3F,GAAK,CACjC,GAAIm4C,GAAQx4C,KAAKiC,MAAM5B,GACnB4Q,EAAQunC,EAAMpkC,KAAKnD,MACnBC,EAAyB9K,SAAnBoyC,EAAMpkC,KAAKlD,IAAoBsnC,EAAMpkC,KAAKlD,IAAMD,CAEtDA,IAAS6lB,EAAMzyB,KAAO6M,GAAO4lB,EAAMxyB,OAASk0C,YAAiBr2C,KAC/D2yC,EAAUttC,KAAKgxC,EAAMn4C,SAItB,CAEL,GAAI8I,GAAQ2rC,EAAUvtC,QAAQmJ,EAAKrQ,GACtB,KAAT8I,EAEF2rC,EAAUttC,KAAKkJ,EAAKrQ,IAGpBy0C,EAAU1rC,OAAOD,EAAO,GAI5BnJ,KAAKo4B,aAAa0c,GAElB90C,KAAK+1B,KAAKE,QAAQhH,KAAK,UACrBhtB,MAAOjC,KAAKs4B,oBAWlBx1B,EAAQy1C,cAAgB,SAAUphB,GAChC,GAAI7yB,GAAM,KACND,EAAM,IAkBV,OAhBA8yB,GAAU9tB,QAAQ,SAAU+K,IACf,MAAP/P,GAAe+P,EAAKnD,MAAQ5M,KAC9BA,EAAM+P,EAAKnD,OAGG7K,QAAZgO,EAAKlD,KACI,MAAP5M,GAAe8P,EAAKlD,IAAM5M,KAC5BA,EAAM8P,EAAKlD,MAGF,MAAP5M,GAAe8P,EAAKnD,MAAQ3M,KAC9BA,EAAM8P,EAAKnD,UAMf5M,IAAKA,EACLC,IAAKA,IAUTxB,EAAQ+R,UAAUgkB,eAAiB,SAAUvuB,GAE3C,IADA,GAAII,GAASJ,EAAMI,OACZA,GAAQ,CACb,GAAIA,EAAO1E,eAAe,iBACxB,MAAO0E,GAAO,gBAEhBA,GAASA,EAAOG,WAGlB,MAAO,OAST/H,EAAQ+R,UAAUikB,gBAAkB,SAAUxuB,GAE5C,IAAK,GADD2uB,GAAQ3uB,EAAMijB,OAASjjB,EAAMijB,OAAOna,EAAI9I,EAAM2uB,MACzCzyB,EAAI,EAAGA,EAAIxG,KAAK60C,SAASnuC,OAAQF,IAAK,CAC7C,GAAIizB,GAAUz5B,KAAK60C,SAASruC,GACxB6M,EAAQrT,KAAKu1B,OAAOkE,GACpBF,EAAalmB,EAAM8d,IAAIoI,WACvB3wB,EAAMjI,EAAKgI,eAAe4wB,EAC9B,IAAIN,EAAQrwB,GAAOqwB,EAAQrwB,EAAM2wB,EAAW7H,aAC1C,MAAOre,EAGT,IAAiC,QAA7BrT,KAAK8P,QAAQ6lB,aACf,GAAInvB,IAAMxG,KAAK60C,SAASnuC,OAAS,GAAKuyB,EAAQrwB,EAC5C,MAAOyK,OAGT,IAAU,IAAN7M,GAAWyyB,EAAQrwB,EAAM2wB,EAAWrO,OACtC,MAAO7X,GAKb,MAAO,OASTvQ,EAAQ21C,kBAAoB,SAAUnuC,GAEpC,IADA,GAAII,GAASJ,EAAMI,OACZA,GAAQ,CACb,GAAIA,EAAO1E,eAAe,oBACxB,MAAO0E,GAAO,mBAEhBA,GAASA,EAAOG,WAGlB,MAAO,OAGThL,EAAOD,QAAUkD,GAIb,SAASjD,EAAQD,EAASM,GAW9B,QAAS6C,GAAOgzB,EAAMjmB,EAAS4oC,EAAMnN,GACnCvrC,KAAK+1B,KAAOA,EACZ/1B,KAAKy1B,gBACH1lB,SAAS,EACT27B,OAAO,EACPiN,SAAU,GACVC,YAAa,EACblwC,MACEuhB,SAAS,EACT7E,SAAU,YAEZyD,OACEoB,SAAS,EACT7E,SAAU,aAGdplB,KAAK04C,KAAOA,EACZ14C,KAAK8P,QAAUnP,EAAKiG,UAAW5G,KAAKy1B,gBACpCz1B,KAAKurC,iBAAmBA,EAExBvrC,KAAK2sC,eACL3sC,KAAKmxB,OACLnxB,KAAKu1B,UACLv1B,KAAK6sC,eAAiB,EACtB7sC,KAAK81B,UAEL91B,KAAK4U,WAAW9E,GAjClB,GAAInP,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BqC,EAAYrC,EAAoB,GAkCpC6C,GAAO8R,UAAY,GAAItS,GAEvBQ,EAAO8R,UAAUuD,MAAQ,WACvBpY,KAAKu1B,UACLv1B,KAAK6sC,eAAiB,GAGxB9pC,EAAO8R,UAAUm4B,SAAW,SAAUr5B,EAAOs5B,GAEtCjtC,KAAKu1B,OAAOvvB,eAAe2N,KAC9B3T,KAAKu1B,OAAO5hB,GAASs5B,GAEvBjtC,KAAK6sC,gBAAkB,GAGzB9pC,EAAO8R,UAAUq4B,YAAc,SAAUv5B,EAAOs5B,GAC9CjtC,KAAKu1B,OAAO5hB,GAASs5B,GAGvBlqC,EAAO8R,UAAUs4B,YAAc,SAAUx5B,GACnC3T,KAAKu1B,OAAOvvB,eAAe2N,WACtB3T,MAAKu1B,OAAO5hB,GACnB3T,KAAK6sC,gBAAkB,IAI3B9pC,EAAO8R,UAAUihB,QAAU,WACzB91B,KAAKmxB,IAAIlQ,MAAQtO,SAASM,cAAc,OACxCjT,KAAKmxB,IAAIlQ,MAAMnY,UAAY,aAC3B9I,KAAKmxB,IAAIlQ,MAAM7S,MAAMgX,SAAW,WAChCplB,KAAKmxB,IAAIlQ,MAAM7S,MAAMxF,IAAM,OAC3B5I,KAAKmxB,IAAIlQ,MAAM7S,MAAMg/B,QAAU,QAE/BptC,KAAKmxB,IAAI0nB,SAAWlmC,SAASM,cAAc,OAC3CjT,KAAKmxB,IAAI0nB,SAAS/vC,UAAY,kBAC9B9I,KAAKmxB,IAAI0nB,SAASzqC,MAAMgX,SAAW,WACnCplB,KAAKmxB,IAAI0nB,SAASzqC,MAAMxF,IAAM,MAE9B5I,KAAKsrC,IAAM34B,SAASC,gBAAgB,6BAA8B,OAClE5S,KAAKsrC,IAAIl9B,MAAMgX,SAAW,WAC1BplB,KAAKsrC,IAAIl9B,MAAMxF,IAAM,MACrB5I,KAAKsrC,IAAIl9B,MAAM6F,MAAQjU,KAAK8P,QAAQ6oC,SAAW,EAAI,KACnD34C,KAAKsrC,IAAIl9B,MAAM8F,OAAS,OAExBlU,KAAKmxB,IAAIlQ,MAAMpO,YAAY7S,KAAKsrC,KAChCtrC,KAAKmxB,IAAIlQ,MAAMpO,YAAY7S,KAAKmxB,IAAI0nB,WAMtC91C,EAAO8R,UAAUsyB,KAAO,WAElBnnC,KAAKmxB,IAAIlQ,MAAMpW,YACjB7K,KAAKmxB,IAAIlQ,MAAMpW,WAAW1G,YAAYnE,KAAKmxB,IAAIlQ,QAQnDle,EAAO8R,UAAUuyB,KAAO,WAEjBpnC,KAAKmxB,IAAIlQ,MAAMpW,YAClB7K,KAAK+1B,KAAK5E,IAAI5D,OAAO1a,YAAY7S,KAAKmxB,IAAIlQ,QAI9Cle,EAAO8R,UAAUD,WAAa,SAAU9E,GACtC,GAAIP,IAAU,UAAW,cAAe,QAAS,OAAQ,QACzD5O,GAAKsG,oBAAoBsI,EAAQvP,KAAK8P,QAASA,IAGjD/M,EAAO8R,UAAUuO,OAAS,WACxB,GAAIuqB,GAAe,CACnB,KAAK,GAAIlU,KAAWz5B,MAAKu1B,OACnBv1B,KAAKu1B,OAAOvvB,eAAeyzB,KACO,GAAhCz5B,KAAKu1B,OAAOkE,GAASxP,SAAkE7jB,SAA9CpG,KAAKurC,iBAAiB1R,WAAWJ,IAAuE,GAA7Cz5B,KAAKurC,iBAAiB1R,WAAWJ,IACvIkU,IAKN,IAAuC,GAAnC3tC,KAAK8P,QAAQ9P,KAAK04C,MAAMzuB,SAA2C,GAAvBjqB,KAAK6sC,gBAA+C,GAAxB7sC,KAAK8P,QAAQC,SAAoC,GAAhB49B,EAC3G3tC,KAAKmnC,WACA,CAoBL,GAnBAnnC,KAAKonC,OACmC,YAApCpnC,KAAK8P,QAAQ9P,KAAK04C,MAAMtzB,UAA8D,eAApCplB,KAAK8P,QAAQ9P,KAAK04C,MAAMtzB,UAC5EplB,KAAKmxB,IAAIlQ,MAAM7S,MAAM1F,KAAO,MAC5B1I,KAAKmxB,IAAIlQ,MAAM7S,MAAM0b,UAAY,OACjC9pB,KAAKmxB,IAAI0nB,SAASzqC,MAAM0b,UAAY,OACpC9pB,KAAKmxB,IAAI0nB,SAASzqC,MAAM1F,KAAO1I,KAAK8P,QAAQ6oC,SAAW,GAAK,KAC5D34C,KAAKmxB,IAAI0nB,SAASzqC,MAAMya,MAAQ,GAChC7oB,KAAKsrC,IAAIl9B,MAAM1F,KAAO,MACtB1I,KAAKsrC,IAAIl9B,MAAMya,MAAQ,KAEvB7oB,KAAKmxB,IAAIlQ,MAAM7S,MAAMya,MAAQ,MAC7B7oB,KAAKmxB,IAAIlQ,MAAM7S,MAAM0b,UAAY,QACjC9pB,KAAKmxB,IAAI0nB,SAASzqC,MAAM0b,UAAY,QACpC9pB,KAAKmxB,IAAI0nB,SAASzqC,MAAMya,MAAQ7oB,KAAK8P,QAAQ6oC,SAAW,GAAK,KAC7D34C,KAAKmxB,IAAI0nB,SAASzqC,MAAM1F,KAAO,GAC/B1I,KAAKsrC,IAAIl9B,MAAMya,MAAQ,MACvB7oB,KAAKsrC,IAAIl9B,MAAM1F,KAAO,IAGgB,YAApC1I,KAAK8P,QAAQ9P,KAAK04C,MAAMtzB,UAA8D,aAApCplB,KAAK8P,QAAQ9P,KAAK04C,MAAMtzB,SAC5EplB,KAAKmxB,IAAIlQ,MAAM7S,MAAMxF,IAAM,EAAI9E,OAAO9D,KAAK+1B,KAAK5E,IAAI5D,OAAOnf,MAAMxF,IAAI+C,QAAQ,KAAM,KAAO,KAC1F3L,KAAKmxB,IAAIlQ,MAAM7S,MAAM4W,OAAS,OACzB,CACL,GAAI8zB,GAAmB94C,KAAK+1B,KAAKC,SAASzI,OAAOrZ,OAASlU,KAAK+1B,KAAKC,SAASkD,gBAAgBhlB,MAC7FlU,MAAKmxB,IAAIlQ,MAAM7S,MAAM4W,OAAS,EAAI8zB,EAAmBh1C,OAAO9D,KAAK+1B,KAAK5E,IAAI5D,OAAOnf,MAAMxF,IAAI+C,QAAQ,KAAM,KAAO,KAChH3L,KAAKmxB,IAAIlQ,MAAM7S,MAAMxF,IAAM,GAGH,GAAtB5I,KAAK8P,QAAQ47B,OACf1rC,KAAKmxB,IAAIlQ,MAAM7S,MAAM6F,MAAQjU,KAAKmxB,IAAI0nB,SAASrnB,YAAc,GAAK,KAClExxB,KAAKmxB,IAAI0nB,SAASzqC,MAAMya,MAAQ,GAChC7oB,KAAKmxB,IAAI0nB,SAASzqC,MAAM1F,KAAO,GAC/B1I,KAAKsrC,IAAIl9B,MAAM6F,MAAQ,QAEvBjU,KAAKmxB,IAAIlQ,MAAM7S,MAAM6F,MAAQjU,KAAK8P,QAAQ6oC,SAAW,GAAK34C,KAAKmxB,IAAI0nB,SAASrnB,YAAc,GAAK,KAC/FxxB,KAAK+4C,kBAGP,IAAIjlC,GAAU,EACd,KAAK,GAAI2lB,KAAWz5B,MAAKu1B,OACnBv1B,KAAKu1B,OAAOvvB,eAAeyzB,KACO,GAAhCz5B,KAAKu1B,OAAOkE,GAASxP,SAAkE7jB,SAA9CpG,KAAKurC,iBAAiB1R,WAAWJ,IAAuE,GAA7Cz5B,KAAKurC,iBAAiB1R,WAAWJ,KACvI3lB,GAAW9T,KAAKu1B,OAAOkE,GAAS3lB,QAAU,UAIhD9T,MAAKmxB,IAAI0nB,SAASpzB,UAAY3R,EAC9B9T,KAAKmxB,IAAI0nB,SAASzqC,MAAMujB,WAAa,IAAO3xB,KAAK8P,QAAQ6oC,SAAW34C,KAAK8P,QAAQ8oC,YAAc,OAInG71C,EAAO8R,UAAUkkC,gBAAkB,WACjC,GAAI/4C,KAAKmxB,IAAIlQ,MAAMpW,WAAY,CAC7BjK,EAAQsR,gBAAgBlS,KAAK2sC,YAC7B,IAAInnB,GAAUjb,OAAOu+B,iBAAiB9oC,KAAKmxB,IAAIlQ,OAAO+3B,WAClDzL,EAAazpC,OAAO0hB,EAAQ7Z,QAAQ,KAAM,KAC1CwH,EAAIo6B,EACJxB,EAAY/rC,KAAK8P,QAAQ6oC,SACzBrL,EAAa,IAAOttC,KAAK8P,QAAQ6oC,SACjCvlC,EAAIm6B,EAAa,GAAMD,EAAa,CAExCttC,MAAKsrC,IAAIl9B,MAAM6F,MAAQ83B,EAAY,EAAIwB,EAAa,IAEpD,KAAK,GAAI9T,KAAWz5B,MAAKu1B,OACnBv1B,KAAKu1B,OAAOvvB,eAAeyzB,KACO,GAAhCz5B,KAAKu1B,OAAOkE,GAASxP,SAAkE7jB,SAA9CpG,KAAKurC,iBAAiB1R,WAAWJ,IAAuE,GAA7Cz5B,KAAKurC,iBAAiB1R,WAAWJ,KACvIz5B,KAAKu1B,OAAOkE,GAAS+T,SAASr6B,EAAGC,EAAGpT,KAAK2sC,YAAa3sC,KAAKsrC,IAAKS,EAAWuB,GAC3El6B,GAAKk6B,EAAattC,KAAK8P,QAAQ8oC,aAKrCh4C,GAAQ2R,gBAAgBvS,KAAK2sC,eAIjC9sC,EAAOD,QAAUmD,GAIb,SAASlD,EAAQD,EAASM,GAuB9B,QAAS8C,GAAU+yB,EAAMjmB,GACvB9P,KAAKK,GAAKM,EAAK6E,aACfxF,KAAK+1B,KAAOA,EAEZ/1B,KAAKy1B,gBACH2b,iBAAkB,OAClB6H,aAAc,UACdphC,MAAM,EACNqhC,UAAU,EACVC,YAAa,QACbpI,QACEhhC,SAAS,EACT4lB,YAAa,UAEfvnB,MAAO,OACPgrC,UACEnlC,MAAO,GACPolC,cAAe,UACfjQ,MAAO,UAETmH,YACExgC,SAAS,EACTygC,gBAAiB,cACjBC,MAAO,IAETj9B,YACEzD,SAAS,EACT2D,KAAM,EACNtF,MAAO,UAETkrC,UACE9N,iBAAiB,EACjBC,iBAAiB,EACjBC,OAAO,EACPz3B,MAAO,OACPgW,SAAS,EACT6T,YAAY,EACZD,aACEn1B,MAAQrE,IAAK+B,OAAW9B,IAAK8B,QAC7ByiB,OAASxkB,IAAK+B,OAAW9B,IAAK8B,UAkBlCmzC,QACExpC,SAAS,EACT27B,OAAO,EACPhjC,MACEuhB,SAAS,EACT7E,SAAU,YAEZyD,OACEoB,SAAS,EACT7E,SAAU,cAGdmQ,QACEsE,gBAKJ75B,KAAK8P,QAAUnP,EAAKiG,UAAW5G,KAAKy1B,gBACpCz1B,KAAKmxB,OACLnxB,KAAK8G,SACL9G,KAAK0D,OAAS,KACd1D,KAAKu1B,UACLv1B,KAAKw5C,oBAAqB,EAC1Bx5C,KAAKy5C,iBAAkB,EACvBz5C,KAAK05C,yBAA0B,CAE/B,IAAI7jC,GAAK7V,IACTA,MAAKm3B,UAAY,KACjBn3B,KAAKo3B,WAAa,KAGlBp3B,KAAKq0C,eACH1/B,IAAK,SAAarK,EAAOkL,EAAQC,GAC/BI,EAAGy+B,OAAO9+B,EAAOvT,QAEnBsU,OAAQ,SAAgBjM,EAAOkL,EAAQC,GACrCI,EAAG0+B,UAAU/+B,EAAOvT,QAEtB+V,OAAQ,SAAgB1N,EAAOkL,EAAQC,GACrCI,EAAG2+B,UAAUh/B,EAAOvT,SAKxBjC,KAAKy0C,gBACH9/B,IAAK,SAAarK,EAAOkL,EAAQC,GAC/BI,EAAG6+B,aAAal/B,EAAOvT,QAEzBsU,OAAQ,SAAgBjM,EAAOkL,EAAQC,GACrCI,EAAG8+B,gBAAgBn/B,EAAOvT,QAE5B+V,OAAQ,SAAgB1N,EAAOkL,EAAQC,GACrCI,EAAG++B,gBAAgBp/B,EAAOvT,SAI9BjC,KAAKiC,SACLjC,KAAK80C,aACL90C,KAAK25C,UAAY35C,KAAK+1B,KAAKe,MAAM7lB,MACjCjR,KAAKg1C,eAELh1C,KAAK2sC,eACL3sC,KAAK4U,WAAW9E,GAChB9P,KAAKgwC,0BAA4B,GACjChwC,KAAK45C,QAAU,EACf55C,KAAK+1B,KAAKE,QAAQhhB,GAAG,eAAgB,WACnCY,EAAG8jC,UAAY9jC,EAAGkgB,KAAKe,MAAM7lB,MAC7B4E,EAAGy1B,IAAIl9B,MAAM1F,KAAO/H,EAAKsK,OAAOK,QAAQuK,EAAG/O,MAAMmN,OACjD4B,EAAGuN,OAAO7iB,KAAKsV,GAAI,KAIrB7V,KAAK81B,UACL91B,KAAKwxC,WAAclG,IAAKtrC,KAAKsrC,IAAKqB,YAAa3sC,KAAK2sC,YAAa78B,QAAS9P,KAAK8P,QAASylB,OAAQv1B,KAAKu1B,QACrGv1B,KAAK+1B,KAAKE,QAAQhH,KAAK,UAvJzB,GAAItuB,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BqC,EAAYrC,EAAoB,IAChCwC,EAAWxC,EAAoB,IAC/ByC,EAAazC,EAAoB,IACjC6C,EAAS7C,EAAoB,IAC7B25C,EAAoB35C,EAAoB,IAExC+0C,EAAY,eAgJhBjyC,GAAU6R,UAAY,GAAItS,GAK1BS,EAAU6R,UAAUihB,QAAU,WAC5B,GAAI7U,GAAQtO,SAASM,cAAc,MACnCgO,GAAMnY,UAAY,iBAClB9I,KAAKmxB,IAAIlQ,MAAQA,EAGjBjhB,KAAKsrC,IAAM34B,SAASC,gBAAgB,6BAA8B,OAClE5S,KAAKsrC,IAAIl9B,MAAMgX,SAAW,WAC1BplB,KAAKsrC,IAAIl9B,MAAM8F,QAAU,GAAKlU,KAAK8P,QAAQqpC,aAAaxtC,QAAQ,KAAM,IAAM,KAC5E3L,KAAKsrC,IAAIl9B,MAAMg/B,QAAU,QACzBnsB,EAAMpO,YAAY7S,KAAKsrC,KAGvBtrC,KAAK8P,QAAQwpC,SAAS3jB,YAAc,OACpC31B,KAAK85B,UAAY,GAAIp3B,GAAS1C,KAAK+1B,KAAM/1B,KAAK8P,QAAQwpC,SAAUt5C,KAAKsrC,IAAKtrC,KAAK8P,QAAQylB,QAEvFv1B,KAAK8P,QAAQwpC,SAAS3jB,YAAc,QACpC31B,KAAK+5B,WAAa,GAAIr3B,GAAS1C,KAAK+1B,KAAM/1B,KAAK8P,QAAQwpC,SAAUt5C,KAAKsrC,IAAKtrC,KAAK8P,QAAQylB,cACjFv1B,MAAK8P,QAAQwpC,SAAS3jB,YAG7B31B,KAAKg6B,WAAa,GAAIj3B,GAAO/C,KAAK+1B,KAAM/1B,KAAK8P,QAAQypC,OAAQ,OAAQv5C,KAAK8P,QAAQylB,QAClFv1B,KAAKi6B,YAAc,GAAIl3B,GAAO/C,KAAK+1B,KAAM/1B,KAAK8P,QAAQypC,OAAQ,QAASv5C,KAAK8P,QAAQylB,QAEpFv1B,KAAKonC,QAOPpkC,EAAU6R,UAAUD,WAAa,SAAU9E,GACzC,GAAIA,EAAS,CACX,GAAIP,IAAU,WAAY,eAAgB,SAAU,cAAe,mBAAoB,QAAS,WAAY,WAAY,OAAQ,SACpGnJ,UAAxB0J,EAAQqpC,aAAgD/yC,SAAnB0J,EAAQoE,QAAsE9N,SAA9CpG,KAAK+1B,KAAKC,SAASkD,gBAAgBhlB,QAC1GlU,KAAKy5C,iBAAkB,EACvBz5C,KAAK05C,yBAA0B,GACwBtzC,SAA9CpG,KAAK+1B,KAAKC,SAASkD,gBAAgBhlB,QAAgD9N,SAAxB0J,EAAQqpC,aACxEptC,UAAU+D,EAAQqpC,YAAc,IAAIxtC,QAAQ,KAAM,KAAO3L,KAAK+1B,KAAKC,SAASkD,gBAAgBhlB,SAC9FlU,KAAKy5C,iBAAkB,GAG3B94C,EAAKsG,oBAAoBsI,EAAQvP,KAAK8P,QAASA,GAC/CnP,EAAKiP,aAAa5P,KAAK8P,QAASA,EAAS,cACzCnP,EAAKiP,aAAa5P,KAAK8P,QAASA,EAAS,cACzCnP,EAAKiP,aAAa5P,KAAK8P,QAASA,EAAS,UACzCnP,EAAKiP,aAAa5P,KAAK8P,QAASA,EAAS,UAErCA,EAAQygC,YACuB,gBAAtBzgC,GAAQygC,YACbzgC,EAAQygC,WAAWC,kBACqB,WAAtC1gC,EAAQygC,WAAWC,gBACrBxwC,KAAK8P,QAAQygC,WAAWE,MAAQ,EACe,WAAtC3gC,EAAQygC,WAAWC,gBAC5BxwC,KAAK8P,QAAQygC,WAAWE,MAAQ,GAEhCzwC,KAAK8P,QAAQygC,WAAWC,gBAAkB,cAC1CxwC,KAAK8P,QAAQygC,WAAWE,MAAQ,KAMpCzwC,KAAK85B,WACkB1zB,SAArB0J,EAAQwpC,WACVt5C,KAAK85B,UAAUllB,WAAW5U,KAAK8P,QAAQwpC,UACvCt5C,KAAK+5B,WAAWnlB,WAAW5U,KAAK8P,QAAQwpC,WAIxCt5C,KAAKg6B,YACgB5zB,SAAnB0J,EAAQypC,SACVv5C,KAAKg6B,WAAWplB,WAAW5U,KAAK8P,QAAQypC,QACxCv5C,KAAKi6B,YAAYrlB,WAAW5U,KAAK8P,QAAQypC,SAIzCv5C,KAAKu1B,OAAOvvB,eAAeivC,IAC7Bj1C,KAAKu1B,OAAO0f,GAAWrgC,WAAW9E,GAKlC9P,KAAKmxB,IAAIlQ,OACXjhB,KAAKojB,QAAO,IAOhBpgB,EAAU6R,UAAUsyB,KAAO,WAErBnnC,KAAKmxB,IAAIlQ,MAAMpW,YACjB7K,KAAKmxB,IAAIlQ,MAAMpW,WAAW1G,YAAYnE,KAAKmxB,IAAIlQ,QAQnDje,EAAU6R,UAAUuyB,KAAO,WAEpBpnC,KAAKmxB,IAAIlQ,MAAMpW,YAClB7K,KAAK+1B,KAAK5E,IAAI5D,OAAO1a,YAAY7S,KAAKmxB,IAAIlQ,QAQ9Cje,EAAU6R,UAAU2iB,SAAW,SAAUv1B,GACvC,GACI6U,GADAjB,EAAK7V,KAEL82C,EAAe92C,KAAKm3B,SAGxB,IAAKl1B,EAEE,CAAA,KAAIA,YAAiBpB,IAAWoB,YAAiBnB,IAGtD,KAAM,IAAIoG,WAAU,kDAFpBlH,MAAKm3B,UAAYl1B,MAFjBjC,MAAKm3B,UAAY,IAkBnB,IAXI2f,IAEFn2C,EAAK0I,QAAQrJ,KAAKq0C,cAAe,SAAU/qC,EAAUgB,GACnDwsC,EAAa1hC,IAAI9K,EAAOhB,KAI1BwN,EAAMggC,EAAat/B,SACnBxX,KAAKw0C,UAAU19B,IAGb9W,KAAKm3B,UAAW,CAElB,GAAI92B,GAAKL,KAAKK,EACdM,GAAK0I,QAAQrJ,KAAKq0C,cAAe,SAAU/qC,EAAUgB,GACnDuL,EAAGshB,UAAUliB,GAAG3K,EAAOhB,EAAUjJ,KAInCyW,EAAM9W,KAAKm3B,UAAU3f,SACrBxX,KAAKs0C,OAAOx9B,GAEd9W,KAAKm1C,mBAELn1C,KAAKojB,QAAO,IAOdpgB,EAAU6R,UAAU0iB,UAAY,SAAUhC,GACxC,GACIze,GADAjB,EAAK7V,IAgBT,IAZIA,KAAKo3B,aACPz2B,EAAK0I,QAAQrJ,KAAKy0C,eAAgB,SAAUnrC,EAAUgB,GACpDuL,EAAGuhB,WAAW9hB,YAAYhL,EAAOhB,KAInCwN,EAAM9W,KAAKo3B,WAAW5f,SACtBxX,KAAKo3B,WAAa,KAClBp3B,KAAK40C,gBAAgB99B,IAIlBye,EAEE,CAAA,KAAIA,YAAkB10B,IAAW00B,YAAkBz0B,IAGxD,KAAM,IAAIoG,WAAU,kDAFpBlH,MAAKo3B,WAAa7B,MAFlBv1B,MAAKo3B,WAAa,IAOpB,IAAIp3B,KAAKo3B,WAAY,CAEnB,GAAI/2B,GAAKL,KAAKK,EACdM,GAAK0I,QAAQrJ,KAAKy0C,eAAgB,SAAUnrC,EAAUgB,GACpDuL,EAAGuhB,WAAWniB,GAAG3K,EAAOhB,EAAUjJ,KAIpCyW,EAAM9W,KAAKo3B,WAAW5f,SACtBxX,KAAK00C,aAAa59B,GAEpB9W,KAAKu0C,aAQPvxC,EAAU6R,UAAU0/B,UAAY,SAAUz9B,GACxC9W,KAAKm1C,mBACLn1C,KAAK85C,sBAEL95C,KAAKojB,QAAO,IAEdpgB,EAAU6R,UAAUy/B,OAAS,SAAUx9B,GACrC9W,KAAKu0C,UAAUz9B,IAEjB9T,EAAU6R,UAAU2/B,UAAY,SAAU19B,GACxC9W,KAAKu0C,UAAUz9B,IAEjB9T,EAAU6R,UAAU8/B,gBAAkB,SAAUE,GAC9C,IAAK,GAAIruC,GAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAAK,CACxC,GAAI6M,GAAQrT,KAAKo3B,WAAWxgB,IAAIi+B,EAASruC,GACzCxG,MAAK+5C,aAAa1mC,EAAOwhC,EAASruC,IAIpCxG,KAAKojB,QAAO,IAEdpgB,EAAU6R,UAAU6/B,aAAe,SAAUG,GAC3C70C,KAAK20C,gBAAgBE,IAQvB7xC,EAAU6R,UAAU+/B,gBAAkB,SAAUC,GAC9C,IAAK,GAAIruC,GAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAC/BxG,KAAKu1B,OAAOvvB,eAAe6uC,EAASruC,MACmB,SAArDxG,KAAKu1B,OAAOsf,EAASruC,IAAIsJ,QAAQshC,kBACnCpxC,KAAK+5B,WAAWoT,YAAY0H,EAASruC,IACrCxG,KAAKi6B,YAAYkT,YAAY0H,EAASruC,IACtCxG,KAAKi6B,YAAY7W,WAEjBpjB,KAAK85B,UAAUqT,YAAY0H,EAASruC,IACpCxG,KAAKg6B,WAAWmT,YAAY0H,EAASruC,IACrCxG,KAAKg6B,WAAW5W,gBAEXpjB,MAAKu1B,OAAOsf,EAASruC,IAGhCxG,MAAKm1C,mBAELn1C,KAAKojB,QAAO,IAUdpgB,EAAU6R,UAAUklC,aAAe,SAAU1mC,EAAOomB,GAC7Cz5B,KAAKu1B,OAAOvvB,eAAeyzB,IAU9Bz5B,KAAKu1B,OAAOkE,GAASljB,OAAOlD,GACyB,SAAjDrT,KAAKu1B,OAAOkE,GAAS3pB,QAAQshC,kBAC/BpxC,KAAK+5B,WAAWmT,YAAYzT,EAASz5B,KAAKu1B,OAAOkE,IACjDz5B,KAAKi6B,YAAYiT,YAAYzT,EAASz5B,KAAKu1B,OAAOkE,MAElDz5B,KAAK85B,UAAUoT,YAAYzT,EAASz5B,KAAKu1B,OAAOkE,IAChDz5B,KAAKg6B,WAAWkT,YAAYzT,EAASz5B,KAAKu1B,OAAOkE,OAfnDz5B,KAAKu1B,OAAOkE,GAAW,GAAI92B,GAAW0Q,EAAOomB,EAASz5B,KAAK8P,QAAS9P,KAAKgwC,0BACpB,SAAjDhwC,KAAKu1B,OAAOkE,GAAS3pB,QAAQshC,kBAC/BpxC,KAAK+5B,WAAWiT,SAASvT,EAASz5B,KAAKu1B,OAAOkE,IAC9Cz5B,KAAKi6B,YAAY+S,SAASvT,EAASz5B,KAAKu1B,OAAOkE,MAE/Cz5B,KAAK85B,UAAUkT,SAASvT,EAASz5B,KAAKu1B,OAAOkE,IAC7Cz5B,KAAKg6B,WAAWgT,SAASvT,EAASz5B,KAAKu1B,OAAOkE,MAYlDz5B,KAAKg6B,WAAW5W,SAChBpjB,KAAKi6B,YAAY7W,UAQnBpgB,EAAU6R,UAAUilC,oBAAsB,WACxC,GAAsB,MAAlB95C,KAAKm3B,UAAmB,CAC1B,GACIsC,GADAugB,IAEJ,KAAKvgB,IAAWz5B,MAAKu1B,OACfv1B,KAAKu1B,OAAOvvB,eAAeyzB,KAC7BugB,EAAcvgB,MAGlB,KAAK,GAAIviB,KAAUlX,MAAKm3B,UAAU7iB,MAChC,GAAItU,KAAKm3B,UAAU7iB,MAAMtO,eAAekR,GAAS,CAC/C,GAAIxG,GAAO1Q,KAAKm3B,UAAU7iB,MAAM4C,EAChC,IAAkC9Q,SAA9B4zC,EAActpC,EAAK2C,OACrB,KAAM,IAAI7P,OAAM,4IAElBkN,GAAKyC,EAAIxS,EAAKgH,QAAQ+I,EAAKyC,EAAG,QAC9B6mC,EAActpC,EAAK2C,OAAO7L,KAAKkJ,GAGnC,IAAK+oB,IAAWz5B,MAAKu1B,OACfv1B,KAAKu1B,OAAOvvB,eAAeyzB,IAC7Bz5B,KAAKu1B,OAAOkE,GAASjC,SAASwiB,EAAcvgB,MAWpDz2B,EAAU6R,UAAUsgC,iBAAmB,WACrC,GAAIn1C,KAAKm3B,WAA+B,MAAlBn3B,KAAKm3B,UAAmB,CAC5C,GAAI8iB,GAAmB,CACvB,KAAK,GAAI/iC,KAAUlX,MAAKm3B,UAAU7iB,MAChC,GAAItU,KAAKm3B,UAAU7iB,MAAMtO,eAAekR,GAAS,CAC/C,GAAIxG,GAAO1Q,KAAKm3B,UAAU7iB,MAAM4C,EACpB9Q,SAARsK,IACEA,EAAK1K,eAAe,SACHI,SAAfsK,EAAK2C,QACP3C,EAAK2C,MAAQ4hC,GAGfvkC,EAAK2C,MAAQ4hC,EAEfgF,EAAmBvpC,EAAK2C,OAAS4hC,EAAYgF,EAAmB,EAAIA,GAK1E,GAAwB,GAApBA,QACKj6C,MAAKu1B,OAAO0f,GACnBj1C,KAAKg6B,WAAWmT,YAAY8H,GAC5Bj1C,KAAKi6B,YAAYkT,YAAY8H,GAC7Bj1C,KAAK85B,UAAUqT,YAAY8H,GAC3Bj1C,KAAK+5B,WAAWoT,YAAY8H,OACvB,CACL,GAAI5hC,IAAUhT,GAAI40C,EAAWnhC,QAAS9T,KAAK8P,QAAQmpC,aACnDj5C,MAAK+5C,aAAa1mC,EAAO4hC,eAGpBj1C,MAAKu1B,OAAO0f,GACnBj1C,KAAKg6B,WAAWmT,YAAY8H,GAC5Bj1C,KAAKi6B,YAAYkT,YAAY8H,GAC7Bj1C,KAAK85B,UAAUqT,YAAY8H,GAC3Bj1C,KAAK+5B,WAAWoT,YAAY8H,EAG9Bj1C,MAAKg6B,WAAW5W,SAChBpjB,KAAKi6B,YAAY7W,UAOnBpgB,EAAU6R,UAAUuO,OAAS,SAAU82B,GACrC,GAAI9P,IAAU,CAGdpqC,MAAK8G,MAAMmN,MAAQjU,KAAKmxB,IAAIlQ,MAAMuQ,YAClCxxB,KAAK8G,MAAMoN,OAASlU,KAAK+1B,KAAKC,SAASkD,gBAAgBhlB,OAGhC9N,SAAnBpG,KAAKk2C,WAA2Bl2C,KAAK8G,MAAMmN,QAC7CimC,GAAmB,GAIrB9P,EAAUpqC,KAAKmqC,cAAgBC,CAG/B,IAAI2L,GAAkB/1C,KAAK+1B,KAAKe,MAAM5lB,IAAMlR,KAAK+1B,KAAKe,MAAM7lB,MACxD+kC,EAASD,GAAmB/1C,KAAKi2C,mBA2BrC,IA1BAj2C,KAAKi2C,oBAAsBF,EAIZ,GAAX3L,IACFpqC,KAAKsrC,IAAIl9B,MAAM6F,MAAQtT,EAAKsK,OAAOK,OAAO,EAAItL,KAAK8G,MAAMmN,OACzDjU,KAAKsrC,IAAIl9B,MAAM1F,KAAO/H,EAAKsK,OAAOK,QAAQtL,KAAK8G,MAAMmN,QAGN,KAA1CjU,KAAK8P,QAAQoE,OAAS,IAAI3M,QAAQ,MAA8C,GAAhCvH,KAAK05C,2BACxD15C,KAAKy5C,iBAAkB,IAKC,GAAxBz5C,KAAKy5C,iBACHz5C,KAAK8P,QAAQqpC,aAAen5C,KAAK+1B,KAAKC,SAASkD,gBAAgBhlB,OAAS,OAC1ElU,KAAK8P,QAAQqpC,YAAcn5C,KAAK+1B,KAAKC,SAASkD,gBAAgBhlB,OAAS,KACvElU,KAAKsrC,IAAIl9B,MAAM8F,OAASlU,KAAK+1B,KAAKC,SAASkD,gBAAgBhlB,OAAS,MAEtElU,KAAKy5C,iBAAkB,GAEvBz5C,KAAKsrC,IAAIl9B,MAAM8F,QAAU,GAAKlU,KAAK8P,QAAQqpC,aAAaxtC,QAAQ,KAAM,IAAM,KAI/D,GAAXy+B,GAA6B,GAAV4L,GAA6C,GAA3Bh2C,KAAKw5C,oBAAkD,GAApBU,EAC1E9P,EAAUpqC,KAAKm6C,gBAAkB/P,MAGjC,IAAsB,GAAlBpqC,KAAK25C,UAAgB,CACvB,GAAIzuB,GAASlrB,KAAK+1B,KAAKe,MAAM7lB,MAAQjR,KAAK25C,UACtC7iB,EAAQ92B,KAAK+1B,KAAKe,MAAM5lB,IAAMlR,KAAK+1B,KAAKe,MAAM7lB,KAClD,IAAwB,GAApBjR,KAAK8G,MAAMmN,MAAY,CACzB,GAAImmC,GAAmBp6C,KAAK8G,MAAMmN,MAAQ6iB,EACtCljB,EAAUsX,EAASkvB,CACvBp6C,MAAKsrC,IAAIl9B,MAAM1F,MAAQ1I,KAAK8G,MAAMmN,MAAQL,EAAU,MAO1D,MAFA5T,MAAKg6B,WAAW5W,SAChBpjB,KAAKi6B,YAAY7W,SACVgnB,GAOTpnC,EAAU6R,UAAUslC,aAAe,WAGjC,GADAv5C,EAAQsR,gBAAgBlS,KAAK2sC,aACL,GAApB3sC,KAAK8G,MAAMmN,OAAgC,MAAlBjU,KAAKm3B,UAAmB,CACnD,GAAI9jB,GAAO7M,EACP6zC,KACAC,KACAC,KACAC,GAAe,EAGf3F,IACJ,KAAK,GAAIpb,KAAWz5B,MAAKu1B,OACnBv1B,KAAKu1B,OAAOvvB,eAAeyzB,KAC7BpmB,EAAQrT,KAAKu1B,OAAOkE,GACC,GAAjBpmB,EAAM4W,SAAgE7jB,SAA5CpG,KAAK8P,QAAQylB,OAAOsE,WAAWJ,IAAqE,GAA3Cz5B,KAAK8P,QAAQylB,OAAOsE,WAAWJ,IACpHob,EAASrtC,KAAKiyB,GAIpB,IAAIob,EAASnuC,OAAS,EAAG,CAEvB,GAAI+zC,GAAUz6C,KAAK+1B,KAAKp1B,KAAKi2B,cAAc52B,KAAK+1B,KAAKC,SAASt2B,KAAKuU,OAC/DymC,EAAU16C,KAAK+1B,KAAKp1B,KAAKi2B,aAAa,EAAI52B,KAAK+1B,KAAKC,SAASt2B,KAAKuU,OAClEmjB,IAQJ,KANAp3B,KAAK26C,iBAAiB9F,EAAUzd,EAAYqjB,EAASC,GAGrD16C,KAAK46C,eAAe/F,EAAUzd,GAGzB5wB,EAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAC/B6zC,EAAsBxF,EAASruC,IAAMxG,KAAK66C,qBAAqBzjB,EAAWyd,EAASruC,IAIrFxG,MAAK86C,YAAYjG,EAAUwF,EAAuBE,GAIlDC,EAAex6C,KAAK+6C,aAAalG,EAAU0F,EAC3C,IAAIS,GAAa,CACjB,IAAoB,GAAhBR,GAAwBx6C,KAAK45C,QAAUoB,EAKzC,MAJAp6C,GAAQ2R,gBAAgBvS,KAAK2sC,aAC7B3sC,KAAKw5C,oBAAqB,EAC1Bx5C,KAAK45C,UACL55C,KAAK+1B,KAAKE,QAAQhH,KAAK,WAChB,CASP,KAPIjvB,KAAK45C,QAAUoB,GACjB3f,QAAQtG,IAAI,6EAEd/0B,KAAK45C,QAAU,EACf55C,KAAKw5C,oBAAqB,EAGrBhzC,EAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAC/B6M,EAAQrT,KAAKu1B,OAAOsf,EAASruC,IAC7B8zC,EAAmBzF,EAASruC,IAAMxG,KAAKi7C,qBAAqB7jB,EAAWyd,EAASruC,IAAK6M,EAIvF,KAAK7M,EAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAC/B6M,EAAQrT,KAAKu1B,OAAOsf,EAASruC,IACF,OAAvB6M,EAAMvD,QAAQ1B,OAEhBiF,EAAMk+B,KAAK+I,EAAmBzF,EAASruC,IAAK6M,EAAOrT,KAAKwxC,UAG5DqI,GAAkBtI,KAAKsD,EAAUyF,EAAoBt6C,KAAKwxC,YAOhE,MADA5wC,GAAQ2R,gBAAgBvS,KAAK2sC,cACtB,GAgBT3pC,EAAU6R,UAAU8lC,iBAAmB,SAAU9F,EAAUzd,EAAYqjB,EAASC,GAC9E,GAAIrnC,GAAO7M,EAAGymB,EAAGvc,CACjB,IAAImkC,EAASnuC,OAAS,EACpB,IAAKF,EAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAAK,CACpC6M,EAAQrT,KAAKu1B,OAAOsf,EAASruC,IAC7B4wB,EAAWyd,EAASruC,MACpB,IAAI00C,GAAgB9jB,EAAWyd,EAASruC,GAExC,IAA0B,GAAtB6M,EAAMvD,QAAQ+H,KAAc,CAC9B,GAAIsjC,GAAQz2C,KAAKJ,IAAI,EAAG3D,EAAKiQ,kBAAkByC,EAAM8jB,UAAWsjB,EAAS,IAAK,UAC9E,KAAKxtB,EAAIkuB,EAAOluB,EAAI5Z,EAAM8jB,UAAUzwB,OAAQumB,IAE1C,GADAvc,EAAO2C,EAAM8jB,UAAUlK,GACV7mB,SAATsK,EAAoB,CACtB,GAAIA,EAAKyC,EAAIunC,EAAS,CACpBQ,EAAc1zC,KAAKkJ,EACnB,OAEAwqC,EAAc1zC,KAAKkJ,QAKzB,KAAKuc,EAAI,EAAGA,EAAI5Z,EAAM8jB,UAAUzwB,OAAQumB,IACtCvc,EAAO2C,EAAM8jB,UAAUlK,GACV7mB,SAATsK,GACEA,EAAKyC,EAAIsnC,GAAW/pC,EAAKyC,EAAIunC,GAC/BQ,EAAc1zC,KAAKkJ,KAejC1N,EAAU6R,UAAU+lC,eAAiB,SAAU/F,EAAUzd,GACvD,GAAI/jB,EACJ,IAAIwhC,EAASnuC,OAAS,EACpB,IAAK,GAAIF,GAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAEnC,GADA6M,EAAQrT,KAAKu1B,OAAOsf,EAASruC,IACC,GAA1B6M,EAAMvD,QAAQopC,SAAkB,CAClC,GAAIgC,GAAgB9jB,EAAWyd,EAASruC,GACxC,IAAI00C,EAAcx0C,OAAS,EAAG,CAC5B,GAAI00C,GAAY,EACZC,EAAiBH,EAAcx0C,OAI/B40C,EAAYt7C,KAAK+1B,KAAKp1B,KAAK61B,eAAe0kB,EAAcA,EAAcx0C,OAAS,GAAGyM,GAAKnT,KAAK+1B,KAAKp1B,KAAK61B,eAAe0kB,EAAc,GAAG/nC,GACtIooC,EAAiBF,EAAiBC,CACtCF,GAAY12C,KAAKL,IAAIK,KAAK82C,KAAK,GAAMH,GAAiB32C,KAAKJ,IAAI,EAAGI,KAAKqqB,MAAMwsB,IAG7E,KAAK,GADDE,MACKxuB,EAAI,EAAOouB,EAAJpuB,EAAoBA,GAAKmuB,EACvCK,EAAYj0C,KAAK0zC,EAAcjuB,GAEjCmK,GAAWyd,EAASruC,IAAMi1C,KAepCz4C,EAAU6R,UAAUimC,YAAc,SAAUjG,EAAUzd,EAAYmjB,GAChE,GAAIjJ,GAAWj+B,EAAO7M,EAGlBsJ,EAFA4rC,KACAC,IAEJ,IAAI9G,EAASnuC,OAAS,EAAG,CACvB,IAAKF,EAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAC/B8qC,EAAYla,EAAWyd,EAASruC,IAChCsJ,EAAU9P,KAAKu1B,OAAOsf,EAASruC,IAAIsJ,QAC/BwhC,EAAU5qC,OAAS,IACrB2M,EAAQrT,KAAKu1B,OAAOsf,EAASruC,IAES,SAAlCsJ,EAAQspC,SAASC,eAA6C,OAAjBvpC,EAAQ1B,MACvB,QAA5B0B,EAAQshC,iBACVsK,EAAsBA,EAAoBhmC,OAAOrC,EAAMg+B,UAAUC,IAEjEqK,EAAuBA,EAAqBjmC,OAAOrC,EAAMg+B,UAAUC,IAGrEiJ,EAAY1F,EAASruC,IAAM6M,EAAMg+B,UAAUC,EAAWuD,EAASruC,IAMrEqzC,GAAkB+B,oBAAoBF,EAAqBnB,EAAa1F,EAAU,iBAAkB,QACpGgF,EAAkB+B,oBAAoBD,EAAsBpB,EAAa1F,EAAU,kBAAmB,WAU1G7xC,EAAU6R,UAAUkmC,aAAe,SAAUlG,EAAU0F,GACrD,GAOIsB,GACAC,EARA1R,GAAU,EACV2R,GAAgB,EAChBC,GAAiB,EACjBC,EAAU,IACVC,EAAW,IACXC,EAAU,KACVC,EAAW,IAIf,IAAIvH,EAASnuC,OAAS,EAAG,CAEvB,IAAK,GAAIF,GAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAAK,CACxC,GAAI6M,GAAQrT,KAAKu1B,OAAOsf,EAASruC,GAC7B6M,IAA2C,SAAlCA,EAAMvD,QAAQshC,kBACzB2K,GAAgB,EAChBE,EAAU,EACVE,EAAU,GACD9oC,GAASA,EAAMvD,QAAQshC,mBAChC4K,GAAiB,EACjBE,EAAW,EACXE,EAAW,GAKf,IAAK,GAAI51C,GAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAC/B+zC,EAAYv0C,eAAe6uC,EAASruC,KAClC+zC,EAAY1F,EAASruC,IAAI61C,UAAW,IACtCR,EAAStB,EAAY1F,EAASruC,IAAInC,IAClCy3C,EAASvB,EAAY1F,EAASruC,IAAIlC,IAEe,SAA7Ci2C,EAAY1F,EAASruC,IAAI4qC,kBAC3B2K,GAAgB,EAChBE,EAAUA,EAAUJ,EAASA,EAASI,EACtCE,EAAoBL,EAAVK,EAAmBL,EAASK,IAEtCH,GAAiB,EACjBE,EAAWA,EAAWL,EAASA,EAASK,EACxCE,EAAsBN,EAAXM,EAAoBN,EAASM,GAM3B,IAAjBL,GACF/7C,KAAK85B,UAAUnF,SAASsnB,EAASE,GAEb,GAAlBH,GACFh8C,KAAK+5B,WAAWpF,SAASunB,EAAUE,GAqCvC,MAlCAhS,GAAUpqC,KAAKs8C,qBAAqBP,EAAe/7C,KAAK85B,YAAcsQ,EACtEA,EAAUpqC,KAAKs8C,qBAAqBN,EAAgBh8C,KAAK+5B,aAAeqQ,EAElD,GAAlB4R,GAA2C,GAAjBD,GAC5B/7C,KAAK85B,UAAUyiB,WAAY,EAC3Bv8C,KAAK+5B,WAAWwiB,WAAY,IAE5Bv8C,KAAK85B,UAAUyiB,WAAY,EAC3Bv8C,KAAK+5B,WAAWwiB,WAAY,GAE9Bv8C,KAAK+5B,WAAW2S,QAAUqP,EACI,GAA1B/7C,KAAK+5B,WAAW2S,QACI,GAAlBsP,EACFh8C,KAAK85B,UAAU2S,WAAazsC,KAAK+5B,WAAW9lB,MAE5CjU,KAAK85B,UAAU2S,WAAa,EAG9BrC,EAAUpqC,KAAK85B,UAAU1W,UAAYgnB,EACrCpqC,KAAK+5B,WAAWwS,iBAAmBvsC,KAAK85B,UAAUwS,WAClDtsC,KAAK+5B,WAAWyS,aAAexsC,KAAK85B,UAAU0S,aAC9CpC,EAAUpqC,KAAK+5B,WAAW3W,UAAYgnB,GAEtCA,EAAUpqC,KAAK+5B,WAAW3W,UAAYgnB,EAIE,IAAtCyK,EAASttC,QAAQ,mBACnBstC,EAASzrC,OAAOyrC,EAASttC,QAAQ,kBAAmB,GAEX,IAAvCstC,EAASttC,QAAQ,oBACnBstC,EAASzrC,OAAOyrC,EAASttC,QAAQ,mBAAoB,GAGhD6iC,GAWTpnC,EAAU6R,UAAUynC,qBAAuB,SAAUE,EAAUrZ,GAC7D,GAAI3B,IAAU,CAYd,OAXgB,IAAZgb,EACErZ,EAAKhS,IAAIlQ,MAAMpW,YAA6B,GAAfs4B,EAAKjJ,SACpCiJ,EAAKgE,OACL3F,GAAU,GAGP2B,EAAKhS,IAAIlQ,MAAMpW,YAA6B,GAAfs4B,EAAKjJ,SACrCiJ,EAAKiE,OACL5F,GAAU,GAGPA,GAYTx+B,EAAU6R,UAAUgmC,qBAAuB,SAAU4B,GAKnD,IAAK,GAHDC,GAAQC,EADRC,KAEAtmB,EAAWt2B,KAAK+1B,KAAKp1B,KAAK21B,SAErB9vB,EAAI,EAAGA,EAAIi2C,EAAW/1C,OAAQF,IACrCk2C,EAASpmB,EAASmmB,EAAWj2C,GAAG2M,GAAKnT,KAAK8G,MAAMmN,MAChD0oC,EAASF,EAAWj2C,GAAG4M,EACvBwpC,EAAcp1C,MAAO2L,EAAGupC,EAAQtpC,EAAGupC,GAGrC,OAAOC,IAaT55C,EAAU6R,UAAUomC,qBAAuB,SAAUwB,EAAYppC,GAC/D,GACIqpC,GAAQC,EADRC,KAEAtmB,EAAWt2B,KAAK+1B,KAAKp1B,KAAK21B,SAC1B6M,EAAOnjC,KAAK85B,UACZ+iB,EAAY/4C,OAAO9D,KAAKsrC,IAAIl9B,MAAM8F,OAAOvI,QAAQ,KAAM,IACrB,UAAlC0H,EAAMvD,QAAQshC,mBAChBjO,EAAOnjC,KAAK+5B,WAGd,KAAK,GAAIvzB,GAAI,EAAGA,EAAIi2C,EAAW/1C,OAAQF,IAAK,CAC1C,GAAIs2C,EAOJA,GAAaL,EAAWj2C,GAAGmN,MAAQ8oC,EAAWj2C,GAAGmN,MAAQ,KACzD+oC,EAASpmB,EAASmmB,EAAWj2C,GAAG2M,GAAKnT,KAAK8G,MAAMmN,MAChD0oC,EAASj4C,KAAKqqB,MAAMoU,EAAK8L,aAAawN,EAAWj2C,GAAG4M,IACpDwpC,EAAcp1C,MAAO2L,EAAGupC,EAAQtpC,EAAGupC,EAAQhpC,MAAOmpC,IAKpD,MAFAzpC,GAAMi9B,gBAAgB5rC,KAAKL,IAAIw4C,EAAW1Z,EAAK8L,aAAa,KAErD2N,GAGT/8C,EAAOD,QAAUoD,GAIb,SAASnD,EAAQD,EAASM,GAkB9B,QAAS+C,GAAS8yB,EAAMjmB,GACtB9P,KAAKmxB,KACHoI,WAAY,KACZ2S,SACA6Q,cACAC,cACA3qC,WACE65B,SACA6Q,cACAC,gBAGJh9C,KAAK8G,OACHgwB,OACE7lB,MAAO,EACPC,IAAK,EACLysB,YAAa,GAEfsf,QAAS,GAGXj9C,KAAKy1B,gBACHE,YAAa,SACb6V,iBAAiB,EACjBC,iBAAiB,EACjB9H,OAAQ,KACRtN,SAAU,MAEZr2B,KAAK8P,QAAUnP,EAAKiG,UAAW5G,KAAKy1B,gBAEpCz1B,KAAK+1B,KAAOA,EAGZ/1B,KAAK81B,UAEL91B,KAAK4U,WAAW9E,GAjDlB,GAAInP,GAAOT,EAAoB,GAC3BqC,EAAYrC,EAAoB,IAChC6B,EAAW7B,EAAoB,IAC/ByB,EAAWzB,EAAoB,IAC/BuD,EAASvD,EAAoB,GAgDjC+C,GAAS4R,UAAY,GAAItS,GAUzBU,EAAS4R,UAAUD,WAAa,SAAU9E,GACpCA,IAEFnP,EAAKkG,iBAAiB,kBAAmB,kBAAmB,cAAe,SAAU,YAAa7G,KAAK8P,QAASA,GAE5G,eAAiBA,KACgB,gBAAxBA,GAAQ6lB,YACjB31B,KAAK8P,QAAQ6lB,YAAc7lB,EAAQ6lB,YACK,gBAAxB7lB,GAAQ6lB,aAA4B,QAAU7lB,GAAQ6lB,cACtE31B,KAAK8P,QAAQ6lB,YAAc7lB,EAAQ6lB,YAAYwN,OAM/C,UAAYrzB,KACe,kBAAlBrM,GAAO+iC,OAEhB/iC,EAAO+iC,OAAO12B,EAAQ02B,QAEtB/iC,EAAOgjC,KAAK32B,EAAQ02B,WAS5BvjC,EAAS4R,UAAUihB,QAAU,WAC3B91B,KAAKmxB,IAAIoI,WAAa5mB,SAASM,cAAc,OAC7CjT,KAAKmxB,IAAI5jB,WAAaoF,SAASM,cAAc,OAE7CjT,KAAKmxB,IAAIoI,WAAWzwB,UAAY,+BAChC9I,KAAKmxB,IAAI5jB,WAAWzE,UAAY,gCAMlC7F,EAAS4R,UAAUG,QAAU,WAEvBhV,KAAKmxB,IAAIoI,WAAW1uB,YACtB7K,KAAKmxB,IAAIoI,WAAW1uB,WAAW1G,YAAYnE,KAAKmxB,IAAIoI,YAElDv5B,KAAKmxB,IAAI5jB,WAAW1C,YACtB7K,KAAKmxB,IAAI5jB,WAAW1C,WAAW1G,YAAYnE,KAAKmxB,IAAI5jB,YAGtDvN,KAAK+1B,KAAO,MAOd9yB,EAAS4R,UAAUuO,OAAS,WAC1B,GAAItT,GAAU9P,KAAK8P,QACfhJ,EAAQ9G,KAAK8G,MACbyyB,EAAav5B,KAAKmxB,IAAIoI,WACtBhsB,EAAavN,KAAKmxB,IAAI5jB,WAGtBxC,EAAgC,OAAvB+E,EAAQ6lB,YAAuB31B,KAAK+1B,KAAK5E,IAAIvoB,IAAM5I,KAAK+1B,KAAK5E,IAAInM,OAC1Ek4B,EAAgB3jB,EAAW1uB,aAAeE,CAG9C/K,MAAK4tC,oBAGL,IAAIpC,GAAkBxrC,KAAK8P,QAAQ07B,gBAC/BC,EAAkBzrC,KAAK8P,QAAQ27B,eAGnC3kC,GAAM+mC,iBAAmBrC,EAAkB1kC,EAAMgnC,gBAAkB,EACnEhnC,EAAMinC,iBAAmBtC,EAAkB3kC,EAAMknC,gBAAkB,EACnElnC,EAAMoN,OAASpN,EAAM+mC,iBAAmB/mC,EAAMinC,iBAC9CjnC,EAAMmN,MAAQslB,EAAW/H,YAEzB1qB,EAAMonC,gBAAkBluC,KAAK+1B,KAAKC,SAASt2B,KAAKwU,OAASpN,EAAMinC,kBAA2C,OAAvBj+B,EAAQ6lB,YAAuB31B,KAAK+1B,KAAKC,SAAShR,OAAO9Q,OAASlU,KAAK+1B,KAAKC,SAASptB,IAAIsL,QAC5KpN,EAAMmnC,eAAiB,EACvBnnC,EAAMsnC,gBAAkBtnC,EAAMonC,gBAAkBpnC,EAAMinC,iBACtDjnC,EAAMqnC,eAAiB,CAGvB,IAAIgP,GAAwB5jB,EAAW6jB,YACnCC,EAAwB9vC,EAAW6vC,WAoBvC,OAnBA7jB,GAAW1uB,YAAc0uB,EAAW1uB,WAAW1G,YAAYo1B,GAC3DhsB,EAAW1C,YAAc0C,EAAW1C,WAAW1G,YAAYoJ,GAE3DgsB,EAAWnrB,MAAM8F,OAASlU,KAAK8G,MAAMoN,OAAS,KAE9ClU,KAAKs9C,iBAGDH,EACFpyC,EAAOiI,aAAaumB,EAAY4jB,GAEhCpyC,EAAO8H,YAAY0mB,GAEjB8jB,EACFr9C,KAAK+1B,KAAK5E,IAAIsZ,mBAAmBz3B,aAAazF,EAAY8vC,GAE1Dr9C,KAAK+1B,KAAK5E,IAAIsZ,mBAAmB53B,YAAYtF,GAGxCvN,KAAKmqC,cAAgB+S,GAO9Bj6C,EAAS4R,UAAUyoC,eAAiB,WAClC,GAAI3nB,GAAc31B,KAAK8P,QAAQ6lB,YAG3B1kB,EAAQtQ,EAAKgH,QAAQ3H,KAAK+1B,KAAKe,MAAM7lB,MAAO,UAC5CC,EAAMvQ,EAAKgH,QAAQ3H,KAAK+1B,KAAKe,MAAM5lB,IAAK,UACxCqsC,EAAgBv9C,KAAK+1B,KAAKp1B,KAAK+1B,OAA2C,GAAnC12B,KAAK8G,MAAMyoC,gBAAkB,KAASznC,UAC7E61B,EAAc4f,EAAgB57C,EAASy7B,wBAAwBp9B,KAAK+1B,KAAKI,YAAan2B,KAAK+1B,KAAKe,MAAOymB,EAC3G5f,IAAe39B,KAAK+1B,KAAKp1B,KAAK+1B,OAAO,GAAG5uB,SAExC,IAAI6hB,GAAO,GAAI5nB,GAAS,GAAI+C,MAAKmM,GAAQ,GAAInM,MAAKoM,GAAMysB,EAAa39B,KAAK+1B,KAAKI,YAC3En2B,MAAK8P,QAAQ6zB,QACfha,EAAKya,UAAUpkC,KAAK8P,QAAQ6zB,QAE1B3jC,KAAK8P,QAAQumB,UACf1M,EAAK0b,SAASrlC,KAAK8P,QAAQumB,UAE7Br2B,KAAK2pB,KAAOA,CAKZ,IAAIwH,GAAMnxB,KAAKmxB,GACfA,GAAI9e,UAAU65B,MAAQ/a,EAAI+a,MAC1B/a,EAAI9e,UAAU0qC,WAAa5rB,EAAI4rB,WAC/B5rB,EAAI9e,UAAU2qC,WAAa7rB,EAAI6rB,WAC/B7rB,EAAI+a,SACJ/a,EAAI4rB,cACJ5rB,EAAI6rB,aAEJ,IAAIQ,GAEA/d,EAGAge,EAGA30C,EAPAqK,EAAI,EAEJuqC,EAAQ,EACRzpC,EAAQ,EAER0pC,EAAmBv3C,OACnB9B,EAAM,CAIV,KADAqlB,EAAK2a,QACE3a,EAAKyV,WAAmB,IAAN96B,GACvBA,IAEAk5C,EAAM7zB,EAAKC,aACX6V,EAAU9V,EAAK8V,UACf32B,EAAY6gB,EAAKsc,eAEjByX,EAAQvqC,EACRA,EAAInT,KAAK+1B,KAAKp1B,KAAK21B,SAASknB,GAC5BvpC,EAAQd,EAAIuqC,EACRD,IACFA,EAASrvC,MAAM6F,MAAQA,EAAQ,MAG7BjU,KAAK8P,QAAQ07B,iBACfxrC,KAAK49C,kBAAkBzqC,EAAGwW,EAAKoc,gBAAiBpQ,EAAa7sB,GAG3D22B,GAAWz/B,KAAK8P,QAAQ27B,iBACtBt4B,EAAI,IACkB/M,QAApBu3C,IACFA,EAAmBxqC,GAErBnT,KAAK69C,kBAAkB1qC,EAAGwW,EAAKqc,gBAAiBrQ,EAAa7sB,IAE/D20C,EAAWz9C,KAAK89C,kBAAkB3qC,EAAGwiB,EAAa7sB,IAElD20C,EAAWz9C,KAAK+9C,kBAAkB5qC,EAAGwiB,EAAa7sB,GAGpD6gB,EAAKE,MAIP,IAAI7pB,KAAK8P,QAAQ27B,gBAAiB,CAChC,GAAIuS,GAAWh+C,KAAK+1B,KAAKp1B,KAAK+1B,OAAO,GACjCunB,EAAWt0B,EAAKqc,cAAcgY,GAC9BE,EAAYD,EAASv3C,QAAU1G,KAAK8G,MAAMwoC,gBAAkB,IAAM,IAE9ClpC,QAApBu3C,GAA6CA,EAAZO,IACnCl+C,KAAK69C,kBAAkB,EAAGI,EAAUtoB,EAAa7sB,GAKrDnI,EAAK0I,QAAQrJ,KAAKmxB,IAAI9e,UAAW,SAAUjK,GACzC,KAAOA,EAAI1B,QAAQ,CACjB,GAAI8B,GAAOJ,EAAI+1C,KACX31C,IAAQA,EAAKqC,YACfrC,EAAKqC,WAAW1G,YAAYqE,OAcpCvF,EAAS4R,UAAU+oC,kBAAoB,SAAUzqC,EAAG2X,EAAM6K,EAAa7sB,GAErE,GAAI6K,GAAQ3T,KAAKmxB,IAAI9e,UAAU2qC,WAAWtqC,OAE1C,KAAKiB,EAAO,CAEV,GAAIG,GAAUnB,SAAS88B,eAAe,GACtC97B,GAAQhB,SAASM,cAAc,OAC/BU,EAAMd,YAAYiB,GAClB9T,KAAKmxB,IAAIoI,WAAW1mB,YAAYc,GAElC3T,KAAKmxB,IAAI6rB,WAAWx1C,KAAKmM,GAEzBA,EAAMyqC,WAAW,GAAGC,UAAYvzB,EAEhCnX,EAAMvF,MAAMxF,IAAqB,OAAf+sB,EAAuB31B,KAAK8G,MAAMinC,iBAAmB,KAAO,IAC9Ep6B,EAAMvF,MAAM1F,KAAOyK,EAAI,KACvBQ,EAAM7K,UAAY,sBAAwBA,GAY5C7F,EAAS4R,UAAUgpC,kBAAoB,SAAU1qC,EAAG2X,EAAM6K,EAAa7sB,GAErE,GAAI6K,GAAQ3T,KAAKmxB,IAAI9e,UAAU0qC,WAAWrqC,OAE1C,KAAKiB,EAAO,CAEV,GAAIG,GAAUnB,SAAS88B,eAAe3kB,EACtCnX,GAAQhB,SAASM,cAAc,OAC/BU,EAAMd,YAAYiB,GAClB9T,KAAKmxB,IAAIoI,WAAW1mB,YAAYc,GAElC3T,KAAKmxB,IAAI4rB,WAAWv1C,KAAKmM,GAEzBA,EAAMyqC,WAAW,GAAGC,UAAYvzB,EAChCnX,EAAM7K,UAAY,sBAAwBA,EAG1C6K,EAAMvF,MAAMxF,IAAqB,OAAf+sB,EAAuB,IAAM31B,KAAK8G,MAAM+mC,iBAAmB,KAC7El6B,EAAMvF,MAAM1F,KAAOyK,EAAI,MAWzBlQ,EAAS4R,UAAUkpC,kBAAoB,SAAU5qC,EAAGwiB,EAAa7sB,GAE/D,GAAImoB,GAAOjxB,KAAKmxB,IAAI9e,UAAU65B,MAAMx5B,OAC/Bue,KAEHA,EAAOte,SAASM,cAAc,OAC9BjT,KAAKmxB,IAAI5jB,WAAWsF,YAAYoe,IAElCjxB,KAAKmxB,IAAI+a,MAAM1kC,KAAKypB,EAEpB,IAAInqB,GAAQ9G,KAAK8G,KAWjB,OAVmB,OAAf6uB,EACF1E,EAAK7iB,MAAMxF,IAAM9B,EAAMinC,iBAAmB,KAE1C9c,EAAK7iB,MAAMxF,IAAM5I,KAAK+1B,KAAKC,SAASptB,IAAIsL,OAAS,KAEnD+c,EAAK7iB,MAAM8F,OAASpN,EAAMonC,gBAAkB,KAC5Cjd,EAAK7iB,MAAM1F,KAAOyK,EAAIrM,EAAMmnC,eAAiB,EAAI,KAEjDhd,EAAKnoB,UAAY,mCAAqCA,EAE/CmoB,GAWThuB,EAAS4R,UAAUipC,kBAAoB,SAAU3qC,EAAGwiB,EAAa7sB,GAE/D,GAAImoB,GAAOjxB,KAAKmxB,IAAI9e,UAAU65B,MAAMx5B,OAC/Bue,KAEHA,EAAOte,SAASM,cAAc,OAC9BjT,KAAKmxB,IAAI5jB,WAAWsF,YAAYoe,IAElCjxB,KAAKmxB,IAAI+a,MAAM1kC,KAAKypB,EAEpB,IAAInqB,GAAQ9G,KAAK8G,KAWjB,OAVmB,OAAf6uB,EACF1E,EAAK7iB,MAAMxF,IAAM,IAEjBqoB,EAAK7iB,MAAMxF,IAAM5I,KAAK+1B,KAAKC,SAASptB,IAAIsL,OAAS,KAEnD+c,EAAK7iB,MAAM1F,KAAOyK,EAAIrM,EAAMqnC,eAAiB,EAAI,KACjDld,EAAK7iB,MAAM8F,OAASpN,EAAMsnC,gBAAkB,KAE5Cnd,EAAKnoB,UAAY,mCAAqCA,EAE/CmoB,GAQThuB,EAAS4R,UAAU+4B,mBAAqB,WAKjC5tC,KAAKmxB,IAAIue,mBACZ1vC,KAAKmxB,IAAIue,iBAAmB/8B,SAASM,cAAc,OACnDjT,KAAKmxB,IAAIue,iBAAiB5mC,UAAY,iCACtC9I,KAAKmxB,IAAIue,iBAAiBthC,MAAMgX,SAAW,WAE3CplB,KAAKmxB,IAAIue,iBAAiB78B,YAAYF,SAAS88B,eAAe,MAC9DzvC,KAAKmxB,IAAIoI,WAAW1mB,YAAY7S,KAAKmxB,IAAIue,mBAE3C1vC,KAAK8G,MAAMgnC,gBAAkB9tC,KAAKmxB,IAAIue,iBAAiBrpB,aACvDrmB,KAAK8G,MAAMyoC,eAAiBvvC,KAAKmxB,IAAIue,iBAAiBvuB,YAGjDnhB,KAAKmxB,IAAIye,mBACZ5vC,KAAKmxB,IAAIye,iBAAmBj9B,SAASM,cAAc,OACnDjT,KAAKmxB,IAAIye,iBAAiB9mC,UAAY,iCACtC9I,KAAKmxB,IAAIye,iBAAiBxhC,MAAMgX,SAAW,WAE3CplB,KAAKmxB,IAAIye,iBAAiB/8B,YAAYF,SAAS88B,eAAe,MAC9DzvC,KAAKmxB,IAAIoI,WAAW1mB,YAAY7S,KAAKmxB,IAAIye,mBAE3C5vC,KAAK8G,MAAMknC,gBAAkBhuC,KAAKmxB,IAAIye,iBAAiBvpB,aACvDrmB,KAAK8G,MAAMwoC,eAAiBtvC,KAAKmxB,IAAIye,iBAAiBzuB,aAGxDthB,EAAOD,QAAUqD,GAIb,SAASpD,EAAQD,EAASM,GA0F9B,QAASgD,GAAQiY,EAAW/G,EAAMtE,GAChC,GAAIwuC,GAAQt+C,IAEZ,MAAMA,eAAgBkD,IACpB,KAAM,IAAIkY,aAAY,mDAIxBpb,MAAK8P,WACL9P,KAAKy1B,gBACH8oB,YAAY,GAEd59C,EAAKiG,OAAO5G,KAAK8P,QAAS9P,KAAKy1B,gBAG/Bz1B,KAAK+1B,MACHyoB,SACAC,eACAC,SACAC,eACAvqC,MACEoqC,MAAO,KACPE,MAAO,MAETE,WACEC,WAAY,aACZC,WAAY,aACZhe,WAAY,cAEd7K,SACEhhB,GAAIjV,KAAKiV,GAAGihB,KAAKl2B,MACjBoV,IAAKpV,KAAKoV,IAAI8gB,KAAKl2B,MACnBivB,KAAMjvB,KAAKivB,KAAKiH,KAAKl2B,MACrB++C,KAAM/+C,KAAK++C,KAAK7oB,KAAKl2B,OAEvBg/C,gBACEC,MAAO,aACPC,QAAS,aACTC,YAAa,aACbC,OAAQ,aACRC,YAAa,aACbC,OAAQ,aACRC,UAAW,aACXC,aAAc,aACdC,QAAS,aACTC,YAAa,aACbC,UAAW,aACXC,UAAW,cAEbzkC,UAAWA,EACX0kC,MACEp7C,MAAO,EACP2a,aAAejM,EAAG,EAAGC,EAAG,KAK5BpT,KAAK8/C,oBAGL,IAAIC,GAAS,GAAI38C,GAAO,WACtB,MAAOk7C,GAAMvoB,KAAKE,QAAQhH,KAAK,mBAEjCjvB,MAAKu1B,OAAS,GAAIyqB,GAAS,WAC3BhgD,KAAKkhB,OAAS,GAAI++B,GAAS,WAAWjgD,KAAK+1B,MAC3C/1B,KAAKkgD,iBAAmB,GAAIC,GAAmB,WAAWngD,KAAK+1B,KAAM/1B,KAAKkhB,QAC1ElhB,KAAKogD,mBAAqB,GAAIC,GAAqB,WAAWrgD,KAAK+1B,KAAM/1B,KAAKkhB,OAAQlhB,KAAKkgD;AAC3FlgD,KAAK6/C,KAAO,GAAIS,GAAO,WAAWtgD,KAAK+1B,KAAM/1B,KAAKkhB,QAClDlhB,KAAKugD,SAAW,GAAIC,GAAiB,WAAWxgD,KAAK+1B,KAAM/1B,KAAKkhB,QAChElhB,KAAKygD,QAAU,GAAIC,GAAgB,WAAW1gD,KAAK+1B,MACnD/1B,KAAK2gD,aAAe,GAAIC,GAAe,WAAW5gD,KAAK+1B,MACvD/1B,KAAK6gD,WAAa,GAAIC,GAAgB,WAAW9gD,KAAK+1B,MACtD/1B,KAAK+gD,aAAe,GAAIC,GAAqB,WAAWhhD,KAAK+1B,KAAM/1B,KAAKkhB,OAAQlhB,KAAKkgD,kBAErFlgD,KAAKihD,aAAe,GAAIC,GAAe,WAAWlhD,KAAK+1B,KAAMgqB,EAAQ//C,KAAKu1B,OAAQv1B,KAAK2gD,cACvF3gD,KAAKmhD,aAAe,GAAIC,GAAe,WAAWphD,KAAK+1B,KAAMgqB,EAAQ//C,KAAKu1B,QAE1Ev1B,KAAKqhD,oBAAsB,GAAIC,GAAsB,WAAWthD,MAGhEA,KAAKkhB,OAAO4U,UAGZ91B,KAAK4U,WAAW9E,GAGhB9P,KAAK2Z,QAAQvF,GA5Kf,GAAImtC,GAA0B,SAAUz7C,GAAO,MAAOA,IAAOA,EAAI07C,WAAa17C,GAAQ27C,UAAW37C,IAE7F47C,EAAUxhD,EAAoB,IAE9B8/C,EAAWuB,EAAwBG,GAEnCC,EAAgBzhD,EAAoB,IAEpCghD,EAAiBK,EAAwBI,GAEzCC,EAAgB1hD,EAAoB,IAEpCkhD,EAAiBG,EAAwBK,GAEzCC,EAAiB3hD,EAAoB,IAErCwgD,EAAkBa,EAAwBM,GAE1CC,EAAiB5hD,EAAoB,IAErC4gD,EAAkBS,EAAwBO,GAE1CC,EAAkB7hD,EAAoB,IAEtCsgD,EAAmBe,EAAwBQ,GAE3CC,EAAU9hD,EAAoB,IAE9B+/C,EAAWsB,EAAwBS,GAEnCC,EAAQ/hD,EAAoB,IAE5BogD,EAASiB,EAAwBU,GAEjCC,EAAsBhiD,EAAoB,IAE1CmgD,EAAuBkB,EAAwBW,GAE/CC,EAAoBjiD,EAAoB,IAExCigD,EAAqBoB,EAAwBY,GAE7CC,EAAgBliD,EAAoB,IAEpC0gD,EAAiBW,EAAwBa,GAEzCC,EAAsBniD,EAAoB,IAE1C8gD,EAAuBO,EAAwBc,GAE/CC,EAAuBpiD,EAAoB,IAE3CohD,EAAwBC,EAAwBe,GAEhDC,EAAariD,EAAoB,IAEjCsiD,EAAcjB,EAAwBgB,GAEtCE,EAAcviD,EAAoB,IAElCwiD,EAAenB,EAAwBkB,EAG3CviD,GAAoB,GAEpB,IAAIye,GAAUze,EAAoB,IAE9BS,GADST,EAAoB,IACtBA,EAAoB,IAG3BmD,GAFUnD,EAAoB,GACnBA,EAAoB,GACnBA,EAAoB,KAChCoD,EAAcpD,EAAoB,IAClCkD,EAASlD,EAAoB,IAC7ByiD,EAAYziD,EAAoB,GAuGpCye,GAAQzb,EAAQ2R,WAMhB3R,EAAQ2R,UAAUD,WAAa,SAAU9E,GACvC,GAAgB1J,SAAZ0J,EAAuB,CAEzB,GAAI8yC,GAAaJ,EAAY,WAAWK,SAAS/yC,EAAS4yC,EAAa,WACnEE,MAAe,IACjB9yC,KACAurB,QAAQtG,IAAI,6FAA8FwtB,EAAWO,aAIvHhzC,EAAU9P,KAAK2gD,aAAa/rC,WAAW9E,EAAQizC,OAAQjzC,GAGvD9P,KAAKu1B,OAAO3gB,WAAW9E,EAAQylB,QAC/Bv1B,KAAKihD,aAAarsC,WAAW9E,EAAQ0uC,OACrCx+C,KAAKmhD,aAAavsC,WAAW9E,EAAQ4uC,OACrC1+C,KAAKygD,QAAQ7rC,WAAW9E,EAAQ2wC,SAChCzgD,KAAKkhB,OAAOtM,WAAW9E,EAAQoR,QAC/BlhB,KAAKugD,SAAS3rC,WAAW9E,EAAQkzC,WACjChjD,KAAK6/C,KAAKjrC,WAAW9E,EAAQ+vC,MAC7B7/C,KAAKogD,mBAAmBxrC,WAAW9E,EAAQmzC,aAC3CjjD,KAAKkgD,iBAAiBtrC,WAAW9E,EAAQglC,WACzC90C,KAAK6gD,WAAWjsC,WAAW9E,EAAQ+wC,YACnC7gD,KAAK+gD,aAAansC,WAAW9E,EAAQixC,cAErC/gD,KAAKqhD,oBAAoBzsC,WAAW9E,GAGT1J,SAAvB0J,EAAQyuC,WACNzuC,EAAQyuC,cAAe,EACFn4C,SAAnBpG,KAAKkjD,YACPljD,KAAKkjD,UAAY,GAAIP,GAAU3iD,KAAKihB,OACpCjhB,KAAKkjD,UAAUjuC,GAAG,SAAUjV,KAAKmjD,gBAAgBjtB,KAAKl2B,SAGjCoG,SAAnBpG,KAAKkjD,YACPljD,KAAKkjD,UAAUluC,gBACRhV,MAAKkjD,WAEdljD,KAAK+1B,KAAKE,QAAQhH,KAAK,aAGzBjvB,KAAK+1B,KAAKE,QAAQhH,KAAK,YAGzBjvB,KAAKkhB,OAAOiF,UAGZnmB,KAAK+1B,KAAKE,QAAQhH,KAAK,qBAQ3B/rB,EAAQ2R,UAAUuuC,sBAAwB,WACxC,GAAI5E,GAAQx+C,KAAK+1B,KAAKyoB,MAClBE,EAAQ1+C,KAAK+1B,KAAK2oB,KACtB1+C,MAAK+1B,KAAK0oB,eACVz+C,KAAK+1B,KAAK4oB,cAEV,KAAK,GAAI0E,KAAU7E,GACbA,EAAMx4C,eAAeq9C,IACnB7E,EAAM6E,GAAQvzC,QAAQoqB,UAAW,GACnCl6B,KAAK+1B,KAAK0oB,YAAYj3C,KAAK67C,EAKjC,KAAK,GAAIC,KAAU5E,GACbA,EAAM14C,eAAes9C,IACnB5E,EAAM4E,GAAQxzC,QAAQoqB,UAAW,GACnCl6B,KAAK+1B,KAAK4oB,YAAYn3C,KAAK87C,IAMnCpgD,EAAQ2R,UAAUirC,mBAAqB,WACrC,GAAIyD,GAASvjD,IAGbA,MAAK+1B,KAAKE,QAAQhhB,GAAG,eAAgB,SAAUO,GAE7C+tC,EAAOH,wBACPG,EAAO9C,QAAQ+C,uBAGfD,EAAOxtB,KAAKE,QAAQhH,KAAK,kBAI3BjvB,KAAK+1B,KAAKE,QAAQhhB,GAAG,eAAgB,WAEnCsuC,EAAOE,kBAAkBF,EAAOxtB,KAAKyoB,OACrC+E,EAAOE,kBAAkBF,EAAOxtB,KAAK2oB,OAErC6E,EAAOxtB,KAAKE,QAAQhH,KAAK,sBAe7B/rB,EAAQ2R,UAAU8E,QAAU,SAAUvF,GAQpC,GANApU,KAAK+1B,KAAKE,QAAQhH,KAAK,gBACvBjvB,KAAK+1B,KAAKE,QAAQhH,KAAK,cAGvBjvB,KAAKkgD,iBAAiBwD,cAElBtvC,GAAQA,EAAK8c,MAAQ9c,EAAKoqC,OAASpqC,EAAKsqC,OAC1C,KAAM,IAAItjC,aAAY,iGAMxB,IAFApb,KAAK4U,WAAWR,GAAQA,EAAKtE,SAEzBsE,GAAQA,EAAK8c,KAEf,GAAI9c,GAAQA,EAAK8c,IAAK,CACpB,GAAIyyB,GAAUtgD,EAAUugD,WAAWxvC,EAAK8c,IAExC,YADAlxB,MAAK2Z,QAAQgqC,QAGV,IAAIvvC,GAAQA,EAAKyvC,OAEtB,GAAIzvC,GAAQA,EAAKyvC,MAAO,CACtB,GAAIC,GAAYxgD,EAAYygD,WAAW3vC,EAAKyvC,MAE5C,YADA7jD,MAAK2Z,QAAQmqC,QAIf9jD,MAAKihD,aAAatnC,QAAQvF,GAAQA,EAAKoqC,OAAO,GAC9Cx+C,KAAKmhD,aAAaxnC,QAAQvF,GAAQA,EAAKsqC,OAAO,EAIhD1+C,MAAK+1B,KAAKE,QAAQhH,KAAK,gBAGvBjvB,KAAK+1B,KAAKE,QAAQhH,KAAK,gBASzB/rB,EAAQ2R,UAAUG,QAAU,WAC1BhV,KAAK+1B,KAAKE,QAAQhH,KAAK,WAEvBjvB,KAAK+1B,KAAKE,QAAQ7gB,MAElBpV,KAAKoV,MAGLzU,EAAKoD,mBAAmB/D,KAAK+1B,KAAK5a,YAWpCjY,EAAQ2R,UAAU4uC,kBAAoB,SAAU39C,GAC9C,GAAIzF,GAGAyd,EAAW1X,OACX2X,EAAW3X,OACX49C,EAAa,CACjB,KAAK3jD,IAAMyF,GACT,GAAIA,EAAIE,eAAe3F,GAAK,CAC1B,GAAImE,GAAQsB,EAAIzF,GAAIiW,UACNlQ,UAAV5B,IACFsZ,EAAwB1X,SAAb0X,EAAyBtZ,EAAQE,KAAKL,IAAIG,EAAOsZ,GAC5DC,EAAwB3X,SAAb2X,EAAyBvZ,EAAQE,KAAKJ,IAAIE,EAAOuZ,GAC5DimC,GAAcx/C,GAMpB,GAAiB4B,SAAb0X,GAAuC1X,SAAb2X,EAC5B,IAAK1d,IAAMyF,GACLA,EAAIE,eAAe3F,IACrByF,EAAIzF,GAAI4jD,cAAcnmC,EAAUC,EAAUimC,IAUlD9gD,EAAQ2R,UAAUqvC,SAAW,WAC3B,OAAQlkD,KAAKkjD,WAAaljD,KAAKkjD,UAAUiB,QAG3CjhD,EAAQ2R,UAAUsR,QAAU,WAC1BnmB,KAAKkhB,OAAOiF,QAAQzM,MAAM1Z,KAAKkhB,OAAQza,YAEzCvD,EAAQ2R,UAAUuvC,YAAc,WAC9BpkD,KAAKkhB,OAAOkjC,YAAY1qC,MAAM1Z,KAAKkhB,OAAQza,YAE7CvD,EAAQ2R,UAAUwvC,YAAc,WAC9BrkD,KAAKkhB,OAAOiF,QAAQk+B,YAAYrkD,KAAKkhB,OAAQza,YAE/CvD,EAAQ2R,UAAUyvC,SAAW,WAC3BtkD,KAAK6gD,WAAWyD,SAAS5qC,MAAM1Z,KAAK6gD,WAAYp6C,YAElDvD,EAAQ2R,UAAU0vC,UAAY,WAC5BvkD,KAAK6gD,WAAW0D,UAAU7qC,MAAM1Z,KAAK6gD,WAAYp6C,YAEnDvD,EAAQ2R,UAAU2vC,YAAc,WAC9BxkD,KAAK6gD,WAAW2D,YAAY9qC,MAAM1Z,KAAK6gD,WAAYp6C,YAErDvD,EAAQ2R,UAAU4vC,QAAU,WAC1BzkD,KAAK6gD,WAAW4D,QAAQ/qC,MAAM1Z,KAAK6gD,WAAYp6C,YAEjDvD,EAAQ2R,UAAU6vC,oBAAsB,WACtC1kD,KAAK6gD,WAAW6D,oBAAoBhrC,MAAM1Z,KAAK6gD,WAAYp6C,YAE7DvD,EAAQ2R,UAAU8vC,iBAAmB,WACnC3kD,KAAK6gD,WAAW8D,iBAAiBjrC,MAAM1Z,KAAK6gD,WAAYp6C,YAE1DvD,EAAQ2R,UAAU+vC,gBAAkB,WAClC5kD,KAAK6gD,WAAW+D,gBAAgBlrC,MAAM1Z,KAAK6gD,WAAYp6C,YAEzDvD,EAAQ2R,UAAUgwC,QAAU,WAC1B7kD,KAAK2gD,aAAakE,QAAQnrC,MAAM1Z,KAAK2gD,aAAcl6C,YAErDvD,EAAQ2R,UAAUiwC,eAAiB,WACjC9kD,KAAK+gD,aAAa+D,eAAeprC,MAAM1Z,KAAK+gD,aAAct6C,YAE5DvD,EAAQ2R,UAAUkwC,gBAAkB,WAClC/kD,KAAK+gD,aAAagE,gBAAgBrrC,MAAM1Z,KAAK+gD,aAAct6C,YAE7DvD,EAAQ2R,UAAUmwC,YAAc,WAC9BhlD,KAAK+gD,aAAaiE,YAAYtrC,MAAM1Z,KAAK+gD,aAAct6C,YAEzDvD,EAAQ2R,UAAUowC,aAAe,WAC/BjlD,KAAK+gD,aAAakE,aAAavrC,MAAM1Z,KAAK+gD,aAAct6C,YAE1DvD,EAAQ2R,UAAUqwC,YAAc,WAC9BllD,KAAK+gD,aAAamE,YAAYxrC,MAAM1Z,KAAK+gD,aAAct6C,YAEzDvD,EAAQ2R,UAAUswC,aAAe,WAC/BnlD,KAAK+gD,aAAaoE,aAAazrC,MAAM1Z,KAAK+gD,aAAct6C,YAE1DvD,EAAQ2R,UAAUuwC,eAAiB,WACjCplD,KAAK+gD,aAAaqE,eAAe1rC,MAAM1Z,KAAK+gD,aAAct6C,YAE5DvD,EAAQ2R,UAAUwwC,aAAe,WAC/BrlD,KAAKihD,aAAaoE,aAAa3rC,MAAM1Z,KAAKihD,aAAcx6C,YAE1DvD,EAAQ2R,UAAUywC,eAAiB,WACjCtlD,KAAKihD,aAAaqE,eAAe5rC,MAAM1Z,KAAKihD,aAAcx6C,YAE5DvD,EAAQ2R,UAAU0wC,eAAiB,WACjCvlD,KAAKihD,aAAasE,eAAe7rC,MAAM1Z,KAAKihD,aAAcx6C,YAE5DvD,EAAQ2R,UAAU2wC,kBAAoB,WACpCxlD,KAAKihD,aAAauE,kBAAkB9rC,MAAM1Z,KAAKihD,aAAcx6C,YAE/DvD,EAAQ2R,UAAU4wC,SAAW,WAC3BzlD,KAAKihD,aAAawE,SAAS/rC,MAAM1Z,KAAKihD,aAAcx6C,YAEtDvD,EAAQ2R,UAAU6wC,gBAAkB,WAClC1lD,KAAKygD,QAAQiF,gBAAgBhsC,MAAM1Z,KAAKygD,QAASh6C,YAEnDvD,EAAQ2R,UAAU8wC,eAAiB,WACjC3lD,KAAKygD,QAAQkF,eAAejsC,MAAM1Z,KAAKygD,QAASh6C,YAElDvD,EAAQ2R,UAAU+wC,UAAY,WAC5B5lD,KAAKygD,QAAQmF,UAAUlsC,MAAM1Z,KAAKygD,QAASh6C,YAE7CvD,EAAQ2R,UAAUyjB,aAAe,WAC/Bt4B,KAAKkgD,iBAAiB5nB,aAAa5e,MAAM1Z,KAAKkgD,iBAAkBz5C,YAElEvD,EAAQ2R,UAAUgxC,iBAAmB,WACnC7lD,KAAKkgD,iBAAiB2F,iBAAiBnsC,MAAM1Z,KAAKkgD,iBAAkBz5C,YAEtEvD,EAAQ2R,UAAUixC,iBAAmB,WACnC9lD,KAAKkgD,iBAAiB4F,iBAAiBpsC,MAAM1Z,KAAKkgD,iBAAkBz5C,YAEtEvD,EAAQ2R,UAAUkxC,UAAY,WAC5B/lD,KAAKkgD,iBAAiB6F,UAAUrsC,MAAM1Z,KAAKkgD,iBAAkBz5C,YAE/DvD,EAAQ2R,UAAUmxC,UAAY,WAC5BhmD,KAAKkgD,iBAAiB8F,UAAUtsC,MAAM1Z,KAAKkgD,iBAAkBz5C,YAE/DvD,EAAQ2R,UAAUoxC,YAAc,WAC9BjmD,KAAKkgD,iBAAiB+F,YAAYvsC,MAAM1Z,KAAKkgD,iBAAkBz5C,YAEjEvD,EAAQ2R,UAAUqxC,YAAc,WAC9BlmD,KAAKkgD,iBAAiBgG,YAAYxsC,MAAM1Z,KAAKkgD,iBAAkBz5C,YAEjEvD,EAAQ2R,UAAU6uC,YAAc,WAC9B1jD,KAAKkgD,iBAAiBwD,YAAYhqC,MAAM1Z,KAAKkgD,iBAAkBz5C,YAEjEvD,EAAQ2R,UAAUuhB,SAAW,WAC3Bp2B,KAAK6/C,KAAKzpB,SAAS1c,MAAM1Z,KAAK6/C,KAAMp5C,YAEtCvD,EAAQ2R,UAAUsxC,YAAc,WAC9BnmD,KAAK6/C,KAAKsG,YAAYzsC,MAAM1Z,KAAK6/C,KAAMp5C,YAEzCvD,EAAQ2R,UAAUsjB,IAAM,WACtBn4B,KAAK6/C,KAAK1nB,IAAIze,MAAM1Z,KAAK6/C,KAAMp5C,YAEjCvD,EAAQ2R,UAAUwU,OAAS,WACzBrpB,KAAK6/C,KAAKx2B,OAAO3P,MAAM1Z,KAAK6/C,KAAMp5C,YAEpCvD,EAAQ2R,UAAUuxC,YAAc,WAC9BpmD,KAAK6/C,KAAKuG,YAAY1sC,MAAM1Z,KAAK6/C,KAAMp5C,YAEzCvD,EAAQ2R,UAAUwxC,YAAc,WAC9BrmD,KAAK6/C,KAAKwG,YAAY3sC,MAAM1Z,KAAK6/C,KAAMp5C,YAGzC5G,EAAOD,QAAUsD,GAIb,SAASrD,EAAQD,EAASM,GAQ9B,QAASkD,GAAOkG,GACdtJ,KAAK+/C,UACL//C,KAAKsmD,eACLtmD,KAAKsJ,SAAWA,EASlBlG,EAAOyR,UAAU0xC,KAAO,SAAUC,EAAKC,GACrC,GAAIC,GAAM1mD,KAAK+/C,OAAOyG,EACtB,IAAYpgD,SAARsgD,EAAmB,CAErB,GAAI7wC,GAAK7V,IACT0mD,GAAM,GAAIC,OACVD,EAAIE,OAAS,WAEQ,IAAf5mD,KAAKiU,QACPtB,SAASojB,KAAKljB,YAAY7S,MAC1BA,KAAKiU,MAAQjU,KAAKwxB,YAClBxxB,KAAKkU,OAASlU,KAAK0xB,aACnB/e,SAASojB,KAAK5xB,YAAYnE,OAGxB6V,EAAGvM,WACLuM,EAAGkqC,OAAOyG,GAAOE,EACjB7wC,EAAGvM,SAAStJ,QAIhB0mD,EAAIG,QAAU,WACMzgD,SAAdqgD,GACFprB,QAAQyrB,MAAM,wBAAyBN,SAChCxmD,MAAK+mD,IACRlxC,EAAGvM,UACLuM,EAAGvM,SAAStJ,OAGV6V,EAAGywC,YAAYE,MAAS,GAC1BnrB,QAAQyrB,MAAM,8BAA+BL,SACtCzmD,MAAK+mD,IACRlxC,EAAGvM,UACLuM,EAAGvM,SAAStJ,QAGdq7B,QAAQyrB,MAAM,wBAAyBN,GACvCxmD,KAAK+mD,IAAMN,EACX5wC,EAAGywC,YAAYE,IAAO,IAK5BE,EAAIK,IAAMP,EAGZ,MAAOE,IAGT7mD,EAAOD,QAAUwD,GAIb,SAASvD,EAAQD,EAASM,GAe9B,QAAS8mD,GAAS5yC,GAEhB,MADA8c,GAAM9c,EACC6yC,IAoCT,QAAS3iB,KACPn7B,EAAQ,EACR1I,EAAIywB,EAAItK,OAAO,GAQjB,QAASiD,KACP1gB,IACA1I,EAAIywB,EAAItK,OAAOzd,GAOjB,QAAS+9C,KACP,MAAOh2B,GAAItK,OAAOzd,EAAQ,GAS5B,QAASg+C,GAAe1mD,GACtB,MAAO2mD,GAAkBj4C,KAAK1O,GAShC,QAAS4mD,GAAM/gD,EAAGC,GAKhB,GAJKD,IACHA,MAGEC,EACF,IAAK,GAAIqR,KAAQrR,GACXA,EAAEP,eAAe4R,KACnBtR,EAAEsR,GAAQrR,EAAEqR,GAIlB,OAAOtR,GAeT,QAASiT,GAASzT,EAAK6qC,EAAMnsC,GAG3B,IAFA,GAAI+J,GAAOoiC,EAAK3nC,MAAM,KAClBs+C,EAAIxhD,EACDyI,EAAK7H,QAAQ,CAClB,GAAIgD,GAAM6E,EAAKmE,OACXnE,GAAK7H,QAEF4gD,EAAE59C,KACL49C,EAAE59C,OAEJ49C,EAAIA,EAAE59C,IAGN49C,EAAE59C,GAAOlF,GAWf,QAAS+iD,GAAQl1B,EAAOm1B,GAOtB,IANA,GAAIhhD,GAAGkB,EACH60B,EAAU,KAGVkrB,GAAUp1B,GACV3yB,EAAO2yB,EACJ3yB,EAAKqL,QACV08C,EAAOjgD,KAAK9H,EAAKqL,QACjBrL,EAAOA,EAAKqL,MAId,IAAIrL,EAAK8+C,MACP,IAAKh4C,EAAI,EAAGkB,EAAMhI,EAAK8+C,MAAM93C,OAAYgB,EAAJlB,EAASA,IAC5C,GAAIghD,EAAKnnD,KAAOX,EAAK8+C,MAAMh4C,GAAGnG,GAAI,CAChCk8B,EAAU78B,EAAK8+C,MAAMh4C,EACrB,OAiBN,IAZK+1B,IAEHA,GACEl8B,GAAImnD,EAAKnnD,IAEPgyB,EAAMm1B,OAERjrB,EAAQmrB,KAAOL,EAAM9qB,EAAQmrB,KAAMr1B,EAAMm1B,QAKxChhD,EAAIihD,EAAO/gD,OAAS,EAAGF,GAAK,EAAGA,IAAK,CACvC,GAAIqF,GAAI47C,EAAOjhD,EAEVqF,GAAE2yC,QACL3yC,EAAE2yC,UAE6B,KAA7B3yC,EAAE2yC,MAAMj3C,QAAQg1B,IAClB1wB,EAAE2yC,MAAMh3C,KAAK+0B,GAKbirB,EAAKE,OACPnrB,EAAQmrB,KAAOL,EAAM9qB,EAAQmrB,KAAMF,EAAKE,OAS5C,QAASC,GAAQt1B,EAAOu1B,GAKtB,GAJKv1B,EAAMqsB,QACTrsB,EAAMqsB,UAERrsB,EAAMqsB,MAAMl3C,KAAKogD,GACbv1B,EAAMu1B,KAAM,CACd,GAAIF,GAAOL,KAAUh1B,EAAMu1B,KAC3BA,GAAKF,KAAOL,EAAMK,EAAME,EAAKF,OAajC,QAAS5I,GAAWzsB,EAAO1H,EAAMC,EAAIhjB,EAAM8/C,GACzC,GAAIE,IACFj9B,KAAMA,EACNC,GAAIA,EACJhjB,KAAMA,EAQR,OALIyqB,GAAMu1B,OACRA,EAAKF,KAAOL,KAAUh1B,EAAMu1B,OAE9BA,EAAKF,KAAOL,EAAMO,EAAKF,SAAYA,GAE5BE,EAOT,QAASC,KAKP,IAJAC,EAAYC,EAAUC,KACtBC,EAAQ,GAGK,MAANxnD,GAAmB,MAANA,GAAoB,OAANA,GAAoB,OAANA,GAE9CopB,GAGF,GAAG,CACD,GAAIq+B,IAAY,CAGhB,IAAU,MAANznD,EAAW,CAGb,IADA,GAAI+F,GAAI2C,EAAQ,EACS,MAAlB+nB,EAAItK,OAAOpgB,IAAgC,MAAlB0qB,EAAItK,OAAOpgB,IACzCA,GAEF,IAAsB,OAAlB0qB,EAAItK,OAAOpgB,IAAiC,KAAlB0qB,EAAItK,OAAOpgB,GAAW,CAElD,KAAY,IAAL/F,GAAgB,MAALA,GAChBopB,GAEFq+B,IAAY,GAGhB,GAAU,MAANznD,GAA+B,MAAlBymD,IAAuB,CAEtC,KAAY,IAALzmD,GAAgB,MAALA,GAChBopB,GAEFq+B,IAAY,EAEd,GAAU,MAANznD,GAA+B,MAAlBymD,IAAuB,CAEtC,KAAY,IAALzmD,GAAS,CACd,GAAU,MAANA,GAA+B,MAAlBymD,IAAuB,CAEtCr9B,IACAA,GACA,OAEAA,IAGJq+B,GAAY,EAId,KAAa,MAANznD,GAAmB,MAANA,GAAoB,OAANA,GAAoB,OAANA,GAE9CopB,UAEKq+B,EAGT,IAAU,KAANznD,EAGF,YADAqnD,EAAYC,EAAUI,UAKxB,IAAIC,GAAK3nD,EAAIymD,GACb,IAAImB,EAAWD,GAKb,MAJAN,GAAYC,EAAUI,UACtBF,EAAQG,EACRv+B,QACAA,IAKF,IAAIw+B,EAAW5nD,GAIb,MAHAqnD,GAAYC,EAAUI,UACtBF,EAAQxnD,MACRopB,IAMF,IAAIs9B,EAAe1mD,IAAY,MAANA,EAAW,CAIlC,IAHAwnD,GAASxnD,EACTopB,IAEOs9B,EAAe1mD,IACpBwnD,GAASxnD,EACTopB,GAUF,OARc,UAAVo+B,EACFA,GAAQ,EACW,SAAVA,EACTA,GAAQ,EACE/iD,MAAMpB,OAAOmkD,MACvBA,EAAQnkD,OAAOmkD,SAEjBH,EAAYC,EAAUO,YAKxB,GAAU,MAAN7nD,EAAW,CAEb,IADAopB,IACY,IAALppB,IAAiB,KAALA,GAAkB,MAANA,GAA+B,MAAlBymD,MAC1Ce,GAASxnD,EACC,MAANA,GAEFopB,IAEFA,GAEF,IAAS,KAALppB,EACF,KAAM8nD,GAAe,2BAIvB,OAFA1+B,UACAi+B,EAAYC,EAAUO,YAMxB,IADAR,EAAYC,EAAUS,QACV,IAAL/nD,GACLwnD,GAASxnD,EACTopB,GAEF,MAAM,IAAIzO,aAAY,yBAA2BqtC,EAAKR,EAAO,IAAM,KAOrE,QAAShB,KACP,GAAI50B,KAwBJ,IAtBAiS,IACAujB,IAGc,WAAVI,IACF51B,EAAMq2B,QAAS,EACfb,MAIY,UAAVI,GAA+B,YAAVA,KACvB51B,EAAMzqB,KAAOqgD,EACbJ,KAIEC,IAAcC,EAAUO,aAC1Bj2B,EAAMhyB,GAAK4nD,EACXJ,KAIW,KAATI,EACF,KAAMM,GAAe,2BAQvB,IANAV,IAGAc,EAAgBt2B,GAGH,KAAT41B,EACF,KAAMM,GAAe,2BAKvB,IAHAV,IAGc,KAAVI,EACF,KAAMM,GAAe,uBASvB,OAPAV,WAGOx1B,GAAMm1B,WACNn1B,GAAMu1B,WACNv1B,GAAMA,MAENA,EAOT,QAASs2B,GAAgBt2B,GACvB,KAAiB,KAAV41B,GAAyB,KAATA,GACrBW,EAAev2B,GACD,MAAV41B,GACFJ,IAWN,QAASe,GAAev2B,GAEtB,GAAIw2B,GAAWC,EAAcz2B,EAC7B,IAAIw2B,EAIF,WAFAE,GAAU12B,EAAOw2B,EAMnB,IAAInB,GAAOsB,EAAwB32B,EACnC,KAAIq1B,EAAJ,CAKA,GAAII,GAAaC,EAAUO,WACzB,KAAMC,GAAe,sBAEvB,IAAIloD,GAAK4nD,CAGT,IAFAJ,IAEc,MAAVI,EAAe,CAGjB,GADAJ,IACIC,GAAaC,EAAUO,WACzB,KAAMC,GAAe,sBAEvBl2B,GAAMhyB,GAAM4nD,EACZJ,QAGAoB,GAAmB52B,EAAOhyB,IAS9B,QAASyoD,GAAcz2B,GACrB,GAAIw2B,GAAW,IAgBf,IAbc,aAAVZ,IACFY,KACAA,EAASjhD,KAAO,WAChBigD,IAGIC,IAAcC,EAAUO,aAC1BO,EAASxoD,GAAK4nD,EACdJ,MAKU,MAAVI,EAAe,CAejB,GAdAJ,IAEKgB,IACHA,MAEFA,EAAS99C,OAASsnB,EAClBw2B,EAASrB,KAAOn1B,EAAMm1B,KACtBqB,EAASjB,KAAOv1B,EAAMu1B,KACtBiB,EAASx2B,MAAQA,EAAMA,MAGvBs2B,EAAgBE,GAGH,KAATZ,EACF,KAAMM,GAAe,2BAEvBV,WAGOgB,GAASrB,WACTqB,GAASjB,WACTiB,GAASx2B,YACTw2B,GAAS99C,OAGXsnB,EAAM62B,YACT72B,EAAM62B,cAER72B,EAAM62B,UAAU1hD,KAAKqhD,GAGvB,MAAOA,GAYT,QAASG,GAAwB32B,GAE/B,MAAc,SAAV41B,GACFJ,IAGAx1B,EAAMm1B,KAAO2B,IACN,QACY,SAAVlB,GACTJ,IAGAx1B,EAAMu1B,KAAOuB,IACN,QACY,UAAVlB,GACTJ,IAGAx1B,EAAMA,MAAQ82B,IACP,SAGF,KAQT,QAASF,GAAmB52B,EAAOhyB,GAEjC,GAAImnD,IACFnnD,GAAIA,GAEFqnD,EAAOyB,GACPzB,KACFF,EAAKE,KAAOA,GAEdH,EAAQl1B,EAAOm1B,GAGfuB,EAAU12B,EAAOhyB,GAQnB,QAAS0oD,GAAU12B,EAAO1H,GACxB,KAAiB,OAAVs9B,GAA4B,OAAVA,GAAgB,CACvC,GAAIr9B,GACAhjB,EAAOqgD,CACXJ,IAEA,IAAIgB,GAAWC,EAAcz2B,EAC7B,IAAIw2B,EACFj+B,EAAKi+B,MACA,CACL,GAAIf,GAAaC,EAAUO,WACzB,KAAMC,GAAe,kCAEvB39B,GAAKq9B,EACLV,EAAQl1B,GACNhyB,GAAIuqB,IAENi9B,IAIF,GAAIH,GAAOyB,IAGPvB,EAAO9I,EAAWzsB,EAAO1H,EAAMC,EAAIhjB,EAAM8/C,EAC7CC,GAAQt1B,EAAOu1B,GAEfj9B,EAAOC,GASX,QAASu+B,KAGP,IAFA,GAAIzB,GAAO,KAEM,MAAVO,GAAe,CAGpB,IAFAJ,IACAH,KACiB,KAAVO,GAAyB,KAATA,GAAc,CACnC,GAAIH,GAAaC,EAAUO,WACzB,KAAMC,GAAe,0BAEvB,IAAI3wC,GAAOqwC,CAGX,IADAJ,IACa,KAATI,EACF,KAAMM,GAAe,wBAIvB,IAFAV,IAEIC,GAAaC,EAAUO,WACzB,KAAMC,GAAe,2BAEvB,IAAI/jD,GAAQyjD,CACZ1uC,GAASmuC,EAAM9vC,EAAMpT,GAErBqjD,IACa,KAATI,GACFJ,IAIJ,GAAa,KAATI,EACF,KAAMM,GAAe,qBAEvBV,KAGF,MAAOH,GAQT,QAASa,GAAea,GACtB,MAAO,IAAIhuC,aAAYguC,EAAU,UAAYX,EAAKR,EAAO,IAAM,WAAa9+C,EAAQ,KAStF,QAASs/C,GAAK39B,EAAMu+B,GAClB,MAAOv+B,GAAKpkB,QAAU2iD,EAAYv+B,EAAOA,EAAK1e,OAAO,EAAG,IAAM,MAShE,QAASk9C,GAASC,EAAQC,EAAQ1uC,GAC5B/T,MAAMC,QAAQuiD,GAChBA,EAAOlgD,QAAQ,SAAUogD,GACnB1iD,MAAMC,QAAQwiD,GAChBA,EAAOngD,QAAQ,SAAUqgD,GACvB5uC,EAAG2uC,EAAOC,KAGZ5uC,EAAG2uC,EAAOD,KAIVziD,MAAMC,QAAQwiD,GAChBA,EAAOngD,QAAQ,SAAUqgD,GACvB5uC,EAAGyuC,EAAQG,KAGb5uC,EAAGyuC,EAAQC,GAWjB,QAAS5F,GAAWxvC,GAElB,GAAIuvC,GAAUqD,EAAS5yC,GACnBu1C,GACFnL,SACAE,SACA5uC,WAmBF,IAfI6zC,EAAQnF,OACVmF,EAAQnF,MAAMn1C,QAAQ,SAAUugD,GAC9B,GAAIC,IACFxpD,GAAIupD,EAAQvpD,GACZsT,MAAO/O,OAAOglD,EAAQj2C,OAASi2C,EAAQvpD,IAEzCgnD,GAAMwC,EAAWD,EAAQlC,MACrBmC,EAAUC,QACZD,EAAUE,MAAQ,SAEpBJ,EAAUnL,MAAMh3C,KAAKqiD,KAKrBlG,EAAQjF,MAAO,CAMjB,GAAIsL,GAAc,SAAqBC,GACrC,GAAIC,IACFv/B,KAAMs/B,EAAQt/B,KACdC,GAAIq/B,EAAQr/B,GAId,OAFAy8B,GAAM6C,EAAWD,EAAQvC,MACzBwC,EAAU97C,MAAyB,OAAjB67C,EAAQriD,KAAgB,QAAU,OAC7CsiD,EAGTvG,GAAQjF,MAAMr1C,QAAQ,SAAU4gD,GAC9B,GAAIt/B,GAAMC,CAERD,GADEs/B,EAAQt/B,eAAgBvjB,QACnB6iD,EAAQt/B,KAAK6zB,OAGlBn+C,GAAI4pD,EAAQt/B,MAKdC,EADEq/B,EAAQr/B,aAAcxjB,QACnB6iD,EAAQr/B,GAAG4zB,OAGdn+C,GAAI4pD,EAAQr/B,IAIZq/B,EAAQt/B,eAAgBvjB,SAAU6iD,EAAQt/B,KAAK+zB,OACjDuL,EAAQt/B,KAAK+zB,MAAMr1C,QAAQ,SAAU8gD,GACnC,GAAID,GAAYF,EAAYG,EAC5BR,GAAUjL,MAAMl3C,KAAK0iD,KAIzBZ,EAAS3+B,EAAMC,EAAI,SAAUD,EAAMC,GACjC,GAAIu/B,GAAUrL,EAAW6K,EAAWh/B,EAAKtqB,GAAIuqB,EAAGvqB,GAAI4pD,EAAQriD,KAAMqiD,EAAQvC,MACtEwC,EAAYF,EAAYG,EAC5BR,GAAUjL,MAAMl3C,KAAK0iD,KAGnBD,EAAQr/B,aAAcxjB,SAAU6iD,EAAQr/B,GAAG8zB,OAC7CuL,EAAQr/B,GAAG8zB,MAAMr1C,QAAQ,SAAU8gD,GACjC,GAAID,GAAYF,EAAYG,EAC5BR,GAAUjL,MAAMl3C,KAAK0iD,OAW7B,MAJIvG,GAAQ+D,OACViC,EAAU75C,QAAU6zC,EAAQ+D,MAGvBiC,EAxxBT,GAAI5B,IACFC,KAAM,EACNG,UAAW,EACXG,WAAY,EACZE,QAAS,GAIPH,GACF+B,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EAELC,MAAM,EACNC,MAAM,GAGJ15B,EAAM,GACN/nB,EAAQ,EACR1I,EAAI,GACJwnD,EAAQ,GACRH,EAAYC,EAAUC,KAmCtBZ,EAAoB,iBAguBxBxnD,GAAQonD,SAAWA,EACnBpnD,EAAQgkD,WAAaA,GAIjB,SAAS/jD,EAAQD,EAASM,GAI9B,QAAS6jD,GAAW8G,EAAW/6C,GAC7B,GAAI4uC,MACAF,IACJx+C,MAAK8P,SACH4uC,OACEoM,cAAc,GAEhBtM,OACEuM,eAAe,EACfr+C,YAAY,IAIAtG,SAAZ0J,IACF9P,KAAK8P,QAAQ0uC,MAAMuM,cAAgBj7C,EAAQi7C,eAAgB,EAC3D/qD,KAAK8P,QAAQ0uC,MAAM9xC,WAAaoD,EAAQpD,YAAa,EACrD1M,KAAK8P,QAAQ4uC,MAAMoM,aAAeh7C,EAAQg7C,cAAe,EAK3D,KAAK,GAFDE,GAASH,EAAUnM,MACnBuM,EAASJ,EAAUrM,MACdh4C,EAAI,EAAGA,EAAIwkD,EAAOtkD,OAAQF,IAAK,CACtC,GAAIohD,MACAsD,EAAQF,EAAOxkD,EACnBohD,GAAKvnD,GAAK6qD,EAAM7qD,GAChBunD,EAAKj9B,KAAOugC,EAAMC,OAClBvD,EAAKh9B,GAAKsgC,EAAMxgD,OAChBk9C,EAAKrf,WAAa2iB,EAAM3iB,WAGxBqf,EAAK37C,MAAQi/C,EAAMj/C,MACnB27C,EAAKkD,aAA8B1kD,SAAfwhD,EAAK37C,OAAsB,EAAQjM,KAAK8P,QAAQg7C,aACpEpM,EAAMl3C,KAAKogD,GAGb,IAAK,GAAIphD,GAAI,EAAGA,EAAIykD,EAAOvkD,OAAQF,IAAK,CACtC,GAAIghD,MACA4D,EAAQH,EAAOzkD,EACnBghD,GAAKnnD,GAAK+qD,EAAM/qD,GAChBmnD,EAAKjf,WAAa6iB,EAAM7iB,WACxBif,EAAKr0C,EAAIi4C,EAAMj4C,EACfq0C,EAAKp0C,EAAIg4C,EAAMh4C,EACfo0C,EAAK7zC,MAAQy3C,EAAMz3C,MACf3T,KAAK8P,QAAQ0uC,MAAM9xC,cAAe,EACpC86C,EAAKv7C,MAAQm/C,EAAMn/C,MAEnBu7C,EAAKv7C,MAAwB7F,SAAhBglD,EAAMn/C,OAAwBsB,WAAY69C,EAAMn/C,MAAOuB,OAAQ49C,EAAMn/C,OAAU7F,OAE9FohD,EAAK16B,OAASs+B,EAAM13C,KACpB8zC,EAAK6D,eAAiBrrD,KAAK8P,QAAQ0uC,MAAMuM,cACzCvD,EAAK8D,eAAiBtrD,KAAK8P,QAAQ0uC,MAAMuM,cACzCvM,EAAMh3C,KAAKggD,GAGb,OAAShJ,MAAOA,EAAOE,MAAOA,GAGhC9+C,EAAQmkD,WAAaA,GAIjB,SAASlkD,EAAQD,EAASM,GAM9BL,EAAOD,QAA4B,mBAAX2K,SAA0BA,OAAO9G,QAAUvD,EAAoB,KAInF,SAASL,EAAQD,EAASM,GAM9B,GAAsB,mBAAXqK,QAAwB,CACjC,GAAIghD,GAAcrrD,EAAoB,IAClCyD,EAAS4G,OAAO5G,QAAUzD,EAAoB,GAClDL,GAAOD,QAAU2rD,EAAY5nD,GAC3B0G,eAAgB,cAGlBxK,GAAOD,QAAU,WACf,KAAM4D,OAAM,+DAMZ,SAAS3D,EAAQD,EAASM,GAe9B,QAASye,GAAQ7Y,GACf,MAAIA,GAAY0lD,EAAM1lD,GAAtB,OAWF,QAAS0lD,GAAM1lD,GACb,IAAK,GAAI4D,KAAOiV,GAAQ9J,UACtB/O,EAAI4D,GAAOiV,EAAQ9J,UAAUnL,EAE/B,OAAO5D,GAxBTjG,EAAOD,QAAU+e,EAoCjBA,EAAQ9J,UAAUI,GAClB0J,EAAQ9J,UAAUlL,iBAAmB,SAASW,EAAOwQ,GAInD,MAHA9a,MAAKyrD,WAAazrD,KAAKyrD,gBACtBzrD,KAAKyrD,WAAWnhD,GAAStK,KAAKyrD,WAAWnhD,QACvC9C,KAAKsT,GACD9a,MAaT2e,EAAQ9J,UAAUkqC,KAAO,SAASz0C,EAAOwQ,GAIvC,QAAS7F,KACPy2C,EAAKt2C,IAAI9K,EAAO2K,GAChB6F,EAAGpB,MAAM1Z,KAAMyG,WALjB,GAAIilD,GAAO1rD,IAUX,OATAA,MAAKyrD,WAAazrD,KAAKyrD,eAOvBx2C,EAAG6F,GAAKA,EACR9a,KAAKiV,GAAG3K,EAAO2K,GACRjV,MAaT2e,EAAQ9J,UAAUO,IAClBuJ,EAAQ9J,UAAU82C,eAClBhtC,EAAQ9J,UAAU+2C,mBAClBjtC,EAAQ9J,UAAU1K,oBAAsB,SAASG,EAAOwQ,GAItD,GAHA9a,KAAKyrD,WAAazrD,KAAKyrD,eAGnB,GAAKhlD,UAAUC,OAEjB,MADA1G,MAAKyrD,cACEzrD,IAIT,IAAI6rD,GAAY7rD,KAAKyrD,WAAWnhD,EAChC,KAAKuhD,EAAW,MAAO7rD,KAGvB,IAAI,GAAKyG,UAAUC,OAEjB,aADO1G,MAAKyrD,WAAWnhD,GAChBtK,IAKT,KAAK,GADD8rD,GACKtlD,EAAI,EAAGA,EAAIqlD,EAAUnlD,OAAQF,IAEpC,GADAslD,EAAKD,EAAUrlD,GACXslD,IAAOhxC,GAAMgxC,EAAGhxC,KAAOA,EAAI,CAC7B+wC,EAAUziD,OAAO5C,EAAG,EACpB,OAGJ,MAAOxG,OAWT2e,EAAQ9J,UAAUoa,KAAO,SAAS3kB,GAChCtK,KAAKyrD,WAAazrD,KAAKyrD,cACvB,IAAI50C,MAAUpK,MAAMlM,KAAKkG,UAAW,GAChColD,EAAY7rD,KAAKyrD,WAAWnhD,EAEhC,IAAIuhD,EAAW,CACbA,EAAYA,EAAUp/C,MAAM,EAC5B,KAAK,GAAIjG,GAAI,EAAGkB,EAAMmkD,EAAUnlD,OAAYgB,EAAJlB,IAAWA,EACjDqlD,EAAUrlD,GAAGkT,MAAM1Z,KAAM6W,GAI7B,MAAO7W,OAWT2e,EAAQ9J,UAAUk3C,UAAY,SAASzhD,GAErC,MADAtK,MAAKyrD,WAAazrD,KAAKyrD,eAChBzrD,KAAKyrD,WAAWnhD,QAWzBqU,EAAQ9J,UAAUm3C,aAAe,SAAS1hD,GACxC,QAAUtK,KAAK+rD,UAAUzhD,GAAO5D,SAM9B,SAAS7G,EAAQD,EAASM,GAwB9B,QAASw3B,MApBT,GAAI/Y,GAAUze,EAAoB,IAC9ByD,EAASzD,EAAoB,IAC7B+rD,EAAa/rD,EAAoB,IACjCS,EAAOT,EAAoB,GAK3B+C,GAJU/C,EAAoB,GACnBA,EAAoB,GACvBA,EAAoB,IAClBA,EAAoB,IACnBA,EAAoB,KAC/ByiD,EAAYziD,EAAoB,IAChCyB,EAAWzB,EAAoB,IAC/BuC,EAAavC,EAAoB,GAYrCye,GAAQ+Y,EAAK7iB,WASb6iB,EAAK7iB,UAAUihB,QAAU,SAAU3a,GAoHjC,QAASqkC,GAAal1C,GAChBuL,EAAGquC,YACLruC,EAAGoZ,KAAK,aAAc3kB,GArH1BtK,KAAKmxB,OAELnxB,KAAKmxB,IAAIzxB,KAAOiT,SAASM,cAAc,OACvCjT,KAAKmxB,IAAI5jB,WAAaoF,SAASM,cAAc,OAC7CjT,KAAKmxB,IAAIsZ,mBAAqB93B,SAASM,cAAc,OACrDjT,KAAKmxB,IAAIuc,qBAAuB/6B,SAASM,cAAc,OACvDjT,KAAKmxB,IAAI+H,gBAAkBvmB,SAASM,cAAc,OAClDjT,KAAKmxB,IAAI+6B,cAAgBv5C,SAASM,cAAc,OAChDjT,KAAKmxB,IAAIg7B,eAAiBx5C,SAASM,cAAc,OACjDjT,KAAKmxB,IAAI5D,OAAS5a,SAASM,cAAc,OACzCjT,KAAKmxB,IAAIzoB,KAAOiK,SAASM,cAAc,OACvCjT,KAAKmxB,IAAItI,MAAQlW,SAASM,cAAc,OACxCjT,KAAKmxB,IAAIvoB,IAAM+J,SAASM,cAAc,OACtCjT,KAAKmxB,IAAInM,OAASrS,SAASM,cAAc,OACzCjT,KAAKmxB,IAAIi7B,UAAYz5C,SAASM,cAAc,OAC5CjT,KAAKmxB,IAAIk7B,aAAe15C,SAASM,cAAc,OAC/CjT,KAAKmxB,IAAIm7B,cAAgB35C,SAASM,cAAc,OAChDjT,KAAKmxB,IAAIo7B,iBAAmB55C,SAASM,cAAc,OACnDjT,KAAKmxB,IAAIq7B,eAAiB75C,SAASM,cAAc,OACjDjT,KAAKmxB,IAAIs7B,kBAAoB95C,SAASM,cAAc,OAEpDjT,KAAKmxB,IAAIzxB,KAAKoJ,UAAY,eAC1B9I,KAAKmxB,IAAI5jB,WAAWzE,UAAY,2BAChC9I,KAAKmxB,IAAIsZ,mBAAmB3hC,UAAY,wCACxC9I,KAAKmxB,IAAIuc,qBAAqB5kC,UAAY,0CAC1C9I,KAAKmxB,IAAI+H,gBAAgBpwB,UAAY,uBACrC9I,KAAKmxB,IAAI+6B,cAAcpjD,UAAY,qBACnC9I,KAAKmxB,IAAIg7B,eAAerjD,UAAY,sBACpC9I,KAAKmxB,IAAIvoB,IAAIE,UAAY,oBACzB9I,KAAKmxB,IAAInM,OAAOlc,UAAY,uBAC5B9I,KAAKmxB,IAAIzoB,KAAKI,UAAY,cAC1B9I,KAAKmxB,IAAI5D,OAAOzkB,UAAY,cAC5B9I,KAAKmxB,IAAItI,MAAM/f,UAAY,cAC3B9I,KAAKmxB,IAAIi7B,UAAUtjD,UAAY,qBAC/B9I,KAAKmxB,IAAIk7B,aAAavjD,UAAY,wBAClC9I,KAAKmxB,IAAIm7B,cAAcxjD,UAAY,qBACnC9I,KAAKmxB,IAAIo7B,iBAAiBzjD,UAAY,wBACtC9I,KAAKmxB,IAAIq7B,eAAe1jD,UAAY,qBACpC9I,KAAKmxB,IAAIs7B,kBAAkB3jD,UAAY,wBAEvC9I,KAAKmxB,IAAIzxB,KAAKmT,YAAY7S,KAAKmxB,IAAI5jB,YACnCvN,KAAKmxB,IAAIzxB,KAAKmT,YAAY7S,KAAKmxB,IAAIsZ,oBACnCzqC,KAAKmxB,IAAIzxB,KAAKmT,YAAY7S,KAAKmxB,IAAIuc,sBACnC1tC,KAAKmxB,IAAIzxB,KAAKmT,YAAY7S,KAAKmxB,IAAI+H,iBACnCl5B,KAAKmxB,IAAIzxB,KAAKmT,YAAY7S,KAAKmxB,IAAI+6B,eACnClsD,KAAKmxB,IAAIzxB,KAAKmT,YAAY7S,KAAKmxB,IAAIg7B,gBACnCnsD,KAAKmxB,IAAIzxB,KAAKmT,YAAY7S,KAAKmxB,IAAIvoB,KACnC5I,KAAKmxB,IAAIzxB,KAAKmT,YAAY7S,KAAKmxB,IAAInM,QAEnChlB,KAAKmxB,IAAI+H,gBAAgBrmB,YAAY7S,KAAKmxB,IAAI5D,QAC9CvtB,KAAKmxB,IAAI+6B,cAAcr5C,YAAY7S,KAAKmxB,IAAIzoB,MAC5C1I,KAAKmxB,IAAIg7B,eAAet5C,YAAY7S,KAAKmxB,IAAItI,OAE7C7oB,KAAKmxB,IAAI+H,gBAAgBrmB,YAAY7S,KAAKmxB,IAAIi7B,WAC9CpsD,KAAKmxB,IAAI+H,gBAAgBrmB,YAAY7S,KAAKmxB,IAAIk7B,cAC9CrsD,KAAKmxB,IAAI+6B,cAAcr5C,YAAY7S,KAAKmxB,IAAIm7B,eAC5CtsD,KAAKmxB,IAAI+6B,cAAcr5C,YAAY7S,KAAKmxB,IAAIo7B,kBAC5CvsD,KAAKmxB,IAAIg7B,eAAet5C,YAAY7S,KAAKmxB,IAAIq7B,gBAC7CxsD,KAAKmxB,IAAIg7B,eAAet5C,YAAY7S,KAAKmxB,IAAIs7B,mBAE7CzsD,KAAKiV,GAAG,cAAejV,KAAKojB,OAAO8S,KAAKl2B,OACxCA,KAAKiV,GAAG,QAASjV,KAAK2gC,SAASzK,KAAKl2B,OACpCA,KAAKiV,GAAG,WAAYjV,KAAKugC,aAAarK,KAAKl2B,OAC3CA,KAAKiV,GAAG,MAAOjV,KAAKwgC,QAAQtK,KAAKl2B,MAEjC,IAAI6V,GAAK7V,IACTA,MAAKiV,GAAG,SAAU,SAAUy3C,GACtBA,GAAkC,GAApBA,EAAW53C,MAEtBe,EAAG82C,eACN92C,EAAG82C,aAAezxC,WAAW,WAC3BrF,EAAG82C,aAAe,KAClB92C,EAAG4hB,WACF,IAIL5hB,EAAG4hB,YAMPz3B,KAAK0D,OAAS,GAAIC,GAAO3D,KAAKmxB,IAAIzxB,MAClCM,KAAK0D,OAAOkT,IAAI,SAASg2C,KAAMrnB,QAAQ,IACvCvlC,KAAK+rD,YAEL,IAAIc,IAAU,MAAO,YAAa,QAAS,QAAS,MAAO,WAAY,UAAW,SA2DlF,IApDAA,EAAOxjD,QAAQ,SAAUzB,GACvB,GAAIkC,GAAW,SAAkBQ,GAC3BuL,EAAGquC,YACLruC,EAAGoZ,KAAKrnB,EAAM0C,GAGlBuL,GAAGnS,OAAOuR,GAAGrN,EAAMkC,GACnB+L,EAAGk2C,UAAUnkD,GAAQkC,IAIvBmiD,EAAW/M,QAAQl/C,KAAK0D,OAAQ,SAAW4G,GACzC+wB,QAAQtG,IAAI,QAASzqB,GACrBuL,EAAGoZ,KAAK,QAAS3kB,IAChB4rB,KAAKl2B,OAGRisD,EAAWtM,UAAU3/C,KAAK0D,OAAQ,SAAW4G,GAC3CuL,EAAGoZ,KAAK,UAAW3kB,IAClB4rB,KAAKl2B,OAORA,KAAKmxB,IAAIzxB,KAAKiK,iBAAiB,aAAc61C,GAC7Cx/C,KAAKmxB,IAAIzxB,KAAKiK,iBAAiB,iBAAkB61C,GAGjDx/C,KAAK8G,OACHpH,QACA6N,cACA2rB,mBACAgzB,iBACAC,kBACA5+B,UACA7kB,QACAmgB,SACAjgB,OACAoc,UACAxX,UACAu/B,UAAW,EACX+f,aAAc,GAIhB9sD,KAAKqgC,SAELrgC,KAAK+sD,YAAc,GAGd5xC,EAAW,KAAM,IAAI3X,OAAM,wBAChC2X,GAAUtI,YAAY7S,KAAKmxB,IAAIzxB,OA4BjCg4B,EAAK7iB,UAAUD,WAAa,SAAU9E,GACpC,GAAIA,EAAS,CAEX,GAAIP,IAAU,QAAS,SAAU,YAAa,YAAa,aAAc,QAAS,MAAO,aAAc,iBAAkB,cAWzH,IAVA5O,EAAKkG,gBAAgB0I,EAAQvP,KAAK8P,QAASA,GAEvC,eAAiBA,KACgB,gBAAxBA,GAAQ6lB,YACjB31B,KAAK8P,QAAQ6lB,YAAc7lB,EAAQ6lB,YACK,gBAAxB7lB,GAAQ6lB,aAA4B,QAAU7lB,GAAQ6lB,cACtE31B,KAAK8P,QAAQ6lB,YAAc7lB,EAAQ6lB,YAAYwN,OAIlB,SAA7BnjC,KAAK8P,QAAQ6lB,aACf,IAAK31B,KAAK+2B,UAAW,CACnB,GAAIA,GAAY/2B,KAAK+2B,UAAY,GAAI9zB,GAASjD,KAAK+1B,KACnDgB,GAAUniB,WAAa,SAAU9E,GAC/B,GAAIuE,GAAWvE,EAAUnP,EAAKiG,UAAWkJ,KACzCuE,GAASshB,YAAc,MACvB1yB,EAAS4R,UAAUD,WAAWrU,KAAKw2B,EAAW1iB,IAEhDrU,KAAKgC,WAAWwF,KAAKuvB,QAGvB,IAAI/2B,KAAK+2B,UAAW,CAClB,GAAI5tB,GAAQnJ,KAAKgC,WAAWuF,QAAQvH,KAAK+2B,UAC3B,MAAV5tB,GACFnJ,KAAKgC,WAAWoH,OAAOD,EAAO,GAEhCnJ,KAAK+2B,UAAU/hB,UACfhV,KAAK+2B,UAAY,KAIjB,eAAiB/2B,MAAK8P,SACxBnO,EAASy4B,qBAAqBp6B,KAAK+1B,KAAM/1B,KAAK8P,QAAQqmB,aAGpD,cAAgBrmB,KACdA,EAAQyuC,WACLv+C,KAAKkjD,YACRljD,KAAKkjD,UAAY,GAAIP,GAAU3iD,KAAKmxB,IAAIzxB,OAGtCM,KAAKkjD,YACPljD,KAAKkjD,UAAUluC,gBACRhV,MAAKkjD,YAMlBljD,KAAKgtD,kBAIPhtD,KAAKgC,WAAWqH,QAAQ,SAAU4jD,GAChC,MAAOA,GAAUr4C,WAAW9E,KAI9B9P,KAAKy3B,WAOPC,EAAK7iB,UAAUqvC,SAAW,WACxB,OAAQlkD,KAAKkjD,WAAaljD,KAAKkjD,UAAUiB,QAM3CzsB,EAAK7iB,UAAUG,QAAU,WAEvBhV,KAAKoY,QAGLpY,KAAKoV,MAGLpV,KAAKktD,kBAGDltD,KAAKmxB,IAAIzxB,KAAKmL,YAChB7K,KAAKmxB,IAAIzxB,KAAKmL,WAAW1G,YAAYnE,KAAKmxB,IAAIzxB,MAEhDM,KAAKmxB,IAAM,KAGPnxB,KAAKkjD,YACPljD,KAAKkjD,UAAUluC,gBACRhV,MAAKkjD,UAId,KAAK,GAAI54C,KAAStK,MAAK+rD,UACjB/rD,KAAK+rD,UAAU/lD,eAAesE,UACzBtK,MAAK+rD,UAAUzhD,EAG1BtK,MAAK+rD,UAAY,KACjB/rD,KAAK0D,OAAS,KAGd1D,KAAKgC,WAAWqH,QAAQ,SAAU4jD,GAChC,MAAOA,GAAUj4C,YAGnBhV,KAAK+1B,KAAO,MAQd2B,EAAK7iB,UAAUu2B,cAAgB,SAAUhS,EAAM/4B,GAC7C,IAAKL,KAAKi3B,WACR,KAAM,IAAIzzB,OAAM,yDAGlB,IAAI2pD,GAAQ9sD,GAAM,CAElBL,MAAKgC,WAAWqH,QAAQ,SAAUO,EAAST,EAAOnH,GAC5C4H,YAAmBnH,IAAcmH,EAAQkG,QAAQzP,KAAO8sD,GAC1DvjD,EAAQwhC,cAAchS,MAU5B1B,EAAK7iB,UAAUw2B,cAAgB,SAAUhrC,GACvC,IAAKL,KAAKi3B,WACR,KAAM,IAAIzzB,OAAM,yDAGlB,IAAI2pD,GAAQ9sD,GAAM,EACd42B,EAAaj3B,KAAKi3B,WAAWoU,eAQjC,OANArrC,MAAKgC,WAAWqH,QAAQ,SAAUO,EAAST,EAAOnH,GAC5C4H,YAAmBnH,IAAcmH,EAAQkG,QAAQzP,KAAO8sD,IAC1Dl2B,EAAartB,EAAQyhC,mBAIlBpU,GAUTS,EAAK7iB,UAAUu4C,cAAgB,SAAUh0B,EAAM/4B,GAC7C,IAAKL,KAAKg3B,YACR,KAAM,IAAIxzB,OAAM,sCAGlB,IAAa4C,SAATgzB,EACF,KAAM,IAAI51B,OAAM,qDAGlB,IACI6pD,GACAp2B,EACAq2B,EAHAC,EAAK5sD,EAAKgH,QAAQyxB,EAAM,QAAQtxB,SA0CpC,OAnCK9H,MAAKwtD,cAAgBxtD,KAAKwtD,aAAarmD,cAAgBJ,QAC1D/G,KAAKwtD,cAAgB,IAIZpnD,SAAP/F,GAEFgtD,EAASrtD,KAAKwtD,aAAan4C,OAAO,SAAUzL,GAC1C,MAAOjJ,GAAKiD,SAASgG,KAGvB0jD,EAAcD,EAAO3mD,OAAS,EAAIhC,KAAKJ,IAAIoV,MAAM,KAAM2zC,GAAU,EAAI,IAIrErtD,KAAKwtD,aAAankD,QAAQ,SAAUO,GAClC,GAAIA,IAAYvJ,EACd,KAAM,IAAImD,OAAM,mCAIpB8pD,EAAcjtD,GAGhBL,KAAKwtD,aAAahmD,KAAK8lD,GAEvBr2B,EAAa,GAAIx0B,GAAWzC,KAAK+1B,MAC/BkV,gBAAgB,EAChB7R,KAAMm0B,EACNltD,GAAIitD,IAGNttD,KAAKgC,WAAWwF,KAAKyvB,GACrBj3B,KAAKojB,SAEEkqC,GAQT51B,EAAK7iB,UAAU44C,iBAAmB,SAAUptD,GAE1C,GAAIwV,GAAK7V,IAETA,MAAKgC,WAAWqH,QAAQ,SAAU4pB,EAAK9pB,EAAOnH,GACxCixB,YAAexwB,IAAcwwB,EAAInjB,QAAQzP,KAAOA,GAE3B,IAAnB4yB,EAAInjB,QAAQzP,KACdwV,EAAG23C,aAAapkD,OAAOyM,EAAG23C,aAAajmD,QAAQlH,GAAK,GACpD2B,EAAWoH,OAAOD,EAAO,GACzB8pB,EAAIje,cAUZ0iB,EAAK7iB,UAAU8gC,gBAAkB,WAC/B,MAAO31C,MAAKk3B,SAAWl3B,KAAKk3B,QAAQye,uBAatCje,EAAK7iB,UAAUuD,MAAQ,SAAUkhB,KAE1BA,GAAQA,EAAKr3B,QAChBjC,KAAKw3B,SAAS,QAIX8B,GAAQA,EAAK/D,SAChBv1B,KAAKu3B,UAAU,QAIZ+B,GAAQA,EAAKxpB,WAChB9P,KAAKgC,WAAWqH,QAAQ,SAAU4jD,GAChC,MAAOA,GAAUr4C,WAAWq4C,EAAUx3B,kBAGxCz1B,KAAK4U,WAAW5U,KAAKy1B,kBAazBiC,EAAK7iB,UAAUsjB,IAAM,SAAUroB,GAC7B,GAAIgnB,GAAQ92B,KAAKg4B,eAGjB,IAAoB,OAAhBlB,EAAM7lB,OAAgC,OAAd6lB,EAAM5lB,IAAlC,CAIA,GAAIgnB,GAAUpoB,GAA+B1J,SAApB0J,EAAQooB,QAAwBpoB,EAAQooB,SAAU,CAC3El4B,MAAK82B,MAAMnC,SAASmC,EAAM7lB,MAAO6lB,EAAM5lB,IAAKgnB,KAQ9CR,EAAK7iB,UAAUmjB,cAAgB,WAE7B,GAAID,GAAY/3B,KAAKw4B,eAGjBvnB,EAAQ8mB,EAAU1zB,IAClB6M,EAAM6mB,EAAUzzB,GACpB,IAAa,MAAT2M,GAAwB,MAAPC,EAAa,CAChC,GAAI0iB,GAAW1iB,EAAIpJ,UAAYmJ,EAAMnJ,SACrB,IAAZ8rB,IAEFA,EAAW,OAEb3iB,EAAQ,GAAInM,MAAKmM,EAAMnJ,UAAuB,IAAX8rB,GACnC1iB,EAAM,GAAIpM,MAAKoM,EAAIpJ,UAAuB,IAAX8rB,GAGjC,OACE3iB,MAAOA,EACPC,IAAKA,IAwBTwmB,EAAK7iB,UAAUojB,UAAY,SAAUhnB,EAAOC,EAAKpB,GAC/C,GAAIooB,EACJ,IAAwB,GAApBzxB,UAAUC,OAAa,CACzB,GAAIowB,GAAQrwB,UAAU,EACtByxB,GAA4B9xB,SAAlB0wB,EAAMoB,QAAwBpB,EAAMoB,SAAU,EACxDl4B,KAAK82B,MAAMnC,SAASmC,EAAM7lB,MAAO6lB,EAAM5lB,IAAKgnB,OAE5CA,GAAUpoB,GAA+B1J,SAApB0J,EAAQooB,QAAwBpoB,EAAQooB,SAAU,EACvEl4B,KAAK82B,MAAMnC,SAAS1jB,EAAOC,EAAKgnB,IAcpCR,EAAK7iB,UAAUwU,OAAS,SAAU+P,EAAMtpB,GACtC,GAAI8jB,GAAW5zB,KAAK82B,MAAM5lB,IAAMlR,KAAK82B,MAAM7lB,MACvChC,EAAItO,EAAKgH,QAAQyxB,EAAM,QAAQtxB,UAE/BmJ,EAAQhC,EAAI2kB,EAAW,EACvB1iB,EAAMjC,EAAI2kB,EAAW,EACrBsE,EAAUpoB,GAA+B1J,SAApB0J,EAAQooB,QAAwBpoB,EAAQooB,SAAU,CAE3El4B,MAAK82B,MAAMnC,SAAS1jB,EAAOC,EAAKgnB,IAOlCR,EAAK7iB,UAAU64C,UAAY,WACzB,GAAI52B,GAAQ92B,KAAK82B,MAAM6K,UACvB,QACE1wB,MAAO,GAAInM,MAAKgyB,EAAM7lB,OACtBC,IAAK,GAAIpM,MAAKgyB,EAAM5lB,OAOxBwmB,EAAK7iB,UAAUuO,OAAS,WACtBpjB,KAAKy3B,WAQPC,EAAK7iB,UAAU4iB,QAAU,WACvB,GAAI2S,IAAU,EACVt6B,EAAU9P,KAAK8P,QACfhJ,EAAQ9G,KAAK8G,MACbqqB,EAAMnxB,KAAKmxB,GAEf,IAAKA,EAAL,CAEAxvB,EAAS44B,kBAAkBv6B,KAAK+1B,KAAM/1B,KAAK8P,QAAQqmB,aAGxB,OAAvBrmB,EAAQ6lB,aACVh1B,EAAKkI,aAAasoB,EAAIzxB,KAAM,WAC5BiB,EAAKuI,gBAAgBioB,EAAIzxB,KAAM,gBAE/BiB,EAAKuI,gBAAgBioB,EAAIzxB,KAAM,WAC/BiB,EAAKkI,aAAasoB,EAAIzxB,KAAM,eAI9ByxB,EAAIzxB,KAAK0O,MAAMwnB,UAAYj1B,EAAKsK,OAAOK,OAAOwE,EAAQ8lB,UAAW,IACjEzE,EAAIzxB,KAAK0O,MAAMynB,UAAYl1B,EAAKsK,OAAOK,OAAOwE,EAAQ+lB,UAAW,IACjE1E,EAAIzxB,KAAK0O,MAAM6F,MAAQtT,EAAKsK,OAAOK,OAAOwE,EAAQmE,MAAO,IAGzDnN,EAAM0G,OAAO9E,MAAQyoB,EAAI+H,gBAAgB1H,YAAcL,EAAI+H,gBAAgB/X,aAAe,EAC1Fra,EAAM0G,OAAOqb,MAAQ/hB,EAAM0G,OAAO9E,KAClC5B,EAAM0G,OAAO5E,KAAOuoB,EAAI+H,gBAAgBxH,aAAeP,EAAI+H,gBAAgB7S,cAAgB,EAC3Fvf,EAAM0G,OAAOwX,OAASle,EAAM0G,OAAO5E,GACnC,IAAI+kD,GAAmBx8B,EAAIzxB,KAAKgyB,aAAeP,EAAIzxB,KAAK2mB,aACpDunC,EAAkBz8B,EAAIzxB,KAAK8xB,YAAcL,EAAIzxB,KAAKyhB,WAIb,KAArCgQ,EAAI+H,gBAAgB7S,eACtBvf,EAAM0G,OAAO9E,KAAO5B,EAAM0G,OAAO5E,IACjC9B,EAAM0G,OAAOqb,MAAQ/hB,EAAM0G,OAAO9E,MAEN,IAA1ByoB,EAAIzxB,KAAK2mB,eACXunC,EAAkBD,GAKpB7mD,EAAMymB,OAAOrZ,OAASid,EAAI5D,OAAOmE,aACjC5qB,EAAM4B,KAAKwL,OAASid,EAAIzoB,KAAKgpB,aAC7B5qB,EAAM+hB,MAAM3U,OAASid,EAAItI,MAAM6I,aAC/B5qB,EAAM8B,IAAIsL,OAASid,EAAIvoB,IAAIyd,eAAiBvf,EAAM0G,OAAO5E,IACzD9B,EAAMke,OAAO9Q,OAASid,EAAInM,OAAOqB,eAAiBvf,EAAM0G,OAAOwX,MAM/D,IAAIyM,GAAgB/sB,KAAKJ,IAAIwC,EAAM4B,KAAKwL,OAAQpN,EAAMymB,OAAOrZ,OAAQpN,EAAM+hB,MAAM3U,QAC7E25C,EAAa/mD,EAAM8B,IAAIsL,OAASud,EAAgB3qB,EAAMke,OAAO9Q,OAASy5C,EAAmB7mD,EAAM0G,OAAO5E,IAAM9B,EAAM0G,OAAOwX,MAC7HmM,GAAIzxB,KAAK0O,MAAM8F,OAASvT,EAAKsK,OAAOK,OAAOwE,EAAQoE,OAAQ25C,EAAa,MAGxE/mD,EAAMpH,KAAKwU,OAASid,EAAIzxB,KAAKgyB,aAC7B5qB,EAAMyG,WAAW2G,OAASpN,EAAMpH,KAAKwU,OAASy5C,CAC9C,IAAI/vB,GAAkB92B,EAAMpH,KAAKwU,OAASpN,EAAM8B,IAAIsL,OAASpN,EAAMke,OAAO9Q,OAASy5C,CACnF7mD,GAAMoyB,gBAAgBhlB,OAAS0pB,EAC/B92B,EAAMolD,cAAch4C,OAAS0pB,EAC7B92B,EAAMqlD,eAAej4C,OAASpN,EAAMolD,cAAch4C,OAGlDpN,EAAMpH,KAAKuU,MAAQkd,EAAIzxB,KAAK8xB,YAC5B1qB,EAAMyG,WAAW0G,MAAQnN,EAAMpH,KAAKuU,MAAQ25C,EAC5C9mD,EAAM4B,KAAKuL,MAAQkd,EAAI+6B,cAAc/qC,cAAgBra,EAAM0G,OAAO9E,KAClE5B,EAAMolD,cAAcj4C,MAAQnN,EAAM4B,KAAKuL,MACvCnN,EAAM+hB,MAAM5U,MAAQkd,EAAIg7B,eAAehrC,cAAgBra,EAAM0G,OAAOqb,MACpE/hB,EAAMqlD,eAAel4C,MAAQnN,EAAM+hB,MAAM5U,KACzC,IAAI65C,GAAchnD,EAAMpH,KAAKuU,MAAQnN,EAAM4B,KAAKuL,MAAQnN,EAAM+hB,MAAM5U,MAAQ25C,CAC5E9mD,GAAMymB,OAAOtZ,MAAQ65C,EACrBhnD,EAAMoyB,gBAAgBjlB,MAAQ65C,EAC9BhnD,EAAM8B,IAAIqL,MAAQ65C,EAClBhnD,EAAMke,OAAO/Q,MAAQ65C,EAGrB38B,EAAI5jB,WAAWa,MAAM8F,OAASpN,EAAMyG,WAAW2G,OAAS,KACxDid,EAAIsZ,mBAAmBr8B,MAAM8F,OAASpN,EAAMyG,WAAW2G,OAAS,KAChEid,EAAIuc,qBAAqBt/B,MAAM8F,OAASpN,EAAMoyB,gBAAgBhlB,OAAS,KACvEid,EAAI+H,gBAAgB9qB,MAAM8F,OAASpN,EAAMoyB,gBAAgBhlB,OAAS,KAClEid,EAAI+6B,cAAc99C,MAAM8F,OAASpN,EAAMolD,cAAch4C,OAAS,KAC9Did,EAAIg7B,eAAe/9C,MAAM8F,OAASpN,EAAMqlD,eAAej4C,OAAS,KAEhEid,EAAI5jB,WAAWa,MAAM6F,MAAQnN,EAAMyG,WAAW0G,MAAQ,KACtDkd,EAAIsZ,mBAAmBr8B,MAAM6F,MAAQnN,EAAMoyB,gBAAgBjlB,MAAQ,KACnEkd,EAAIuc,qBAAqBt/B,MAAM6F,MAAQnN,EAAMyG,WAAW0G,MAAQ,KAChEkd,EAAI+H,gBAAgB9qB,MAAM6F,MAAQnN,EAAMymB,OAAOtZ,MAAQ,KACvDkd,EAAIvoB,IAAIwF,MAAM6F,MAAQnN,EAAM8B,IAAIqL,MAAQ,KACxCkd,EAAInM,OAAO5W,MAAM6F,MAAQnN,EAAMke,OAAO/Q,MAAQ,KAG9Ckd,EAAI5jB,WAAWa,MAAM1F,KAAO,IAC5ByoB,EAAI5jB,WAAWa,MAAMxF,IAAM,IAC3BuoB,EAAIsZ,mBAAmBr8B,MAAM1F,KAAO5B,EAAM4B,KAAKuL,MAAQnN,EAAM0G,OAAO9E,KAAO,KAC3EyoB,EAAIsZ,mBAAmBr8B,MAAMxF,IAAM,IACnCuoB,EAAIuc,qBAAqBt/B,MAAM1F,KAAO,IACtCyoB,EAAIuc,qBAAqBt/B,MAAMxF,IAAM9B,EAAM8B,IAAIsL,OAAS,KACxDid,EAAI+H,gBAAgB9qB,MAAM1F,KAAO5B,EAAM4B,KAAKuL,MAAQ,KACpDkd,EAAI+H,gBAAgB9qB,MAAMxF,IAAM9B,EAAM8B,IAAIsL,OAAS,KACnDid,EAAI+6B,cAAc99C,MAAM1F,KAAO,IAC/ByoB,EAAI+6B,cAAc99C,MAAMxF,IAAM9B,EAAM8B,IAAIsL,OAAS,KACjDid,EAAIg7B,eAAe/9C,MAAM1F,KAAO5B,EAAM4B,KAAKuL,MAAQnN,EAAMymB,OAAOtZ,MAAQ,KACxEkd,EAAIg7B,eAAe/9C,MAAMxF,IAAM9B,EAAM8B,IAAIsL,OAAS,KAClDid,EAAIvoB,IAAIwF,MAAM1F,KAAO5B,EAAM4B,KAAKuL,MAAQ,KACxCkd,EAAIvoB,IAAIwF,MAAMxF,IAAM,IACpBuoB,EAAInM,OAAO5W,MAAM1F,KAAO5B,EAAM4B,KAAKuL,MAAQ,KAC3Ckd,EAAInM,OAAO5W,MAAMxF,IAAM9B,EAAM8B,IAAIsL,OAASpN,EAAMoyB,gBAAgBhlB,OAAS,KAIzElU,KAAK+tD,kBAGL,IAAI7iC,GAASlrB,KAAK8G,MAAMimC,SACG,WAAvBj9B,EAAQ6lB,cACVzK,GAAUxmB,KAAKJ,IAAItE,KAAK8G,MAAMoyB,gBAAgBhlB,OAASlU,KAAK8G,MAAMymB,OAAOrZ,OAASlU,KAAK8G,MAAM0G,OAAO5E,IAAM5I,KAAK8G,MAAM0G,OAAOwX,OAAQ,IAEtImM,EAAI5D,OAAOnf,MAAM1F,KAAO,IACxByoB,EAAI5D,OAAOnf,MAAMxF,IAAMsiB,EAAS,KAChCiG,EAAIzoB,KAAK0F,MAAM1F,KAAO,IACtByoB,EAAIzoB,KAAK0F,MAAMxF,IAAMsiB,EAAS,KAC9BiG,EAAItI,MAAMza,MAAM1F,KAAO,IACvByoB,EAAItI,MAAMza,MAAMxF,IAAMsiB,EAAS,IAG/B,IAAI8iC,GAAwC,GAAxBhuD,KAAK8G,MAAMimC,UAAiB,SAAW,GACvDkhB,EAAmBjuD,KAAK8G,MAAMimC,WAAa/sC,KAAK8G,MAAMgmD,aAAe,SAAW,EAYpF,IAXA37B,EAAIi7B,UAAUh+C,MAAMyrB,WAAam0B,EACjC78B,EAAIk7B,aAAaj+C,MAAMyrB,WAAao0B,EACpC98B,EAAIm7B,cAAcl+C,MAAMyrB,WAAam0B,EACrC78B,EAAIo7B,iBAAiBn+C,MAAMyrB,WAAao0B,EACxC98B,EAAIq7B,eAAep+C,MAAMyrB,WAAam0B,EACtC78B,EAAIs7B,kBAAkBr+C,MAAMyrB,WAAao0B,EAGzCjuD,KAAKgC,WAAWqH,QAAQ,SAAU4jD,GAChC7iB,EAAU6iB,EAAU7pC,UAAYgnB,IAE9BA,EAAS,CAEX,GAAI8jB,GAAc,CACdluD,MAAK+sD,YAAcmB,GACrBluD,KAAK+sD,cACL/sD,KAAKy3B,WAEL4D,QAAQtG,IAAI,qCAEd/0B,KAAK+sD,YAAc,EAGrB/sD,KAAKivB,KAAK,oBAIZyI,EAAK7iB,UAAUs5C,QAAU,WACvB,KAAM,IAAI3qD,OAAM,wDAUlBk0B,EAAK7iB,UAAUk2B,eAAiB,SAAU3R,GACxC,IAAKp5B,KAAKg3B,YACR,KAAM,IAAIxzB,OAAM,sCAGlBxD,MAAKg3B,YAAY+T,eAAe3R,IAQlC1B,EAAK7iB,UAAUm2B,eAAiB,WAC9B,IAAKhrC,KAAKg3B,YACR,KAAM,IAAIxzB,OAAM,sCAGlB,OAAOxD,MAAKg3B,YAAYgU,kBAU1BtT,EAAK7iB,UAAU8hB,QAAU,SAAUxjB,GACjC,MAAOxR,GAAS+0B,OAAO12B,KAAMmT,EAAGnT,KAAK8G,MAAMymB,OAAOtZ,QAUpDyjB,EAAK7iB,UAAUgiB,cAAgB,SAAU1jB,GACvC,MAAOxR,GAAS+0B,OAAO12B,KAAMmT,EAAGnT,KAAK8G,MAAMpH,KAAKuU,QAalDyjB,EAAK7iB,UAAU0hB,UAAY,SAAU6C,GACnC,MAAOz3B,GAAS20B,SAASt2B,KAAMo5B,EAAMp5B,KAAK8G,MAAMymB,OAAOtZ,QAYzDyjB,EAAK7iB,UAAU4hB,gBAAkB,SAAU2C,GACzC,MAAOz3B,GAAS20B,SAASt2B,KAAMo5B,EAAMp5B,KAAK8G,MAAMpH,KAAKuU,QASvDyjB,EAAK7iB,UAAUm4C,gBAAkB,WACA,GAA3BhtD,KAAK8P,QAAQ4lB,WACf11B,KAAKouD,mBAELpuD,KAAKktD,mBASTx1B,EAAK7iB,UAAUu5C,iBAAmB,WAChC,GAAIv4C,GAAK7V,IAETA,MAAKktD,kBAELltD,KAAKquD,UAAY,WACf,MAA6B,IAAzBx4C,EAAG/F,QAAQ4lB,eAEb7f,GAAGq3C,uBAIDr3C,EAAGsb,IAAIzxB,OAKLmW,EAAGsb,IAAIzxB,KAAK8xB,aAAe3b,EAAG/O,MAAMovC,WAAargC,EAAGsb,IAAIzxB,KAAKgyB,cAAgB7b,EAAG/O,MAAMwnD,cACxFz4C,EAAG/O,MAAMovC,UAAYrgC,EAAGsb,IAAIzxB,KAAK8xB,YACjC3b,EAAG/O,MAAMwnD,WAAaz4C,EAAGsb,IAAIzxB,KAAKgyB,aAElC7b,EAAGoZ,KAAK,aAMdtuB,EAAKgJ,iBAAiBY,OAAQ,SAAUvK,KAAKquD,WAE7CruD,KAAKuuD,WAAaC,YAAYxuD,KAAKquD,UAAW,MAOhD32B,EAAK7iB,UAAUq4C,gBAAkB,WAC3BltD,KAAKuuD,aACP16B,cAAc7zB,KAAKuuD,YACnBvuD,KAAKuuD,WAAanoD,QAIpBzF,EAAKwJ,oBAAoBI,OAAQ,SAAUvK,KAAKquD,WAChDruD,KAAKquD,UAAY,MAQnB32B,EAAK7iB,UAAU8rB,SAAW,SAAUr2B,GAClCtK,KAAKqgC,MAAMyB,eAAgB,GAQ7BpK,EAAK7iB,UAAU+rB,SAAW,SAAUt2B,GAClCtK,KAAKqgC,MAAMyB,eAAgB,GAQ7BpK,EAAK7iB,UAAU0rB,aAAe,SAAUj2B,GACtCtK,KAAKqgC,MAAMouB,iBAAmBzuD,KAAK8G,MAAMimC,WAQ3CrV,EAAK7iB,UAAU2rB,QAAU,SAAUl2B,GAGjC,GAAKtK,KAAKqgC,MAAMyB,cAAhB,CAEA,GAAIhS,GAAQxlB,EAAM03B,OAEd0sB,EAAe1uD,KAAK2uD,gBACpBC,EAAe5uD,KAAK6uD,cAAc7uD,KAAKqgC,MAAMouB,iBAAmB3+B,EAEhE8+B,IAAgBF,IAClB1uD,KAAKy3B,UACLz3B,KAAKivB,KAAK,mBAUdyI,EAAK7iB,UAAUg6C,cAAgB,SAAU9hB,GAGvC,MAFA/sC,MAAK8G,MAAMimC,UAAYA,EACvB/sC,KAAK+tD,mBACE/tD,KAAK8G,MAAMimC,WAQpBrV,EAAK7iB,UAAUk5C,iBAAmB,WAEhC,GAAIjB,GAAepoD,KAAKL,IAAIrE,KAAK8G,MAAMoyB,gBAAgBhlB,OAASlU,KAAK8G,MAAMymB,OAAOrZ,OAAQ,EAc1F,OAbI44C,IAAgB9sD,KAAK8G,MAAMgmD,eAGG,UAA5B9sD,KAAK8P,QAAQ6lB,cACf31B,KAAK8G,MAAMimC,WAAa+f,EAAe9sD,KAAK8G,MAAMgmD,cAEpD9sD,KAAK8G,MAAMgmD,aAAeA,GAIxB9sD,KAAK8G,MAAMimC,UAAY,IAAG/sC,KAAK8G,MAAMimC,UAAY,GACjD/sC,KAAK8G,MAAMimC,UAAY+f,IAAc9sD,KAAK8G,MAAMimC,UAAY+f,GAEzD9sD,KAAK8G,MAAMimC,WAQpBrV,EAAK7iB,UAAU85C,cAAgB,WAC7B,MAAO3uD,MAAK8G,MAAMimC,WAGpBltC,EAAOD,QAAU83B,GAIb,SAAS73B,EAAQD,EAASM,GAIjBA,EAAoB,GAOjCN,GAAQs/C,QAAU,SAAUx7C,EAAQ4F,GAClCA,EAASwlD,aAAe,SAAUxkD,GAC5BA,EAAM+qC,UAAY0Z,IACpBzlD,EAASgB,GAETykD,GAAa,EACb7zC,WAAW,WACT6zC,GAAa,GACZ,KAIPrrD,EAAOuR,GAAG,eAAgB3L,EAASwlD,cAKrC,IAAIC,IAAa,CAOjBnvD,GAAQ+/C,UAAY,SAAUj8C,EAAQ4F,GAYpC,MAXAA,GAASwlD,aAAe,SAAUxkD,GAC5BA,EAAM0kD,UAAYC,IACpB3lD,EAASgB,GAET2kD,GAAc,EACd/zC,WAAW,WACT+zC,GAAc,GACb,KAIAvrD,EAAOuR,GAAG,eAAgB3L,EAASwlD,cAK5C,IAAIG,IAAc,CAOlBrvD,GAAQsvD,SAAW,SAAUxrD,EAAQ4F,GACnC5F,EAAO0R,IAAI,eAAgB9L,EAASwlD,eAQtClvD,EAAQuvD,WAAavvD,EAAQsvD,UAIzB,SAASrvD,EAAQD,EAASM,GAK9BN,EAAQ+qC,IACNpO,QAAS,UACTnD,KAAM,QAERx5B,EAAQwvD,MAAQxvD,EAAQ+qC,GACxB/qC,EAAQyvD,MAAQzvD,EAAQ+qC,GAGxB/qC,EAAQ0vD,IACN/yB,QAAS,aACTnD,KAAM,QAERx5B,EAAQ2vD,MAAQ3vD,EAAQ0vD,GACxB1vD,EAAQ4vD,MAAQ5vD,EAAQ0vD,IAIpB,SAASzvD,EAAQD,EAASM,GAO9B,QAASiwC,GAAK1W,EAAS3pB,GACrB9P,KAAKy5B,QAAUA,EACfz5B,KAAK8P,QAAUA,EALjB,GAAIlP,GAAUV,EAAoB,GAC9BmwC,EAASnwC,EAAoB,GAOjCiwC,GAAKt7B,UAAUw8B,UAAY,SAAUC,GAGnC,IAAK,GAFD9zB,GAAO8zB,EAAU,GAAGl+B,EACpBsK,EAAO4zB,EAAU,GAAGl+B,EACf6Z,EAAI,EAAGA,EAAIqkB,EAAU5qC,OAAQumB,IACpCzP,EAAOA,EAAO8zB,EAAUrkB,GAAG7Z,EAAIk+B,EAAUrkB,GAAG7Z,EAAIoK,EAChDE,EAAOA,EAAO4zB,EAAUrkB,GAAG7Z,EAAIk+B,EAAUrkB,GAAG7Z,EAAIsK,CAElD,QAASrZ,IAAKmZ,EAAMlZ,IAAKoZ,EAAM0zB,iBAAkBpxC,KAAK8P,QAAQshC,mBAShEjB,EAAKt7B,UAAU08B,KAAO,SAAU9Y,EAASplB,EAAOm+B,GAC9C,GAAe,MAAX/Y,GACEA,EAAQ/xB,OAAS,EAAG,CACtB,GAAIiqC,GAAM7iC,EACN+uC,EAAY/4C,OAAO0tC,EAAUlG,IAAIl9B,MAAM8F,OAAOvI,QAAQ,KAAM,IAehE,IAdAglC,EAAO/vC,EAAQ4R,cAAc,OAAQg/B,EAAU7E,YAAa6E,EAAUlG,KACtEqF,EAAKl9B,eAAe,KAAM,QAASJ,EAAMvK,WACrB1C,SAAhBiN,EAAMjF,OACRuiC,EAAKl9B,eAAe,KAAM,QAAS,OAASJ,EAAMjF;AAKlDN,EADsC,GAApCuF,EAAMvD,QAAQygC,WAAWxgC,QACvBogC,EAAKsf,YAAYh3B,EAASplB,GAE1B88B,EAAKuf,QAAQj3B,GAIiB,GAAhCplB,EAAMvD,QAAQihC,OAAOhhC,QAAiB,CACxC,GACI4/C,GADA/e,EAAWhwC,EAAQ4R,cAAc,OAAQg/B,EAAU7E,YAAa6E,EAAUlG,IAG5EqkB,GADsC,OAApCt8C,EAAMvD,QAAQihC,OAAOpb,YACf,IAAM8C,EAAQ,GAAGtlB,EAAI,MAAgBrF,EAAI,IAAM2qB,EAAQA,EAAQ/xB,OAAS,GAAGyM,EAAI,KAE/E,IAAMslB,EAAQ,GAAGtlB,EAAI,IAAM0pC,EAAY,IAAM/uC,EAAI,IAAM2qB,EAAQA,EAAQ/xB,OAAS,GAAGyM,EAAI,IAAM0pC,EAEvGjM,EAASn9B,eAAe,KAAM,QAASJ,EAAMvK,UAAY,aACtB1C,SAA/BiN,EAAMvD,QAAQihC,OAAO3iC,OACvBwiC,EAASn9B,eAAe,KAAM,QAASJ,EAAMvD,QAAQihC,OAAO3iC,OAE9DwiC,EAASn9B,eAAe,KAAM,IAAKk8C,GAGrChf,EAAKl9B,eAAe,KAAM,IAAK,IAAM3F,GAGG,GAApCuF,EAAMvD,QAAQ0D,WAAWzD,SAC3BsgC,EAAOkB,KAAK9Y,EAASplB,EAAOm+B,KAapCrB,EAAKyf,mBAAqB,SAAUx7C,GAMlC,IAAK,GAJDy7C,GAAIC,EAAIC,EAAIC,EAAIC,EAAKC,EACrBpiD,EAAIpJ,KAAKqqB,MAAM3a,EAAK,GAAGjB,GAAK,IAAMzO,KAAKqqB,MAAM3a,EAAK,GAAGhB,GAAK,IAC1D+8C,EAAgB,EAAI,EACpBzpD,EAAS0N,EAAK1N,OACTF,EAAI,EAAOE,EAAS,EAAbF,EAAgBA,IAE9BqpD,EAAU,GAALrpD,EAAS4N,EAAK,GAAKA,EAAK5N,EAAI,GACjCspD,EAAK17C,EAAK5N,GACVupD,EAAK37C,EAAK5N,EAAI,GACdwpD,EAAatpD,EAARF,EAAI,EAAa4N,EAAK5N,EAAI,GAAKupD,EASpCE,GAAQ98C,IAAK08C,EAAG18C,EAAI,EAAI28C,EAAG38C,EAAI48C,EAAG58C,GAAKg9C,EAAe/8C,IAAKy8C,EAAGz8C,EAAI,EAAI08C,EAAG18C,EAAI28C,EAAG38C,GAAK+8C,GACrFD,GAAQ/8C,GAAI28C,EAAG38C,EAAI,EAAI48C,EAAG58C,EAAI68C,EAAG78C,GAAKg9C,EAAe/8C,GAAI08C,EAAG18C,EAAI,EAAI28C,EAAG38C,EAAI48C,EAAG58C,GAAK+8C,GAGnFriD,GAAK,IAAMmiD,EAAI98C,EAAI,IAAM88C,EAAI78C,EAAI,IAAM88C,EAAI/8C,EAAI,IAAM+8C,EAAI98C,EAAI,IAAM28C,EAAG58C,EAAI,IAAM48C,EAAG38C,EAAI,GAGzF,OAAOtF,IAcTqiC,EAAKsf,YAAc,SAAUr7C,EAAMf,GACjC,GAAIo9B,GAAQp9B,EAAMvD,QAAQygC,WAAWE,KACrC,IAAa,GAATA,GAAwBrqC,SAAVqqC,EAChB,MAAOzwC,MAAK4vD,mBAAmBx7C,EAM/B,KAAK,GAJDy7C,GAAIC,EAAIC,EAAIC,EAAIC,EAAKC,EAAKE,EAAIC,EAAIC,EAAIC,EAAGzkC,EAAG0kC,EAAGC,EAC/CC,EAAQC,EAAQC,EAASC,EAASC,EAASC,EAC3CjjD,EAAIpJ,KAAKqqB,MAAM3a,EAAK,GAAGjB,GAAK,IAAMzO,KAAKqqB,MAAM3a,EAAK,GAAGhB,GAAK,IAC1D1M,EAAS0N,EAAK1N,OACTF,EAAI,EAAOE,EAAS,EAAbF,EAAgBA,IAE9BqpD,EAAU,GAALrpD,EAAS4N,EAAK,GAAKA,EAAK5N,EAAI,GACjCspD,EAAK17C,EAAK5N,GACVupD,EAAK37C,EAAK5N,EAAI,GACdwpD,EAAatpD,EAARF,EAAI,EAAa4N,EAAK5N,EAAI,GAAKupD,EAEpCK,EAAK1rD,KAAKssB,KAAKtsB,KAAKwwB,IAAI26B,EAAG18C,EAAI28C,EAAG38C,EAAG,GAAKzO,KAAKwwB,IAAI26B,EAAGz8C,EAAI08C,EAAG18C,EAAG,IAChEi9C,EAAK3rD,KAAKssB,KAAKtsB,KAAKwwB,IAAI46B,EAAG38C,EAAI48C,EAAG58C,EAAG,GAAKzO,KAAKwwB,IAAI46B,EAAG18C,EAAI28C,EAAG38C,EAAG,IAChEk9C,EAAK5rD,KAAKssB,KAAKtsB,KAAKwwB,IAAI66B,EAAG58C,EAAI68C,EAAG78C,EAAG,GAAKzO,KAAKwwB,IAAI66B,EAAG38C,EAAI48C,EAAG58C,EAAG,IAYhEs9C,EAAShsD,KAAKwwB,IAAIo7B,EAAI7f,GACtBmgB,EAAUlsD,KAAKwwB,IAAIo7B,EAAI,EAAI7f,GAC3BkgB,EAASjsD,KAAKwwB,IAAIm7B,EAAI5f,GACtBogB,EAAUnsD,KAAKwwB,IAAIm7B,EAAI,EAAI5f,GAC3BsgB,EAASrsD,KAAKwwB,IAAIk7B,EAAI3f,GACtBqgB,EAAUpsD,KAAKwwB,IAAIk7B,EAAI,EAAI3f,GAE3B8f,EAAI,EAAIO,EAAU,EAAIC,EAASJ,EAASE,EACxC/kC,EAAI,EAAI8kC,EAAU,EAAIF,EAASC,EAASE,EACxCL,EAAI,EAAIO,GAAUA,EAASJ,GACvBH,EAAI,IACNA,EAAI,EAAIA,GAEVC,EAAI,EAAIC,GAAUA,EAASC,GACvBF,EAAI,IACNA,EAAI,EAAIA,GAGVR,GAAQ98C,IAAK09C,EAAUhB,EAAG18C,EAAIo9C,EAAIT,EAAG38C,EAAI29C,EAAUf,EAAG58C,GAAKq9C,EACzDp9C,IAAKy9C,EAAUhB,EAAGz8C,EAAIm9C,EAAIT,EAAG18C,EAAI09C,EAAUf,EAAG38C,GAAKo9C,GAErDN,GAAQ/8C,GAAIy9C,EAAUd,EAAG38C,EAAI2Y,EAAIikC,EAAG58C,EAAI09C,EAAUb,EAAG78C,GAAKs9C,EACxDr9C,GAAIw9C,EAAUd,EAAG18C,EAAI0Y,EAAIikC,EAAG38C,EAAIy9C,EAAUb,EAAG58C,GAAKq9C,GAEvC,GAATR,EAAI98C,GAAmB,GAAT88C,EAAI78C,IACpB68C,EAAMH,GAEK,GAATI,EAAI/8C,GAAmB,GAAT+8C,EAAI98C,IACpB88C,EAAMH,GAERjiD,GAAK,IAAMmiD,EAAI98C,EAAI,IAAM88C,EAAI78C,EAAI,IAAM88C,EAAI/8C,EAAI,IAAM+8C,EAAI98C,EAAI,IAAM28C,EAAG58C,EAAI,IAAM48C,EAAG38C,EAAI,GAGzF,OAAOtF,IAUXqiC,EAAKuf,QAAU,SAAUt7C,GAGvB,IAAK,GADDtG,GAAI,GACCtH,EAAI,EAAGA,EAAI4N,EAAK1N,OAAQF,IAE7BsH,GADO,GAALtH,EACG4N,EAAK5N,GAAG2M,EAAI,IAAMiB,EAAK5N,GAAG4M,EAE1B,IAAMgB,EAAK5N,GAAG2M,EAAI,IAAMiB,EAAK5N,GAAG4M,CAGzC,OAAOtF,IAGTjO,EAAOD,QAAUuwC,GAIb,SAAStwC,EAAQD,EAASM,GAO9B,QAAS8wD,GAASv3B,EAAS3pB,GACzB9P,KAAKy5B,QAAUA,EACfz5B,KAAK8P,QAAUA,EALjB,GAAIlP,GAAUV,EAAoB,GAC9BmwC,EAASnwC,EAAoB,GAOjC8wD,GAASn8C,UAAUw8B,UAAY,SAAUC,GACvC,GAA2C,SAAvCtxC,KAAK8P,QAAQspC,SAASC,cAA0B,CAGlD,IAAK,GAFD77B,GAAO8zB,EAAU,GAAGl+B,EACpBsK,EAAO4zB,EAAU,GAAGl+B,EACf6Z,EAAI,EAAGA,EAAIqkB,EAAU5qC,OAAQumB,IACpCzP,EAAOA,EAAO8zB,EAAUrkB,GAAG7Z,EAAIk+B,EAAUrkB,GAAG7Z,EAAIoK,EAChDE,EAAOA,EAAO4zB,EAAUrkB,GAAG7Z,EAAIk+B,EAAUrkB,GAAG7Z,EAAIsK,CAElD,QAASrZ,IAAKmZ,EAAMlZ,IAAKoZ,EAAM0zB,iBAAkBpxC,KAAK8P,QAAQshC,kBAG9D,IAAK,GADD6f,MACKhkC,EAAI,EAAGA,EAAIqkB,EAAU5qC,OAAQumB,IACpCgkC,EAAgBzpD,MACd2L,EAAGm+B,EAAUrkB,GAAG9Z,EAChBC,EAAGk+B,EAAUrkB,GAAG7Z,EAChBqmB,QAASz5B,KAAKy5B,SAGlB,OAAOw3B,IAUXD,EAASzf,KAAO,SAAUsD,EAAUyF,EAAoB9I,GACtD,GAEI0f,GACAxnD,EAAKynD,EACL99C,EACA7M,EAAGymB,EALHmkC,KACAC,KAKAC,EAAY,CAGhB,KAAK9qD,EAAI,EAAGA,EAAIquC,EAASnuC,OAAQF,IAE/B,GADA6M,EAAQm+B,EAAUjc,OAAOsf,EAASruC,IACP,OAAvB6M,EAAMvD,QAAQ1B,OACK,GAAjBiF,EAAM4W,UAAyE7jB,SAArDorC,EAAU1hC,QAAQylB,OAAOsE,WAAWgb,EAASruC,KAAyE,GAApDgrC,EAAU1hC,QAAQylB,OAAOsE,WAAWgb,EAASruC,KAC3I,IAAKymB,EAAI,EAAGA,EAAIqtB,EAAmBzF,EAASruC,IAAIE,OAAQumB,IACtDmkC,EAAa5pD,MACX2L,EAAGmnC,EAAmBzF,EAASruC,IAAIymB,GAAG9Z,EACtCC,EAAGknC,EAAmBzF,EAASruC,IAAIymB,GAAG7Z,EACtCqmB,QAASob,EAASruC,GAClBmN,MAAO2mC,EAAmBzF,EAASruC,IAAIymB,GAAGtZ,QAE5C29C,GAAa,CAMrB,IAAiB,GAAbA,EAiBJ,IAZAF,EAAav5C,KAAK,SAAUvR,EAAGC,GAC7B,MAAID,GAAE6M,GAAK5M,EAAE4M,EACJ7M,EAAEmzB,QAAUlzB,EAAEkzB,QAEdnzB,EAAE6M,EAAI5M,EAAE4M,IAKnB69C,EAASO,sBAAsBF,EAAeD,GAGzC5qD,EAAI,EAAGA,EAAI4qD,EAAa1qD,OAAQF,IAAK,CACxC6M,EAAQm+B,EAAUjc,OAAO67B,EAAa5qD,GAAGizB,QACzC,IAAI4S,GAAW,GAAMh5B,EAAMvD,QAAQspC,SAASnlC,KAE5CvK,GAAM0nD,EAAa5qD,GAAG2M,CACtB,IAAIq+C,GAAe,CACnB,IAA2BprD,SAAvBirD,EAAc3nD,GACZlD,EAAI,EAAI4qD,EAAa1qD,SACvBwqD,EAAexsD,KAAKwnB,IAAIklC,EAAa5qD,EAAI,GAAG2M,EAAIzJ,IAE9ClD,EAAI,IACN0qD,EAAexsD,KAAKL,IAAI6sD,EAAcxsD,KAAKwnB,IAAIklC,EAAa5qD,EAAI,GAAG2M,EAAIzJ,KAEzEynD,EAAWH,EAASS,iBAAiBP,EAAc79C,EAAOg5B,OACrD,CACL,GAAIqlB,GAAUlrD,GAAK6qD,EAAc3nD,GAAKioD,OAASN,EAAc3nD,GAAKkoD,UAC9DC,EAAUrrD,GAAK6qD,EAAc3nD,GAAKkoD,SAAW,EAC7CF,GAAUN,EAAa1qD,SACzBwqD,EAAexsD,KAAKwnB,IAAIklC,EAAaM,GAASv+C,EAAIzJ,IAEhDmoD,EAAU,IACZX,EAAexsD,KAAKL,IAAI6sD,EAAcxsD,KAAKwnB,IAAIklC,EAAaS,GAAS1+C,EAAIzJ,KAE3EynD,EAAWH,EAASS,iBAAiBP,EAAc79C,EAAOg5B,GAC1DglB,EAAc3nD,GAAKkoD,UAAY,EAEa,SAAxCv+C,EAAMvD,QAAQspC,SAASC,eACzBmY,EAAeH,EAAc3nD,GAAKooD,YAClCT,EAAc3nD,GAAKooD,aAAez+C,EAAM68B,aAAekhB,EAAa5qD,GAAG4M,GACtB,cAAxCC,EAAMvD,QAAQspC,SAASC,gBAChC8X,EAASl9C,MAAQk9C,EAASl9C,MAAQo9C,EAAc3nD,GAAKioD,OACrDR,EAASjmC,QAAUmmC,EAAc3nD,GAAKkoD,SAAWT,EAASl9C,MAAQ,GAAMk9C,EAASl9C,OAASo9C,EAAc3nD,GAAKioD,OAAS,GAClF,QAAhCt+C,EAAMvD,QAAQspC,SAAShQ,MACzB+nB,EAASjmC,QAAU,GAAMimC,EAASl9C,MACO,SAAhCZ,EAAMvD,QAAQspC,SAAShQ,QAChC+nB,EAASjmC,QAAU,GAAMimC,EAASl9C,QAIxCrT,EAAQoT,QAAQo9C,EAAa5qD,GAAG2M,EAAIg+C,EAASjmC,OAAQkmC,EAAa5qD,GAAG4M,EAAIo+C,EAAcL,EAASl9C,MAAOZ,EAAM68B,aAAekhB,EAAa5qD,GAAG4M,EAAGC,EAAMvK,UAAY,WAAY0oC,EAAU7E,YAAa6E,EAAUlG,KAEtK,GAApCj4B,EAAMvD,QAAQ0D,WAAWzD,SAC3BsgC,EAAOkB,MAAM6f,EAAa5qD,IAAK6M,EAAOm+B,EAAW2f,EAASjmC,UAYhE8lC,EAASO,sBAAwB,SAAUF,EAAeD,GAGxD,IAAK,GADDF,GACK1qD,EAAI,EAAGA,EAAI4qD,EAAa1qD,OAAQF,IACnCA,EAAI,EAAI4qD,EAAa1qD,SACvBwqD,EAAexsD,KAAKwnB,IAAIklC,EAAa5qD,EAAI,GAAG2M,EAAIi+C,EAAa5qD,GAAG2M,IAE9D3M,EAAI,IACN0qD,EAAexsD,KAAKL,IAAI6sD,EAAcxsD,KAAKwnB,IAAIklC,EAAa5qD,EAAI,GAAG2M,EAAIi+C,EAAa5qD,GAAG2M,KAErE,GAAhB+9C,IACuC9qD,SAArCirD,EAAcD,EAAa5qD,GAAG2M,KAChCk+C,EAAcD,EAAa5qD,GAAG2M,IAAOw+C,OAAQ,EAAGC,SAAU,EAAGE,YAAa,IAE5ET,EAAcD,EAAa5qD,GAAG2M,GAAGw+C,QAAU,IAcjDX,EAASS,iBAAmB,SAAUP,EAAc79C,EAAOg5B,GACzD,GAAIp4B,GAAOiX,CAqBX,OApBIgmC,GAAe79C,EAAMvD,QAAQspC,SAASnlC,OAASi9C,EAAe,GAChEj9C,EAAuBo4B,EAAf6kB,EAA0B7kB,EAAW6kB,EAE7ChmC,EAAS,EAC2B,QAAhC7X,EAAMvD,QAAQspC,SAAShQ,MACzBle,GAAU,GAAMgmC,EACyB,SAAhC79C,EAAMvD,QAAQspC,SAAShQ,QAChCle,GAAU,GAAMgmC,KAIlBj9C,EAAQZ,EAAMvD,QAAQspC,SAASnlC,MAC/BiX,EAAS,EAC2B,QAAhC7X,EAAMvD,QAAQspC,SAAShQ,MACzBle,GAAU,GAAM7X,EAAMvD,QAAQspC,SAASnlC,MACE,SAAhCZ,EAAMvD,QAAQspC,SAAShQ,QAChCle,GAAU,GAAM7X,EAAMvD,QAAQspC,SAASnlC,SAIlCA,MAAOA,EAAOiX,OAAQA,IAGjC8lC,EAASpV,oBAAsB,SAAUqV,EAAiB1W,EAAa1F,EAAUkd,EAAYp8B,GAC3F,GAAIs7B,EAAgBvqD,OAAS,EAAG,CAE9BuqD,EAAgBp5C,KAAK,SAAUvR,EAAGC,GAChC,MAAID,GAAE6M,GAAK5M,EAAE4M,EACJ7M,EAAEmzB,QAAUlzB,EAAEkzB,QAEdnzB,EAAE6M,EAAI5M,EAAE4M,GAGnB,IAAIk+C,KAEJL,GAASO,sBAAsBF,EAAeJ,GAC9C1W,EAAYwX,GAAcf,EAASgB,qBAAqBX,EAAeJ,GACvE1W,EAAYwX,GAAY3gB,iBAAmBzb,EAC3Ckf,EAASrtC,KAAKuqD,KAIlBf,EAASgB,qBAAuB,SAAUX,EAAeD,GAIvD,IAAK,GAHD1nD,GACA8T,EAAO4zC,EAAa,GAAGh+C,EACvBsK,EAAO0zC,EAAa,GAAGh+C,EAClB5M,EAAI,EAAGA,EAAI4qD,EAAa1qD,OAAQF,IACvCkD,EAAM0nD,EAAa5qD,GAAG2M,EACK/M,SAAvBirD,EAAc3nD,IAChB8T,EAAOA,EAAO4zC,EAAa5qD,GAAG4M,EAAIg+C,EAAa5qD,GAAG4M,EAAIoK,EACtDE,EAAOA,EAAO0zC,EAAa5qD,GAAG4M,EAAIg+C,EAAa5qD,GAAG4M,EAAIsK,GAEtD2zC,EAAc3nD,GAAKooD,aAAeV,EAAa5qD,GAAG4M,CAGtD,KAAK,GAAI6+C,KAAQZ,GACXA,EAAcrrD,eAAeisD,KAC/Bz0C,EAAOA,EAAO6zC,EAAcY,GAAMH,YAAcT,EAAcY,GAAMH,YAAct0C,EAClFE,EAAOA,EAAO2zC,EAAcY,GAAMH,YAAcT,EAAcY,GAAMH,YAAcp0C,EAItF,QAASrZ,IAAKmZ,EAAMlZ,IAAKoZ,IAG3B7d,EAAOD,QAAUoxD,GAIb,SAASnxD,EAAQD,EAASM,GAM9B,QAASmwC,GAAO5W,EAAS3pB,GACvB9P,KAAKy5B,QAAUA,EACfz5B,KAAK8P,QAAUA,EAJjB,GAAIlP,GAAUV,EAAoB,EAOlCmwC,GAAOx7B,UAAUw8B,UAAY,SAAUC,GAGrC,IAAK,GAFD9zB,GAAO8zB,EAAU,GAAGl+B,EACpBsK,EAAO4zB,EAAU,GAAGl+B,EACf6Z,EAAI,EAAGA,EAAIqkB,EAAU5qC,OAAQumB,IACpCzP,EAAOA,EAAO8zB,EAAUrkB,GAAG7Z,EAAIk+B,EAAUrkB,GAAG7Z,EAAIoK,EAChDE,EAAOA,EAAO4zB,EAAUrkB,GAAG7Z,EAAIk+B,EAAUrkB,GAAG7Z,EAAIsK,CAElD,QAASrZ,IAAKmZ,EAAMlZ,IAAKoZ,EAAM0zB,iBAAkBpxC,KAAK8P,QAAQshC,mBAGhEf,EAAOx7B,UAAU08B,KAAO,SAAU9Y,EAASplB,EAAOm+B,EAAWtmB,GAC3DmlB,EAAOkB,KAAK9Y,EAASplB,EAAOm+B,EAAWtmB,IAYzCmlB,EAAOkB,KAAO,SAAU9Y,EAASplB,EAAOm+B,EAAWtmB,GAClC9kB,SAAX8kB,IACFA,EAAS,EAEX,KAAK,GAAI1kB,GAAI,EAAGA,EAAIiyB,EAAQ/xB,OAAQF,IAClC5F,EAAQsS,UAAUulB,EAAQjyB,GAAG2M,EAAI+X,EAAQuN,EAAQjyB,GAAG4M,EAAGC,EAAOm+B,EAAU7E,YAAa6E,EAAUlG,IAAK7S,EAAQjyB,GAAGmN,QAInH9T,EAAOD,QAAUywC,GAIb,SAASxwC,EAAQD,EAASM,IAEF,SAASL,IAMpC,SAAUqyD,EAAQvyD,GACRE,EAAOD,QAAUD,KAG1BK,KAAM,WAIJ,QAASmyD,KACL,MAAOC,IAAa14C,MAAM,KAAMjT,WAKpC,QAAS4rD,GAAiB/oD,GACtB8oD,GAAe9oD,EAGnB,QAASgpD,KAEL,OACIC,OAAkB,EAClBC,gBACAC,eACAptC,SAAkB,GAClBqtC,cAAkB,EAClBC,WAAkB,EAClBC,aAAkB,KAClBC,eAAkB,EAClBC,iBAAkB,EAClBC,KAAkB,GAI1B,QAAS/rD,GAAQgsD,GACb,MAAiD,mBAA1C5rD,OAAOyN,UAAUjP,SAASrF,KAAKyyD,GAG1C,QAASnuD,GAAOmuD,GACZ,MAAiD,kBAA1C5rD,OAAOyN,UAAUjP,SAASrF,KAAKyyD,IAA8BA,YAAiBluD,MAGzF,QAAS0J,GAAIpG,EAAK0S,GACd,GAActU,GAAVysD,IACJ,KAAKzsD,EAAI,EAAGA,EAAI4B,EAAI1B,SAAUF,EAC1BysD,EAAIzrD,KAAKsT,EAAG1S,EAAI5B,GAAIA,GAExB,OAAOysD,GAGX,QAASC,GAAW5sD,EAAGC,GACnB,MAAOa,QAAOyN,UAAU7O,eAAezF,KAAK+F,EAAGC,GAGnD,QAASK,GAAON,EAAGC,GACf,IAAK,GAAIC,KAAKD,GACN2sD,EAAW3sD,EAAGC,KACdF,EAAEE,GAAKD,EAAEC,GAYjB,OARI0sD,GAAW3sD,EAAG,cACdD,EAAEV,SAAWW,EAAEX,UAGfstD,EAAW3sD,EAAG,aACdD,EAAEwB,QAAUvB,EAAEuB,SAGXxB,EAGX,QAAS6sD,GAAuBH,EAAOrvB,EAAQ6C,EAAQkiB,GACnD,MAAO0K,IAAiBJ,EAAOrvB,EAAQ6C,EAAQkiB,GAAQ,GAAM2K,MAGjE,QAASC,GAAe9yD,GAiBpB,MAhBkB,OAAdA,EAAE+yD,WACF/yD,EAAE+yD,UAAYruD,MAAM1E,EAAEo6B,GAAG44B,YACrBhzD,EAAEizD,IAAIpuC,SAAW,IAChB7kB,EAAEizD,IAAIlB,QACN/xD,EAAEizD,IAAIb,eACNpyD,EAAEizD,IAAId,YACNnyD,EAAEizD,IAAIZ,gBACNryD,EAAEizD,IAAIX,gBAEPtyD,EAAEkzD,UACFlzD,EAAE+yD,SAAW/yD,EAAE+yD,UACa,IAAxB/yD,EAAEizD,IAAIf,eACwB,IAA9BlyD,EAAEizD,IAAIjB,aAAa9rD,QACDN,SAAlB5F,EAAEizD,IAAIE,UAGXnzD,EAAE+yD,SAGb,QAASK,GAAsBC,GAC3B,GAAIrzD,GAAI2yD,EAAsBW,EAAAA,EAQ9B,OAPa,OAATD,EACAjtD,EAAOpG,EAAEizD,IAAKI,GAGdrzD,EAAEizD,IAAIX,iBAAkB,EAGrBtyD,EAKX,QAASuzD,GAAWnpC,EAAID,GACpB,GAAInkB,GAAGT,EAAMiuD,CAiCb,IA/BqC,mBAA1BrpC,GAAKspC,mBACZrpC,EAAGqpC,iBAAmBtpC,EAAKspC,kBAER,mBAAZtpC,GAAKupC,KACZtpC,EAAGspC,GAAKvpC,EAAKupC,IAEM,mBAAZvpC,GAAKwpC,KACZvpC,EAAGupC,GAAKxpC,EAAKwpC,IAEM,mBAAZxpC,GAAKypC,KACZxpC,EAAGwpC,GAAKzpC,EAAKypC,IAEW,mBAAjBzpC,GAAK+oC,UACZ9oC,EAAG8oC,QAAU/oC,EAAK+oC,SAEG,mBAAd/oC,GAAK0pC,OACZzpC,EAAGypC,KAAO1pC,EAAK0pC,MAEQ,mBAAhB1pC,GAAK2pC,SACZ1pC,EAAG0pC,OAAS3pC,EAAK2pC,QAEO,mBAAjB3pC,GAAK4pC,UACZ3pC,EAAG2pC,QAAU5pC,EAAK4pC,SAEE,mBAAb5pC,GAAK8oC,MACZ7oC,EAAG6oC,IAAM9oC,EAAK8oC,KAEU,mBAAjB9oC,GAAK6pC,UACZ5pC,EAAG4pC,QAAU7pC,EAAK6pC,SAGlBC,GAAiB/tD,OAAS,EAC1B,IAAKF,IAAKiuD,IACN1uD,EAAO0uD,GAAiBjuD,GACxBwtD,EAAMrpC,EAAK5kB,GACQ,mBAARiuD,KACPppC,EAAG7kB,GAAQiuD,EAKvB,OAAOppC,GAMX,QAAS8pC,GAAOC,GACZZ,EAAW/zD,KAAM20D,GACjB30D,KAAK46B,GAAK,GAAI91B,OAAM6vD,EAAO/5B,IAGvBg6B,MAAqB,IACrBA,IAAmB,EACnBzC,EAAmB0C,aAAa70D,MAChC40D,IAAmB,GAI3B,QAAS7sD,GAAUjC,GACf,MAAOA,aAAe4uD,IAAkB,MAAP5uD,GAAeotD,EAAWptD,EAAK,oBAGpE,QAASgvD,GAAMC,GACX,GAAIC,IAAiBD,EACjBvwD,EAAQ,CAUZ,OARsB,KAAlBwwD,GAAuBC,SAASD,KAE5BxwD,EADAwwD,GAAiB,EACTtwD,KAAKgB,MAAMsvD,GAEXtwD,KAAK82C,KAAKwZ,IAInBxwD,EAGX,QAAS0wD,GAAc3L,EAAQC,EAAQ2L,GACnC,GAGI3uD,GAHAkB,EAAMhD,KAAKL,IAAIklD,EAAO7iD,OAAQ8iD,EAAO9iD,QACrC0uD,EAAa1wD,KAAKwnB,IAAIq9B,EAAO7iD,OAAS8iD,EAAO9iD,QAC7C2uD,EAAQ,CAEZ,KAAK7uD,EAAI,EAAOkB,EAAJlB,EAASA,KACZ2uD,GAAe5L,EAAO/iD,KAAOgjD,EAAOhjD,KACnC2uD,GAAeL,EAAMvL,EAAO/iD,MAAQsuD,EAAMtL,EAAOhjD,MACnD6uD,GAGR,OAAOA,GAAQD,EAGnB,QAASE,MAMT,QAASC,GAAgB7rD,GACrB,MAAOA,GAAMA,EAAIg9B,cAAc/6B,QAAQ,IAAK,KAAOjC,EAMvD,QAAS8rD,GAAaC,GAGlB,IAFA,GAAWxoC,GAAGpD,EAAM2c,EAAQx9B,EAAxBxC,EAAI,EAEDA,EAAIivD,EAAM/uD,QAAQ,CAKrB,IAJAsC,EAAQusD,EAAgBE,EAAMjvD,IAAIwC,MAAM,KACxCikB,EAAIjkB,EAAMtC,OACVmjB,EAAO0rC,EAAgBE,EAAMjvD,EAAI,IACjCqjB,EAAOA,EAAOA,EAAK7gB,MAAM,KAAO,KACzBikB,EAAI,GAAG,CAEV,GADAuZ,EAASkvB,EAAW1sD,EAAMyD,MAAM,EAAGwgB,GAAGhkB,KAAK,MAEvC,MAAOu9B,EAEX,IAAI3c,GAAQA,EAAKnjB,QAAUumB,GAAKioC,EAAclsD,EAAO6gB,GAAM,IAASoD,EAAI,EAEpE,KAEJA,KAEJzmB,IAEJ,MAAO,MAGX,QAASkvD,GAAW99C,GAChB,GAAI+9C,GAAY,IAEhB,KAAKnrB,GAAQ5yB,IAA2B,mBAAX/X,IACrBA,GAAUA,EAAOD,QACrB,IACI+1D,EAAYC,GAAaC,OACvB,WAAkC,GAAI7qD,GAAI,GAAIxH,OAAM,gCAAiE,MAA7BwH,GAAE8qD,KAAO,mBAA0B9qD,KAG7H+qD,EAAmCJ,GACrC,MAAO3qD,IAEb,MAAOw/B,IAAQ5yB,GAMnB,QAASm+C,GAAoCrsD,EAAK+O,GAC9C,GAAIrE,EAeJ,OAdI1K,KAEI0K,EADkB,mBAAXqE,GACAu9C,EAA0BtsD,GAG1BusD,EAAavsD,EAAK+O,GAGzBrE,IAEAwhD,GAAexhD,IAIhBwhD,GAAaC,MAGxB,QAASI,GAAcr+C,EAAMa,GACzB,MAAe,QAAXA,GACAA,EAAOy9C,KAAOt+C,EACT4yB,GAAQ5yB,KACT4yB,GAAQ5yB,GAAQ,GAAI09C,IAExB9qB,GAAQ5yB,GAAMg1C,IAAIn0C,GAGlBs9C,EAAmCn+C,GAE5B4yB,GAAQ5yB,WAGR4yB,IAAQ5yB,GACR,MAKf,QAASo+C,GAA2BtsD,GAChC,GAAI88B,EAMJ,IAJI98B,GAAOA,EAAI8qD,SAAW9qD,EAAI8qD,QAAQqB,QAClCnsD,EAAMA,EAAI8qD,QAAQqB,QAGjBnsD,EACD,MAAOksD,GAGX,KAAK5uD,EAAQ0C,GAAM,CAGf,GADA88B,EAASkvB,EAAWhsD,GAEhB,MAAO88B,EAEX98B,IAAOA,GAGX,MAAO8rD,GAAa9rD,GAKxB,QAASysD,GAAcC,EAAMC,GACzB,GAAIC,GAAYF,EAAK1vB,aACrB6vB,IAAQD,GAAaC,GAAQD,EAAY,KAAOC,GAAQF,GAAaD,EAGzE,QAASI,GAAeC,GACpB,MAAwB,gBAAVA,GAAqBF,GAAQE,IAAUF,GAAQE,EAAM/vB,eAAiBtgC,OAGxF,QAASswD,GAAqBC,GAC1B,GACIC,GACA7wD,EAFA8wD,IAIJ,KAAK9wD,IAAQ4wD,GACLzD,EAAWyD,EAAa5wD,KACxB6wD,EAAiBJ,EAAezwD,GAC5B6wD,IACAC,EAAgBD,GAAkBD,EAAY5wD,IAK1D,OAAO8wD,GAGX,QAASC,GAAYV,EAAMW,GACvB,MAAO,UAAUvyD,GACb,MAAa,OAATA,GACAwyD,EAAah3D,KAAMo2D,EAAM5xD,GACzB2tD,EAAmB0C,aAAa70D,KAAM+2D,GAC/B/2D,MAEAi3D,EAAaj3D,KAAMo2D,IAKtC,QAASa,GAAcC,EAAKd,GACxB,MAAOc,GAAIt8B,GAAG,OAASs8B,EAAI5C,OAAS,MAAQ,IAAM8B,KAGtD,QAASY,GAAcE,EAAKd,EAAM5xD,GAC9B,MAAO0yD,GAAIt8B,GAAG,OAASs8B,EAAI5C,OAAS,MAAQ,IAAM8B,GAAM5xD,GAK5D,QAAS2yD,GAAQV,EAAOjyD,GACpB,GAAI4xD,EACJ,IAAqB,gBAAVK,GACP,IAAKL,IAAQK,GACTz2D,KAAK4sD,IAAIwJ,EAAMK,EAAML,QAIzB,IADAK,EAAQD,EAAeC,GACI,kBAAhBz2D,MAAKy2D,GACZ,MAAOz2D,MAAKy2D,GAAOjyD,EAG3B,OAAOxE,MAGX,QAASo3D,GAASC,EAAQC,EAAcC,GAIpC,IAHA,GAAIC,GAAS,GAAK9yD,KAAKwnB,IAAImrC,GACvBhnC,EAAOgnC,GAAU,EAEdG,EAAO9wD,OAAS4wD,GACnBE,EAAS,IAAMA,CAEnB,QAAQnnC,EAAQknC,EAAY,IAAM,GAAM,KAAOC,EAenD,QAASC,GAAgBxP,EAAOyP,EAAQC,EAASruD,GAC7C,GAAIsuD,GAAOtuD,CACa,iBAAbA,KACPsuD,EAAO,WACH,MAAO53D,MAAKsJ,OAGhB2+C,IACA4P,GAAqB5P,GAAS2P,GAE9BF,IACAG,GAAqBH,EAAO,IAAM,WAC9B,MAAON,GAASQ,EAAKl+C,MAAM1Z,KAAMyG,WAAYixD,EAAO,GAAIA,EAAO,MAGnEC,IACAE,GAAqBF,GAAW,WAC5B,MAAO33D,MAAK83D,aAAaH,QAAQC,EAAKl+C,MAAM1Z,KAAMyG,WAAYwhD,KAK1E,QAAS8P,GAAuB/E,GAC5B,MAAIA,GAAMjuD,MAAM,YACLiuD,EAAMrnD,QAAQ,WAAY,IAE9BqnD,EAAMrnD,QAAQ,MAAO,IAGhC,QAASqsD,GAAmBr0B,GACxB,GAA4Cn9B,GAAGE,EAA3C8C,EAAQm6B,EAAO5+B,MAAMkzD,GAEzB,KAAKzxD,EAAI,EAAGE,EAAS8C,EAAM9C,OAAYA,EAAJF,EAAYA,IACvCqxD,GAAqBruD,EAAMhD,IAC3BgD,EAAMhD,GAAKqxD,GAAqBruD,EAAMhD,IAEtCgD,EAAMhD,GAAKuxD,EAAuBvuD,EAAMhD,GAIhD,OAAO,UAAU0wD,GACb,GAAIM,GAAS,EACb,KAAKhxD,EAAI,EAAOE,EAAJF,EAAYA,IACpBgxD,GAAUhuD,EAAMhD,YAAckvC,UAAWlsC,EAAMhD,GAAGjG,KAAK22D,EAAKvzB,GAAUn6B,EAAMhD,EAEhF,OAAOgxD,IAKf,QAASU,GAAa13D,EAAGmjC,GACrB,MAAKnjC,GAAE23D,WAIPx0B,EAASy0B,EAAaz0B,EAAQnjC,EAAEs3D,cAE3BO,GAAgB10B,KACjB00B,GAAgB10B,GAAUq0B,EAAmBr0B,IAG1C00B,GAAgB10B,GAAQnjC,IATpBA,EAAEs3D,aAAaQ,cAY9B,QAASF,GAAaz0B,EAAQ6C,GAG1B,QAAS+xB,GAA4BvF,GACjC,MAAOxsB,GAAOgyB,eAAexF,IAAUA,EAH3C,GAAIxsD,GAAI,CAOR,KADAiyD,GAAsBC,UAAY,EAC3BlyD,GAAK,GAAKiyD,GAAsBtpD,KAAKw0B,IACxCA,EAASA,EAAOh4B,QAAQ8sD,GAAuBF,GAC/CE,GAAsBC,UAAY,EAClClyD,GAAK,CAGT,OAAOm9B,GAyBX,QAASg1B,GAAe1Q,EAAO2Q,EAAOC,GAClCC,GAAQ7Q,GAA0B,kBAAV2Q,GAAuBA,EAAQ,SAAUG,GAC7D,MAAQA,IAAYF,EAAeA,EAAcD,GAIzD,QAASI,GAAuB/Q,EAAO0M,GACnC,MAAKzB,GAAW4F,GAAS7Q,GAIlB6Q,GAAQ7Q,GAAO0M,EAAOjB,QAASiB,EAAOH,SAHlC,GAAIyE,QAAOC,EAAejR,IAOzC,QAASiR,GAAejsD,GACpB,MAAOA,GAAEtB,QAAQ,KAAM,IAAIA,QAAQ,sCAAuC,SAAUwtD,EAASrJ,EAAIC,EAAIC,EAAIoJ,GACrG,MAAOtJ,IAAMC,GAAMC,GAAMoJ,IAC1BztD,QAAQ,yBAA0B,QAKzC,QAAS0tD,GAAepR,EAAO3+C,GAC3B,GAAI9C,GAAGoxD,EAAOtuD,CASd,KARqB,gBAAV2+C,KACPA,GAASA,IAEW,gBAAb3+C,KACPsuD,EAAO,SAAU5E,EAAOxpD,GACpBA,EAAMF,GAAYwrD,EAAM9B,KAG3BxsD,EAAI,EAAGA,EAAIyhD,EAAMvhD,OAAQF,IAC1B8yD,GAAOrR,EAAMzhD,IAAMoxD,EAI3B,QAAS2B,GAAmBtR,EAAO3+C,GAC/B+vD,EAAcpR,EAAO,SAAU+K,EAAOxpD,EAAOmrD,EAAQ1M,GACjD0M,EAAO6E,GAAK7E,EAAO6E,OACnBlwD,EAAS0pD,EAAO2B,EAAO6E,GAAI7E,EAAQ1M,KAI3C,QAASwR,GAAwBxR,EAAO+K,EAAO2B,GAC9B,MAAT3B,GAAiBE,EAAWoG,GAAQrR,IACpCqR,GAAOrR,GAAO+K,EAAO2B,EAAO+E,GAAI/E,EAAQ1M,GAYhD,QAAS0R,GAAY1+B,EAAMG,GACvB,MAAO,IAAIt2B,MAAKA,KAAK80D,IAAI3+B,EAAMG,EAAQ,EAAG,IAAIy+B,aA6ClD,QAASC,GAAct5D,GACnB,MAAOR,MAAK+5D,QAAQv5D,EAAE46B,SAI1B,QAAS4+B,GAAmBx5D,GACxB,MAAOR,MAAKi6D,aAAaz5D,EAAE46B,SAG/B,QAAS8+B,GAAmBC,EAAWx2B,EAAQ+kB,GAC3C,GAAIliD,GAAG0wD,EAAK0B,CAQZ,KANK54D,KAAKo6D,eACNp6D,KAAKo6D,gBACLp6D,KAAKq6D,oBACLr6D,KAAKs6D,sBAGJ9zD,EAAI,EAAO,GAAJA,EAAQA,IAAK,CAYrB,GAVA0wD,EAAM/D,GAAuB,IAAM3sD,IAC/BkiD,IAAW1oD,KAAKq6D,iBAAiB7zD,KACjCxG,KAAKq6D,iBAAiB7zD,GAAK,GAAIyyD,QAAO,IAAMj5D,KAAKu6D,OAAOrD,EAAK,IAAIvrD,QAAQ,IAAK,IAAM,IAAK,KACzF3L,KAAKs6D,kBAAkB9zD,GAAK,GAAIyyD,QAAO,IAAMj5D,KAAKw6D,YAAYtD,EAAK,IAAIvrD,QAAQ,IAAK,IAAM,IAAK,MAE9F+8C,GAAW1oD,KAAKo6D,aAAa5zD,KAC9BoyD,EAAQ,IAAM54D,KAAKu6D,OAAOrD,EAAK,IAAM,KAAOl3D,KAAKw6D,YAAYtD,EAAK,IAClEl3D,KAAKo6D,aAAa5zD,GAAK,GAAIyyD,QAAOL,EAAMjtD,QAAQ,IAAK,IAAK,MAG1D+8C,GAAqB,SAAX/kB,GAAqB3jC,KAAKq6D,iBAAiB7zD,GAAG2I,KAAKgrD,GAC7D,MAAO3zD,EACJ,IAAIkiD,GAAqB,QAAX/kB,GAAoB3jC,KAAKs6D,kBAAkB9zD,GAAG2I,KAAKgrD,GACpE,MAAO3zD,EACJ,KAAKkiD,GAAU1oD,KAAKo6D,aAAa5zD,GAAG2I,KAAKgrD,GAC5C,MAAO3zD,IAOnB,QAASi+B,GAAUyyB,EAAK1yD,GACpB,GAAIi2D,EAGJ,OAAqB,gBAAVj2D,KACPA,EAAQ0yD,EAAIY,aAAa4C,YAAYl2D,GAEhB,gBAAVA,IACA0yD,GAIfuD,EAAa/1D,KAAKL,IAAI6yD,EAAI/7B,OAAQw+B,EAAYzC,EAAIj8B,OAAQz2B,IAC1D0yD,EAAIt8B,GAAG,OAASs8B,EAAI5C,OAAS,MAAQ,IAAM,SAAS9vD,EAAOi2D,GACpDvD,GAGX,QAASyD,GAAan2D,GAClB,MAAa,OAATA,GACAigC,EAASzkC,KAAMwE,GACf2tD,EAAmB0C,aAAa70D,MAAM,GAC/BA,MAEAi3D,EAAaj3D,KAAM,SAIlC,QAAS46D,KACL,MAAOjB,GAAY35D,KAAKi7B,OAAQj7B,KAAKo7B,SAGzC,QAASy/B,GAAer6D,GACpB,GAAI6kB,GACA/e,EAAI9F,EAAEk5D,EAmBV,OAjBIpzD,IAAwB,KAAnB9F,EAAEizD,IAAIpuC,WACXA,EACI/e,EAAEw0D,IAAe,GAAKx0D,EAAEw0D,IAAe,GAAMA,GAC7Cx0D,EAAEy0D,IAAe,GAAKz0D,EAAEy0D,IAAepB,EAAYrzD,EAAE00D,IAAO10D,EAAEw0D,KAAUC,GACxEz0D,EAAE20D,IAAe,GAAK30D,EAAE20D,IAAe,IAAmB,KAAZ30D,EAAE20D,MAA+B,IAAd30D,EAAE40D,KAA+B,IAAd50D,EAAE60D,KAAoC,IAAnB70D,EAAE80D,KAAuBH,GAChI30D,EAAE40D,IAAe,GAAK50D,EAAE40D,IAAe,GAAMA,GAC7C50D,EAAE60D,IAAe,GAAK70D,EAAE60D,IAAe,GAAMA,GAC7C70D,EAAE80D,IAAe,GAAK90D,EAAE80D,IAAe,IAAMA,GAC7C,GAEA56D,EAAEizD,IAAI4H,qBAAkCL,GAAX31C,GAAmBA,EAAW01C,MAC3D11C,EAAW01C,IAGfv6D,EAAEizD,IAAIpuC,SAAWA,GAGd7kB,EAGX,QAAS86D,GAAKC,GACNpJ,EAAmBqJ,+BAAgC,GAA4B,mBAAZngC,UAA2BA,QAAQigC,MACtGjgC,QAAQigC,KAAK,wBAA0BC,GAI/C,QAASE,GAAUF,EAAKzgD,GACpB,GAAI4gD,IAAY,CAChB,OAAO90D,GAAO,WAKV,MAJI80D,KACAJ,EAAKC,GACLG,GAAY,GAET5gD,EAAGpB,MAAM1Z,KAAMyG,YACvBqU,GAKP,QAAS6gD,GAAgB/jD,EAAM2jD,GACtBK,GAAahkD,KACd0jD,EAAKC,GACLK,GAAahkD,IAAQ,GA2B7B,QAASikD,IAAclH,GACnB,GAAInuD,GAAGs1D,EACHC,EAASpH,EAAOT,GAChBnvD,EAAQi3D,GAAsB/2D,KAAK82D,EAEvC,IAAIh3D,EAAO,CAEP,IADA4vD,EAAOlB,IAAIV,KAAM,EACZvsD,EAAI,EAAGs1D,EAAIG,GAASv1D,OAAYo1D,EAAJt1D,EAAOA,IACpC,GAAIy1D,GAASz1D,GAAG,GAAGvB,KAAK82D,GAAS,CAE7BpH,EAAOR,GAAK8H,GAASz1D,GAAG,IAAMzB,EAAM,IAAM,IAC1C,OAGR,IAAKyB,EAAI,EAAGs1D,EAAII,GAASx1D,OAAYo1D,EAAJt1D,EAAOA,IACpC,GAAI01D,GAAS11D,GAAG,GAAGvB,KAAK82D,GAAS,CAC7BpH,EAAOR,IAAM+H,GAAS11D,GAAG,EACzB,OAGJu1D,EAAOh3D,MAAMo3D,MACbxH,EAAOR,IAAM,KAEjBiI,GAA0BzH,OAE1BA,GAAOpB,UAAW,EAK1B,QAAS8I,IAAiB1H,GACtB,GAAIwE,GAAUmD,GAAgBr3D,KAAK0vD,EAAOT,GAE1C,OAAgB,QAAZiF,OACAxE,EAAO/5B,GAAK,GAAI91B,OAAMq0D,EAAQ,MAIlC0C,GAAclH,QACVA,EAAOpB,YAAa,UACboB,GAAOpB,SACdpB,EAAmBoK,wBAAwB5H,MAcnD,QAAS6H,IAAYppD,EAAG5S,EAAGsN,EAAGd,EAAGyjD,EAAGxjD,EAAGwvD,GAGnC,GAAIthC,GAAO,GAAIr2B,MAAKsO,EAAG5S,EAAGsN,EAAGd,EAAGyjD,EAAGxjD,EAAGwvD,EAMtC,OAHQ,MAAJrpD,GACA+nB,EAAKoJ,YAAYnxB,GAEd+nB,EAGX,QAASuhC,IAAetpD,GACpB,GAAI+nB,GAAO,GAAIr2B,MAAKA,KAAK80D,IAAIlgD,MAAM,KAAMjT,WAIzC,OAHQ,MAAJ2M,GACA+nB,EAAKwhC,eAAevpD,GAEjB+nB,EA8BX,QAASyhC,IAAW3hC,GAChB,MAAO4hC,IAAW5hC,GAAQ,IAAM,IAGpC,QAAS4hC,IAAW5hC,GAChB,MAAQA,GAAO,IAAM,GAAKA,EAAO,MAAQ,GAAMA,EAAO,MAAQ,EAalE,QAAS6hC,MACL,MAAOD,IAAW78D,KAAKi7B,QA+B3B,QAAS8hC,IAAW7F,EAAK8F,EAAgBC,GACrC,GAEIC,GAFAhsD,EAAM+rD,EAAuBD,EAC7BG,EAAkBF,EAAuB/F,EAAIn8B,KAajD,OATIoiC,GAAkBjsD,IAClBisD,GAAmB,GAGDjsD,EAAM,EAAxBisD,IACAA,GAAmB,GAGvBD,EAAiBE,GAAmBlG,GAAKviD,IAAIwoD,EAAiB,MAE1DE,KAAM34D,KAAK82C,KAAK0hB,EAAeliC,YAAc,GAC7CC,KAAMiiC,EAAejiC,QAM7B,QAASqiC,IAAYpG,GACjB,MAAO6F,IAAW7F,EAAKl3D,KAAKu9D,MAAMC,IAAKx9D,KAAKu9D,MAAME,KAAKJ,KAQ3D,QAASK,MACL,MAAO19D,MAAKu9D,MAAMC,IAGtB,QAASG,MACL,MAAO39D,MAAKu9D,MAAME,IAKtB,QAASG,IAAY5K,GACjB,GAAIqK,GAAOr9D,KAAK83D,aAAauF,KAAKr9D,KAClC,OAAgB,OAATgzD,EAAgBqK,EAAOr9D,KAAK2U,IAAqB,GAAhBq+C,EAAQqK,GAAW,KAG/D,QAASQ,IAAe7K,GACpB,GAAIqK,GAAON,GAAW/8D,KAAM,EAAG,GAAGq9D,IAClC,OAAgB,OAATrK,EAAgBqK,EAAOr9D,KAAK2U,IAAqB,GAAhBq+C,EAAQqK,GAAW,KAoB/D,QAASS,IAAmB7iC,EAAMoiC,EAAMn5B,EAAS+4B,EAAsBD,GACnE,GACIe,GACA/iC,EAFAltB,EAAI4uD,GAAczhC,EAAM,EAAG,GAAG+iC,WASlC,OALAlwD,GAAU,IAANA,EAAU,EAAIA,EAClBo2B,EAAqB,MAAXA,EAAkBA,EAAU84B,EACtCe,EAAYf,EAAiBlvD,GAAKA,EAAImvD,EAAuB,EAAI,IAAUD,EAAJlvD,EAAqB,EAAI,GAChGktB,EAAY,GAAKqiC,EAAO,IAAMn5B,EAAU84B,GAAkBe,EAAY,GAGlE9iC,KAAYD,EAAY,EAAIC,EAAYA,EAAO,EAC/CD,UAAYA,EAAY,EAAIA,EAAY4hC,GAAW3hC,EAAO,GAAKD,GAMvE,QAASijC,IAAiBjL,GACtB,GAAIh4B,GAAYt2B,KAAKqqB,OAAO/uB,KAAK86B,QAAQojC,QAAQ,OAASl+D,KAAK86B,QAAQojC,QAAQ,SAAW,OAAS,CACnG,OAAgB,OAATlL,EAAgBh4B,EAAYh7B,KAAK2U,IAAKq+C,EAAQh4B,EAAY,KAIrE,QAASmjC,IAAS73D,EAAGC,EAAG9F,GACpB,MAAS,OAAL6F,EACOA,EAEF,MAALC,EACOA,EAEJ9F,EAGX,QAAS29D,IAAiBzJ,GACtB,GAAIj1B,GAAM,GAAI56B,KACd,OAAI6vD,GAAO0J,SACC3+B,EAAI4+B,iBAAkB5+B,EAAI6+B,cAAe7+B,EAAIm6B,eAEjDn6B,EAAI8E,cAAe9E,EAAI0F,WAAY1F,EAAIyF,WAOnD,QAASq5B,IAAiB7J,GACtB,GAAInuD,GAAG20B,EAAkBsjC,EAAaC,EAAzB1L,IAEb,KAAI2B,EAAO/5B,GAAX,CA6BA,IAzBA6jC,EAAcL,GAAiBzJ,GAG3BA,EAAO6E,IAAyB,MAAnB7E,EAAO+E,GAAGqB,KAAqC,MAApBpG,EAAO+E,GAAGoB,KAClD6D,GAAsBhK,GAItBA,EAAOiK,aACPF,EAAYP,GAASxJ,EAAO+E,GAAGsB,IAAOyD,EAAYzD,KAE9CrG,EAAOiK,WAAahC,GAAW8B,KAC/B/J,EAAOlB,IAAI4H,oBAAqB,GAGpClgC,EAAOuhC,GAAcgC,EAAW,EAAG/J,EAAOiK,YAC1CjK,EAAO+E,GAAGoB,IAAS3/B,EAAKojC,cACxB5J,EAAO+E,GAAGqB,IAAQ5/B,EAAK0+B,cAQtBrzD,EAAI,EAAO,EAAJA,GAAyB,MAAhBmuD,EAAO+E,GAAGlzD,KAAcA,EACzCmuD,EAAO+E,GAAGlzD,GAAKwsD,EAAMxsD,GAAKi4D,EAAYj4D,EAI1C,MAAW,EAAJA,EAAOA,IACVmuD,EAAO+E,GAAGlzD,GAAKwsD,EAAMxsD,GAAsB,MAAhBmuD,EAAO+E,GAAGlzD,GAAqB,IAANA,EAAU,EAAI,EAAKmuD,EAAO+E,GAAGlzD,EAI7D,MAApBmuD,EAAO+E,GAAGuB,KACgB,IAAtBtG,EAAO+E,GAAGwB,KACY,IAAtBvG,EAAO+E,GAAGyB,KACiB,IAA3BxG,EAAO+E,GAAG0B,MACdzG,EAAOkK,UAAW,EAClBlK,EAAO+E,GAAGuB,IAAQ,GAGtBtG,EAAO/5B,IAAM+5B,EAAO0J,QAAU3B,GAAgBF,IAAY9iD,MAAM,KAAMs5C,GAGnD,MAAf2B,EAAON,MACPM,EAAO/5B,GAAGkkC,cAAcnK,EAAO/5B,GAAGmkC,gBAAkBpK,EAAON,MAG3DM,EAAOkK,WACPlK,EAAO+E,GAAGuB,IAAQ,KAI1B,QAAS0D,IAAsBhK,GAC3B,GAAIqK,GAAGC,EAAU5B,EAAMn5B,EAASs5B,EAAKC,EAAKyB,CAE1CF,GAAIrK,EAAO6E,GACC,MAARwF,EAAEG,IAAqB,MAAPH,EAAEI,GAAoB,MAAPJ,EAAEK,GACjC7B,EAAM,EACNC,EAAM,EAMNwB,EAAWd,GAASa,EAAEG,GAAIxK,EAAO+E,GAAGsB,IAAO+B,GAAWK,KAAsB,EAAG,GAAGniC,MAClFoiC,EAAOc,GAASa,EAAEI,EAAG,GACrBl7B,EAAUi6B,GAASa,EAAEK,EAAG,KAExB7B,EAAM7I,EAAOH,QAAQ+I,MAAMC,IAC3BC,EAAM9I,EAAOH,QAAQ+I,MAAME,IAE3BwB,EAAWd,GAASa,EAAEM,GAAI3K,EAAO+E,GAAGsB,IAAO+B,GAAWK,KAAsBI,EAAKC,GAAKxiC,MACtFoiC,EAAOc,GAASa,EAAEA,EAAG,GAEV,MAAPA,EAAElxD,GAEFo2B,EAAU86B,EAAElxD,EACE0vD,EAAVt5B,KACEm5B,GAINn5B,EAFc,MAAP86B,EAAEh0D,EAECg0D,EAAEh0D,EAAIwyD,EAGNA,GAGlB0B,EAAOpB,GAAmBmB,EAAU5B,EAAMn5B,EAASu5B,EAAKD,GAExD7I,EAAO+E,GAAGsB,IAAQkE,EAAKjkC,KACvB05B,EAAOiK,WAAaM,EAAKlkC,UAM7B,QAASohC,IAA0BzH,GAE/B,GAAIA,EAAOR,KAAOhC,EAAmBoN,SAEjC,WADA1D,IAAclH,EAIlBA,GAAO+E,MACP/E,EAAOlB,IAAIlB,OAAQ,CAGnB,IACI/rD,GAAGg5D,EAAalG,EAAQrR,EAAOwX,EAD/B1D,EAAS,GAAKpH,EAAOT,GAErBwL,EAAe3D,EAAOr1D,OACtBi5D,EAAyB,CAI7B,KAFArG,EAASlB,EAAazD,EAAOR,GAAIQ,EAAOH,SAASzvD,MAAMkzD,QAElDzxD,EAAI,EAAGA,EAAI8yD,EAAO5yD,OAAQF,IAC3ByhD,EAAQqR,EAAO9yD,GACfg5D,GAAezD,EAAOh3D,MAAMi0D,EAAsB/Q,EAAO0M,SAAgB,GACrE6K,IACAC,EAAU1D,EAAO3vD,OAAO,EAAG2vD,EAAOx0D,QAAQi4D,IACtCC,EAAQ/4D,OAAS,GACjBiuD,EAAOlB,IAAIhB,YAAYjrD,KAAKi4D,GAEhC1D,EAASA,EAAOtvD,MAAMsvD,EAAOx0D,QAAQi4D,GAAeA,EAAY94D,QAChEi5D,GAA0BH,EAAY94D,QAGtCmxD,GAAqB5P,IACjBuX,EACA7K,EAAOlB,IAAIlB,OAAQ,EAGnBoC,EAAOlB,IAAIjB,aAAahrD,KAAKygD,GAEjCwR,EAAwBxR,EAAOuX,EAAa7K,IAEvCA,EAAOjB,UAAY8L,GACxB7K,EAAOlB,IAAIjB,aAAahrD,KAAKygD,EAKrC0M,GAAOlB,IAAIf,cAAgBgN,EAAeC,EACtC5D,EAAOr1D,OAAS,GAChBiuD,EAAOlB,IAAIhB,YAAYjrD,KAAKu0D,GAI5BpH,EAAOlB,IAAIE,WAAY,GAAQgB,EAAO+E,GAAGuB,KAAS,KAClDtG,EAAOlB,IAAIE,QAAUvtD,QAGzBuuD,EAAO+E,GAAGuB,IAAQ2E,GAAgBjL,EAAOH,QAASG,EAAO+E,GAAGuB,IAAOtG,EAAOkL,WAE1ErB,GAAgB7J,GAChBkG,EAAclG,GAIlB,QAASiL,IAAiBp5B,EAAQvC,EAAM67B,GACpC,GAAIC,EAEJ,OAAgB,OAAZD,EAEO77B,EAEgB,MAAvBuC,EAAOw5B,aACAx5B,EAAOw5B,aAAa/7B,EAAM67B,GACX,MAAft5B,EAAOy5B,MAEdF,EAAOv5B,EAAOy5B,KAAKH,GACfC,GAAe,GAAP97B,IACRA,GAAQ,IAEP87B,GAAiB,KAAT97B,IACTA,EAAO,GAEJA,GAGAA,EAIf,QAASi8B,IAAyBvL,GAC9B,GAAIwL,GACAC,EAEAC,EACA75D,EACA85D,CAEJ,IAAyB,IAArB3L,EAAOR,GAAGztD,OAGV,MAFAiuD,GAAOlB,IAAIZ,eAAgB,OAC3B8B,EAAO/5B,GAAK,GAAI91B,MAAKgvD,EAAAA,GAIzB,KAAKttD,EAAI,EAAGA,EAAImuD,EAAOR,GAAGztD,OAAQF,IAC9B85D,EAAe,EACfH,EAAapM,KAAeY,GACN,MAAlBA,EAAO0J,UACP8B,EAAW9B,QAAU1J,EAAO0J,SAEhC8B,EAAW1M,IAAMnB,IACjB6N,EAAWhM,GAAKQ,EAAOR,GAAG3tD,GAC1B41D,GAA0B+D,GAErB7M,EAAe6M,KAKpBG,GAAgBH,EAAW1M,IAAIf,cAG/B4N,GAAqD,GAArCH,EAAW1M,IAAIjB,aAAa9rD,OAE5Cy5D,EAAW1M,IAAI8M,MAAQD,GAEJ,MAAfD,GAAsCA,EAAfC,KACvBD,EAAcC,EACdF,EAAaD,GAIrBv5D,GAAO+tD,EAAQyL,GAAcD,GAGjC,QAASK,IAAiB7L,GACtB,IAAIA,EAAO/5B,GAAX,CAIA,GAAIp0B,GAAIkwD,EAAqB/B,EAAOT,GACpCS,GAAO+E,IAAMlzD,EAAEy0B,KAAMz0B,EAAE40B,MAAO50B,EAAEu0B,KAAOv0B,EAAE20B,KAAM30B,EAAEy9B,KAAMz9B,EAAEw9B,OAAQx9B,EAAEu9B,OAAQv9B,EAAEs9B,aAE7E06B,GAAgB7J,IAGpB,QAAS8L,IAAkB9L,GACvB,GAEI1B,GAFAD,EAAQ2B,EAAOT,GACfvwB,EAASgxB,EAAOR,EAKpB,OAFAQ,GAAOH,QAAUG,EAAOH,SAAWwB,EAA0BrB,EAAOP,IAEtD,OAAVpB,GAA8B5sD,SAAXu9B,GAAkC,KAAVqvB,EACpCY,GAAsBjB,WAAW,KAGvB,gBAAVK,KACP2B,EAAOT,GAAKlB,EAAQ2B,EAAOH,QAAQkM,SAAS1N,IAG5CjrD,EAASirD,GACF,GAAI0B,GAAOmG,EAAc7H,KACzBhsD,EAAQ28B,GACfu8B,GAAyBvL,GAClBhxB,EACPy4B,GAA0BzH,GAE1BgM,GAAgBhM,GAGpB1B,EAAM,GAAIyB,GAAOmG,EAAclG,IAC3B1B,EAAI4L,WAEJ5L,EAAIt+C,IAAI,EAAG,KACXs+C,EAAI4L,SAAWz4D,QAGZ6sD,IAGX,QAAS0N,IAAgBhM,GACrB,GAAI3B,GAAQ2B,EAAOT,EACL9tD,UAAV4sD,EACA2B,EAAO/5B,GAAK,GAAI91B,MACTD,EAAOmuD,GACd2B,EAAO/5B,GAAK,GAAI91B,OAAMkuD,GACE,gBAAVA,GACdqJ,GAAiB1H,GACV3tD,EAAQgsD,IACf2B,EAAO+E,GAAKlrD,EAAIwkD,EAAMvmD,MAAM,GAAI,SAAU3G,GACtC,MAAOiG,UAASjG,EAAK,MAEzB04D,GAAgB7J,IACS,gBAAZ,GACb6L,GAAiB7L,GACQ,gBAAZ,GAEbA,EAAO/5B,GAAK,GAAI91B,MAAKkuD,GAErBb,EAAmBoK,wBAAwB5H,GAInD,QAASvB,IAAkBJ,EAAOrvB,EAAQ6C,EAAQkiB,EAAQkY,GACtD,GAAIngE,KAgBJ,OAduB,iBAAb,KACNioD,EAASliB,EACTA,EAASpgC,QAIb3F,EAAEwzD,kBAAmB,EACrBxzD,EAAE49D,QAAU59D,EAAE6zD,OAASsM,EACvBngE,EAAE2zD,GAAK5tB,EACP/lC,EAAEyzD,GAAKlB,EACPvyD,EAAE0zD,GAAKxwB,EACPljC,EAAEizD,QAAUhL,EACZjoD,EAAEgzD,IAAMnB,IAEDmO,GAAiBhgE,GAG5B,QAAS28D,IAAoBpK,EAAOrvB,EAAQ6C,EAAQkiB,GAChD,MAAO0K,IAAiBJ,EAAOrvB,EAAQ6C,EAAQkiB,GAAQ,GAwB3D,QAASmY,IAAO/lD,EAAIgmD,GAChB,GAAI7N,GAAKzsD,CAIT,IAHuB,IAAnBs6D,EAAQp6D,QAAgBM,EAAQ85D,EAAQ,MACxCA,EAAUA,EAAQ,KAEjBA,EAAQp6D,OACT,MAAO02D,KAGX,KADAnK,EAAM6N,EAAQ,GACTt6D,EAAI,EAAGA,EAAIs6D,EAAQp6D,SAAUF,EAC1Bs6D,EAAQt6D,GAAGsU,GAAIm4C,KACfA,EAAM6N,EAAQt6D,GAGtB,OAAOysD,GAIX,QAAS5uD,MACL,GAAIwS,MAAUpK,MAAMlM,KAAKkG,UAAW,EAEpC,OAAOo6D,IAAO,WAAYhqD,GAG9B,QAASvS,MACL,GAAIuS,MAAUpK,MAAMlM,KAAKkG,UAAW,EAEpC,OAAOo6D,IAAO,UAAWhqD,GAG7B,QAASkqD,IAAU5vD,GACf,GAAI0lD,GAAkBH,EAAqBvlD,GACvC6vD,EAAQnK,EAAgB57B,MAAQ,EAChCgmC,EAAWpK,EAAgBqK,SAAW,EACtC3G,EAAS1D,EAAgBz7B,OAAS,EAClC+lC,EAAQtK,EAAgBwG,MAAQ,EAChC+D,EAAOvK,EAAgB97B,KAAO,EAC9B4E,EAAQk3B,EAAgB5yB,MAAQ,EAChCrE,EAAUi3B,EAAgB7yB,QAAU,EACpCnE,EAAUg3B,EAAgB9yB,QAAU,EACpCjE,EAAe+2B,EAAgB/yB,aAAe,CAGlD9jC,MAAKqhE,eAAiBvhC,EACR,IAAVD,EACU,IAAVD,EACQ,KAARD,EAGJ3/B,KAAKshE,OAASF,EACF,EAARD,EAIJnhE,KAAK+5D,SAAWQ,EACD,EAAX0G,EACQ,GAARD,EAEJhhE,KAAKsU,SAELtU,KAAKw0D,QAAUwB,IAEfh2D,KAAKuhE,UAGT,QAASC,IAAY17D,GACjB,MAAOA,aAAei7D,IAG1B,QAAS71C,IAAQ+8B,EAAOwZ,GACpBhK,EAAexP,EAAO,EAAG,EAAG,WACxB,GAAI/8B,GAASlrB,KAAK0hE,YACdrxC,EAAO,GAKX,OAJa,GAATnF,IACAA,GAAUA,EACVmF,EAAO,KAEJA,EAAO+mC,KAAYlsC,EAAS,IAAK,GAAKu2C,EAAYrK,IAAW,EAAW,GAAI,KAuB3F,QAASuK,IAAiB5F,GACtB,GAAI6F,IAAY7F,GAAU,IAAIh3D,MAAMo3D,QAChC0F,EAAUD,EAAQA,EAAQl7D,OAAS,OACnC4H,GAAWuzD,EAAQ,IAAI98D,MAAM+8D,MAAiB,IAAK,EAAG,GACtDliC,IAAuB,GAAXtxB,EAAM,IAAWwmD,EAAMxmD,EAAM,GAE7C,OAAoB,MAAbA,EAAM,GAAasxB,GAAWA,EAIzC,QAASmiC,IAAgB/O,EAAOgP,GAC5B,GAAI/O,GAAKvlC,CACT,OAAIs0C,GAAM1N,QACNrB,EAAM+O,EAAMlnC,QACZpN,GAAQ3lB,EAASirD,IAAUnuD,EAAOmuD,IAAUA,GAASoK,GAAmBpK,KAAYC,EAEpFA,EAAIr4B,GAAGqnC,SAAShP,EAAIr4B,GAAKlN,GACzBykC,EAAmB0C,aAAa5B,GAAK,GAC9BA,GAEAmK,GAAmBpK,GAAOkP,QAKzC,QAASC,IAAe3hE,GAGpB,MAAoD,KAA5CkE,KAAKqqB,MAAMvuB,EAAEo6B,GAAGwnC,oBAAsB,IAqBlD,QAASC,IAAcrP,EAAOsP,GAC1B,GACIC,GADAr3C,EAASlrB,KAAKu0D,SAAW,CAE7B,OAAa,OAATvB,GACqB,gBAAVA,KACPA,EAAQ2O,GAAiB3O,IAEzBtuD,KAAKwnB,IAAI8mC,GAAS,KAClBA,EAAgB,GAARA,IAEPhzD,KAAKs0D,QAAUgO,IAChBC,EAAcJ,GAAcniE,OAEhCA,KAAKu0D,QAAUvB,EACfhzD,KAAKs0D,QAAS,EACK,MAAfiO,GACAviE,KAAK2U,IAAI4tD,EAAa,KAEtBr3C,IAAW8nC,KACNsP,GAAiBtiE,KAAKwiE,kBACvBC,GAA0BziE,KAAM0iE,GAAuB1P,EAAQ9nC,EAAQ,KAAM,GAAG,GACxElrB,KAAKwiE,oBACbxiE,KAAKwiE,mBAAoB,EACzBrQ,EAAmB0C,aAAa70D,MAAM,GACtCA,KAAKwiE,kBAAoB,OAG1BxiE,MAEAA,KAAKs0D,OAASppC,EAASi3C,GAAcniE,MAIpD,QAAS2iE,IAAY3P,EAAOsP,GACxB,MAAa,OAATtP,GACqB,gBAAVA,KACPA,GAASA,GAGbhzD,KAAK0hE,UAAU1O,EAAOsP,GAEftiE,OAECA,KAAK0hE,YAIrB,QAASkB,IAAgBN,GACrB,MAAOtiE,MAAK0hE,UAAU,EAAGY,GAG7B,QAASO,IAAkBP,GASvB,MARItiE,MAAKs0D,SACLt0D,KAAK0hE,UAAU,EAAGY,GAClBtiE,KAAKs0D,QAAS,EAEVgO,GACAtiE,KAAK0sB,SAASy1C,GAAcniE,MAAO,MAGpCA,KAGX,QAAS8iE,MAML,MALI9iE,MAAKq0D,KACLr0D,KAAK0hE,UAAU1hE,KAAKq0D,MACM,gBAAZr0D,MAAKk0D,IACnBl0D,KAAK0hE,UAAUC,GAAiB3hE,KAAKk0D,KAElCl0D,KAGX,QAAS+iE,IAAsB/P,GAQ3B,MAHIA,GAJCA,EAIOoK,GAAmBpK,GAAO0O,YAH1B,GAMJ1hE,KAAK0hE,YAAc1O,GAAS,KAAO,EAG/C,QAASgQ,MACL,MACIhjE,MAAK0hE,YAAc1hE,KAAK86B,QAAQM,MAAM,GAAGsmC,aACzC1hE,KAAK0hE,YAAc1hE,KAAK86B,QAAQM,MAAM,GAAGsmC,YAIjD,QAASuB,MACL,GAAIjjE,KAAK05D,GAAI,CACT,GAAI/yD,GAAQ3G,KAAKs0D,OAASnB,EAAsBnzD,KAAK05D,IAAM0D,GAAmBp9D,KAAK05D,GACnF,OAAO15D,MAAKm4D,WAAajD,EAAcl1D,KAAK05D,GAAI/yD,EAAM4C,WAAa,EAGvE,OAAO,EAGX,QAAS25D,MACL,OAAQljE,KAAKs0D,OAGjB,QAAS6O,MACL,MAAOnjE,MAAKs0D,OAGhB,QAAS8O,MACL,MAAOpjE,MAAKs0D,QAA2B,IAAjBt0D,KAAKu0D,QAS/B,QAASmO,IAAwB1P,EAAOtpD,GACpC,GAGI2mB,GACAgzC,EACAC,EALAnyD,EAAW6hD,EAEXjuD,EAAQ,IAuDZ,OAlDIy8D,IAAWxO,GACX7hD,GACIsrD,GAAKzJ,EAAMqO,cACXvzD,EAAKklD,EAAMsO,MACX7Q,EAAKuC,EAAM+G,SAES,gBAAV/G,IACd7hD,KACIzH,EACAyH,EAASzH,GAAOspD,EAEhB7hD,EAAS2uB,aAAekzB,IAElBjuD,EAAQw+D,GAAYt+D,KAAK+tD,KACnC3iC,EAAqB,MAAbtrB,EAAM,GAAc,GAAK,EACjCoM,GACIiC,EAAK,EACLtF,EAAKgnD,EAAM/vD,EAAMg2D,KAAgB1qC,EACjCrjB,EAAK8nD,EAAM/vD,EAAMk2D,KAAgB5qC,EACjC7vB,EAAKs0D,EAAM/vD,EAAMm2D,KAAgB7qC,EACjCpjB,EAAK6nD,EAAM/vD,EAAMo2D,KAAgB9qC,EACjCosC,GAAK3H,EAAM/vD,EAAMq2D,KAAgB/qC,KAE3BtrB,EAAQy+D,GAAiBv+D,KAAK+tD,KACxC3iC,EAAqB,MAAbtrB,EAAM,GAAc,GAAK,EACjCoM,GACIiC,EAAIqwD,GAAS1+D,EAAM,GAAIsrB,GACvBogC,EAAIgT,GAAS1+D,EAAM,GAAIsrB,GACvBviB,EAAI21D,GAAS1+D,EAAM,GAAIsrB,GACvBrjB,EAAIy2D,GAAS1+D,EAAM,GAAIsrB,GACvB7vB,EAAIijE,GAAS1+D,EAAM,GAAIsrB,GACvBpjB,EAAIw2D,GAAS1+D,EAAM,GAAIsrB,GACvB2uC,EAAIyE,GAAS1+D,EAAM,GAAIsrB,KAER,MAAZlf,EACPA,KAC2B,gBAAbA,KAA0B,QAAUA,IAAY,MAAQA,MACtEmyD,EAAUI,GAAkBtG,GAAmBjsD,EAASwZ,MAAOyyC,GAAmBjsD,EAASyZ,KAE3FzZ,KACAA,EAASsrD,GAAK6G,EAAQxjC,aACtB3uB,EAASs/C,EAAI6S,EAAQ/I,QAGzB8I,EAAM,GAAItC,IAAS5vD,GAEfqwD,GAAWxO,IAAUE,EAAWF,EAAO,aACvCqQ,EAAI7O,QAAUxB,EAAMwB,SAGjB6O,EAKX,QAASI,IAAUE,EAAKtzC,GAIpB,GAAI4iC,GAAM0Q,GAAO98C,WAAW88C,EAAIh4D,QAAQ,IAAK,KAE7C,QAAQzG,MAAM+tD,GAAO,EAAIA,GAAO5iC,EAGpC,QAASuzC,IAA0BC,EAAMl9D,GACrC,GAAIssD,IAAOnzB,aAAc,EAAGy6B,OAAQ,EAUpC,OARAtH,GAAIsH,OAAS5zD,EAAMy0B,QAAUyoC,EAAKzoC,QACC,IAA9Bz0B,EAAMs0B,OAAS4oC,EAAK5oC,QACrB4oC,EAAK/oC,QAAQnmB,IAAIs+C,EAAIsH,OAAQ,KAAKuJ,QAAQn9D,MACxCssD,EAAIsH,OAGVtH,EAAInzB,cAAgBn5B,GAAUk9D,EAAK/oC,QAAQnmB,IAAIs+C,EAAIsH,OAAQ,KAEpDtH,EAGX,QAASyQ,IAAkBG,EAAMl9D,GAC7B,GAAIssD,EAUJ,OATAtsD,GAAQo7D,GAAgBp7D,EAAOk9D,GAC3BA,EAAKE,SAASp9D,GACdssD,EAAM2Q,GAA0BC,EAAMl9D,IAEtCssD,EAAM2Q,GAA0Bj9D,EAAOk9D,GACvC5Q,EAAInzB,cAAgBmzB,EAAInzB,aACxBmzB,EAAIsH,QAAUtH,EAAIsH,QAGftH,EAGX,QAAS+Q,IAAYvmC,EAAW7lB,GAC5B,MAAO,UAAUo8C,EAAKiQ,GAClB,GAAIC,GAAKC,CAUT,OARe,QAAXF,GAAoB/+D,OAAO++D,KAC3BtI,EAAgB/jD,EAAM,YAAcA,EAAQ,uDAAyDA,EAAO,qBAC5GusD,EAAMnQ,EAAKA,EAAMiQ,EAAQA,EAASE,GAGtCnQ,EAAqB,gBAARA,IAAoBA,EAAMA,EACvCkQ,EAAMxB,GAAuB1O,EAAKiQ,GAClCxB,GAA0BziE,KAAMkkE,EAAKzmC,GAC9Bz9B,MAIf,QAASyiE,IAA2BvL,EAAK/lD,EAAUizD,EAAUvP,GACzD,GAAI/0B,GAAe3uB,EAASkwD,cACxBD,EAAOjwD,EAASmwD,MAChB/G,EAASppD,EAAS4oD,OACtBlF,GAA+B,MAAhBA,GAAuB,EAAOA,EAEzC/0B,GACAo3B,EAAIt8B,GAAGqnC,SAAS/K,EAAIt8B,GAAKkF,EAAeskC,GAExChD,GACApK,EAAaE,EAAK,OAAQD,EAAaC,EAAK,QAAUkK,EAAOgD,GAE7D7J,GACA91B,EAASyyB,EAAKD,EAAaC,EAAK,SAAWqD,EAAS6J,GAEpDvP,GACA1C,EAAmB0C,aAAaqC,EAAKkK,GAAQ7G,GAOrD,QAAS8J,IAA2BjrC,GAGhC,GAAIsG,GAAMtG,GAAQgkC,KACdkH,EAAMvC,GAAgBriC,EAAK1/B,MAAMk+D,QAAQ,OACzCxwC,EAAO1tB,KAAK0tB,KAAK42C,EAAK,QAAQ,GAC9B3gC,EAAgB,GAAPjW,EAAY,WACV,GAAPA,EAAY,WACL,EAAPA,EAAW,UACJ,EAAPA,EAAW,UACJ,EAAPA,EAAW,UACJ,EAAPA,EAAW,WAAa,UAChC,OAAO1tB,MAAK2jC,OAAO3jC,KAAK83D,aAAayM,SAAS5gC,EAAQ3jC,KAAMo9D,GAAmB19B,KAGnF,QAAS5E,MACL,MAAO,IAAI45B,GAAO10D,MAGtB,QAAS8jE,IAAS9Q,EAAOyD,GACrB,GAAI+N,EAEJ,OADA/N,GAAQD,EAAgC,mBAAVC,GAAwBA,EAAQ,eAChD,gBAAVA,GACAzD,EAAQjrD,EAASirD,GAASA,EAAQoK,GAAmBpK,IAC7ChzD,MAAQgzD,IAEhBwR,EAAUz8D,EAASirD,IAAUA,GAASoK,GAAmBpK,GAClDwR,GAAWxkE,KAAK86B,QAAQojC,QAAQzH,IAI/C,QAASsN,IAAU/Q,EAAOyD,GACtB,GAAI+N,EAEJ,OADA/N,GAAQD,EAAgC,mBAAVC,GAAwBA,EAAQ,eAChD,gBAAVA,GACAzD,EAAQjrD,EAASirD,GAASA,EAAQoK,GAAmBpK,IACrCA,GAARhzD,OAERwkE,EAAUz8D,EAASirD,IAAUA,GAASoK,GAAmBpK,IACjDhzD,KAAK86B,QAAQ2pC,MAAMhO,GAAS+N,GAI5C,QAASE,IAAW/5C,EAAMC,EAAI6rC,GAC1B,MAAOz2D,MAAK8jE,QAAQn5C,EAAM8rC,IAAUz2D,KAAK+jE,SAASn5C,EAAI6rC,GAG1D,QAASrwB,IAAQ4sB,EAAOyD,GACpB,GAAI+N,EAEJ,OADA/N,GAAQD,EAAeC,GAAS,eAClB,gBAAVA,GACAzD,EAAQjrD,EAASirD,GAASA,EAAQoK,GAAmBpK,IAC7ChzD,QAAUgzD,IAElBwR,GAAWpH,GAAmBpK,IACrBhzD,KAAK86B,QAAQojC,QAAQzH,IAAW+N,GAAWA,IAAaxkE,KAAK86B,QAAQ2pC,MAAMhO,IAI5F,QAASkO,IAAUtN,GACf,MAAa,GAATA,EACO3yD,KAAK82C,KAAK6b,GAEV3yD,KAAKgB,MAAM2xD,GAI1B,QAAS3pC,IAAMslC,EAAOyD,EAAOmO,GACzB,GAEI90C,GAAO0nC,EAFPqN,EAAO9C,GAAgB/O,EAAOhzD,MAC9B8kE,EAAoD,KAAvCD,EAAKnD,YAAc1hE,KAAK0hE,YAqBzC,OAlBAjL,GAAQD,EAAeC,GAET,SAAVA,GAA8B,UAAVA,GAA+B,YAAVA,GACzCe,EAASuN,GAAU/kE,KAAM6kE,GACX,YAAVpO,EACAe,GAAkB,EACD,SAAVf,IACPe,GAAkB,MAGtB1nC,EAAQ9vB,KAAO6kE,EACfrN,EAAmB,WAAVf,EAAqB3mC,EAAQ,IACxB,WAAV2mC,EAAqB3mC,EAAQ,IACnB,SAAV2mC,EAAmB3mC,EAAQ,KACjB,QAAV2mC,GAAmB3mC,EAAQg1C,GAAa,MAC9B,SAAVrO,GAAoB3mC,EAAQg1C,GAAa,OACzCh1C,GAED80C,EAAUpN,EAASmN,GAASnN,GAGvC,QAASuN,IAAWz+D,EAAGC,GAEnB,GAGIy+D,GAASC,EAHTC,EAA0C,IAAvB3+D,EAAE00B,OAAS30B,EAAE20B,SAAiB10B,EAAE60B,QAAU90B,EAAE80B,SAE/DqM,EAASnhC,EAAEw0B,QAAQnmB,IAAIuwD,EAAgB,SAa3C,OAViB,GAAb3+D,EAAIkhC,GACJu9B,EAAU1+D,EAAEw0B,QAAQnmB,IAAIuwD,EAAiB,EAAG,UAE5CD,GAAU1+D,EAAIkhC,IAAWA,EAASu9B,KAElCA,EAAU1+D,EAAEw0B,QAAQnmB,IAAIuwD,EAAiB,EAAG,UAE5CD,GAAU1+D,EAAIkhC,IAAWu9B,EAAUv9B,MAG9By9B,EAAiBD,GAK9B,QAASr/D,MACL,MAAO5F,MAAK86B,QAAQ0L,OAAO,MAAM7C,OAAO,oCAG5C,QAASwhC,MACL,GAAI3kE,GAAIR,KAAK86B,QAAQu4B,KACrB,OAAI,GAAI7yD,EAAEy6B,QAAUz6B,EAAEy6B,QAAU,KACxB,kBAAsBn2B,MAAK+P,UAAU3M,YAE9BlI,KAAKgI,SAASE,cAEdgwD,EAAa13D,EAAG,gCAGpB03D,EAAa13D,EAAG,kCAI/B,QAASmjC,IAAQyhC,GACb,GAAI5N,GAASU,EAAal4D,KAAMolE,GAAejT,EAAmB9tB,cAClE,OAAOrkC,MAAK83D,aAAauN,WAAW7N,GAGxC,QAAS7sC,IAAMyO,EAAMksC,GACjB,MAAO5C,KAAwB93C,GAAI5qB,KAAM2qB,KAAMyO,IAAOoN,OAAOxmC,KAAKwmC,UAAU++B,UAAUD,GAG1F,QAASE,IAASF,GACd,MAAOtlE,MAAK2qB,KAAKyyC,KAAsBkI,GAG3C,QAAS9+B,IAAQ98B,GACb,GAAI+7D,EAEJ,OAAYr/D,UAARsD,EACO1J,KAAKw0D,QAAQqB,OAEpB4P,EAAgBzP,EAA0BtsD,GACrB,MAAjB+7D,IACAzlE,KAAKw0D,QAAUiR,GAEZzlE,MAef,QAAS83D,MACL,MAAO93D,MAAKw0D,QAGhB,QAAS0J,IAASzH,GAId,OAHAA,EAAQD,EAAeC,IAIvB,IAAK,OACDz2D,KAAKo7B,MAAM,EAEf,KAAK,UACL,IAAK,QACDp7B,KAAKm7B,KAAK,EAEd,KAAK,OACL,IAAK,UACL,IAAK,MACDn7B,KAAK2/B,MAAM,EAEf,KAAK,OACD3/B,KAAK4/B,QAAQ,EAEjB,KAAK,SACD5/B,KAAK6/B,QAAQ,EAEjB,KAAK,SACD7/B,KAAK8/B,aAAa,GAgBtB,MAZc,SAAV22B,GACAz2D,KAAKkkC,QAAQ,GAEH,YAAVuyB,GACAz2D,KAAK0lE,WAAW,GAIN,YAAVjP,GACAz2D,KAAKo7B,MAAqC,EAA/B12B,KAAKgB,MAAM1F,KAAKo7B,QAAU,IAGlCp7B,KAGX,QAASykE,IAAOhO,GAEZ,MADAA,GAAQD,EAAeC,GACTrwD,SAAVqwD,GAAiC,gBAAVA,EAChBz2D,KAEJA,KAAKk+D,QAAQzH,GAAO9hD,IAAI,EAAc,YAAV8hD,EAAsB,OAASA,GAAQ/pC,SAAS,EAAG,MAG1F,QAASi5C,MACL,OAAQ3lE,KAAK46B,GAA4B,KAArB56B,KAAKu0D,SAAW,GAGxC,QAASqR,MACL,MAAOlhE,MAAKgB,OAAO1F,KAAO,KAG9B,QAASgI,MACL,MAAOhI,MAAKu0D,QAAU,GAAIzvD,OAAM9E,MAAQA,KAAK46B,GAGjD,QAASrxB,MACL,GAAI/I,GAAIR,IACR,QAAQQ,EAAEy6B,OAAQz6B,EAAE46B,QAAS56B,EAAE26B,OAAQ36B,EAAEyjC,OAAQzjC,EAAEwjC,SAAUxjC,EAAEujC,SAAUvjC,EAAEsjC,eAG/E,QAAS+hC,MACL,MAAOvS,GAAetzD,MAG1B,QAAS8lE,MACL,MAAOl/D,MAAW5G,KAAKyzD,KAG3B,QAASsS,MACL,MAAO/lE,MAAKyzD,IAAIpuC,SAWpB,QAAS2gD,IAAwB/d,EAAOge,GACpCxO,EAAe,GAAIxP,EAAOA,EAAMvhD,QAAS,EAAGu/D,GAkChD,QAASC,IAAYjrC,EAAMuiC,EAAKC,GAC5B,MAAOV,IAAWK,IAAoBniC,EAAM,GAAI,GAAKuiC,EAAMC,IAAOD,EAAKC,GAAKJ,KAKhF,QAAS8I,IAAgBnT,GACrB,GAAI/3B,GAAO8hC,GAAW/8D,KAAMA,KAAK83D,aAAayF,MAAMC,IAAKx9D,KAAK83D,aAAayF,MAAME,KAAKxiC,IACtF,OAAgB,OAAT+3B,EAAgB/3B,EAAOj7B,KAAK2U,IAAKq+C,EAAQ/3B,EAAO,KAG3D,QAASmrC,IAAmBpT,GACxB,GAAI/3B,GAAO8hC,GAAW/8D,KAAM,EAAG,GAAGi7B,IAClC,OAAgB,OAAT+3B,EAAgB/3B,EAAOj7B,KAAK2U,IAAKq+C,EAAQ/3B,EAAO,KAG3D,QAASorC,MACL,MAAOH,IAAYlmE,KAAKi7B,OAAQ,EAAG,GAGvC,QAASqrC,MACL,GAAIC,GAAWvmE,KAAK83D,aAAayF,KACjC,OAAO2I,IAAYlmE,KAAKi7B,OAAQsrC,EAAS/I,IAAK+I,EAAS9I,KAkB3D,QAAS+I,IAAexT,GACpB,MAAgB,OAATA,EAAgBtuD,KAAK82C,MAAMx7C,KAAKo7B,QAAU,GAAK,GAAKp7B,KAAKo7B,MAAoB,GAAb43B,EAAQ,GAAShzD,KAAKo7B,QAAU,GA0E3G,QAASqrC,IAAazT,EAAOxsB,GACzB,GAAqB,gBAAVwsB,GACP,GAAK9tD,MAAM8tD,IAKP,GADAA,EAAQxsB,EAAOkgC,cAAc1T,GACR,gBAAVA,GACP,MAAO,UALXA,GAAQjnD,SAASinD,EAAO,GAShC,OAAOA,GAMX,QAAS2T,IAAgBnmE,GACrB,MAAOR,MAAK4mE,UAAUpmE,EAAEu6B,OAI5B,QAAS8rC,IAAqBrmE,GAC1B,MAAOR,MAAK8mE,eAAetmE,EAAEu6B,OAIjC,QAASgsC,IAAmBvmE,GACxB,MAAOR,MAAKgnE,aAAaxmE,EAAEu6B,OAG/B,QAASksC,IAAqBC,GAC1B,GAAI1gE,GAAG0wD,EAAK0B,CAMZ,KAJK54D,KAAKmnE,iBACNnnE,KAAKmnE,mBAGJ3gE,EAAI,EAAO,EAAJA,EAAOA,IAQf,GANKxG,KAAKmnE,eAAe3gE,KACrB0wD,EAAMkG,IAAoB,IAAM,IAAIriC,IAAIv0B,GACxCoyD,EAAQ,IAAM54D,KAAKonE,SAASlQ,EAAK,IAAM,KAAOl3D,KAAKqnE,cAAcnQ,EAAK,IAAM,KAAOl3D,KAAKsnE,YAAYpQ,EAAK,IACzGl3D,KAAKmnE,eAAe3gE,GAAK,GAAIyyD,QAAOL,EAAMjtD,QAAQ,IAAK,IAAK,MAG5D3L,KAAKmnE,eAAe3gE,GAAG2I,KAAK+3D,GAC5B,MAAO1gE,GAOnB,QAAS+gE,IAAiBvU,GACtB,GAAIj4B,GAAM/6B,KAAKs0D,OAASt0D,KAAK46B,GAAGojC,YAAch+D,KAAK46B,GAAG4sC,QACtD,OAAa,OAATxU,GACAA,EAAQyT,GAAazT,EAAOhzD,KAAK83D,cAC1B93D,KAAK2U,IAAIq+C,EAAQj4B,EAAK,MAEtBA,EAIf,QAAS0sC,IAAuBzU,GAC5B,GAAI9uB,IAAWlkC,KAAK+6B,MAAQ,EAAI/6B,KAAK83D,aAAayF,MAAMC,KAAO,CAC/D,OAAgB,OAATxK,EAAgB9uB,EAAUlkC,KAAK2U,IAAIq+C,EAAQ9uB,EAAS,KAG/D,QAASwjC,IAAoB1U,GAIzB,MAAgB,OAATA,EAAgBhzD,KAAK+6B,OAAS,EAAI/6B,KAAK+6B,IAAI/6B,KAAK+6B,MAAQ,EAAIi4B,EAAQA,EAAQ,GAQvF,QAAS8M,IAAU7X,EAAO0f,GACtBlQ,EAAexP,EAAO,EAAG,EAAG,WACxB,MAAOjoD,MAAK83D,aAAagI,SAAS9/D,KAAK2/B,QAAS3/B,KAAK4/B,UAAW+nC,KAaxE,QAASC,IAAe7O,EAAUvyB,GAC9B,MAAOA,GAAOqhC,eAsBlB,QAASC,IAAY9U,GAGjB,MAAiD,OAAxCA,EAAQ,IAAItsB,cAAc9f,OAAO,GAI9C,QAASmhD,IAAgBpoC,EAAOC,EAASooC,GACrC,MAAIroC,GAAQ,GACDqoC,EAAU,KAAO,KAEjBA,EAAU,KAAO,KAqDhC,QAASC,IAA2BhgB,GAChCwP,EAAe,GAAIxP,EAAO,GAAI,EAAG,eA6BrC,QAASigB,MACL,MAAOloE,MAAKs0D,OAAS,MAAQ,GAGjC,QAAS6T,MACL,MAAOnoE,MAAKs0D,OAAS,6BAA+B,GAsGxD,QAAS8T,IAAoBpV,GACzB,MAAOoK,IAA2B,IAARpK,GAG9B,QAASqV,MACL,MAAOjL,IAAmB1jD,MAAM,KAAMjT,WAAW6hE,YAYrD,QAASC,IAA2B7+D,EAAKwtD,EAAKx3B,GAC1C,GAAI83B,GAASx3D,KAAKwoE,UAAU9+D,EAC5B,OAAyB,kBAAX8tD,GAAwBA,EAAOj3D,KAAK22D,EAAKx3B,GAAO83B,EAYlE,QAASgB,IAAgB9uD,GACrB,GAAI8tD,GAASx3D,KAAKyoE,gBAAgB/+D,EAOlC,QANK8tD,GAAUx3D,KAAKyoE,gBAAgB/+D,EAAIkhC,iBACpC4sB,EAASx3D,KAAKyoE,gBAAgB/+D,EAAIkhC,eAAej/B,QAAQ,mBAAoB,SAAUqoD,GACnF,MAAOA,GAAIvnD,MAAM,KAErBzM,KAAKyoE,gBAAgB/+D,GAAO8tD,GAEzBA,EAKX,QAASc,MACL,MAAOt4D,MAAK0oE,aAMhB,QAAS/Q,IAASN,GACd,MAAOr3D,MAAK2oE,SAASh9D,QAAQ,KAAM0rD,GAGvC,QAASuR,IAAoB7M,GACzB,MAAOA,GAmBX,QAAS8M,IAAwBxR,EAAQiO,EAAevJ,EAAQ+M,GAC5D,GAAItR,GAASx3D,KAAK+oE,cAAchN,EAChC,OAA0B,kBAAXvE,GACXA,EAAOH,EAAQiO,EAAevJ,EAAQ+M,GACtCtR,EAAO7rD,QAAQ,MAAO0rD,GAG9B,QAAS2R,IAAYt7C,EAAM8pC,GACvB,GAAI7zB,GAAS3jC,KAAK+oE,cAAcr7C,EAAO,EAAI,SAAW,OACtD,OAAyB,kBAAXiW,GAAwBA,EAAO6zB,GAAU7zB,EAAOh4B,QAAQ,MAAO6rD,GAGjF,QAASyR,IAAiBtU,GACtB,GAAI5uD,GAAMS,CACV,KAAKA,IAAKmuD,GACN5uD,EAAO4uD,EAAOnuD,GACM,kBAATT,GACP/F,KAAKwG,GAAKT,EAEV/F,KAAK,IAAMwG,GAAKT,CAKxB/F,MAAKkpE,qBAAuB,GAAIjQ,QAAOj5D,KAAKmpE,cAAche,OAAS,IAAM,UAAUA,QAgDvF,QAASie,IAAYzlC,EAAQx6B,EAAOgH,EAAOk5D,GACvC,GAAI7iC,GAASwvB,IACT3C,EAAMF,IAAwBvG,IAAIyc,EAAQlgE,EAC9C,OAAOq9B,GAAOr2B,GAAOkjD,EAAK1vB,GAG9B,QAAS2lC,IAAM3lC,EAAQx6B,EAAOgH,EAAOwI,EAAO0wD,GAQxC,GAPsB,gBAAX1lC,KACPx6B,EAAQw6B,EACRA,EAASv9B,QAGbu9B,EAASA,GAAU,GAEN,MAATx6B,EACA,MAAOigE,IAAWzlC,EAAQx6B,EAAOgH,EAAOk5D,EAG5C,IAAI7iE,GACA+iE,IACJ,KAAK/iE,EAAI,EAAOmS,EAAJnS,EAAWA,IACnB+iE,EAAI/iE,GAAK4iE,GAAWzlC,EAAQn9B,EAAG2J,EAAOk5D,EAE1C,OAAOE,GAGX,QAASC,IAAmB7lC,EAAQx6B,GAChC,MAAOmgE,IAAK3lC,EAAQx6B,EAAO,SAAU,GAAI,SAG7C,QAASsgE,IAAwB9lC,EAAQx6B,GACrC,MAAOmgE,IAAK3lC,EAAQx6B,EAAO,cAAe,GAAI,SAGlD,QAASugE,IAAqB/lC,EAAQx6B,GAClC,MAAOmgE,IAAK3lC,EAAQx6B,EAAO,WAAY,EAAG,OAG9C,QAASwgE,IAA0BhmC,EAAQx6B,GACvC,MAAOmgE,IAAK3lC,EAAQx6B,EAAO,gBAAiB,EAAG,OAGnD,QAASygE,IAAwBjmC,EAAQx6B,GACrC,MAAOmgE,IAAK3lC,EAAQx6B,EAAO,cAAe,EAAG,OAqBjD,QAAS0gE,MACL,GAAIz1D,GAAiBpU,KAAKsU,KAa1B,OAXAtU,MAAKqhE,cAAgByI,GAAQ9pE,KAAKqhE,eAClCrhE,KAAKshE,MAAgBwI,GAAQ9pE,KAAKshE,OAClCthE,KAAK+5D,QAAgB+P,GAAQ9pE,KAAK+5D,SAElC3lD,EAAK0rB,aAAgBgqC,GAAQ11D,EAAK0rB,cAClC1rB,EAAKyrB,QAAgBiqC,GAAQ11D,EAAKyrB,SAClCzrB,EAAKwrB,QAAgBkqC,GAAQ11D,EAAKwrB,SAClCxrB,EAAKurB,MAAgBmqC,GAAQ11D,EAAKurB,OAClCvrB,EAAKmmD,OAAgBuP,GAAQ11D,EAAKmmD,QAClCnmD,EAAK4sD,MAAgB8I,GAAQ11D,EAAK4sD,OAE3BhhE,KAGX,QAAS+pE,IAAoC54D,EAAU6hD,EAAOxuD,EAAOi5B,GACjE,GAAI92B,GAAQ+7D,GAAuB1P,EAAOxuD,EAM1C,OAJA2M,GAASkwD,eAAiB5jC,EAAY92B,EAAM06D,cAC5ClwD,EAASmwD,OAAiB7jC,EAAY92B,EAAM26D,MAC5CnwD,EAAS4oD,SAAiBt8B,EAAY92B,EAAMozD,QAErC5oD,EAASowD,UAIpB,QAASyI,IAA4BhX,EAAOxuD,GACxC,MAAOulE,IAAmC/pE,KAAMgzD,EAAOxuD,EAAO,GAIlE,QAASylE,IAAiCjX,EAAOxuD,GAC7C,MAAOulE,IAAmC/pE,KAAMgzD,EAAOxuD,EAAO,IAGlE,QAAS0lE,MACL,GAIIrqC,GAASD,EAASD,EAJlBG,EAAe9/B,KAAKqhE,cACpBD,EAAephE,KAAKshE,MACpB/G,EAAev6D,KAAK+5D,QACpB3lD,EAAepU,KAAKsU,MACK0sD,EAAQ,CAkCrC,OA9BA5sD,GAAK0rB,aAAeA,EAAe,IAEnCD,EAAoB8kC,GAAS7kC,EAAe,KAC5C1rB,EAAKyrB,QAAeA,EAAU,GAE9BD,EAAoB+kC,GAAS9kC,EAAU,IACvCzrB,EAAKwrB,QAAeA,EAAU,GAE9BD,EAAoBglC,GAAS/kC,EAAU,IACvCxrB,EAAKurB,MAAeA,EAAQ,GAE5ByhC,GAAQuD,GAAShlC,EAAQ,IAGzBqhC,EAAQ2D,GAASwF,GAAY/I,IAC7BA,GAAQuD,GAASyF,GAAYpJ,IAI7BzG,GAAUoK,GAASvD,EAAO,IAC1BA,GAAU,GAGVJ,GAAU2D,GAASpK,EAAS,IAC5BA,GAAU,GAEVnmD,EAAKgtD,KAASA,EACdhtD,EAAKmmD,OAASA,EACdnmD,EAAK4sD,MAASA,EAEPhhE,KAGX,QAASmqE,IAAa/I,GAElB,MAAc,KAAPA,EAAa,OAGxB,QAASgJ,IAAapJ,GAGlB,MAAe,QAARA,EAAiB,IAG5B,QAAS1wC,IAAImmC,GACT,GAAI2K,GACA7G,EACAz6B,EAAe9/B,KAAKqhE,aAIxB,IAFA5K,EAAQD,EAAeC,GAET,UAAVA,GAA+B,SAAVA,EAGrB,MAFA2K,GAASphE,KAAKshE,MAAUxhC,EAAe,MACvCy6B,EAASv6D,KAAK+5D,QAA8B,GAApBoQ,GAAY/I,GACnB,UAAV3K,EAAoB8D,EAASA,EAAS,EAI7C,QADA6G,EAAOphE,KAAKshE,MAAQ58D,KAAKqqB,MAAMq7C,GAAYpqE,KAAK+5D,QAAU,KAClDtD,GACJ,IAAK,OAAW,MAAO2K,GAAO,EAAethC,EAAe,MAC5D,KAAK,MAAW,MAAOshC,GAAsBthC,EAAe,KAC5D,KAAK,OAAW,MAAc,IAAPshC,EAAsBthC,EAAe,IAC5D,KAAK,SAAW,MAAc,IAAPshC,EAAY,GAAUthC,EAAe,GAC5D,KAAK,SAAW,MAAc,IAAPshC,EAAY,GAAK,GAAKthC,EAAe,GAE5D,KAAK,cAAe,MAAOp7B,MAAKgB,MAAa,GAAP07D,EAAY,GAAK,GAAK,KAAQthC,CACpE,SAAS,KAAM,IAAIt8B,OAAM,gBAAkBizD,IAMvD,QAAS4T,MACL,MACIrqE,MAAKqhE,cACQ,MAAbrhE,KAAKshE,MACJthE,KAAK+5D,QAAU,GAAM,OACK,QAA3BjF,EAAM90D,KAAK+5D,QAAU,IAI7B,QAASuQ,IAAQC,GACb,MAAO,YACH,MAAOvqE,MAAKswB,GAAGi6C,IAavB,QAASC,IAAmB/T,GAExB,MADAA,GAAQD,EAAeC,GAChBz2D,KAAKy2D,EAAQ,OAGxB,QAASgU,IAAW7yD,GAChB,MAAO,YACH,MAAO5X,MAAKsU,MAAMsD,IAY1B,QAASupD,MACL,MAAOwD,IAAS3kE,KAAKohE,OAAS,GAalC,QAASsJ,IAAkB3O,EAAQ1E,EAAQiO,EAAewD,EAAUtiC,GAChE,MAAOA,GAAOmkC,aAAatT,GAAU,IAAKiO,EAAevJ,EAAQ+M,GAGrE,QAAS8B,IAAiCC,EAAgBvF,EAAe9+B,GACrE,GAAIr1B,GAAWuxD,GAAuBmI,GAAgB3+C,MAClD2T,EAAW9Q,GAAM5d,EAASmf,GAAG,MAC7BsP,EAAW7Q,GAAM5d,EAASmf,GAAG,MAC7BqP,EAAW5Q,GAAM5d,EAASmf,GAAG,MAC7B8wC,EAAWryC,GAAM5d,EAASmf,GAAG,MAC7BiqC,EAAWxrC,GAAM5d,EAASmf,GAAG,MAC7B0wC,EAAWjyC,GAAM5d,EAASmf,GAAG,MAE7BhqB,EAAIu5B,EAAUirC,GAAW79D,IAAM,IAAK4yB,IACpB,IAAZD,IAA2B,MAC3BA,EAAUkrC,GAAWtqE,IAAM,KAAMo/B,IACrB,IAAZD,IAA2B,MAC3BA,EAAUmrC,GAAW99D,IAAM,KAAM2yB,IACrB,IAAZyhC,IAA2B,MAC3BA,EAAU0J,GAAWh9D,IAAM,KAAMszD,IACrB,IAAZ7G,IAA2B,MAC3BA,EAAUuQ,GAAWra,IAAM,KAAM8J,IACrB,IAAZyG,IAA2B,OAAmB,KAAMA,EAK5D,OAHA16D,GAAE,GAAKg/D,EACPh/D,EAAE,IAAMukE,EAAiB,EACzBvkE,EAAE,GAAKkgC,EACAkkC,GAAkBhxD,MAAM,KAAMpT,GAIzC,QAASykE,IAAgDC,EAAWC,GAChE,MAA8B7kE,UAA1B0kE,GAAWE,IACJ,EAEG5kE,SAAV6kE,EACOH,GAAWE,IAEtBF,GAAWE,GAAaC,GACjB,GAGX,QAAS1F,IAAU2F,GACf,GAAI1kC,GAASxmC,KAAK83D,aACdN,EAASoT,GAAgC5qE,MAAOkrE,EAAY1kC,EAMhE,OAJI0kC,KACA1T,EAAShxB,EAAOwiC,YAAYhpE,KAAMw3D,IAG/BhxB,EAAO6+B,WAAW7N,GAK7B,QAAS2T,MAEL,GAAIC,GAAIC,GAAgBrrE,KAAKghE,SACzBvQ,EAAI4a,GAAgBrrE,KAAKu6D,UACzB+Q,EAAID,GAAgBrrE,KAAKohE,QACzBp0D,EAAIq+D,GAAgBrrE,KAAK2/B,SACzBn/B,EAAI6qE,GAAgBrrE,KAAK4/B,WACzB3yB,EAAIo+D,GAAgBrrE,KAAK6/B,UAAY7/B,KAAK8/B,eAAiB,KAC3Dv7B,EAAQvE,KAAKurE,WAEjB,OAAKhnE,IAMW,EAARA,EAAY,IAAM,IACtB,KACC6mE,EAAIA,EAAI,IAAM,KACd3a,EAAIA,EAAI,IAAM,KACd6a,EAAIA,EAAI,IAAM,KACbt+D,GAAKxM,GAAKyM,EAAK,IAAM,KACtBD,EAAIA,EAAI,IAAM,KACdxM,EAAIA,EAAI,IAAM,KACdyM,EAAIA,EAAI,IAAM,IAXR,MA35Ff,GAAImlD,IA2MAwD,GArGAnB,GAAmBtC,EAAmBsC,oBAiDtCG,IAAmB,EAmDnBpqB,MAmHA+rB,MA2EA0B,GAAmB,qKAEnBQ,GAAwB,6CAExBJ,MAEAR,MAuFA2T,GAAiB,KACjBC,GAAiB,OACjBC,GAAiB,QACjBC,GAAiB,QACjBC,GAAiB,aACjBC,GAAiB,QACjBC,GAAiB,UACjBC,GAAiB,UACjBC,GAAiB,eAEjBC,GAAiB,MACjBC,GAAiB,WAEjB/P,GAAiB,qBAEjBgQ,GAAiB,uBAGjBC,GAAY,mHAEZtT,MAuBAQ,MA8BA0B,GAAO,EACPF,GAAQ,EACRC,GAAO,EACPE,GAAO,EACPC,GAAS,EACTC,GAAS,EACTC,GAAc,CAQlB3D,GAAe,KAAM,KAAM,GAAI,KAAM,WACjC,MAAOz3D,MAAKo7B,QAAU,IAG1Bq8B,EAAe,MAAO,EAAG,EAAG,SAAU9zB,GAClC,MAAO3jC,MAAK83D,aAAa0C,YAAYx6D,KAAM2jC,KAG/C8zB,EAAe,OAAQ,EAAG,EAAG,SAAU9zB,GACnC,MAAO3jC,MAAK83D,aAAayC,OAAOv6D,KAAM2jC,KAK1CwyB,EAAa,QAAS,KAItBwC,EAAc,IAAQkT,IACtBlT,EAAc,KAAQkT,GAAWJ,IACjC9S,EAAc,MAAQyT,IACtBzT,EAAc,OAAQyT,IAEtB/S,GAAe,IAAK,MAAO,SAAUrG,EAAOxpD,GACxCA,EAAMsxD,IAAShG,EAAM9B,GAAS,IAGlCqG,GAAe,MAAO,QAAS,SAAUrG,EAAOxpD,EAAOmrD,EAAQ1M,GAC3D,GAAI7sB,GAAQu5B,EAAOH,QAAQkG,YAAY1H,EAAO/K,EAAO0M,EAAOjB,QAE/C,OAATt4B,EACA5xB,EAAMsxD,IAAS1/B,EAEfu5B,EAAOlB,IAAIb,aAAeI,GAMlC,IAAIqZ,IAAsB,wFAAwFrjE,MAAM,KAKpHsjE,GAA2B,kDAAkDtjE,MAAM,KA8GnF4yD,KASJzJ,GAAmBqJ,6BAA8B,CAEjD,IAAIQ,IAAwB,4IAExBC,KACC,eAAgB,0BAChB,aAAc,sBACd,eAAgB,oBAChB,aAAc,iBACd,WAAY,gBAIbC,KACC,gBAAiB,6BACjB,WAAY,wBACZ,QAAS,mBACT,KAAM,cAGPI,GAAkB,qBAgDtBnK,GAAmBoK,wBAA0Bd,EACzC,4LAIA,SAAU9G,GACNA,EAAO/5B,GAAK,GAAI91B,MAAK6vD,EAAOT,IAAMS,EAAO0J,QAAU,OAAS,OAwBpE5G,EAAe,GAAI,KAAM,GAAI,EAAG,WAC5B,MAAOz3D,MAAKi7B,OAAS,MAGzBw8B,EAAe,GAAI,OAAU,GAAU,EAAG,QAC1CA,EAAe,GAAI,QAAU,GAAU,EAAG,QAC1CA,EAAe,GAAI,SAAU,GAAG,GAAO,EAAG,QAI1CtB,EAAa,OAAQ,KAIrBwC,EAAc,IAAUuT,IACxBvT,EAAc,KAAUkT,GAAWJ,IACnC9S,EAAc,OAAUoT,GAAWJ,IACnChT,EAAc,QAAUqT,GAAWJ,IACnCjT,EAAc,SAAUqT,GAAWJ,IAEnCvS,GAAe,OAAQ,QAAS,UAAW2B,IAC3C3B,EAAc,KAAM,SAAUrG,EAAOxpD,GACjCA,EAAMwxD,IAAQ7I,EAAmBoa,kBAAkBvZ,KAevDb,EAAmBoa,kBAAoB,SAAUvZ,GAC7C,MAAO8B,GAAM9B,IAAU8B,EAAM9B,GAAS,GAAK,KAAO,KAKtD,IAAIwZ,IAAa1V,EAAW,YAAY,EAMxCW,GAAe,KAAM,KAAM,GAAI,KAAM,QACrCA,EAAe,KAAM,KAAM,GAAI,KAAM,WAIrCtB,EAAa,OAAQ,KACrBA,EAAa,UAAW,KAIxBwC,EAAc,IAAMkT,IACpBlT,EAAc,KAAMkT,GAAWJ,IAC/B9S,EAAc,IAAMkT,IACpBlT,EAAc,KAAMkT,GAAWJ,IAE/BlS,GAAmB,IAAK,KAAM,IAAK,MAAO,SAAUvG,EAAOqK,EAAM1I,EAAQ1M,GACrEoV,EAAKpV,EAAM77C,OAAO,EAAG,IAAM0oD,EAAM9B,IAuCrC,IAAIyZ,KACAjP,IAAM,EACNC,IAAM,EAuBVhG,GAAe,OAAQ,OAAQ,GAAI,OAAQ,aAI3CtB,EAAa,YAAa,OAI1BwC,EAAc,MAAQmT,IACtBnT,EAAc,OAAQ+S,IACtBrS,GAAe,MAAO,QAAS,SAAUrG,EAAOxpD,EAAOmrD,GACnDA,EAAOiK,WAAa9J,EAAM9B,KA4J9Bb,EAAmBoN,SAAW,YAoO9B,IAAImN,IAAejR,EACd,mGACA,WACI,GAAI90D,GAAQy2D,GAAmB1jD,MAAM,KAAMjT,UAC3C,OAAezG,MAAR2G,EAAe3G,KAAO2G,IAIlCgmE,GAAelR,EACf,mGACA,WACI,GAAI90D,GAAQy2D,GAAmB1jD,MAAM,KAAMjT;;AAC3C,MAAOE,GAAQ3G,KAAOA,KAAO2G,GA0FrCukB,IAAO,IAAK,KACZA,GAAO,KAAM,IAIbytC,EAAc,IAAMwD,IACpBxD,EAAc,KAAMwD,IACpB9C,GAAe,IAAK,MAAO,SAAUrG,EAAOxpD,EAAOmrD,GAC/CA,EAAO0J,SAAU,EACjB1J,EAAON,KAAOsN,GAAiB3O,IAQnC,IAAI8O,IAAc,iBAqClB3P,GAAmB0C,aAAe,YA6HlC,IAAI0O,IAAc,uDAIdC,GAAmB,+HA+DvBd,IAAuB5nD,GAAKimD,GAASlsD,SA2ErC,IAAI+3D,IAAyB5I,GAAY,EAAG,OACxC6I,GAAyB7I,GAAY,GAAI,WAmH7C7R,GAAmB9tB,cAAgB,sBA+CnC,IAAIoC,IAAOg1B,EACP,kJACA,SAAU/xD,GACN,MAAYtD,UAARsD,EACO1J,KAAK83D,aAEL93D,KAAKwmC,OAAO98B,IAyF/B+tD,GAAe,GAAI,KAAM,GAAI,EAAG,WAC5B,MAAOz3D,MAAKi/D,WAAa,MAG7BxH,EAAe,GAAI,KAAM,GAAI,EAAG,WAC5B,MAAOz3D,MAAK8sE,cAAgB,MAOhC9G,GAAuB,OAAY,YACnCA,GAAuB,QAAY,YACnCA,GAAuB,OAAS,eAChCA,GAAuB,QAAS,eAIhC7P,EAAa,WAAY,MACzBA,EAAa,cAAe,MAI5BwC,EAAc,IAAUuT,IACxBvT,EAAc,IAAUuT,IACxBvT,EAAc,KAAUkT,GAAWJ,IACnC9S,EAAc,KAAUkT,GAAWJ,IACnC9S,EAAc,OAAUoT,GAAWJ,IACnChT,EAAc,OAAUoT,GAAWJ,IACnChT,EAAc,QAAUqT,GAAWJ,IACnCjT,EAAc,QAAUqT,GAAWJ,IAEnCrS,GAAmB,OAAQ,QAAS,OAAQ,SAAU,SAAUvG,EAAOqK,EAAM1I,EAAQ1M,GACjFoV,EAAKpV,EAAM77C,OAAO,EAAG,IAAM0oD,EAAM9B,KAGrCuG,GAAmB,KAAM,MAAO,SAAUvG,EAAOqK,EAAM1I,EAAQ1M,GAC3DoV,EAAKpV,GAASkK,EAAmBoa,kBAAkBvZ,KA8BvDyE,EAAe,IAAK,EAAG,EAAG,WAI1BtB,EAAa,UAAW,KAIxBwC,EAAc,IAAK6S,IACnBnS,EAAc,IAAK,SAAUrG,EAAOxpD,GAChCA,EAAMsxD,IAA8B,GAApBhG,EAAM9B,GAAS,KASnCyE,EAAe,KAAM,KAAM,GAAI,KAAM,QAIrCtB,EAAa,OAAQ,KAIrBwC,EAAc,IAAMkT,IACpBlT,EAAc,KAAMkT,GAAWJ,IAC/B9S,EAAc,KAAM,SAAUI,EAAUvyB,GACpC,MAAOuyB,GAAWvyB,EAAO2iC,cAAgB3iC,EAAO0iC,uBAGpD7P,GAAe,IAAK,MAAO0B,IAC3B1B,EAAc,KAAM,SAAUrG,EAAOxpD,GACjCA,EAAMuxD,IAAQjG,EAAM9B,EAAMjuD,MAAM8mE,IAAW,GAAI,KAKnD,IAAIkB,IAAmBjW,EAAW,QAAQ,EAE1CW,GAAe,IAAK,EAAG,KAAM,OAE7BA,EAAe,KAAM,EAAG,EAAG,SAAU9zB,GACjC,MAAO3jC,MAAK83D,aAAawP,YAAYtnE,KAAM2jC,KAG/C8zB,EAAe,MAAO,EAAG,EAAG,SAAU9zB,GAClC,MAAO3jC,MAAK83D,aAAauP,cAAcrnE,KAAM2jC,KAGjD8zB,EAAe,OAAQ,EAAG,EAAG,SAAU9zB,GACnC,MAAO3jC,MAAK83D,aAAasP,SAASpnE,KAAM2jC,KAG5C8zB,EAAe,IAAK,EAAG,EAAG,WAC1BA,EAAe,IAAK,EAAG,EAAG,cAI1BtB,EAAa,MAAO,KACpBA,EAAa,UAAW,KACxBA,EAAa,aAAc,KAI3BwC,EAAc,IAAQkT,IACtBlT,EAAc,IAAQkT,IACtBlT,EAAc,IAAQkT,IACtBlT,EAAc,KAAQyT,IACtBzT,EAAc,MAAQyT,IACtBzT,EAAc,OAAQyT,IAEtB7S,GAAmB,KAAM,MAAO,QAAS,SAAUvG,EAAOqK,EAAM1I,GAC5D,GAAIzwB,GAAUywB,EAAOH,QAAQkS,cAAc1T,EAE5B,OAAX9uB,EACAm5B,EAAKvvD,EAAIo2B,EAETywB,EAAOlB,IAAIuZ,eAAiBha,IAIpCuG,GAAmB,IAAK,IAAK,KAAM,SAAUvG,EAAOqK,EAAM1I,EAAQ1M,GAC9DoV,EAAKpV,GAAS6M,EAAM9B,IAsBxB,IAAIia,IAAwB,2DAA2DjkE,MAAM,KAKzFkkE,GAA6B,8BAA8BlkE,MAAM,KAKjEmkE,GAA2B,uBAAuBnkE,MAAM,IAkD5DyuD,GAAe,KAAM,KAAM,GAAI,EAAG,QAClCA,EAAe,KAAM,KAAM,GAAI,EAAG,WAC9B,MAAOz3D,MAAK2/B,QAAU,IAAM,KAShCmgC,GAAS,KAAK,GACdA,GAAS,KAAK,GAId3J,EAAa,OAAQ,KAQrBwC,EAAc,IAAMiP,IACpBjP,EAAc,IAAMiP,IACpBjP,EAAc,IAAMkT,IACpBlT,EAAc,IAAMkT,IACpBlT,EAAc,KAAMkT,GAAWJ,IAC/B9S,EAAc,KAAMkT,GAAWJ,IAE/BpS,GAAe,IAAK,MAAO4B,IAC3B5B,GAAe,IAAK,KAAM,SAAUrG,EAAOxpD,EAAOmrD,GAC9CA,EAAOyY,MAAQzY,EAAOH,QAAQyL,KAAKjN,GACnC2B,EAAOkL,UAAY7M,IAEvBqG,GAAe,IAAK,MAAO,SAAUrG,EAAOxpD,EAAOmrD,GAC/CnrD,EAAMyxD,IAAQnG,EAAM9B,GACpB2B,EAAOlB,IAAIE,SAAU,GAWzB,IAAI0Z,IAA6B,gBAgB7BC,GAAaxW,EAAW,SAAS,EAErCW,GAAe,KAAM,KAAM,GAAI,EAAG,UAIlCtB,EAAa,SAAU,KAIvBwC,EAAc,IAAMkT,IACpBlT,EAAc,KAAMkT,GAAWJ,IAC/BpS,GAAe,IAAK,MAAO6B,GAI3B,IAAIqS,IAAezW,EAAW,WAAW,EAEzCW,GAAe,KAAM,KAAM,GAAI,EAAG,UAIlCtB,EAAa,SAAU,KAIvBwC,EAAc,IAAMkT,IACpBlT,EAAc,KAAMkT,GAAWJ,IAC/BpS,GAAe,IAAK,MAAO8B,GAI3B,IAAIqS,IAAe1W,EAAW,WAAW,EAEzCW,GAAe,IAAK,EAAG,EAAG,WACtB,SAAUz3D,KAAK8jC,cAAgB,OAGnC2zB,EAAe,GAAI,KAAM,GAAI,EAAG,WAC5B,SAAUz3D,KAAK8jC,cAAgB,MAOnCmkC,GAA0B,OAC1BA,GAA0B,QAI1B9R,EAAa,cAAe,MAI5BwC,EAAc,IAAQmT,GAAWN,IACjC7S,EAAc,KAAQmT,GAAWL,IACjC9S,EAAc,MAAQmT,GAAWJ,IACjC/S,EAAc,OAAQsT,IACtB5S,GAAe,IAAK,KAAM,MAAO,QAAS,SAAUrG,EAAOxpD,GACvDA,EAAM4xD,IAAetG,EAAuB,KAAhB,KAAO9B,KAKvC,IAAIya,IAAoB3W,EAAW,gBAAgB,EAEnDW,GAAe,IAAM,EAAG,EAAG,YAC3BA,EAAe,KAAM,EAAG,EAAG,WAY3B,IAAIiW,IAAyBhZ,EAAO7/C,SAEpC64D,IAAuB/4D,IAAei4D,GACtCc,GAAuBnJ,SAAeF,GACtCqJ,GAAuB5yC,MAAeA,GACtC4yC,GAAuBhgD,KAAeA,GACtCggD,GAAuBjJ,MAAeA,GACtCiJ,GAAuB/pC,OAAeA,GACtC+pC,GAAuB/iD,KAAeA,GACtC+iD,GAAuBlI,QAAeA,GACtCkI,GAAuB92D,IAAeugD,EACtCuW,GAAuB3H,UAAeA,GACtC2H,GAAuB5J,QAAeA,GACtC4J,GAAuB3J,SAAeA,GACtC2J,GAAuBhJ,UAAeA,GACtCgJ,GAAuBtnC,OAAeA,GACtCsnC,GAAuBvV,QAAe0N,GACtC6H,GAAuBjnC,KAAeA,GACtCinC,GAAuBlnC,OAAeA,GACtCknC,GAAuB5V,WAAeA,GACtC4V,GAAuBppE,IAAeqoE,GACtCe,GAAuBrpE,IAAeqoE,GACtCgB,GAAuB5H,aAAeA,GACtC4H,GAAuB9gB,IAAeuK,EACtCuW,GAAuBxP,QAAeA,GACtCwP,GAAuBhhD,SAAemgD,GACtCa,GAAuBnkE,QAAeA,GACtCmkE,GAAuB1lE,OAAeA,GACtC0lE,GAAuBxlE,YAAei9D,GACtCuI,GAAuBC,OAAexI,GACtCuI,GAAuB9nE,SAAeA,GACtC8nE,GAAuB9H,KAAeA,GACtC8H,GAAuB5lE,QAAe69D,GAGtC+H,GAAuBzyC,KAAauxC,GACpCkB,GAAuB7Q,WAAaC,GAGpC4Q,GAAuBzO,SAAckH,GACrCuH,GAAuBZ,YAAc1G,GAGrCsH,GAAuBxM,QAAUwM,GAAuBzM,SAAWuF,GAGnEkH,GAAuBtyC,MAAcu/B,EACrC+S,GAAuB/T,YAAciB,EAGrC8S,GAAuBrQ,KAAiBqQ,GAAuBvM,MAAevD,GAC9E8P,GAAuBE,QAAiBF,GAAuBG,SAAehQ,GAC9E6P,GAAuBxH,YAAiBI,GACxCoH,GAAuBI,eAAiBzH,GAGxCqH,GAAuBvyC,KAAa4xC,GACpCW,GAAuB3yC,IAAa2yC,GAAuBtM,KAAmBmG,GAC9EmG,GAAuBxpC,QAAaujC,GACpCiG,GAAuBhI,WAAagC,GACpCgG,GAAuB1yC,UAAaijC,GAGpCyP,GAAuBzpC,KAAOypC,GAAuB/tC,MAAQ2tC,GAG7DI,GAAuB1pC,OAAS0pC,GAAuB9tC,QAAU2tC,GAGjEG,GAAuB3pC,OAAS2pC,GAAuB7tC,QAAU2tC,GAGjEE,GAAuB5pC,YAAc4pC,GAAuB5tC,aAAe2tC,GAG3EC,GAAuBhM,UAAuBW,GAC9CqL,GAAuBra,IAAuBuP,GAC9C8K,GAAuBxL,MAAuBW,GAC9C6K,GAAuBpF,UAAuBxF,GAC9C4K,GAAuB3K,qBAAuBA,GAC9C2K,GAAuBK,MAAuB/K,GAC9C0K,GAAuBM,aAAuB/K,GAC9CyK,GAAuBxK,QAAuBA,GAC9CwK,GAAuBvK,YAAuBA,GAC9CuK,GAAuBtK,MAAuBA,GAC9CsK,GAAuB9M,MAAuBwC,GAG9CsK,GAAuBO,SAAW/F,GAClCwF,GAAuBQ,SAAW/F,GAGlCuF,GAAuBzxC,MAASw/B,EAAU,kDAAmDsR,IAC7FW,GAAuBnT,OAASkB,EAAU,mDAAoDd,GAC9F+S,GAAuB1M,MAASvF,EAAU,iDAAkD+Q,IAC5FkB,GAAuBS,KAAS1S,EAAU,4GAA6GkH,GAEvJ,IAAIyL,IAAkBV,GAUlBW,IACAC,QAAU,gBACVC,QAAU,mBACVC,SAAW,eACXC,QAAU,oBACVC,SAAW,sBACXC,SAAW,KAQXC,IACAC,IAAO,YACPC,GAAO,SACPC,EAAO,aACPC,GAAO,eACPC,IAAO,kBACPC,KAAO,yBAcPC,GAAqB,eAMrBC,GAAiB,KACjBC,GAAsB,UAUtBC,IACAC,OAAS,QACTC,KAAS,SACTviE,EAAK,gBACLzM,EAAK,WACLivE,GAAK,aACLziE,EAAK,UACL0iE,GAAK,WACL5hE,EAAK,QACL6hE,GAAK,UACLlf,EAAK,UACLmf,GAAK,YACLx8D,EAAK,SACLy8D,GAAK,YA8BLC,GAAmBxa,EAAOzgD,SAE9Bi7D,IAAiBtH,UAAkB6F,GACnCyB,GAAiBvL,SAAkBgE,GACnCuH,GAAiBrH,gBAAkBmG,GACnCkB,GAAiBtX,eAAkBA,GACnCsX,GAAiBpH,aAAkByG,GACnCW,GAAiBxX,YAAkBA,GACnCwX,GAAiBnH,SAAkByG,GACnCU,GAAiBnY,QAAkBA,GACnCmY,GAAiB3G,cAAkBkG,GACnCS,GAAiBpP,SAAkBkI,GACnCkH,GAAiBzK,WAAkBuD,GACnCkH,GAAiB/G,cAAkBuG,GACnCQ,GAAiBnF,aAAkB9B,GACnCiH,GAAiB9G,WAAkBA,GACnC8G,GAAiBljB,IAAkBqc,GAGnC6G,GAAiBvV,OAAsBT,EACvCgW,GAAiB/V,QAAesS,GAChCyD,GAAiBtV,YAAsBR,EACvC8V,GAAiB7V,aAAeqS,GAChCwD,GAAiBpV,YAAsBR,EAGvC4V,GAAiBzS,KAAOC,GACxBwS,GAAiBvS,MAAQkP,GACzBqD,GAAiBC,eAAiBpS,GAClCmS,GAAiB9S,eAAiBU,GAGlCoS,GAAiB1I,SAAwBT,GACzCmJ,GAAiBlJ,UAAiBqG,GAClC6C,GAAiBxI,YAAwBP,GACzC+I,GAAiB9I,aAAiBmG,GAClC2C,GAAiBzI,cAAwBR,GACzCiJ,GAAiBhJ,eAAiBoG,GAClC4C,GAAiBpJ,cAAwBO,GAGzC6I,GAAiB7P,KAAO6H,GACxBgI,GAAiBjI,eAAiBwF,GAClCyC,GAAiBhQ,SAAWiI,GAgD5BhS,EAAmC,MAC/Bia,aAAc,uBACdrY,QAAU,SAAUN,GAChB,GAAI9wD,GAAI8wD,EAAS,GACbG,EAAuC,IAA7B1C,EAAMuC,EAAS,IAAM,IAAa,KACrC,IAAN9wD,EAAW,KACL,IAANA,EAAW,KACL,IAANA,EAAW,KAAO,IACvB,OAAO8wD,GAASG,KAKxBrF,EAAmB1rB,KAAOg1B,EAAU,wDAAyD1F,GAC7F5D,EAAmB8d,SAAWxU,EAAU,gEAAiEzF,EAEzG,IAAI8T,IAAUplE,KAAKwnB,IAuIfgkD,GAAiB5F,GAAO,MACxBiB,GAAiBjB,GAAO,KACxB6F,GAAiB7F,GAAO,KACxB8F,GAAiB9F,GAAO,KACxB+F,GAAiB/F,GAAO,KACxBgG,GAAiBhG,GAAO,KACxBiG,GAAiBjG,GAAO,KACxBkG,GAAiBlG,GAAO,KAaxBmG,GAA6BhG,GAAW,gBACxC5qC,GAAe4qC,GAAW,WAC1B7qC,GAAe6qC,GAAW,WAC1B9qC,GAAe8qC,GAAW,SAC1BrJ,GAAeqJ,GAAW,QAC1BlQ,GAAekQ,GAAW,UAC1BzJ,GAAeyJ,GAAW,SAM1B17C,GAAQrqB,KAAKqqB,MACb+7C,IACA79D,EAAG,GACHzM,EAAG,GACHwM,EAAG,GACHc,EAAG,GACH2iD,EAAG,IAyDH4a,GAAkB3mE,KAAKwnB,IA6BvBwkD,GAA4B3P,GAASlsD,SAEzC67D,IAA0BxkD,IAAiB29C,GAC3C6G,GAA0B/7D,IAAiBq1D,GAC3C0G,GAA0BhkD,SAAiBu9C,GAC3CyG,GAA0BpgD,GAAiBA,GAC3CogD,GAA0BR,eAAiBA,GAC3CQ,GAA0BnF,UAAiBA,GAC3CmF,GAA0BP,UAAiBA,GAC3CO,GAA0BN,QAAiBA,GAC3CM,GAA0BL,OAAiBA,GAC3CK,GAA0BJ,QAAiBA,GAC3CI,GAA0BH,SAAiBA,GAC3CG,GAA0BF,QAAiBA,GAC3CE,GAA0B5oE,QAAiBuiE,GAC3CqG,GAA0BnP,QAAiB2I,GAC3CwG,GAA0B95D,IAAiB4zD,GAC3CkG,GAA0B5wC,aAAiB2wC,GAC3CC,GAA0B7wC,QAAiBA,GAC3C6wC,GAA0B9wC,QAAiBA,GAC3C8wC,GAA0B/wC,MAAiBA,GAC3C+wC,GAA0BtP,KAAiBA,GAC3CsP,GAA0BvP,MAAiBA,GAC3CuP,GAA0BnW,OAAiBA,GAC3CmW,GAA0B1P,MAAiBA,GAC3C0P,GAA0BnL,SAAiBA,GAC3CmL,GAA0BxoE,YAAiBijE,GAC3CuF,GAA0B9qE,SAAiBulE,GAC3CuF,GAA0B/C,OAAiBxC,GAC3CuF,GAA0BlqC,OAAiBA,GAC3CkqC,GAA0B5Y,WAAiBA,GAG3C4Y,GAA0BC,YAAclV,EAAU,sFAAuF0P,IACzIuF,GAA0BjqC,KAAOA,GAIjCgxB,EAAe,IAAK,EAAG,EAAG,QAC1BA,EAAe,IAAK,EAAG,EAAG,WAI1BkB,EAAc,IAAKuT,IACnBvT,EAAc,IAAKwT,IACnB9S,EAAc,IAAK,SAAUrG,EAAOxpD,EAAOmrD,GACvCA,EAAO/5B,GAAK,GAAI91B,MAA6B,IAAxB+hB,WAAWmsC,EAAO,OAE3CqG,EAAc,IAAK,SAAUrG,EAAOxpD,EAAOmrD,GACvCA,EAAO/5B,GAAK,GAAI91B,MAAKgwD,EAAM9B,MAM/Bb,EAAmBye,QAAU,SAE7Bve,EAAgB+K,IAEhBjL,EAAmBr3C,GAAwBszD,GAC3Cjc,EAAmB9tD,IAAwBA,GAC3C8tD,EAAmB7tD,IAAwBA,GAC3C6tD,EAAmBkB,IAAwBF,EAC3ChB,EAAmByT,KAAwBwC,GAC3CjW,EAAmBoI,OAAwBiP,GAC3CrX,EAAmBttD,OAAwBA,EAC3CstD,EAAmB3rB,OAAwBuvB,EAC3C5D,EAAmB0e,QAAwBjd,EAC3CzB,EAAmBhhD,SAAwBuxD,GAC3CvQ,EAAmBpqD,SAAwBA,EAC3CoqD,EAAmBiV,SAAwBsC,GAC3CvX,EAAmBmW,UAAwBD,GAC3ClW,EAAmB2F,WAAwB9B,EAC3C7D,EAAmBqP,WAAwBA,GAC3CrP,EAAmBqI,YAAwBiP,GAC3CtX,EAAmBmV,YAAwBsC,GAC3CzX,EAAmB8D,aAAwBA,EAC3C9D,EAAmBkV,cAAwBsC,GAC3CxX,EAAmBqE,eAAwBA,EAC3CrE,EAAmB2e,sBAAwB/F,EAE3C,IAAIgG,IAAU5e,CAEd,OAAO4e,QAGkBxwE,KAAKX,EAASM,EAAoB,IAAIL,KAI/D,SAASA,EAAQD,EAASM,GAE9B,GAAI8wE,GAAgCC,EAA8BC,GAEjE,SAAUvxE,GAGLsxE,KAAmCD,EAAiC,EAAWE,EAA2E,kBAAnCF,GAAiDA,EAA+Bt3D,MAAM9Z,EAASqxE,GAAiCD,IAAmE5qE,SAAlC8qE,IAAgDrxE,EAAOD,QAAUsxE,KAU7V,WACA,GAAIC,GAAe,KACfC,GAAc,CAwBlB,OAAO,SAAS7lB,GAAY7nD,EAAQoM,GAkIlC,QAAS9G,GAAM6jD,GACb,MAAOA,GAAO9nD,MAAM,UAOtB,QAASssE,GAAkB/mE,GAEzB,GAAmB,iBAAfA,EAAM1C,KAAyB,CAOjC,GAJK0C,EAAMqtC,SAAS25B,WAClBhnE,EAAMqtC,SAAS25B,aAGbhnE,EAAMqtC,SAAS25B,SAAShnE,EAAM1C,MAChC,MAGA0C,GAAMqtC,SAAS25B,SAAShnE,EAAM1C,OAAQ,EAK1C,GAAI2pE,IAAU,CACdjnE,GAAMw9B,gBAAkB,WACtBypC,GAAU,GAIZjnE,EAAMknE,YAAcL,CAIpB,KADA,GAAI3oE,GAAO2oE,EACJ3oE,IAAS+oE,GAAS,CACvB,GAAIE,GAAYjpE,EAAK9E,QAAU8E,EAAK9E,OAAO+tE,UAAUnnE,EAAM1C,KAC3D,IAAI6pE,EACF,IAAK,GAAIjrE,GAAI,EAAGA,EAAIirE,EAAU/qE,SAAW6qE,EAAS/qE,IAChDirE,EAAUjrE,GAAG8D,EAIjB9B,GAAOA,EAAKqC,YA7KhB,GAAIiF,GAAWA,EAAQzF,kBAAmB,EACxC,KAAM,IAAI7G,OAAM,uCAElB,IAAI6Q,GAAWvE,IACbzF,gBAAgB,EAGlB,IAAI3G,EAAOguE,QAAS,CAGlB,GAAI/tE,GAASD,EAETiuE,EAAoB,SAAS/nE,EAASkG,GACxC,MAAOy7C,GAAY,GAAI5nD,GAAOiG,EAASkG,GAAUuE,GAOnD,OALA1Q,GAAOiD,OAAO+qE,EAAmBhuE,GACjCguE,EAAkBD,QAAU,SAAU9nE,EAASkG,GAC7C,MAAOy7C,GAAY,GAAI5nD,GAAO+tE,QAAQ9nE,EAASkG,GAAUuE,IAGpDs9D,EAIT,GAAI/nE,GAAUlG,EAAOkG,OAyJrB,OAxJAA,GAAQlG,OAASA,EAGjBA,EAAOkuE,IAAMluE,EAAOuR,GACpBvR,EAAOmuE,KAAOnuE,EAAO0R,IACrB1R,EAAOouE,MAAQpuE,EAAOurB,KACtBvrB,EAAOquE,SAAWruE,EAAOsR,QAGzBtR,EAAO+tE,aAIP/tE,EAAOkuE,IAAI,eAAgB,SAAUtnE,IAC/B+J,EAAShK,kBAAmB,GAASgK,EAAShK,iBAAmBC,EAAM0nE,cACzE1nE,EAAMD,iBAEJC,EAAM+qC,UACR87B,EAAe7mE,EAAMI,OACrB0mE,GAAc,GAEZ9mE,EAAM0kD,UACRoiB,GAAc,KAUlB1tE,EAAOuR,GAAK,SAAU43C,EAAQolB,GAa5B,MAXAjpE,GAAM6jD,GAAQxjD,QAAQ,SAAUiB,GAC9B,GAAImnE,GAAY/tE,EAAO+tE,UAAUnnE,EAC5BmnE,KACH/tE,EAAO+tE,UAAUnnE,GAASmnE,KAG1B/tE,EAAOkuE,IAAItnE,EAAO+mE,IAEpBI,EAAUjqE,KAAKyqE,KAGVvuE,GAWTA,EAAO0R,IAAM,SAAUy3C,EAAQolB,GAoB7B,MAlBAjpE,GAAM6jD,GAAQxjD,QAAQ,SAAUiB,GAC9B,GAAImnE,GAAY/tE,EAAO+tE,UAAUnnE,EAC7BmnE,KACFA,EAAYQ,EAAUR,EAAUp8D,OAAO,SAAUrI,GAC/C,MAAOA,KAAMilE,OAGXR,EAAU/qE,OAAS,EACrBhD,EAAO+tE,UAAUnnE,GAASmnE,GAI1B/tE,EAAOmuE,KAAKvnE,EAAO+mE,SACZ3tE,GAAO+tE,UAAUnnE,OAKvB5G,GAQTA,EAAOurB,KAAO,SAASijD,EAAW5nE,GAC3B8mE,IACHD,EAAe7mE,EAAMI,QAEvBhH,EAAOouE,MAAMI,EAAW5nE,IAG1B5G,EAAOsR,QAAU,WAEf,GAAIpL,GAAUlG,EAAOkG,cACdA,GAAQlG,OAGfA,EAAO+tE,aAGP/tE,EAAOquE,YAoDFruE,MAOP,SAAS7D,EAAQD,EAASM,GAE9B,GAAIgxE,IAKJ,SAAU3mE,EAAQoI,EAAUw/D,EAAY/rE,GAmBxC,QAASgsE,GAAkBt3D,EAAIu3D,EAASt3D,GACpC,MAAOG,YAAWo3D,EAAOx3D,EAAIC,GAAUs3D,GAY3C,QAASE,GAAeC,EAAK13D,EAAIC,GAC7B,MAAIhU,OAAMC,QAAQwrE,IACdC,EAAKD,EAAKz3D,EAAQD,GAAKC,IAChB,IAEJ,EASX,QAAS03D,GAAK3sE,EAAK4sE,EAAU33D,GACzB,GAAIvU,EAEJ,IAAKV,EAIL,GAAIA,EAAIuD,QACJvD,EAAIuD,QAAQqpE,EAAU33D,OACnB,IAAIjV,EAAIY,SAAWN,EAEtB,IADAI,EAAI,EACGA,EAAIV,EAAIY,QACXgsE,EAASnyE,KAAKwa,EAASjV,EAAIU,GAAIA,EAAGV,GAClCU,QAGJ,KAAKA,IAAKV,GACNA,EAAIE,eAAeQ,IAAMksE,EAASnyE,KAAKwa,EAASjV,EAAIU,GAAIA,EAAGV,GAavE,QAASc,GAAO+rE,EAAM5rB,EAAKM,GAGvB,IAFA,GAAI94C,GAAOnH,OAAOmH,KAAKw4C,GACnBvgD,EAAI,EACDA,EAAI+H,EAAK7H,UACP2gD,GAAUA,GAASsrB,EAAKpkE,EAAK/H,MAAQJ,KACtCusE,EAAKpkE,EAAK/H,IAAMugD,EAAIx4C,EAAK/H,KAE7BA,GAEJ,OAAOmsE,GAUX,QAAStrB,GAAMsrB,EAAM5rB,GACjB,MAAOngD,GAAO+rE,EAAM5rB,GAAK,GAS7B,QAAS6rB,GAAQC,EAAOhP,EAAMnX,GAC1B,GACIomB,GADAC,EAAQlP,EAAKhvD,SAGjBi+D,GAASD,EAAMh+D,UAAYzN,OAAOsI,OAAOqjE,GACzCD,EAAO3rE,YAAc0rE,EACrBC,EAAOE,OAASD,EAEZrmB,GACA9lD,EAAOksE,EAAQpmB,GAUvB,QAAS4lB,GAAOx3D,EAAIC,GAChB,MAAO,YACH,MAAOD,GAAGpB,MAAMqB,EAAStU,YAWjC,QAASwsE,GAASjf,EAAKn9C,GACnB,aAAWm9C,IAAOkf,GACPlf,EAAIt6C,MAAM7C,EAAOA,EAAK,IAAMzQ,EAAYA,EAAWyQ,GAEvDm9C,EASX,QAASmf,GAAYC,EAAMC,GACvB,MAAQD,KAAShtE,EAAaitE,EAAOD,EASzC,QAASE,GAAkB5oE,EAAQmO,EAAOo5D,GACtCQ,EAAKc,EAAS16D,GAAQ,SAASjR,GAC3B8C,EAAOf,iBAAiB/B,EAAMqqE,GAAS,KAU/C,QAASuB,GAAqB9oE,EAAQmO,EAAOo5D,GACzCQ,EAAKc,EAAS16D,GAAQ,SAASjR,GAC3B8C,EAAOP,oBAAoBvC,EAAMqqE,GAAS,KAWlD,QAASnnE,GAAU08C,EAAMz8C,GACrB,KAAOy8C,GAAM,CACT,GAAIA,GAAQz8C,EACR,OAAO,CAEXy8C,GAAOA,EAAK38C,WAEhB,OAAO,EASX,QAAS4oE,GAAMC,EAAKC,GAChB,MAAOD,GAAInsE,QAAQosE,GAAQ,GAQ/B,QAASJ,GAASG,GACd,MAAOA,GAAIrlE,OAAOrF,MAAM,QAU5B,QAAS4qE,GAAQ7sB,EAAK4sB,EAAME,GACxB,GAAI9sB,EAAIx/C,UAAYssE,EAChB,MAAO9sB,GAAIx/C,QAAQosE,EAGnB,KADA,GAAIntE,GAAI,EACDA,EAAIugD,EAAIrgD,QAAQ,CACnB,GAAKmtE,GAAa9sB,EAAIvgD,GAAGqtE,IAAcF,IAAWE,GAAa9sB,EAAIvgD,KAAOmtE,EACtE,MAAOntE,EAEXA,KAEJ,MAAO,GASf,QAAS+C,GAAQzD,GACb,MAAOiB,OAAM8N,UAAUpI,MAAMlM,KAAKuF,EAAK,GAU3C,QAASguE,GAAY/sB,EAAKr9C,EAAKmO,GAK3B,IAJA,GAAIk8D,MACAt7D,KACAjS,EAAI,EAEDA,EAAIugD,EAAIrgD,QAAQ,CACnB,GAAIstD,GAAMtqD,EAAMq9C,EAAIvgD,GAAGkD,GAAOq9C,EAAIvgD,EAC9BotE,GAAQn7D,EAAQu7C,GAAO,GACvB+f,EAAQvsE,KAAKu/C,EAAIvgD,IAErBiS,EAAOjS,GAAKwtD,EACZxtD,IAaJ,MAVIqR,KAIIk8D,EAHCrqE,EAGSqqE,EAAQl8D,KAAK,SAAyBvR,EAAGC,GAC/C,MAAOD,GAAEoD,GAAOnD,EAAEmD,KAHZqqE,EAAQl8D,QAQnBk8D,EASX,QAASC,GAASluE,EAAKmuE,GAKnB,IAJA,GAAIC,GAAQnuE,EACRouE,EAAYF,EAAS,GAAGrpC,cAAgBqpC,EAASxnE,MAAM,GAEvDjG,EAAI,EACDA,EAAI4tE,GAAgB1tE,QAAQ,CAI/B,GAHAwtE,EAASE,GAAgB5tE,GACzBT,EAAO,EAAWmuE,EAASC,EAAYF,EAEnCluE,IAAQD,GACR,MAAOC,EAEXS,KAEJ,MAAOJ,GAQX,QAASiuE,KACL,MAAOC,MAQX,QAASC,GAAoB3qE,GACzB,GAAI4qE,GAAM5qE,EAAQ6qE,aAClB,OAAQD,GAAIE,aAAeF,EAAIG,aAyCnC,QAASC,GAAMC,EAASvrE,GACpB,GAAIoiD,GAAO1rD,IACXA,MAAK60E,QAAUA,EACf70E,KAAKsJ,SAAWA,EAChBtJ,KAAK4J,QAAUirE,EAAQjrE,QACvB5J,KAAK0K,OAASmqE,EAAQ/kE,QAAQglE,YAI9B90E,KAAK+0E,WAAa,SAASC,GACnB/B,EAAS4B,EAAQ/kE,QAAQy1B,QAASsvC,KAClCnpB,EAAKumB,QAAQ+C,IAIrBh1E,KAAKi1E,OAoCT,QAASC,GAAoBL,GACzB,GAAIM,GACAC,EAAaP,EAAQ/kE,QAAQslE,UAajC,OAAO,KAVHD,EADAC,EACOA,EACAC,GACAC,EACAC,GACAC,EACCC,GAGDC,EAFAC,GAIOd,EAAS/lB,GAS/B,QAASA,GAAa+lB,EAAS3C,EAAWlf,GACtC,GAAI4iB,GAAc5iB,EAAM6iB,SAASnvE,OAC7BovE,EAAqB9iB,EAAM+iB,gBAAgBrvE,OAC3C2uC,EAAW68B,EAAY8D,IAAgBJ,EAAcE,IAAuB,EAC5E9mB,EAAWkjB,GAAa+D,GAAYC,KAAkBN,EAAcE,IAAuB,CAE/F9iB,GAAM3d,UAAYA,EAClB2d,EAAMhE,UAAYA,EAEd3Z,IACAw/B,EAAQsB,YAKZnjB,EAAMkf,UAAYA,EAGlBkE,EAAiBvB,EAAS7hB,GAG1B6hB,EAAQ5lD,KAAK,eAAgB+jC,GAE7B6hB,EAAQwB,UAAUrjB,GAClB6hB,EAAQsB,QAAQG,UAAYtjB,EAQhC,QAASojB,GAAiBvB,EAAS7hB,GAC/B,GAAImjB,GAAUtB,EAAQsB,QAClBN,EAAW7iB,EAAM6iB,SACjBU,EAAiBV,EAASnvE,MAGzByvE,GAAQK,aACTL,EAAQK,WAAaC,EAAqBzjB,IAI1CujB,EAAiB,IAAMJ,EAAQO,cAC/BP,EAAQO,cAAgBD,EAAqBzjB,GACnB,IAAnBujB,IACPJ,EAAQO,eAAgB,EAG5B,IAAIF,GAAaL,EAAQK,WACrBE,EAAgBP,EAAQO,cACxBC,EAAeD,EAAgBA,EAAcnpD,OAASipD,EAAWjpD,OAEjEA,EAASylC,EAAMzlC,OAASqpD,EAAUf,EACtC7iB,GAAM6jB,UAAYn3C,KAClBszB,EAAM8jB,UAAY9jB,EAAM6jB,UAAYL,EAAWK,UAE/C7jB,EAAM+jB,MAAQC,EAASL,EAAcppD,GACrCylC,EAAM7rC,SAAW8vD,EAAYN,EAAcppD,GAE3C2pD,EAAef,EAASnjB,GACxBA,EAAMmkB,gBAAkBC,EAAapkB,EAAMjxB,OAAQixB,EAAMhxB,QAEzDgxB,EAAMvuD,MAAQiyE,EAAgBtgD,EAASsgD,EAAcb,SAAUA,GAAY,EAC3E7iB,EAAMqkB,SAAWX,EAAgBY,EAAYZ,EAAcb,SAAUA,GAAY,EAEjF0B,EAAyBpB,EAASnjB,EAGlC,IAAItoD,GAASmqE,EAAQjrE,OACjBkB,GAAUkoD,EAAMrb,SAASjtC,OAAQA,KACjCA,EAASsoD,EAAMrb,SAASjtC,QAE5BsoD,EAAMtoD,OAASA,EAGnB,QAASwsE,GAAef,EAASnjB,GAC7B,GAAIzlC,GAASylC,EAAMzlC,OACfrC,EAASirD,EAAQqB,gBACjBC,EAAYtB,EAAQsB,cACpBnB,EAAYH,EAAQG,eAEpBtjB,EAAMkf,YAAc8D,IAAeM,EAAUpE,YAAc+D,MAC3DwB,EAAYtB,EAAQsB,WAChBtkE,EAAGmjE,EAAUv0C,QAAU,EACvB3uB,EAAGkjE,EAAUt0C,QAAU,GAG3B9W,EAASirD,EAAQqB,aACbrkE,EAAGoa,EAAOpa,EACVC,EAAGma,EAAOna,IAIlB4/C,EAAMjxB,OAAS01C,EAAUtkE,GAAKoa,EAAOpa,EAAI+X,EAAO/X,GAChD6/C,EAAMhxB,OAASy1C,EAAUrkE,GAAKma,EAAOna,EAAI8X,EAAO9X,GAQpD,QAASmkE,GAAyBpB,EAASnjB,GACvC,GAEI0kB,GAAUC,EAAWC,EAAWn6C,EAFhCo6C,EAAO1B,EAAQ2B,cAAgB9kB,EAC/B8jB,EAAY9jB,EAAM6jB,UAAYgB,EAAKhB,SAGvC,IAAI7jB,EAAMkf,WAAagE,KAAiBY,EAAYiB,IAAoBF,EAAKH,WAAatxE,GAAY,CAClG,GAAI27B,GAAS81C,EAAK91C,OAASixB,EAAMjxB,OAC7BC,EAAS61C,EAAK71C,OAASgxB,EAAMhxB,OAE7B90B,EAAI8qE,EAAYlB,EAAW/0C,EAAQC,EACvC21C,GAAYzqE,EAAEiG,EACdykE,EAAY1qE,EAAEkG,EACdskE,EAAYxrD,GAAIhf,EAAEiG,GAAK+Y,GAAIhf,EAAEkG,GAAMlG,EAAEiG,EAAIjG,EAAEkG,EAC3CqqB,EAAY25C,EAAar1C,EAAQC,GAEjCm0C,EAAQ2B,aAAe9kB,MAGvB0kB,GAAWG,EAAKH,SAChBC,EAAYE,EAAKF,UACjBC,EAAYC,EAAKD,UACjBn6C,EAAYo6C,EAAKp6C,SAGrBu1B,GAAM0kB,SAAWA,EACjB1kB,EAAM2kB,UAAYA,EAClB3kB,EAAM4kB,UAAYA,EAClB5kB,EAAMv1B,UAAYA,EAQtB,QAASg5C,GAAqBzjB,GAK1B,IAFA,GAAI6iB,MACArvE,EAAI,EACDA,EAAIwsD,EAAM6iB,SAASnvE,QACtBmvE,EAASrvE,IACL+X,QAASwQ,GAAMikC,EAAM6iB,SAASrvE,GAAG+X,SACjCG,QAASqQ,GAAMikC,EAAM6iB,SAASrvE,GAAGkY,UAErClY,GAGJ,QACIqwE,UAAWn3C,KACXm2C,SAAUA,EACVtoD,OAAQqpD,EAAUf,GAClB9zC,OAAQixB,EAAMjxB,OACdC,OAAQgxB,EAAMhxB,QAStB,QAAS40C,GAAUf,GACf,GAAIU,GAAiBV,EAASnvE,MAG9B,IAAuB,IAAnB6vE,EACA,OACIpjE,EAAG4b,GAAM8mD,EAAS,GAAGt3D,SACrBnL,EAAG2b,GAAM8mD,EAAS,GAAGn3D,SAK7B,KADA,GAAIvL,GAAI,EAAGC,EAAI,EAAG5M,EAAI,EACX+vE,EAAJ/vE,GACH2M,GAAK0iE,EAASrvE,GAAG+X,QACjBnL,GAAKyiE,EAASrvE,GAAGkY,QACjBlY,GAGJ,QACI2M,EAAG4b,GAAM5b,EAAIojE,GACbnjE,EAAG2b,GAAM3b,EAAImjE,IAWrB,QAASyB,GAAYlB,EAAW3jE,EAAGC,GAC/B,OACID,EAAGA,EAAI2jE,GAAa,EACpB1jE,EAAGA,EAAI0jE,GAAa,GAU5B,QAASM,GAAajkE,EAAGC,GACrB,MAAID,KAAMC,EACC6kE,GAGP/rD,GAAI/Y,IAAM+Y,GAAI9Y,GACPD,EAAI,EAAI+kE,GAAiBC,GAE7B/kE,EAAI,EAAIglE,GAAeC,GAUlC,QAASpB,GAAYnnB,EAAIC,EAAIjpD,GACpBA,IACDA,EAAQwxE,GAEZ,IAAInlE,GAAI48C,EAAGjpD,EAAM,IAAMgpD,EAAGhpD,EAAM,IAC5BsM,EAAI28C,EAAGjpD,EAAM,IAAMgpD,EAAGhpD,EAAM,GAEhC,OAAOpC,MAAKssB,KAAM7d,EAAIA,EAAMC,EAAIA,GAUpC,QAAS4jE,GAASlnB,EAAIC,EAAIjpD,GACjBA,IACDA,EAAQwxE,GAEZ,IAAInlE,GAAI48C,EAAGjpD,EAAM,IAAMgpD,EAAGhpD,EAAM,IAC5BsM,EAAI28C,EAAGjpD,EAAM,IAAMgpD,EAAGhpD,EAAM,GAChC,OAA0B,KAAnBpC,KAAK6zE,MAAMnlE,EAAGD,GAAWzO,KAAKsoB,GASzC,QAASsqD,GAAYrmE,EAAOC,GACxB,MAAO8lE,GAAS9lE,EAAI,GAAIA,EAAI,GAAIsnE,IAAmBxB,EAAS/lE,EAAM,GAAIA,EAAM,GAAIunE,IAUpF,QAASpiD,GAASnlB,EAAOC,GACrB,MAAO+lE,GAAY/lE,EAAI,GAAIA,EAAI,GAAIsnE,IAAmBvB,EAAYhmE,EAAM,GAAIA,EAAM,GAAIunE,IAiB1F,QAAS7C,KACL31E,KAAKy4E,KAAOC,GACZ14E,KAAK24E,MAAQC,GAEb54E,KAAK64E,OAAQ,EACb74E,KAAK84E,SAAU,EAEflE,EAAMl7D,MAAM1Z,KAAMyG,WAoEtB,QAAS6uE,KACLt1E,KAAKy4E,KAAOM,GACZ/4E,KAAK24E,MAAQK,GAEbpE,EAAMl7D,MAAM1Z,KAAMyG,WAElBzG,KAAKi5E,MAASj5E,KAAK60E,QAAQsB,QAAQ+C,iBAoEvC,QAASC,KACLn5E,KAAKo5E,SAAWC,GAChBr5E,KAAK24E,MAAQW,GACbt5E,KAAKu5E,SAAU,EAEf3E,EAAMl7D,MAAM1Z,KAAMyG,WAsCtB,QAAS+yE,GAAuBxE,EAAIptE,GAChC,GAAI6xE,GAAMlwE,EAAQyrE,EAAG0E,SACjBl4C,EAAUj4B,EAAQyrE,EAAG2E,eAMzB,OAJI/xE,IAAQquE,GAAYC,MACpBuD,EAAM3F,EAAY2F,EAAI/jE,OAAO8rB,GAAU,cAAc,KAGjDi4C,EAAKj4C,GAiBjB,QAASg0C,KACLx1E,KAAKo5E,SAAWQ,GAChB55E,KAAK65E,aAELjF,EAAMl7D,MAAM1Z,KAAMyG,WA0BtB,QAASqzE,GAAW9E,EAAIptE,GACpB,GAAImyE,GAAaxwE,EAAQyrE,EAAG0E,SACxBG,EAAY75E,KAAK65E,SAGrB,IAAIjyE,GAAQouE,GAAcgE,KAAqC,IAAtBD,EAAWrzE,OAEhD,MADAmzE,GAAUE,EAAW,GAAGE,aAAc,GAC9BF,EAAYA,EAGxB,IAAIvzE,GACAgY,EACAm7D,EAAiBpwE,EAAQyrE,EAAG2E,gBAC5BO,KACAxvE,EAAS1K,KAAK0K,MAQlB,IALA8T,EAAgBu7D,EAAW1kE,OAAO,SAASgrB,GACvC,MAAOv1B,GAAUu1B,EAAM31B,OAAQA,KAI/B9C,IAASouE,GAET,IADAxvE,EAAI,EACGA,EAAIgY,EAAc9X,QACrBmzE,EAAUr7D,EAAchY,GAAGyzE,aAAc,EACzCzzE,GAMR,KADAA,EAAI,EACGA,EAAImzE,EAAejzE,QAClBmzE,EAAUF,EAAenzE,GAAGyzE,aAC5BC,EAAqB1yE,KAAKmyE,EAAenzE,IAIzCoB,GAAQquE,GAAYC,WACb2D,GAAUF,EAAenzE,GAAGyzE,YAEvCzzE,GAGJ,OAAK0zE,GAAqBxzE,QAMtBotE,EAAYt1D,EAAc9I,OAAOwkE,GAAuB,cAAc,GACtEA,GAPJ,OAoBJ,QAASxE,KACLd,EAAMl7D,MAAM1Z,KAAMyG,UAElB,IAAIwrE,GAAUK,EAAOtyE,KAAKiyE,QAASjyE,KACnCA,MAAKqgC,MAAQ,GAAIm1C,GAAWx1E,KAAK60E,QAAS5C,GAC1CjyE,KAAKm6E,MAAQ,GAAIxE,GAAW31E,KAAK60E,QAAS5C,GAyD9C,QAASmI,GAAYvF,EAASrwE,GAC1BxE,KAAK60E,QAAUA,EACf70E,KAAK4sD,IAAIpoD,GAuFb,QAAS61E,GAAkBC,GAEvB,GAAI7G,EAAM6G,EAASC,IACf,MAAOA,GAGX,IAAIC,GAAU/G,EAAM6G,EAASG,IACzBC,EAAUjH,EAAM6G,EAASK,GAG7B,OAAIH,IAAWE,EACJD,GAAqB,IAAME,GAIlCH,GAAWE,EACJF,EAAUC,GAAqBE,GAItClH,EAAM6G,EAASM,IACRA,GAGJC,GA4CX,QAASC,GAAWhrE,GAChB9P,KAAKK,GAAKg0E,IAEVr0E,KAAK60E,QAAU,KACf70E,KAAK8P,QAAUu3C,EAAMv3C,MAAe9P,KAAKm+D,UAGzCn+D,KAAK8P,QAAQy1B,OAAS4tC,EAAYnzE,KAAK8P,QAAQy1B,QAAQ,GAEvDvlC,KAAK+6E,MAAQC,GAEbh7E,KAAKi7E,gBACLj7E,KAAKk7E,eAiOT,QAASC,GAASJ,GACd,MAAIA,GAAQK,GACD,SACAL,EAAQM,GACR,MACAN,EAAQO,GACR,OACAP,EAAQQ,GACR,QAEJ,GAQX,QAASC,GAAa/9C,GAClB,MAAIA,IAAa46C,GACN,OACA56C,GAAa26C,GACb,KACA36C,GAAay6C,GACb,OACAz6C,GAAa06C,GACb,QAEJ,GASX,QAASsD,IAA6BC,EAAiBC,GACnD,GAAI9G,GAAU8G,EAAW9G,OACzB,OAAIA,GACOA,EAAQj+D,IAAI8kE,GAEhBA,EAQX,QAASE,MACLd,EAAWphE,MAAM1Z,KAAMyG,WA6D3B,QAASo1E,MACLD,GAAeliE,MAAM1Z,KAAMyG,WAE3BzG,KAAK87E,GAAK,KACV97E,KAAK+7E,GAAK,KA2Ed,QAASC,MACLJ,GAAeliE,MAAM1Z,KAAMyG,WAsC/B,QAASw1E,MACLnB,EAAWphE,MAAM1Z,KAAMyG,WAEvBzG,KAAKk8E,OAAS,KACdl8E,KAAKm8E,OAAS,KAmElB,QAASC,MACLR,GAAeliE,MAAM1Z,KAAMyG,WA8B/B,QAAS41E,MACLT,GAAeliE,MAAM1Z,KAAMyG,WA0D/B,QAAS61E,MACLxB,EAAWphE,MAAM1Z,KAAMyG,WAIvBzG,KAAKu8E,OAAQ,EACbv8E,KAAKw8E,SAAU,EAEfx8E,KAAKk8E,OAAS,KACdl8E,KAAKm8E,OAAS,KACdn8E,KAAK2Y,MAAQ,EAqGjB,QAAShV,IAAOiG,EAASkG,GAGrB,MAFAA,GAAUA,MACVA,EAAQ2sE,YAActJ,EAAYrjE,EAAQ2sE,YAAa94E,GAAOw6D,SAASue,QAChE,GAAIhL,IAAQ9nE,EAASkG,GAiIhC,QAAS4hE,IAAQ9nE,EAASkG,GACtBA,EAAUA,MAEV9P,KAAK8P,QAAUu3C,EAAMv3C,EAASnM,GAAOw6D,UACrCn+D,KAAK8P,QAAQglE,YAAc90E,KAAK8P,QAAQglE,aAAelrE,EAEvD5J,KAAK28E,YACL38E,KAAKm2E,WACLn2E,KAAKy8E,eAELz8E,KAAK4J,QAAUA,EACf5J,KAAKgzD,MAAQkiB,EAAoBl1E,MACjCA,KAAK48E,YAAc,GAAIxC,GAAYp6E,KAAMA,KAAK8P,QAAQ8sE,aAEtDC,GAAe78E,MAAM,GAErByyE,EAAK3iE,EAAQ2sE,YAAa,SAAS/rE,GAC/B,GAAIirE,GAAa37E,KAAK2U,IAAI,GAAKjE,GAAK,GAAIA,EAAK,IAC7CA,GAAK,IAAMirE,EAAWmB,cAAcpsE,EAAK,IACzCA,EAAK,IAAMirE,EAAWoB,eAAersE,EAAK,KAC3C1Q,MAyOP,QAAS68E,IAAehI,EAASlgE,GAC7B,GAAI/K,GAAUirE,EAAQjrE,OACtB6oE,GAAKoC,EAAQ/kE,QAAQktE,SAAU,SAASx4E,EAAOoT,GAC3ChO,EAAQwE,MAAM4lE,EAASpqE,EAAQwE,MAAOwJ,IAASjD,EAAMnQ,EAAQ,KASrE,QAASy4E,IAAgB3yE,EAAO8J,GAC5B,GAAI8oE,GAAevqE,EAASwqE,YAAY,QACxCD,GAAaE,UAAU9yE,GAAO,GAAM,GACpC4yE,EAAalkD,QAAU5kB,EACvBA,EAAK1J,OAAO2yE,cAAcH,GAr1E9B,GAAI9I,KAAmB,GAAI,SAAU,MAAO,KAAM,KAAM,KACpDkJ,GAAe3qE,EAASM,cAAc,OAEtCigE,GAAgB,WAEhBnkD,GAAQrqB,KAAKqqB,MACb7C,GAAMxnB,KAAKwnB,IACXwT,GAAM56B,KAAK46B,IAwSX40C,GAAY,EAeZiJ,GAAe,wCAEf9H,GAAiB,gBAAkBlrE,GACnC8qE,GAAyBrB,EAASzpE,EAAQ,kBAAoBnE,EAC9DmvE,GAAqBE,IAAiB8H,GAAapuE,KAAKnF,UAAUC,WAElEuzE,GAAmB,QACnBC,GAAiB,MACjBC,GAAmB,QACnBC,GAAoB,SAEpB5F,GAAmB,GAEnB/B,GAAc,EACdgE,GAAa,EACb/D,GAAY,EACZC,GAAe,EAEf+B,GAAiB,EACjBC,GAAiB,EACjBC,GAAkB,EAClBC,GAAe,EACfC,GAAiB,GAEjBuF,GAAuB1F,GAAiBC,GACxC0F,GAAqBzF,GAAeC,GACpCyF,GAAgBF,GAAuBC,GAEvCvF,IAAY,IAAK,KACjBE,IAAmB,UAAW,UA4BlC5D,GAAM//D,WAKFo9D,QAAS,aAKTgD,KAAM,WACFj1E,KAAKy4E,MAAQnF,EAAkBtzE,KAAK4J,QAAS5J,KAAKy4E,KAAMz4E,KAAK+0E,YAC7D/0E,KAAKo5E,UAAY9F,EAAkBtzE,KAAK0K,OAAQ1K,KAAKo5E,SAAUp5E,KAAK+0E,YACpE/0E,KAAK24E,OAASrF,EAAkBiB,EAAoBv0E,KAAK4J,SAAU5J,KAAK24E,MAAO34E,KAAK+0E,aAMxF//D,QAAS,WACLhV,KAAKy4E,MAAQjF,EAAqBxzE,KAAK4J,QAAS5J,KAAKy4E,KAAMz4E,KAAK+0E,YAChE/0E,KAAKo5E,UAAY5F,EAAqBxzE,KAAK0K,OAAQ1K,KAAKo5E,SAAUp5E,KAAK+0E,YACvE/0E,KAAK24E,OAASnF,EAAqBe,EAAoBv0E,KAAK4J,SAAU5J,KAAK24E,MAAO34E,KAAK+0E,aAoT/F,IAAIgJ,KACAC,UAAWhI,GACXiI,UAAWjE,GACXkE,QAASjI,IAGTyC,GAAuB,YACvBE,GAAsB,mBAiB1BhG,GAAQ+C,EAAYf,GAKhB3C,QAAS,SAAmB+C,GACxB,GAAI9C,GAAY6L,GAAgB/I,EAAGptE,KAG/BsqE,GAAY8D,IAA6B,IAAdhB,EAAGlnD,SAC9B9tB,KAAK84E,SAAU,GAGf5G,EAAY8H,IAA2B,IAAbhF,EAAGnnD,QAC7BqkD,EAAY+D,IAIXj2E,KAAK84E,SAAY94E,KAAK64E,QAIvB3G,EAAY+D,KACZj2E,KAAK84E,SAAU,GAGnB94E,KAAKsJ,SAAStJ,KAAK60E,QAAS3C,GACxB2D,UAAWb,GACXe,iBAAkBf,GAClBhD,YAAa0L,GACb/lC,SAAUq9B,OAKtB,IAAImJ,KACAC,YAAapI,GACbqI,YAAarE,GACbsE,UAAWrI,GACXsI,cAAerI,GACfsI,WAAYtI,IAIZuI,IACAC,EAAGlB,GACHmB,EAAGlB,GACHmB,EAAGlB,GACHmB,EAAGlB,IAGH5E,GAAyB,cACzBC,GAAwB,qCAGxBzuE,GAAOu0E,iBACP/F,GAAyB,gBACzBC,GAAwB,6CAiB5BpG,EAAQ0C,EAAmBV,GAKvB3C,QAAS,SAAmB+C,GACxB,GAAIiE,GAAQj5E,KAAKi5E,MACb8F,GAAgB,EAEhBC,EAAsBhK,EAAGptE,KAAK8+B,cAAc/6B,QAAQ,KAAM,IAC1DumE,EAAYiM,GAAkBa,GAC9BhN,EAAcyM,GAAuBzJ,EAAGhD,cAAgBgD,EAAGhD,YAE3DiN,EAAWjN,GAAewL,GAG1B0B,EAAatL,EAAQqF,EAAOjE,EAAGmK,UAAW,YAG1CjN,GAAY8D,KAA8B,IAAdhB,EAAGlnD,QAAgBmxD,GAC9B,EAAbC,IACAjG,EAAMzxE,KAAKwtE,GACXkK,EAAajG,EAAMvyE,OAAS,GAEzBwrE,GAAa+D,GAAYC,MAChC6I,GAAgB,GAIH,EAAbG,IAKJjG,EAAMiG,GAAclK,EAEpBh1E,KAAKsJ,SAAStJ,KAAK60E,QAAS3C,GACxB2D,SAAUoD,EACVlD,iBAAkBf,GAClBhD,YAAaA,EACbr6B,SAAUq9B,IAGV+J,GAEA9F,EAAM7vE,OAAO81E,EAAY,MAKrC,IAAIE,KACAC,WAAYrJ,GACZsJ,UAAWtF,GACXuF,SAAUtJ,GACVuJ,YAAatJ,IAGbmD,GAA6B,aAC7BC,GAA6B,2CAejC1G,GAAQuG,EAAkBvE,GACtB3C,QAAS,SAAmB+C,GACxB,GAAIptE,GAAOw3E,GAAuBpK,EAAGptE,KAOrC,IAJIA,IAASouE,KACTh2E,KAAKu5E,SAAU,GAGdv5E,KAAKu5E,QAAV,CAIA,GAAIG,GAAUF,EAAuBj5E,KAAKP,KAAMg1E,EAAIptE,EAGhDA,IAAQquE,GAAYC,KAAiBwD,EAAQ,GAAGhzE,OAASgzE,EAAQ,GAAGhzE,SAAW,IAC/E1G,KAAKu5E,SAAU,GAGnBv5E,KAAKsJ,SAAStJ,KAAK60E,QAASjtE,GACxBiuE,SAAU6D,EAAQ,GAClB3D,gBAAiB2D,EAAQ,GACzB1H,YAAawL,GACb7lC,SAAUq9B,OAsBtB,IAAIyK,KACAJ,WAAYrJ,GACZsJ,UAAWtF,GACXuF,SAAUtJ,GACVuJ,YAAatJ,IAGb0D,GAAsB,2CAc1BhH,GAAQ4C,EAAYZ,GAChB3C,QAAS,SAAoB+C,GACzB,GAAIptE,GAAO63E,GAAgBzK,EAAGptE,MAC1B8xE,EAAUI,EAAWv5E,KAAKP,KAAMg1E,EAAIptE,EACnC8xE,IAIL15E,KAAKsJ,SAAStJ,KAAK60E,QAASjtE,GACxBiuE,SAAU6D,EAAQ,GAClB3D,gBAAiB2D,EAAQ,GACzB1H,YAAawL,GACb7lC,SAAUq9B,OAmFtBpC,EAAQ8C,EAAiBd,GAOrB3C,QAAS,SAAoB4C,EAAS6K,EAAYC,GAC9C,GAAIV,GAAWU,EAAU3N,aAAewL,GACpCoC,EAAWD,EAAU3N,aAAe0L,EAIxC,IAAIuB,EACAj/E,KAAKm6E,MAAMtB,OAAQ,MAChB,IAAI+G,IAAY5/E,KAAKm6E,MAAMtB,MAC9B,MAIA6G,IAAczJ,GAAYC,MAC1Bl2E,KAAKm6E,MAAMtB,OAAQ,GAGvB74E,KAAKsJ,SAASurE,EAAS6K,EAAYC,IAMvC3qE,QAAS,WACLhV,KAAKqgC,MAAMrrB,UACXhV,KAAKm6E,MAAMnlE,YAInB,IAAI6qE,IAAwB7L,EAASsJ,GAAalvE,MAAO,eACrD0xE,GAAsBD,KAA0Bz5E,EAGhD25E,GAAuB,UACvBlF,GAAoB,OACpBD,GAA4B,eAC5BL,GAAoB,OACpBE,GAAqB,QACrBE,GAAqB,OAczBP,GAAYvlE,WAKR+3C,IAAK,SAASpoD,GAENA,GAASu7E,KACTv7E,EAAQxE,KAAKggF,WAGbF,KACA9/E,KAAK60E,QAAQjrE,QAAQwE,MAAMyxE,IAAyBr7E,GAExDxE,KAAKs6E,QAAU91E,EAAMkiC,cAAcr4B,QAMvCkI,OAAQ,WACJvW,KAAK4sD,IAAI5sD,KAAK60E,QAAQ/kE,QAAQ8sE,cAOlCoD,QAAS,WACL,GAAI1F,KAMJ,OALA7H,GAAKzyE,KAAK60E,QAAQ4H,YAAa,SAASd,GAChC1I,EAAS0I,EAAW7rE,QAAQy1B,QAASo2C,MACrCrB,EAAUA,EAAQ5kE,OAAOimE,EAAWsE,qBAGrC5F,EAAkBC,EAAQrxE,KAAK,OAO1Ci3E,gBAAiB,SAASltB,GAEtB,IAAI8sB,GAAJ,CAIA,GAAInoC,GAAWqb,EAAMrb,SACjBla,EAAYu1B,EAAMmkB,eAGtB,IAAIn3E,KAAK60E,QAAQsB,QAAQgK,UAErB,WADAxoC,GAASttC,gBAIb,IAAIiwE,GAAUt6E,KAAKs6E,QACf8F,EAAU3M,EAAM6G,EAASC,IACzBG,EAAUjH,EAAM6G,EAASK,IACzBH,EAAU/G,EAAM6G,EAASG,GAE7B,OAAI2F,IACC1F,GAAWj9C,EAAYmgD,IACvBpD,GAAW/8C,EAAYogD,GACjB79E,KAAKqgF,WAAW1oC,GAH3B,SAWJ0oC,WAAY,SAAS1oC,GACjB33C,KAAK60E,QAAQsB,QAAQgK,WAAY,EACjCxoC,EAASttC,kBA+DjB,IAAI2wE,IAAiB,EACjBO,GAAc,EACdD,GAAgB,EAChBD,GAAc,EACdiF,GAAmBjF,GACnBD,GAAkB,GAClBmF,GAAe,EAuBnBzF,GAAWjmE,WAKPspD,YAOAvR,IAAK,SAAS98C,GAKV,MAJAlJ,GAAO5G,KAAK8P,QAASA,GAGrB9P,KAAK60E,SAAW70E,KAAK60E,QAAQ+H,YAAYrmE,SAClCvW,MAQX88E,cAAe,SAASpB,GACpB,GAAInJ,EAAemJ,EAAiB,gBAAiB17E,MACjD,MAAOA,KAGX,IAAIi7E,GAAej7E,KAAKi7E,YAMxB,OALAS,GAAkBD,GAA6BC,EAAiB17E,MAC3Di7E,EAAaS,EAAgBr7E,MAC9B46E,EAAaS,EAAgBr7E,IAAMq7E,EACnCA,EAAgBoB,cAAc98E,OAE3BA,MAQXwgF,kBAAmB,SAAS9E,GACxB,MAAInJ,GAAemJ,EAAiB,oBAAqB17E,MAC9CA,MAGX07E,EAAkBD,GAA6BC,EAAiB17E,YACzDA,MAAKi7E,aAAaS,EAAgBr7E,IAClCL,OAQX+8E,eAAgB,SAASrB,GACrB,GAAInJ,EAAemJ,EAAiB,iBAAkB17E,MAClD,MAAOA,KAGX,IAAIk7E,GAAcl7E,KAAKk7E,WAMvB,OALAQ,GAAkBD,GAA6BC,EAAiB17E,MAClB,KAA1C4zE,EAAQsH,EAAaQ,KACrBR,EAAY1zE,KAAKk0E,GACjBA,EAAgBqB,eAAe/8E,OAE5BA,MAQXygF,mBAAoB,SAAS/E,GACzB,GAAInJ,EAAemJ,EAAiB,qBAAsB17E,MACtD,MAAOA,KAGX07E,GAAkBD,GAA6BC,EAAiB17E,KAChE,IAAImJ,GAAQyqE,EAAQ5zE,KAAKk7E,YAAaQ,EAItC,OAHIvyE,GAAQ,IACRnJ,KAAKk7E,YAAY9xE,OAAOD,EAAO,GAE5BnJ,MAOX0gF,mBAAoB,WAChB,MAAO1gF,MAAKk7E,YAAYx0E,OAAS,GAQrCi6E,iBAAkB,SAASjF,GACvB,QAAS17E,KAAKi7E,aAAaS,EAAgBr7E,KAQ/C4uB,KAAM,SAAS+jC,GAIX,QAAS/jC,GAAK2xD,GACVl1B,EAAKmpB,QAAQ5lD,KAAKy8B,EAAK57C,QAAQxF,OAASs2E,EAAYzF,EAASJ,GAAS,IAAK/nB,GAJ/E,GAAItH,GAAO1rD,KACP+6E,EAAQ/6E,KAAK+6E,KAOLM,IAARN,GACA9rD,GAAK,GAGTA,IAGI8rD,GAASM,IACTpsD,GAAK,IAUb4xD,QAAS,SAAS7tB,GACd,MAAIhzD,MAAK8gF,UACE9gF,KAAKivB,KAAK+jC,QAGrBhzD,KAAK+6E,MAAQwF,KAOjBO,QAAS,WAEL,IADA,GAAIt6E,GAAI,EACDA,EAAIxG,KAAKk7E,YAAYx0E,QAAQ,CAChC,KAAM1G,KAAKk7E,YAAY10E,GAAGu0E,OAASwF,GAAevF,KAC9C,OAAO,CAEXx0E,KAEJ,OAAO,GAOX6vE,UAAW,SAASsJ,GAGhB,GAAIoB,GAAiBn6E,KAAW+4E,EAGhC,OAAK1M,GAASjzE,KAAK8P,QAAQy1B,QAASvlC,KAAM+gF,KAOtC/gF,KAAK+6E,OAASuF,GAAmBlF,GAAkBmF,MACnDvgF,KAAK+6E,MAAQC,IAGjBh7E,KAAK+6E,MAAQ/6E,KAAKghF,QAAQD,QAItB/gF,KAAK+6E,OAASQ,GAAcD,GAAgBD,GAAcD,KAC1Dp7E,KAAK6gF,QAAQE,MAfb/gF,KAAKihF,aACLjhF,KAAK+6E,MAAQwF,MAyBrBS,QAAS,SAASrB,KAOlBM,eAAgB,aAOhBgB,MAAO,cA8DXrO,EAAQgJ,GAAgBd,GAKpB3c,UAKI0X,SAAU,GASdqL,SAAU,SAASluB,GACf,GAAImuB,GAAiBnhF,KAAK8P,QAAQ+lE,QAClC,OAA0B,KAAnBsL,GAAwBnuB,EAAM6iB,SAASnvE,SAAWy6E,GAS7DH,QAAS,SAAShuB,GACd,GAAI+nB,GAAQ/6E,KAAK+6E,MACb7I,EAAYlf,EAAMkf,UAElBkP,EAAerG,GAASQ,GAAcD,IACtCnjB,EAAUn4D,KAAKkhF,SAASluB,EAG5B,OAAIouB,KAAiBlP,EAAYgE,KAAiB/d,GACvC4iB,EAAQK,GACRgG,GAAgBjpB,EACnB+Z,EAAY+D,GACL8E,EAAQM,GACNN,EAAQQ,GAGdR,EAAQO,GAFJC,GAIRgF,MAiBf3N,EAAQiJ,GAAeD,IAKnBzd,UACI7zD,MAAO,MACP0gE,UAAW,GACX6K,SAAU,EACVp4C,UAAWqgD,IAGfmC,eAAgB,WACZ,GAAIxiD,GAAYz9B,KAAK8P,QAAQ2tB,UACzB68C,IAOJ,OANI78C,GAAYmgD,IACZtD,EAAQ9yE,KAAKmzE,IAEbl9C,EAAYogD,IACZvD,EAAQ9yE,KAAKizE,IAEVH,GAGX+G,cAAe,SAASruB,GACpB,GAAIljD,GAAU9P,KAAK8P,QACfwxE,GAAW,EACXn6D,EAAW6rC,EAAM7rC,SACjBsW,EAAYu1B,EAAMv1B,UAClBtqB,EAAI6/C,EAAMjxB,OACV3uB,EAAI4/C,EAAMhxB,MAed,OAZMvE,GAAY3tB,EAAQ2tB,YAClB3tB,EAAQ2tB,UAAYmgD,IACpBngD,EAAmB,IAANtqB,EAAW8kE,GAAsB,EAAJ9kE,EAAS+kE,GAAiBC,GACpEmJ,EAAWnuE,GAAKnT,KAAK87E,GACrB30D,EAAWziB,KAAKwnB,IAAI8mC,EAAMjxB,UAE1BtE,EAAmB,IAANrqB,EAAW6kE,GAAsB,EAAJ7kE,EAASglE,GAAeC,GAClEiJ,EAAWluE,GAAKpT,KAAK+7E,GACrB50D,EAAWziB,KAAKwnB,IAAI8mC,EAAMhxB,UAGlCgxB,EAAMv1B,UAAYA,EACX6jD,GAAYn6D,EAAWrX,EAAQk7D,WAAavtC,EAAY3tB,EAAQ2tB,WAG3EyjD,SAAU,SAASluB,GACf,MAAO4oB,IAAe/mE,UAAUqsE,SAAS3gF,KAAKP,KAAMgzD,KAC/ChzD,KAAK+6E,MAAQQ,MAAkBv7E,KAAK+6E,MAAQQ,KAAgBv7E,KAAKqhF,cAAcruB,KAGxF/jC,KAAM,SAAS+jC,GACXhzD,KAAK87E,GAAK9oB,EAAMjxB,OAChB/hC,KAAK+7E,GAAK/oB,EAAMhxB,MAEhB,IAAIvE,GAAY+9C,EAAaxoB,EAAMv1B,UAC/BA,IACAz9B,KAAK60E,QAAQ5lD,KAAKjvB,KAAK8P,QAAQxF,MAAQmzB,EAAWu1B,GAGtDhzD,KAAKgzE,OAAO/jD,KAAK1uB,KAAKP,KAAMgzD,MAcpC4f,EAAQoJ,GAAiBJ,IAKrBzd,UACI7zD,MAAO,QACP0gE,UAAW,EACX6K,SAAU,GAGdoK,eAAgB,WACZ,OAAQ1F,KAGZ2G,SAAU,SAASluB,GACf,MAAOhzD,MAAKgzE,OAAOkO,SAAS3gF,KAAKP,KAAMgzD,KAClCtuD,KAAKwnB,IAAI8mC,EAAMvuD,MAAQ,GAAKzE,KAAK8P,QAAQk7D,WAAahrE,KAAK+6E,MAAQQ,KAG5EtsD,KAAM,SAAS+jC,GAEX,GADAhzD,KAAKgzE,OAAO/jD,KAAK1uB,KAAKP,KAAMgzD,GACR,IAAhBA,EAAMvuD,MAAa,CACnB,GAAI88E,GAAQvuB,EAAMvuD,MAAQ,EAAI,KAAO,KACrCzE,MAAK60E,QAAQ5lD,KAAKjvB,KAAK8P,QAAQxF,MAAQi3E,EAAOvuB,OAkB1D4f,EAAQqJ,GAAiBnB,GAKrB3c,UACI7zD,MAAO,QACPurE,SAAU,EACVz8C,KAAM,IACN4xC,UAAW,GAGfiV,eAAgB,WACZ,OAAQpF,KAGZmG,QAAS,SAAShuB,GACd,GAAIljD,GAAU9P,KAAK8P,QACf0xE,EAAgBxuB,EAAM6iB,SAASnvE,SAAWoJ,EAAQ+lE,SAClD4L,EAAgBzuB,EAAM7rC,SAAWrX,EAAQk7D,UACzC0W,EAAY1uB,EAAM8jB,UAAYhnE,EAAQspB,IAM1C,IAJAp5B,KAAKm8E,OAASnpB,GAITyuB,IAAkBD,GAAkBxuB,EAAMkf,WAAa+D,GAAYC,MAAkBwL,EACtF1hF,KAAKihF,YACF,IAAIjuB,EAAMkf,UAAY8D,GACzBh2E,KAAKihF,QACLjhF,KAAKk8E,OAAS9J,EAAkB,WAC5BpyE,KAAK+6E,MAAQuF,GACbtgF,KAAK6gF,WACN/wE,EAAQspB,KAAMp5B,UACd,IAAIgzD,EAAMkf,UAAY+D,GACzB,MAAOqK,GAEX,OAAOC,KAGXU,MAAO,WACHhmE,aAAajb,KAAKk8E,SAGtBjtD,KAAM,SAAS+jC,GACPhzD,KAAK+6E,QAAUuF,KAIfttB,GAAUA,EAAMkf,UAAY+D,GAC5Bj2E,KAAK60E,QAAQ5lD,KAAKjvB,KAAK8P,QAAQxF,MAAQ,KAAM0oD,IAE7ChzD,KAAKm8E,OAAOtF,UAAYn3C,KACxB1/B,KAAK60E,QAAQ5lD,KAAKjvB,KAAK8P,QAAQxF,MAAOtK,KAAKm8E,aAevDvJ,EAAQwJ,GAAkBR,IAKtBzd,UACI7zD,MAAO,SACP0gE,UAAW,EACX6K,SAAU,GAGdoK,eAAgB,WACZ,OAAQ1F,KAGZ2G,SAAU,SAASluB,GACf,MAAOhzD,MAAKgzE,OAAOkO,SAAS3gF,KAAKP,KAAMgzD,KAClCtuD,KAAKwnB,IAAI8mC,EAAMqkB,UAAYr3E,KAAK8P,QAAQk7D,WAAahrE,KAAK+6E,MAAQQ,OAc/E3I,EAAQyJ,GAAiBT,IAKrBzd,UACI7zD,MAAO,QACP0gE,UAAW,GACX0M,SAAU,IACVj6C,UAAWmgD,GAAuBC,GAClChI,SAAU,GAGdoK,eAAgB,WACZ,MAAOpE,IAAchnE,UAAUorE,eAAe1/E,KAAKP,OAGvDkhF,SAAU,SAASluB,GACf,GACI0kB,GADAj6C,EAAYz9B,KAAK8P,QAAQ2tB,SAW7B,OARIA,IAAamgD,GAAuBC,IACpCnG,EAAW1kB,EAAM0kB,SACVj6C,EAAYmgD,GACnBlG,EAAW1kB,EAAM2kB,UACVl6C,EAAYogD,KACnBnG,EAAW1kB,EAAM4kB,WAGd53E,KAAKgzE,OAAOkO,SAAS3gF,KAAKP,KAAMgzD,IACnCv1B,EAAYu1B,EAAMv1B,WAClBu1B,EAAM7rC,SAAWnnB,KAAK8P,QAAQk7D,WAC9B9+C,GAAIwrD,GAAY13E,KAAK8P,QAAQ4nE,UAAY1kB,EAAMkf,UAAY+D,IAGnEhnD,KAAM,SAAS+jC,GACX,GAAIv1B,GAAY+9C,EAAaxoB,EAAMv1B,UAC/BA,IACAz9B,KAAK60E,QAAQ5lD,KAAKjvB,KAAK8P,QAAQxF,MAAQmzB,EAAWu1B,GAGtDhzD,KAAK60E,QAAQ5lD,KAAKjvB,KAAK8P,QAAQxF,MAAO0oD,MA2B9C4f,EAAQ0J,GAAexB,GAKnB3c,UACI7zD,MAAO,MACPurE,SAAU,EACV8L,KAAM,EACN/tD,SAAU,IACVwF,KAAM,IACN4xC,UAAW,EACX4W,aAAc,IAGlB3B,eAAgB,WACZ,OAAQrF,KAGZoG,QAAS,SAAShuB,GACd,GAAIljD,GAAU9P,KAAK8P,QAEf0xE,EAAgBxuB,EAAM6iB,SAASnvE,SAAWoJ,EAAQ+lE,SAClD4L,EAAgBzuB,EAAM7rC,SAAWrX,EAAQk7D,UACzC6W,EAAiB7uB,EAAM8jB,UAAYhnE,EAAQspB,IAI/C,IAFAp5B,KAAKihF,QAEAjuB,EAAMkf,UAAY8D,IAAgC,IAAfh2E,KAAK2Y,MACzC,MAAO3Y,MAAK8hF,aAKhB,IAAIL,GAAiBI,GAAkBL,EAAe,CAClD,GAAIxuB,EAAMkf,WAAa+D,GACnB,MAAOj2E,MAAK8hF,aAGhB,IAAIC,GAAgB/hF,KAAKu8E,MAASvpB,EAAM6jB,UAAY72E,KAAKu8E,MAAQzsE,EAAQ8jB,UAAY,EACjFouD,GAAiBhiF,KAAKw8E,SAAWvF,EAAYj3E,KAAKw8E,QAASxpB,EAAMzlC,QAAUzd,EAAQ8xE,YAEvF5hF,MAAKu8E,MAAQvpB,EAAM6jB,UACnB72E,KAAKw8E,QAAUxpB,EAAMzlC,OAEhBy0D,GAAkBD,EAGnB/hF,KAAK2Y,OAAS,EAFd3Y,KAAK2Y,MAAQ,EAKjB3Y,KAAKm8E,OAASnpB,CAId,IAAIivB,GAAWjiF,KAAK2Y,MAAQ7I,EAAQ6xE,IACpC,IAAiB,IAAbM,EAGA,MAAKjiF,MAAK0gF,sBAGN1gF,KAAKk8E,OAAS9J,EAAkB,WAC5BpyE,KAAK+6E,MAAQuF,GACbtgF,KAAK6gF,WACN/wE,EAAQ8jB,SAAU5zB,MACdu7E,IANA+E,GAUnB,MAAOC,KAGXuB,YAAa,WAIT,MAHA9hF,MAAKk8E,OAAS9J,EAAkB,WAC5BpyE,KAAK+6E,MAAQwF,IACdvgF,KAAK8P,QAAQ8jB,SAAU5zB,MACnBugF,IAGXU,MAAO,WACHhmE,aAAajb,KAAKk8E,SAGtBjtD,KAAM,WACEjvB,KAAK+6E,OAASuF,KACdtgF,KAAKm8E,OAAO8F,SAAWjiF,KAAK2Y,MAC5B3Y,KAAK60E,QAAQ5lD,KAAKjvB,KAAK8P,QAAQxF,MAAOtK,KAAKm8E,YAoBvDx4E,GAAOu+E,QAAU,QAMjBv+E,GAAOw6D,UAOHgkB,WAAW,EAQXvF,YAAamD,GAMbx6C,QAAQ,EASRuvC,YAAa,KAObM,WAAY,KAOZsH,SAEKN,IAAoB72C,QAAQ,KAC5By2C,IAAmBz2C,QAAQ,IAAU,YACrC82C,IAAkB5+C,UAAWmgD,MAC7B/B,IAAiBp+C,UAAWmgD,KAAyB,WACrDtB,KACAA,IAAiBhyE,MAAO,YAAaq3E,KAAM,IAAM,SACjD1F,KAQLe,UAMIoF,WAAY,OAOZC,YAAa,OASbC,aAAc,OAOdC,eAAgB,OAOhBC,SAAU,OAQVC,kBAAmB,iBAI3B,IAAIC,IAAO,EACPC,GAAc,CA+BlBjR,IAAQ78D,WAMJ+3C,IAAK,SAAS98C,GAaV,MAZAlJ,GAAO5G,KAAK8P,QAASA,GAGjBA,EAAQ8sE,aACR58E,KAAK48E,YAAYrmE,SAEjBzG,EAAQglE,cAER90E,KAAKgzD,MAAMh+C,UACXhV,KAAKgzD,MAAMtoD,OAASoF,EAAQglE,YAC5B90E,KAAKgzD,MAAMiiB,QAERj1E,MASX0mB,KAAM,SAASuc,GACXjjC,KAAKm2E,QAAQ5E,QAAUtuC,EAAQ0/C,GAAcD,IASjDrM,UAAW,SAASsJ,GAChB,GAAIxJ,GAAUn2E,KAAKm2E,OACnB,KAAIA,EAAQ5E,QAAZ,CAKAvxE,KAAK48E,YAAYsD,gBAAgBP,EAEjC,IAAIhE,GACAc,EAAcz8E,KAAKy8E,YAKnBmG,EAAgBzM,EAAQyM,gBAIvBA,GAAkBA,GAAiBA,EAAc7H,MAAQuF,MAC1DsC,EAAgBzM,EAAQyM,cAAgB,KAI5C,KADA,GAAIp8E,GAAI,EACDA,EAAIi2E,EAAY/1E,QACnBi1E,EAAac,EAAYj2E,GAQrB2vE,EAAQ5E,UAAYoR,IACfC,GAAiBjH,GAAciH,IAChCjH,EAAWgF,iBAAiBiC,GAGhCjH,EAAWsF,QAFXtF,EAAWtF,UAAUsJ,IAOpBiD,GAAiBjH,EAAWZ,OAASQ,GAAcD,GAAgBD,MACpEuH,EAAgBzM,EAAQyM,cAAgBjH,GAE5Cn1E,MASRoQ,IAAK,SAAS+kE,GACV,GAAIA,YAAsBb,GACtB,MAAOa,EAIX,KAAK,GADDc,GAAcz8E,KAAKy8E,YACdj2E,EAAI,EAAGA,EAAIi2E,EAAY/1E,OAAQF,IACpC,GAAIi2E,EAAYj2E,GAAGsJ,QAAQxF,OAASqxE,EAChC,MAAOc,GAAYj2E,EAG3B,OAAO,OASXmO,IAAK,SAASgnE,GACV,GAAIpJ,EAAeoJ,EAAY,MAAO37E,MAClC,MAAOA,KAIX,IAAI6iF,GAAW7iF,KAAK4W,IAAI+kE,EAAW7rE,QAAQxF,MAS3C,OARIu4E,IACA7iF,KAAKgY,OAAO6qE,GAGhB7iF,KAAKy8E,YAAYj1E,KAAKm0E,GACtBA,EAAW9G,QAAU70E,KAErBA,KAAK48E,YAAYrmE,SACVolE,GAQX3jE,OAAQ,SAAS2jE,GACb,GAAIpJ,EAAeoJ,EAAY,SAAU37E,MACrC,MAAOA,KAGX,IAAIy8E,GAAcz8E,KAAKy8E,WAKvB,OAJAd,GAAa37E,KAAK4W,IAAI+kE,GACtBc,EAAYrzE,OAAOwqE,EAAQ6I,EAAad,GAAa,GAErD37E,KAAK48E,YAAYrmE,SACVvW,MASXiV,GAAI,SAAS43C,EAAQolB,GACjB,GAAI0K,GAAW38E,KAAK28E,QAKpB,OAJAlK,GAAKc,EAAS1mB,GAAS,SAASviD,GAC5BqyE,EAASryE,GAASqyE,EAASryE,OAC3BqyE,EAASryE,GAAO9C,KAAKyqE,KAElBjyE,MASXoV,IAAK,SAASy3C,EAAQolB,GAClB,GAAI0K,GAAW38E,KAAK28E,QAQpB,OAPAlK,GAAKc,EAAS1mB,GAAS,SAASviD,GACvB2nE,EAGD0K,EAASryE,GAAOlB,OAAOwqE,EAAQ+I,EAASryE,GAAQ2nE,GAAU,SAFnD0K,GAASryE,KAKjBtK,MAQXivB,KAAM,SAAS3kB,EAAO8J,GAEdpU,KAAK8P,QAAQqyE,WACblF,GAAgB3yE,EAAO8J,EAI3B,IAAIuoE,GAAW38E,KAAK28E,SAASryE,IAAUtK,KAAK28E,SAASryE,GAAOmC,OAC5D,IAAKkwE,GAAaA,EAASj2E,OAA3B,CAIA0N,EAAKxM,KAAO0C,EACZ8J,EAAK/J,eAAiB,WAClB+J,EAAKujC,SAASttC,iBAIlB,KADA,GAAI7D,GAAI,EACDA,EAAIm2E,EAASj2E,QAChBi2E,EAASn2E,GAAG4N,GACZ5N,MAQRwO,QAAS,WACLhV,KAAK4J,SAAWizE,GAAe78E,MAAM,GAErCA,KAAK28E,YACL38E,KAAKm2E,WACLn2E,KAAKgzD,MAAMh+C,UACXhV,KAAK4J,QAAU,OA4BvBhD,EAAOjD,IACHqyE,YAAaA,GACbgE,WAAYA,GACZ/D,UAAWA,GACXC,aAAcA,GAEd8E,eAAgBA,GAChBO,YAAaA,GACbD,cAAeA,GACfD,YAAaA,GACbiF,iBAAkBA,GAClBlF,gBAAiBA,GACjBmF,aAAcA,GAEdtI,eAAgBA,GAChBC,eAAgBA,GAChBC,gBAAiBA,GACjBC,aAAcA,GACdC,eAAgBA,GAChBuF,qBAAsBA,GACtBC,mBAAoBA,GACpBC,cAAeA,GAEfpM,QAASA,GACTkD,MAAOA,EACPwF,YAAaA,EAEb5E,WAAYA,EACZG,WAAYA,EACZL,kBAAmBA,EACnBI,gBAAiBA,EACjByD,iBAAkBA,EAElB2B,WAAYA,EACZc,eAAgBA,GAChBkH,IAAKxG,GACLyG,IAAKlH,GACLmH,MAAO3G,GACP4G,MAAOjH,GACPkH,OAAQ9G,GACR+G,MAAOlH,GAEPhnE,GAAIq+D,EACJl+D,IAAKo+D,EACLf,KAAMA,EACNprB,MAAOA,EACPzgD,OAAQA,EACRgsE,QAASA,EACTN,OAAQA,EACR0B,SAAUA,IAGV,YAAcd,IAAiBhzE,EAAoB,KACjDgxE,EAAgC,WAC9B,MAAOvtE,KACTpD,KAAKX,EAASM,EAAqBN,EAASC,KAASqxE,IAAkC9qE,IAAcvG,EAAOD,QAAUsxE,KAChG,mBAAVrxE,IAAyBA,EAAOD,QAC9CC,EAAOD,QAAU+D,GAEjB4G,EAAO4nE,GAAcxuE,IAGtB4G,OAAQoI,SAAU,WAKjB,SAAS9S,EAAQD,EAASM,GAmB9B,QAASyiD,GAAUxnC,GACjBnb,KAAKmkD,QAAS,EAEdnkD,KAAKmxB,KACHhW,UAAWA,GAGbnb,KAAKmxB,IAAIiyD,QAAUzwE,SAASM,cAAc,OAC1CjT,KAAKmxB,IAAIiyD,QAAQt6E,UAAY,cAE7B9I,KAAKmxB,IAAIhW,UAAUtI,YAAY7S,KAAKmxB,IAAIiyD,SAExCpjF,KAAK0D,OAASC,EAAO3D,KAAKmxB,IAAIiyD,SAC9BpjF,KAAK0D,OAAOuR,GAAG,MAAOjV,KAAKqjF,cAAcntD,KAAKl2B,MAG9C,IAAI6V,GAAK7V,KACL6sD,GAAU,MAAO,YAAa,QAAS,QAAS,MAAO,WAAY,UAAW,SAClFA,GAAOxjD,QAAQ,SAAUiB,GACvBuL,EAAGnS,OAAOuR,GAAG3K,EAAO,SAAUA,GAC5BA,EAAMw9B,sBAKV9nC,KAAKsjF,WAAa3/E,EAAOgP,UAAYA,SAASojB,MAAQwtD,iBAAiB,IACvEvjF,KAAKsjF,WAAWruE,GAAG,MAAO,SAAU3K,GAE7Bk5E,EAAWl5E,EAAMI,OAAQyQ,IAC5BtF,EAAG4tE,eAIer9E,SAAlBpG,KAAK0jF,UACP1jF,KAAK0jF,SAAS1uE,UAEhBhV,KAAK0jF,SAAWA,IAGhB1jF,KAAK2jF,YAAc3jF,KAAKyjF,WAAWvtD,KAAKl2B,MAiF1C,QAASwjF,GAAW55E,EAASmB,GAC3B,KAAOnB,GAAS,CACd,GAAIA,IAAYmB,EACd,OAAO,CAETnB,GAAUA,EAAQiB,WAEpB,OAAO,EA9IT,GAAI64E,GAAWxjF,EAAoB,IAC/Bye,EAAUze,EAAoB,IAC9ByD,EAASzD,EAAoB,IAC7BS,EAAOT,EAAoB,EAuD/Bye,GAAQgkC,EAAU9tC,WAGlB8tC,EAAUpmB,QAAU,KAKpBomB,EAAU9tC,UAAUG,QAAU,WAC5BhV,KAAKyjF,aAGLzjF,KAAKmxB,IAAIiyD,QAAQv4E,WAAW1G,YAAYnE,KAAKmxB,IAAIiyD,SAGjDpjF,KAAK0D,OAAS,KACd1D,KAAKsjF,WAAa,MAQpB3gC,EAAU9tC,UAAU+uE,SAAW,WAEzBjhC,EAAUpmB,SACZomB,EAAUpmB,QAAQknD,aAEpB9gC,EAAUpmB,QAAUv8B,KAEpBA,KAAKmkD,QAAS,EACdnkD,KAAKmxB,IAAIiyD,QAAQh1E,MAAMg/B,QAAU,OACjCzsC,EAAKkI,aAAa7I,KAAKmxB,IAAIhW,UAAW,cAEtCnb,KAAKivB,KAAK,UACVjvB,KAAKivB,KAAK,YAIVjvB,KAAK0jF,SAASxtD,KAAK,MAAOl2B,KAAK2jF,cAOjChhC,EAAU9tC,UAAU4uE,WAAa,WAC/BzjF,KAAKmkD,QAAS,EACdnkD,KAAKmxB,IAAIiyD,QAAQh1E,MAAMg/B,QAAU,GACjCzsC,EAAKuI,gBAAgBlJ,KAAKmxB,IAAIhW,UAAW,cACzCnb,KAAK0jF,SAASG,OAAO,MAAO7jF,KAAK2jF,aAEjC3jF,KAAKivB,KAAK,UACVjvB,KAAKivB,KAAK,eAQZ0zB,EAAU9tC,UAAUwuE,cAAgB,SAAU/4E,GAE5CtK,KAAK4jF,WACLt5E,EAAMw9B,mBAsBRjoC,EAAOD,QAAU+iD,GAIb,SAAS9iD,EAAQD,EAASM,GAE9B,QAAS4jF,GAAeC,GACvB,KAAM,IAAIvgF,OAAM,uBAAyBugF,EAAM,MAEhDD,EAAev1E,KAAO,WAAa,UACnCu1E,EAAeE,QAAUF,EACzBjkF,EAAOD,QAAUkkF,EACjBA,EAAezjF,GAAK,IAKhB,SAASR,EAAQD,EAASM,GAE9BL,EAAOD,QAAU,SAASC,GAQzB,MAPIA,GAAOokF,kBACVpkF,EAAO47D,UAAY,aACnB57D,EAAOqkF,SAEPrkF,EAAOskF,YACPtkF,EAAOokF,gBAAkB,GAEnBpkF,IAMJ,SAASA,EAAQD,EAASM,IAEF,SAASkkF,GAA0BvkF,EAAOD,QAAUwkF,IAEnD7jF,KAAKX,OAI9B,SAASC,EAAQD,EAASM,GAE9B,GAAI8wE,GAAgCC,EAA8BC,GAOjE,SAAUxxE,EAAMC,GAGXsxE,KAAmCD,EAAiC,EAAWE,EAA2E,kBAAnCF,GAAiDA,EAA+Bt3D,MAAM9Z,EAASqxE,GAAiCD,IAAmE5qE,SAAlC8qE,IAAgDrxE,EAAOD,QAAUsxE,KAU7VlxE,KAAM,WAEN,QAAS0jF,GAAS5zE,GAChB,GAMItJ,GANA6D,EAAiByF,GAAWA,EAAQzF,iBAAkB,EAEtD8Q,EAAYrL,GAAWA,EAAQqL,WAAa5Q,OAC5C85E,KACAC,GAAUC,WAAYC,UACtBC,IAIJ,KAAKj+E,EAAI,GAAS,KAALA,EAAUA,IAAMi+E,EAAM7/E,OAAO8/E,aAAal+E,KAAOsvD,KAAK,IAAMtvD,EAAI,IAAKkM,OAAO,EAEzF,KAAKlM,EAAI,GAAS,IAALA,EAASA,IAAMi+E,EAAM7/E,OAAO8/E,aAAal+E,KAAOsvD,KAAKtvD,EAAGkM,OAAO,EAE5E,KAAKlM,EAAI,EAAS,GAALA,EAAUA,IAAMi+E,EAAM,GAAKj+E,IAAMsvD,KAAK,GAAKtvD,EAAGkM,OAAO,EAElE,KAAKlM,EAAI,EAAS,IAALA,EAAWA,IAAMi+E,EAAM,IAAMj+E,IAAMsvD,KAAK,IAAMtvD,EAAGkM,OAAO,EAErE,KAAKlM,EAAI,EAAS,GAALA,EAAUA,IAAMi+E,EAAM,MAAQj+E,IAAMsvD,KAAK,GAAKtvD,EAAGkM,OAAO,EAGrE+xE,GAAM,SAAW3uB,KAAK,IAAKpjD,OAAO,GAClC+xE,EAAM,SAAW3uB,KAAK,IAAKpjD,OAAO,GAClC+xE,EAAM,SAAW3uB,KAAK,IAAKpjD,OAAO,GAClC+xE,EAAM,SAAW3uB,KAAK,IAAKpjD,OAAO,GAClC+xE,EAAM,SAAW3uB,KAAK,IAAKpjD,OAAO,GAElC+xE,EAAY,MAAM3uB,KAAK,GAAIpjD,OAAO,GAClC+xE,EAAU,IAAQ3uB,KAAK,GAAIpjD,OAAO,GAClC+xE,EAAa,OAAK3uB,KAAK,GAAIpjD,OAAO,GAClC+xE,EAAY,MAAM3uB,KAAK,GAAIpjD,OAAO,GAElC+xE,EAAa,OAAK3uB,KAAK,GAAIpjD,OAAO,GAClC+xE,EAAa,OAAK3uB,KAAK,GAAIpjD,OAAO,GAClC+xE,EAAa,OAAK3uB,KAAK,GAAIpjD,MAAOtM,QAClCq+E,EAAW,KAAO3uB,KAAK,GAAIpjD,OAAO,GAClC+xE,EAAiB,WAAK3uB,KAAK,EAAGpjD,OAAO,GACrC+xE,EAAW,KAAW3uB,KAAK,EAAGpjD,OAAO,GACrC+xE,EAAY,MAAU3uB,KAAK,GAAIpjD,OAAO,GACtC+xE,EAAW,KAAW3uB,KAAK,GAAIpjD,OAAO,GACtC+xE,EAAM,WAAgB3uB,KAAK,GAAIpjD,OAAO,GACtC+xE,EAAc,QAAQ3uB,KAAK,GAAIpjD,OAAO,GACtC+xE,EAAgB,UAAM3uB,KAAK,GAAIpjD,OAAO,GAEtC+xE,EAAM,MAAY3uB,KAAK,IAAKpjD,OAAO,GACnC+xE,EAAM,MAAY3uB,KAAK,IAAKpjD,OAAO,GACnC+xE,EAAM,MAAY3uB,KAAK,IAAKpjD,OAAO,GACnC+xE,EAAM,MAAY3uB,KAAK,IAAKpjD,OAAO,EAInC,IAAIiyE,GAAO,SAASr6E,GAAQs6E,EAAYt6E,EAAM,YAC1Cu6E,EAAK,SAASv6E,GAAQs6E,EAAYt6E,EAAM,UAGxCs6E,EAAc,SAASt6E,EAAM1C,GAC/B,GAAoCxB,SAAhCk+E,EAAO18E,GAAM0C,EAAMw6E,SAAwB,CAE7C,IAAK,GADDC,GAAQT,EAAO18E,GAAM0C,EAAMw6E,SACtBt+E,EAAI,EAAGA,EAAIu+E,EAAMr+E,OAAQF,IACTJ,SAAnB2+E,EAAMv+E,GAAGkM,MACXqyE,EAAMv+E,GAAGsU,GAAGxQ,GAEa,GAAlBy6E,EAAMv+E,GAAGkM,OAAmC,GAAlBpI,EAAM8tC,SACvC2sC,EAAMv+E,GAAGsU,GAAGxQ,GAEa,GAAlBy6E,EAAMv+E,GAAGkM,OAAoC,GAAlBpI,EAAM8tC,UACxC2sC,EAAMv+E,GAAGsU,GAAGxQ,EAIM,IAAlBD,GACFC,EAAMD,kBA4FZ,OAtFAg6E,GAAiBnuD,KAAO,SAASxsB,EAAKJ,EAAU1B,GAI9C,GAHaxB,SAATwB,IACFA,EAAO,WAEUxB,SAAfq+E,EAAM/6E,GACR,KAAM,IAAIlG,OAAM,oBAAsBkG,EAEFtD,UAAlCk+E,EAAO18E,GAAM68E,EAAM/6E,GAAKosD,QAC1BwuB,EAAO18E,GAAM68E,EAAM/6E,GAAKosD,UAE1BwuB,EAAO18E,GAAM68E,EAAM/6E,GAAKosD,MAAMtuD,MAAMsT,GAAGxR,EAAUoJ,MAAM+xE,EAAM/6E,GAAKgJ,SAKpE2xE,EAAiBW,QAAU,SAAS17E,EAAU1B,GAC/BxB,SAATwB,IACFA,EAAO,UAET,KAAK,GAAI8B,KAAO+6E,GACVA,EAAMz+E,eAAe0D,IACvB26E,EAAiBnuD,KAAKxsB,EAAIJ,EAAS1B,IAMzCy8E,EAAiBY,OAAS,SAAS36E,GACjC,IAAK,GAAIZ,KAAO+6E,GACd,GAAIA,EAAMz+E,eAAe0D,GAAM,CAC7B,GAAsB,GAAlBY,EAAM8tC,UAAwC,GAApBqsC,EAAM/6E,GAAKgJ,OAAiBpI,EAAMw6E,SAAWL,EAAM/6E,GAAKosD,KACpF,MAAOpsD,EAEJ,IAAsB,GAAlBY,EAAM8tC,UAAyC,GAApBqsC,EAAM/6E,GAAKgJ,OAAkBpI,EAAMw6E,SAAWL,EAAM/6E,GAAKosD,KAC3F,MAAOpsD,EAEJ,IAAIY,EAAMw6E,SAAWL,EAAM/6E,GAAKosD,MAAe,SAAPpsD,EAC3C,MAAOA,GAIb,MAAO,wCAIT26E,EAAiBR,OAAS,SAASn6E,EAAKJ,EAAU1B,GAIhD,GAHaxB,SAATwB,IACFA,EAAO,WAEUxB,SAAfq+E,EAAM/6E,GACR,KAAM,IAAIlG,OAAM,oBAAsBkG,EAExC,IAAiBtD,SAAbkD,EAAwB,CAC1B,GAAI47E,MACAH,EAAQT,EAAO18E,GAAM68E,EAAM/6E,GAAKosD,KACpC,IAAc1vD,SAAV2+E,EACF,IAAK,GAAIv+E,GAAI,EAAGA,EAAIu+E,EAAMr+E,OAAQF,KAC1Bu+E,EAAMv+E,GAAGsU,IAAMxR,GAAYy7E,EAAMv+E,GAAGkM,OAAS+xE,EAAM/6E,GAAKgJ,QAC5DwyE,EAAY19E,KAAK88E,EAAO18E,GAAM68E,EAAM/6E,GAAKosD,MAAMtvD,GAIrD89E,GAAO18E,GAAM68E,EAAM/6E,GAAKosD,MAAQovB,MAGhCZ,GAAO18E,GAAM68E,EAAM/6E,GAAKosD,UAK5BuuB,EAAiBpD,MAAQ,WACvBqD,GAAUC,WAAYC,WAIxBH,EAAiBrvE,QAAU,WACzBsvE,GAAUC,WAAYC,UACtBrpE,EAAUhR,oBAAoB,UAAWw6E,GAAM,GAC/CxpE,EAAUhR,oBAAoB,QAAS06E,GAAI,IAI7C1pE,EAAUxR,iBAAiB,UAAUg7E,GAAK,GAC1CxpE,EAAUxR,iBAAiB,QAAQk7E,GAAG,GAG/BR,EAGT,MAAOX,MAQL,SAAS7jF,EAAQD,EAASM,GAI9B,GAAIilF,GAAkB,SAAUC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIn+E,WAAU,sCAEnHo+E,EAAe,WAAe,QAASC,GAAiB76E,EAAQ5D,GAAS,IAAK,GAAIN,GAAI,EAAGA,EAAIM,EAAMJ,OAAQF,IAAK,CAAE,GAAIg/E,GAAa1+E,EAAMN,EAAIg/E,GAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,SAAWF,KAAYA,EAAWG,UAAW,GAAMv+E,OAAOw+E,eAAel7E,EAAQ86E,EAAW97E,IAAK87E,IAAiB,MAAO,UAAUH,EAAaQ,EAAYC,GAAiJ,MAA9HD,IAAYN,EAAiBF,EAAYxwE,UAAWgxE,GAAiBC,GAAaP,EAAiBF,EAAaS,GAAqBT,KAEjiBj+E,QAAOw+E,eAAehmF,EAAS,cAC7B4E,OAAO,GAET,IAAI7D,GAAOT,EAAoB,GAO3B6lF,EAAS,WACX,QAASA,KACPZ,EAAgBnlF,KAAM+lF,GAEtB/lF,KAAKoY,QACLpY,KAAKgmF,aAAe,EACpBhmF,KAAKimF,eACLjmF,KAAKkmF,WAAa,EAElBlmF,KAAKmmF,gBAAmB34E,OAAQ,UAAWD,WAAY;AAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aACjKC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAA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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 8c56513d..599d8ebd 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 4.0.0-SNAPSHOT - * @date 2015-04-24 + * @date 2015-04-28 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,25 +22,26 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Images:i(37),dotparser:i(38),gephiParser:i(39)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(40),e.hammer=i(41),e.Hammer=i(41)},function(t,e,i){var o=i(40);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=n.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},e.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!=typeof t[i]&&(t[i]=e)},e.fillIfDefined=function(t,e){for(var i in t)void 0!==e[i]&&"object"!=typeof e[i]&&(t[i]=e[i])},e.protoExtend=function(t,e){for(var i=1;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var s;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return s=n.exec(t),s?new Date(Number(s[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return s=n.exec(t),o(s?Number(s[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return s=n.exec(t),s?new Date(Number(s[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){s=n.exec(t);var r;return r=s?new Date(Number(s[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var n=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e},e.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left},e.getAbsoluteTop=function(t){return t.getBoundingClientRect().top},e.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},e.removeClassName=function(t,e){var i=t.className.split(" "),o=i.indexOf(e);-1!=o&&(i.splice(o,1),t.className=i.join(" "))},e.forEach=function(t,e){var i,o;if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var o=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)){var n=e.hexToHSV(t),s={h:n.h,s:.45*n.s,v:Math.min(1,1.05*n.v)},r={h:n.h,s:Math.min(1,1.25*n.v),v:.6*n.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var s={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=s.split(t.style.cssText),n=s.split(i),r=e.extend(o,n);t.style.cssText=s.join(r)},e.removeCssText=function(t,e){var i=s.split(t.style.cssText),o=s.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=s.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(i),n=0;n=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-1,d++}return-1},e.easeInOutQuad=function(t,e,i,o){var n=i-e;return t/=o/2,1>t?n/2*t*t+e:(t--,-n/2*(t*(t-2)-1)+e)},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;"circle"==o.options.drawPoints.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.options.drawPoints.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*o.options.drawPoints.size),a.setAttributeNS(null,"width",o.options.drawPoints.size),a.setAttributeNS(null,"height",o.options.drawPoints.size)),void 0!==o.options.drawPoints.styles&&a.setAttributeNS(null,"style","vis-"+o.group.options.drawPoints.styles),a.setAttributeNS(null,"class",o.className+" vis-point");var h=e.getSVGElement("text",n,s);return r&&(r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label")),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i),a},e.drawBar=function(t,i,o,n,s,r,a){if(0!=n){0>n&&(n*=-1,i-=n);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*o),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",o),h.setAttributeNS(null,"height",n),h.setAttributeNS(null,"class",s)}}},function(t,e,i){function o(t,e){if(!t||Array.isArray(t)||n.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var o=this._options.type[i];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[i]="Date":this._type[i]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(1),s=i(5);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=o.prototype.on,o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=o.prototype.off,o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0;nr;r++)i=s._addItem(t[r]),o.push(i);else if(n.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var u={},c=0,p=h.length;p>c;c++){var f=h[c];u[f]=t.getValue(d,c)}i=s._addItem(u),o.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=s._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],s=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),o.push(e),s.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(n.isDataTable(t))for(var u=this._getColumnNames(t),c=0,p=t.getNumberOfRows();p>c;c++){for(var f={},m=0,v=u.length;v>m;m++){var g=u[m];f[g]=t.getValue(c,m)}h(f)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),o.length&&this._trigger("update",{items:o,data:s},e),i.concat(o)},o.prototype.get=function(t){var e,i,o,s,r=this,a=n.getType(arguments[0]);"String"==a||"Number"==a?(e=arguments[0],o=arguments[1],s=arguments[2]):"Array"==a?(i=arguments[0],o=arguments[1],s=arguments[2]):(o=arguments[0],s=arguments[1]);var h;if(o&&o.returnType){var d=["DataTable","Array","Object"];if(h=-1==d.indexOf(o.returnType)?"Array":o.returnType,s&&h!=n.getType(s))throw new Error('Type of parameter "data" ('+n.getType(s)+") does not correspond with specified options.type ("+o.type+")");if("DataTable"==h&&!n.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else h=s&&"DataTable"==n.getType(s)?"DataTable":"Array";var l,u,c,p,f=o&&o.type||this._options.type,m=o&&o.filter,v=[];if(void 0!=e)l=r._getItem(e,f),m&&!m(l)&&(l=null);else if(void 0!=i)for(c=0,p=i.length;p>c;c++)l=r._getItem(i[c],f),(!m||m(l))&&v.push(l);else for(u in this._data)this._data.hasOwnProperty(u)&&(l=r._getItem(u,f),(!m||m(l))&&v.push(l));if(o&&o.order&&void 0==e&&this._sort(v,o.order),o&&o.fields){var g=o.fields;if(void 0!=e)l=this._filterFields(l,g);else for(c=0,p=v.length;p>c;c++)v[c]=this._filterFields(v[c],g)}if("DataTable"==h){var y=this._getColumnNames(s);if(void 0!=e)r._appendRow(s,y,l);else for(c=0;cc;c++)s.push(v[c]);return s}return v},o.prototype.getIds=function(t){var e,i,o,n,s,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){s=[];for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&s.push(n));for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&l.push(n[this._fieldId]));else if(h){s=[];for(o in r)r.hasOwnProperty(o)&&s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=r[o],l.push(n[this._fieldId]));return l},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n=e&&e.filter,s=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],o=i[this._fieldId],t(i,o);else for(o in r)r.hasOwnProperty(o)&&(i=this._getItem(o,s),(!n||n(i))&&t(i,o))},o.prototype.map=function(t,e){var i,o=e&&e.filter,n=e&&e.type||this._options.type,s=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,n),(!o||o(i))&&s.push(t(i,a)));return e&&e.order&&this._sort(s,e.order),s},o.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var o in t)t.hasOwnProperty(o)&&-1!=e.indexOf(o)&&(i[o]=t[o]);else for(var o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)&&(i[e[o]]=t[o]);return i},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||r>o)&&(i=s,o=r)}return i},o.prototype.min=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||o>r)&&(i=s,o=r)}return i},o.prototype.distinct=function(t){var e,i=this._data,o=[],s=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(o[e]==d){l=!0;break}l||void 0===d||(o[r]=d,r++)}if(s)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},o.prototype._appendRow=function(t,e,i){for(var o=t.addRow(),n=0,s=e.length;s>n;n++){var r=e[n];t.setValue(o,n,i[r])}},t.exports=o},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(1),s=i(3);o.prototype.setData=function(t){var e,i,o;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var n in this._ids)this._ids.hasOwnProperty(n)&&e.push(n);this._ids={},this.length=0,this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,o=e.length;o>i;i++)n=e[i],this._ids[n]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},o=[],n=[],s=0;so;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}o.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},o.extend=function(t,e){var i=new o(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){i.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(42),a=i(3),h=i(4),d=i(1),l=i(10),u=i(9),c=i(7),p=i(8),f=i(11),m=i(12);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){ -return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.colorAxis,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.colorAxis,u.fillStyle=this.colorDot,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(k,n.x,n.y));var M=this.zLabel;M.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(M,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f,m=this.frame.canvas,v=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+n.point.z)/4,u=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),c=1,this.showShadow?(p=Math.min(1+k.x/M/2,1),a=this._hsv2rgb(u,c,p),h=a):(p=1,a=this._hsv2rgb(u,c,p),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,v.lineWidth=d,v.fillStyle=a,v.strokeStyle=h,v.beginPath(),v.moveTo(t.screen.x,t.screen.y),v.lineTo(e.screen.x,e.screen.y),v.lineTo(n.screen.x,n.screen.y),v.lineTo(i.screen.x,i.screen.y),v.closePath(),v.fill(),v.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],o.lineWidth=1,o.strokeStyle="blue",o.beginPath(),o.moveTo(t.screen.x,t.screen.y)),e=1;e0&&o.stroke()}},o.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=n(t),this.startMouseY=s(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},o.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(n(t))-this.startMouseX,i=parseFloat(s(t))-this.startMouseY,o=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(o))0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=o},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(10);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0), -this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(4);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e,i){function o(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}o.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},o.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=o.calculatePrettyStep(t):this._step=t)},o.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},o.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},o.prototype.getStep=function(){return this._step},o.prototype.start=function(){this._current=this._start-this._start%this._step},o.prototype.next=function(){this._current+=this._step},o.prototype.end=function(){return this._current>this._end},t.exports=o},function(t,e,i){function o(t,e,i,h){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof s||i instanceof r)&&i instanceof Object){var p=h;h=i,i=p}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new u(this.body),this.components.push(this.customTime),this.itemSet=new c(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(42),i(41),i(1)),s=i(3),r=i(4),a=i(17),h=i(43),d=i(35),l=i(26),u=i(27),c=i(32);o.prototype=new h,o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this._getDataRange();var n=void 0!=this.options.start?this.options.start:o.start,a=void 0!=this.options.end?this.options.end:o.end;this.setWindow(n,a,{animate:!1})}else this.fit({animate:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var o=t.min("start");e=o?n.convert(o.start,"Date").valueOf():null;var s=t.max("start");s&&(i=n.convert(s.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?n.convert(r.end,"Date").valueOf():Math.max(i,n.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getEventProperties=function(t){var e=this.itemSet.itemFromTarget(t),i=this.itemSet.groupFromTarget(t),o=t.gesture?t.gesture.center.pageX:t.pageX,s=t.gesture?t.gesture.center.pageY:t.pageY,r=o-n.getAbsoluteLeft(this.dom.centerContainer),a=s-n.getAbsoluteTop(this.dom.centerContainer),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),l=this.body.util.getStep(),u=this._toTime(r),c=h?h(u,d,l):u,p=n.getTarget(t),f=null;return null!=e?f="item":n.hasParent(p,this.timeAxis.dom.foreground)?f="axis":this.timeAxis2&&n.hasParent(p,this.timeAxis2.dom.foreground)?f="axis":n.hasParent(p,this.itemSet.dom.labelSet)?f="group-label":n.hasParent(p,this.customTime.bar)?f="custom-time":n.hasParent(p,this.currentTime.bar)?f="current-time":n.hasParent(p,this.dom.center)&&(f="background"),{event:t,item:e?e.id:null,group:i?i.groupId:null,what:f,pageX:o,pageY:s,x:r,y:a,time:u,snappedTime:c}},t.exports=o},function(t,e,i){function o(t,e,i,o){if(!(Array.isArray(i)||i instanceof s)&&i instanceof Object){var r=o;o=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new u(this.body),this.components.push(this.customTime),this.linegraph=new c(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){h.emit("click",h.getEventProperties(t))}),this.on("doubletap",function(t){h.emit("doubleClick",h.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){h.emit("contextmenu",h.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(42),i(41),i(1)),s=i(3),r=i(4),a=i(17),h=i(43),d=i(35),l=i(26),u=i(27),c=i(34);o.prototype=new h,o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animate:!1})}else this.fit({animate:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.linegraph.setGroups(e)},o.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},o.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},o.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var o=0;or?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.gesture?t.gesture.center.pageX:t.pageX,i=t.gesture?t.gesture.center.pageY:t.pageY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=n.getTarget(t),h=null;n.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&n.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":n.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":n.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":n.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":n.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":n.hasParent(a,this.customTime.bar)?h="custom-time":n.hasParent(a,this.currentTime.bar)?h="current-time":n.hasParent(a,this.dom.center)&&(h="background");var d=[],l=this.linegraph.yAxisLeft,u=this.linegraph.yAxisRight;return l.hidden||d.push(l.screenToValue(s)),u.hidden||d.push(u.screenToValue(s)),{event:t,what:h,pageX:e,pageY:i,x:o,y:s,time:r,value:d}},t.exports=o},function(t,e,i){var o=i(40);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var c=0,p=s.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;p>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var v=e.isHidden(t.range.start,t.hiddenDates),g=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==v.hidden&&(y=1==t.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==t.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){i=!0;break}}if(1==i&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,n){return n=o(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,n)},e.getHiddenDurationBefore=function(t,e,i){var n=0;i=o(i).toDate().valueOf();for(var s=0;s=e.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(t,e,i,o,n,s){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=s,this.setRange(t,e,i,o,n)}o.prototype.setRange=function(t,e,i,o,n){this._start=void 0===n.min?t:n.min,this._end=void 0===n.max?e:n.max,this._start==this._end&&(this._start-=.75,this._end+=1),1==this.autoScale&&this.setMinimumStep(i,o),this.setFirst(n)},o.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,o=1.2*i,n=t*(o/e),s=Math.round(Math.log(o)/Math.LN10),r=-1,a=Math.pow(10,s),h=0;0>s&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},o.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},o.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},o.prototype.hasNext=function(){return this.current>=this.marginStart},o.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},o.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},o.prototype.getCurrent=function(t){var e=Math.abs(this.current)0;o--){if("0"!=i[o]){if("."==i[o]||","==i[o]){i=i.slice(0,o);break}break}i=i.slice(0,o)}}else{var n="",s=i.indexOf("e");if(-1!=s&&(n=i.slice(s),i=i.slice(0,s)),s=Math.max(i.indexOf(","),i.indexOf(".")),-1===s?(0!==t&&(i+="."),s=i.length+t):0!==t&&(s+=t+1),s>i.length)for(var r=s-i.length;r>0;r--)i+="0";else i=i.slice(0,s);i+=n}return i},o.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=o},function(t,e,i){function o(t,e){var i=a().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function s(t,e){return{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}}var r=i(1),a=(i(44),i(40)),h=i(25),d=i(15);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,s=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,l=this.end,u="number"==typeof i?i:500,c=(new Date).valueOf(),p=!1,f=function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}(function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-c,i=e>u,v=i||null===n?n:r.easeInOutQuad(e,h,n,u),g=i||null===s?s:r.easeInOutQuad(e,l,s,u);m=a._applyRange(v,g),d.updateHiddenDates(a.body,a.options.hiddenDates),p=p||m,m&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),i?p&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animateTimer=setTimeout(f,20)}});return f()}var m=this._applyRange(n,s);if(d.updateHiddenDates(this.body,this.options.hiddenDates),m){var v={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",v),this.body.emitter.emit("rangechanged",v)}},o.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.prototype._onDragEnd=function(t){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.pageX,y:t.pageY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0); +"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Images:i(37),dotparser:i(38),gephiParser:i(39)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(40),e.hammer=i(41),e.Hammer=i(41)},function(t,e,i){var o=i(40);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=n.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},e.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!=typeof t[i]&&(t[i]=e)},e.fillIfDefined=function(t,e){for(var i in t)void 0!==e[i]&&"object"!=typeof e[i]&&(t[i]=e[i])},e.protoExtend=function(t,e){for(var i=1;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var s;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return s=n.exec(t),s?new Date(Number(s[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return s=n.exec(t),o(s?Number(s[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return s=n.exec(t),s?new Date(Number(s[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){s=n.exec(t);var r;return r=s?new Date(Number(s[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var n=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var o=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)){var n=e.hexToHSV(t),s={h:n.h,s:.45*n.s,v:Math.min(1,1.05*n.v)},r={h:n.h,s:Math.min(1,1.25*n.v),v:.6*n.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var s={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=s.split(t.style.cssText),n=s.split(i),r=e.extend(o,n);t.style.cssText=s.join(r)},e.removeCssText=function(t,e){var i=s.split(t.style.cssText),o=s.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=s.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(i),n=0;n=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-1,d++}return-1},e.easeInOutQuad=function(t,e,i,o){var n=i-e;return t/=o/2,1>t?n/2*t*t+e:(t--,-n/2*(t*(t-2)-1)+e)},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;"circle"==o.options.drawPoints.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.options.drawPoints.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*o.options.drawPoints.size),a.setAttributeNS(null,"width",o.options.drawPoints.size),a.setAttributeNS(null,"height",o.options.drawPoints.size)),void 0!==o.options.drawPoints.styles&&a.setAttributeNS(null,"style","vis-"+o.group.options.drawPoints.styles),a.setAttributeNS(null,"class",o.className+" vis-point");var h=e.getSVGElement("text",n,s);return r&&(r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label")),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i),a},e.drawBar=function(t,i,o,n,s,r,a){if(0!=n){0>n&&(n*=-1,i-=n);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*o),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",o),h.setAttributeNS(null,"height",n),h.setAttributeNS(null,"class",s)}}},function(t,e,i){function o(t,e){if(!t||Array.isArray(t)||n.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var o=this._options.type[i];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[i]="Date":this._type[i]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(1),s=i(5);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=o.prototype.on,o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=o.prototype.off,o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0;nr;r++)i=s._addItem(t[r]),o.push(i);else if(n.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var u={},c=0,p=h.length;p>c;c++){var f=h[c];u[f]=t.getValue(d,c)}i=s._addItem(u),o.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=s._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],s=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),o.push(e),s.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(n.isDataTable(t))for(var u=this._getColumnNames(t),c=0,p=t.getNumberOfRows();p>c;c++){for(var f={},m=0,v=u.length;v>m;m++){var g=u[m];f[g]=t.getValue(c,m)}h(f)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),o.length&&this._trigger("update",{items:o,data:s},e),i.concat(o)},o.prototype.get=function(t){var e,i,o,s,r=this,a=n.getType(arguments[0]);"String"==a||"Number"==a?(e=arguments[0],o=arguments[1],s=arguments[2]):"Array"==a?(i=arguments[0],o=arguments[1],s=arguments[2]):(o=arguments[0],s=arguments[1]);var h;if(o&&o.returnType){var d=["DataTable","Array","Object"];if(h=-1==d.indexOf(o.returnType)?"Array":o.returnType,s&&h!=n.getType(s))throw new Error('Type of parameter "data" ('+n.getType(s)+") does not correspond with specified options.type ("+o.type+")");if("DataTable"==h&&!n.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else h=s&&"DataTable"==n.getType(s)?"DataTable":"Array";var l,u,c,p,f=o&&o.type||this._options.type,m=o&&o.filter,v=[];if(void 0!=e)l=r._getItem(e,f),m&&!m(l)&&(l=null);else if(void 0!=i)for(c=0,p=i.length;p>c;c++)l=r._getItem(i[c],f),(!m||m(l))&&v.push(l);else for(u in this._data)this._data.hasOwnProperty(u)&&(l=r._getItem(u,f),(!m||m(l))&&v.push(l));if(o&&o.order&&void 0==e&&this._sort(v,o.order),o&&o.fields){var g=o.fields;if(void 0!=e)l=this._filterFields(l,g);else for(c=0,p=v.length;p>c;c++)v[c]=this._filterFields(v[c],g)}if("DataTable"==h){var y=this._getColumnNames(s);if(void 0!=e)r._appendRow(s,y,l);else for(c=0;cc;c++)s.push(v[c]);return s}return v},o.prototype.getIds=function(t){var e,i,o,n,s,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){s=[];for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&s.push(n));for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&l.push(n[this._fieldId]));else if(h){s=[];for(o in r)r.hasOwnProperty(o)&&s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=r[o],l.push(n[this._fieldId]));return l},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n=e&&e.filter,s=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],o=i[this._fieldId],t(i,o);else for(o in r)r.hasOwnProperty(o)&&(i=this._getItem(o,s),(!n||n(i))&&t(i,o))},o.prototype.map=function(t,e){var i,o=e&&e.filter,n=e&&e.type||this._options.type,s=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,n),(!o||o(i))&&s.push(t(i,a)));return e&&e.order&&this._sort(s,e.order),s},o.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var o in t)t.hasOwnProperty(o)&&-1!=e.indexOf(o)&&(i[o]=t[o]);else for(var o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)&&(i[e[o]]=t[o]);return i},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||r>o)&&(i=s,o=r)}return i},o.prototype.min=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||o>r)&&(i=s,o=r)}return i},o.prototype.distinct=function(t){var e,i=this._data,o=[],s=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(o[e]==d){l=!0;break}l||void 0===d||(o[r]=d,r++)}if(s)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},o.prototype._appendRow=function(t,e,i){for(var o=t.addRow(),n=0,s=e.length;s>n;n++){var r=e[n];t.setValue(o,n,i[r])}},t.exports=o},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(1),s=i(3);o.prototype.setData=function(t){var e,i,o;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var n in this._ids)this._ids.hasOwnProperty(n)&&e.push(n);this._ids={},this.length=0,this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,o=e.length;o>i;i++)n=e[i],this._ids[n]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},o=[],n=[],s=0;so;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}o.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},o.extend=function(t,e){var i=new o(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){i.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(42),a=i(3),h=i(4),d=i(1),l=i(10),u=i(9),c=i(7),p=i(8),f=i(11),m=i(12);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2, +this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.colorAxis,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.colorAxis,u.fillStyle=this.colorDot,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(k,n.x,n.y));var M=this.zLabel;M.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(M,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f,m=this.frame.canvas,v=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+n.point.z)/4,u=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),c=1,this.showShadow?(p=Math.min(1+k.x/M/2,1),a=this._hsv2rgb(u,c,p),h=a):(p=1,a=this._hsv2rgb(u,c,p),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,v.lineWidth=d,v.fillStyle=a,v.strokeStyle=h,v.beginPath(),v.moveTo(t.screen.x,t.screen.y),v.lineTo(e.screen.x,e.screen.y),v.lineTo(n.screen.x,n.screen.y),v.lineTo(i.screen.x,i.screen.y),v.closePath(),v.fill(),v.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],o.lineWidth=1,o.strokeStyle="blue",o.beginPath(),o.moveTo(t.screen.x,t.screen.y)),e=1;e0&&o.stroke()}},o.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=n(t),this.startMouseY=s(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},o.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(n(t))-this.startMouseX,i=parseFloat(s(t))-this.startMouseY,o=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(o))0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=o},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(10);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column), +this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(4);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e,i){function o(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}o.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},o.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=o.calculatePrettyStep(t):this._step=t)},o.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},o.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},o.prototype.getStep=function(){return this._step},o.prototype.start=function(){this._current=this._start-this._start%this._step},o.prototype.next=function(){this._current+=this._step},o.prototype.end=function(){return this._current>this._end},t.exports=o},function(t,e,i){function o(t,e,i,h){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof s||i instanceof r)&&i instanceof Object){var p=h;h=i,i=p}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new u(this.body),this.components.push(this.customTime),this.itemSet=new c(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(42),i(41),i(1)),s=i(3),r=i(4),a=i(17),h=i(43),d=i(35),l=i(26),u=i(27),c=i(32);o.prototype=new h,o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this._getDataRange();var n=void 0!=this.options.start?this.options.start:o.start,a=void 0!=this.options.end?this.options.end:o.end;this.setWindow(n,a,{animate:!1})}else this.fit({animate:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var o=t.min("start");e=o?n.convert(o.start,"Date").valueOf():null;var s=t.max("start");s&&(i=n.convert(s.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?n.convert(r.end,"Date").valueOf():Math.max(i,n.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getEventProperties=function(t){var e=this.itemSet.itemFromTarget(t),i=this.itemSet.groupFromTarget(t),o=t.gesture?t.gesture.center.pageX:t.pageX,s=t.gesture?t.gesture.center.pageY:t.pageY,r=o-n.getAbsoluteLeft(this.dom.centerContainer),a=s-n.getAbsoluteTop(this.dom.centerContainer),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),l=this.body.util.getStep(),u=this._toTime(r),c=h?h(u,d,l):u,p=n.getTarget(t),f=null;return null!=e?f="item":n.hasParent(p,this.timeAxis.dom.foreground)?f="axis":this.timeAxis2&&n.hasParent(p,this.timeAxis2.dom.foreground)?f="axis":n.hasParent(p,this.itemSet.dom.labelSet)?f="group-label":n.hasParent(p,this.customTime.bar)?f="custom-time":n.hasParent(p,this.currentTime.bar)?f="current-time":n.hasParent(p,this.dom.center)&&(f="background"),{event:t,item:e?e.id:null,group:i?i.groupId:null,what:f,pageX:o,pageY:s,x:r,y:a,time:u,snappedTime:c}},t.exports=o},function(t,e,i){function o(t,e,i,o){if(!(Array.isArray(i)||i instanceof s)&&i instanceof Object){var r=o;o=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new u(this.body),this.components.push(this.customTime),this.linegraph=new c(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){h.emit("click",h.getEventProperties(t))}),this.on("doubletap",function(t){h.emit("doubleClick",h.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){h.emit("contextmenu",h.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(42),i(41),i(1)),s=i(3),r=i(4),a=i(17),h=i(43),d=i(35),l=i(26),u=i(27),c=i(34);o.prototype=new h,o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animate:!1})}else this.fit({animate:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.linegraph.setGroups(e)},o.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},o.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},o.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var o=0;or?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.gesture?t.gesture.center.pageX:t.pageX,i=t.gesture?t.gesture.center.pageY:t.pageY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=n.getTarget(t),h=null;n.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&n.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":n.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":n.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":n.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":n.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":n.hasParent(a,this.customTime.bar)?h="custom-time":n.hasParent(a,this.currentTime.bar)?h="current-time":n.hasParent(a,this.dom.center)&&(h="background");var d=[],l=this.linegraph.yAxisLeft,u=this.linegraph.yAxisRight;return l.hidden||d.push(l.screenToValue(s)),u.hidden||d.push(u.screenToValue(s)),{event:t,what:h,pageX:e,pageY:i,x:o,y:s,time:r,value:d}},t.exports=o},function(t,e,i){var o=i(40);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var c=0,p=s.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;p>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var v=e.isHidden(t.range.start,t.hiddenDates),g=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==v.hidden&&(y=1==t.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==t.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){i=!0;break}}if(1==i&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,n){return n=o(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,n)},e.getHiddenDurationBefore=function(t,e,i){var n=0;i=o(i).toDate().valueOf();for(var s=0;s=e.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(t,e,i,o,n,s){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=s,this.setRange(t,e,i,o,n)}o.prototype.setRange=function(t,e,i,o,n){this._start=void 0===n.min?t:n.min,this._end=void 0===n.max?e:n.max,this._start==this._end&&(this._start-=.75,this._end+=1),1==this.autoScale&&this.setMinimumStep(i,o),this.setFirst(n)},o.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,o=1.2*i,n=t*(o/e),s=Math.round(Math.log(o)/Math.LN10),r=-1,a=Math.pow(10,s),h=0;0>s&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},o.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},o.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},o.prototype.hasNext=function(){return this.current>=this.marginStart},o.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},o.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},o.prototype.getCurrent=function(t){var e=Math.abs(this.current)0;o--){if("0"!=i[o]){if("."==i[o]||","==i[o]){i=i.slice(0,o);break}break}i=i.slice(0,o)}}else{var n="",s=i.indexOf("e");if(-1!=s&&(n=i.slice(s),i=i.slice(0,s)),s=Math.max(i.indexOf(","),i.indexOf(".")),-1===s?(0!==t&&(i+="."),s=i.length+t):0!==t&&(s+=t+1),s>i.length)for(var r=s-i.length;r>0;r--)i+="0";else i=i.slice(0,s);i+=n}return i},o.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=o},function(t,e,i){function o(t,e){var i=a().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function s(t,e){return{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}}var r=i(1),a=(i(44),i(40)),h=i(25),d=i(15);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,s=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,l=this.end,u="number"==typeof i?i:500,c=(new Date).valueOf(),p=!1,f=function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}(function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-c,i=e>u,v=i||null===n?n:r.easeInOutQuad(e,h,n,u),g=i||null===s?s:r.easeInOutQuad(e,l,s,u);m=a._applyRange(v,g),d.updateHiddenDates(a.body,a.options.hiddenDates),p=p||m,m&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),i?p&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animateTimer=setTimeout(f,20)}});return f()}var m=this._applyRange(n,s);if(d.updateHiddenDates(this.body,this.options.hiddenDates),m){var v={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",v),this.body.emitter.emit("rangechanged",v)}},o.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.prototype._onDragEnd=function(t){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.pageX,y:t.pageY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0; -(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){var o=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,o="end"in e.data?e.data.end:e.data.start;return i-o})},e.stack=function(t,i,o){var n,s;if(o)for(n=0,s=t.length;s>n;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-i.vertical+oe.top}},function(t,e,i){function o(t,e,i,n){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=n,void 0===n&&(this.hiddenDates=[]),this.format=o.FORMAT}var n=i(40),s=i(15),r=i(1);o.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},o.prototype.setFormat=function(t){var e=r.deepExtend({},o.FORMAT);this.format=r.deepExtend(e,t)},o.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},o.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},o.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},o.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},o.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"hour":this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=new Date(t.valueOf());if("year"==e){var n=o.getFullYear()+Math.round(o.getMonth()/12);o.setFullYear(Math.round(n/i)*i),o.setMonth(0),o.setDate(0),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("month"==e)o.getDate()>15?(o.setDate(1),o.setMonth(o.getMonth()+1)):o.setDate(1),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.setHours(24*Math.round(o.getHours()/24));break;default:o.setHours(12*Math.round(o.getHours()/12))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.setHours(12*Math.round(o.getHours()/12));break;default:o.setHours(6*Math.round(o.getHours()/6))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:o.setMinutes(60*Math.round(o.getMinutes()/60));break;default:o.setMinutes(30*Math.round(o.getMinutes()/30))}o.setSeconds(0),o.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.setMinutes(5*Math.round(o.getMinutes()/5)),o.setSeconds(0);break;case 5:o.setSeconds(60*Math.round(o.getSeconds()/60));break;default:o.setSeconds(30*Math.round(o.getSeconds()/30))}o.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.setSeconds(5*Math.round(o.getSeconds()/5)),o.setMilliseconds(0);break;case 5:o.setMilliseconds(1e3*Math.round(o.getMilliseconds()/1e3));break;default:o.setMilliseconds(500*Math.round(o.getMilliseconds()/500))}else if("millisecond"==e){var s=i>5?i/2:1;o.setMilliseconds(Math.round(o.getMilliseconds()/s)*s)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(n().add(1,"day"),"day")?" tomorrow":t.isSame(n().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function o(t){return t.isSame(new Date,"month")?" current-month":""}function s(t){return t.isSame(new Date,"year")?" current-year":""}var r=n(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"h"+d+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"day"+l+" "+u+o(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"year"+c+s(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var n=i(41),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="vis-delete",i.title="Delete this item",new n(i).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="vis-item-content",t.box.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}{var n=i(20);i(1)}o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="vis-item-content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i-2*this.options.padding)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?Math.min(-n,s-n-i-2*this.options.padding):0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t,e){this.options=null,this.props=null}o.prototype.setOptions=function(t){t&&util.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(1),s=i(25),r=i(40),a=i(45);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},o.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;30>o&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en",id:0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(1),r=i(25),a=i(40),h=i(45);o.prototype=new r,o.prototype.setOptions=function(t){t&&(s.selectiveExtend(["showCustomTime","locale","locales","id"],this.options,t),this.options.id&&this.redraw())},o.prototype._create=function(){var t=document.createElement("div");t.className="vis-custom-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=new n(e),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this))},o.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},o.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),i=this.options.locales.en);var o=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=e+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},o.prototype.setCustomTime=function(t){this.customTime=s.convert(t,"Date"),this.redraw()},o.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},o.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()},o.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=this.body.util.toScreen(this.eventParams.customTime)+t.deltaX,i=this.body.util.toTime(e);this.setCustomTime(i),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation()}},o.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation())},t.exports=o},function(t,e,i){function o(t,e,i,o){this.id=n.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=o,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=n.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var s=this;this.body.emitter.on("verticalDrag",function(){s.dom.lineContainer.style.top=s.body.domProps.scrollTop+"px"})}var n=i(1),s=i(2),r=i(25),a=i(16);o.prototype=new r,o.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1; +var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){var o=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,o="end"in e.data?e.data.end:e.data.start;return i-o})},e.stack=function(t,i,o){var n,s;if(o)for(n=0,s=t.length;s>n;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-i.vertical+oe.top}},function(t,e,i){function o(t,e,i,n){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=n,void 0===n&&(this.hiddenDates=[]),this.format=o.FORMAT}var n=i(40),s=i(15),r=i(1);o.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},o.prototype.setFormat=function(t){var e=r.deepExtend({},o.FORMAT);this.format=r.deepExtend(e,t)},o.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},o.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},o.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},o.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},o.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"hour":this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=new Date(t.valueOf());if("year"==e){var n=o.getFullYear()+Math.round(o.getMonth()/12);o.setFullYear(Math.round(n/i)*i),o.setMonth(0),o.setDate(0),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("month"==e)o.getDate()>15?(o.setDate(1),o.setMonth(o.getMonth()+1)):o.setDate(1),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.setHours(24*Math.round(o.getHours()/24));break;default:o.setHours(12*Math.round(o.getHours()/12))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.setHours(12*Math.round(o.getHours()/12));break;default:o.setHours(6*Math.round(o.getHours()/6))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:o.setMinutes(60*Math.round(o.getMinutes()/60));break;default:o.setMinutes(30*Math.round(o.getMinutes()/30))}o.setSeconds(0),o.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.setMinutes(5*Math.round(o.getMinutes()/5)),o.setSeconds(0);break;case 5:o.setSeconds(60*Math.round(o.getSeconds()/60));break;default:o.setSeconds(30*Math.round(o.getSeconds()/30))}o.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.setSeconds(5*Math.round(o.getSeconds()/5)),o.setMilliseconds(0);break;case 5:o.setMilliseconds(1e3*Math.round(o.getMilliseconds()/1e3));break;default:o.setMilliseconds(500*Math.round(o.getMilliseconds()/500))}else if("millisecond"==e){var s=i>5?i/2:1;o.setMilliseconds(Math.round(o.getMilliseconds()/s)*s)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(n().add(1,"day"),"day")?" tomorrow":t.isSame(n().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function o(t){return t.isSame(new Date,"month")?" current-month":""}function s(t){return t.isSame(new Date,"year")?" current-year":""}var r=n(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"h"+d+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"day"+l+" "+u+o(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"year"+c+s(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var n=i(41),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="vis-delete",i.title="Delete this item",new n(i).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="vis-item-content",t.box.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}{var n=i(20);i(1)}o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="vis-item-content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i-2*this.options.padding)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?Math.min(-n,s-n-i-2*this.options.padding):0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t,e){this.options=null,this.props=null}o.prototype.setOptions=function(t){t&&util.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(1),s=i(25),r=i(40),a=i(45);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},o.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;30>o&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en",id:0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(1),r=i(25),a=i(40),h=i(45);o.prototype=new r,o.prototype.setOptions=function(t){t&&(s.selectiveExtend(["showCustomTime","locale","locales","id"],this.options,t),this.options.id&&this.redraw())},o.prototype._create=function(){var t=document.createElement("div");t.className="vis-custom-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=new n(e),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this))},o.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},o.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),i=this.options.locales.en);var o=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=e+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},o.prototype.setCustomTime=function(t){this.customTime=s.convert(t,"Date"),this.redraw()},o.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},o.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()},o.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=this.body.util.toScreen(this.eventParams.customTime)+t.deltaX,i=this.body.util.toTime(e);this.setCustomTime(i),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation()}},o.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation())},t.exports=o},function(t,e,i){function o(t,e,i,o){this.id=n.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=o,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=n.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var s=this;this.body.emitter.on("verticalDrag",function(){s.dom.lineContainer.style.top=s.body.domProps.scrollTop+"px"})}var n=i(1),s=i(2),r=i(25),a=i(16); -},o.prototype.updateGroup=function(t,e){this.groups[t]=e},o.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},o.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format","alignZeros"];n.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},o.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},o.prototype._redrawGroupIcons=function(){s.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,o=4,n=o+.5*i;t="left"==this.options.orientation?o:this.width-e-o;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,n,this.svgElements,this.svg,e,i),n+=i+o));s.cleanupElements(this.svgElements),this.iconsRemoved=!1},o.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(s.prepareElements(this.svgElements),s.cleanupElements(this.svgElements),this.iconsRemoved=!0)},o.prototype.show=function(){this.hidden=!1,this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},o.prototype.hide=function(){this.hidden=!0,this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},o.prototype.setRange=function(t,e){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame;n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"==s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,o=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=o;var n=(this.dom.frame.offsetHeight-o.deadSpace*(this.dom.frame.offsetHeight/o.marginRange))/((o.marginRange-o.deadSpace)/o.step);this.stepPixels=n;var r=this.height/n,h=0;if(0==this.master){n=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/n-r);for(var d=0;.5*h>d;d++)o.previous();if(r=this.height/n,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=o.marginEnd/o.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)o.next();else if(0>l)for(var d=0;-l>d;d++)o.previous()}}else r+=.25;this.valueAtZero=o.marginEnd;var u,c=0,p=1;void 0!==this.options.format[e]&&(u=this.options.format[e].decimals),this.maxLabelSize=0;for(var f=0;p=0&&this._redrawLabel(f-2,o.getCurrent(u),e,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(f,e,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(f,e,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==o.current&&(this.zeroCrossing=p),p++}0==this.master?this.conversionFactor=f/(this.valueAtZero-o.current):this.conversionFactor=this.dom.frame.offsetHeight/o.marginRange;var v=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(v=this.props.titleCharHeight);var g=1==this.options.icons?Math.max(this.options.iconWidth,v)+this.options.labelOffsetX+15:v+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-g&&1==this.options.visible?(this.width=this.maxLabelSize+g,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+g),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtZero-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizec;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var o=this;if(i.length>0){var s=i[0].top,r=i[0].top+i[0].height;if(n.forEach(i,function(t){s=Math.min(s,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(o.subgroups[t.data.subgroup].height=Math.max(o.subgroups[t.data.subgroup].height,t.height),o.subgroups[t.data.subgroup].visible=!0)}),s>t.axis){var a=s-t.axis;r-=a,n.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=s.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(1),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),u=i(31),c=i(22),p=i(23),f=i(24),m=i(21),v="__ungrouped__",g="__background__";o.prototype=new d,o.types={background:m,box:c,range:f,point:p},o.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var s=document.createElement("div");s.className="vis-labelset",this.dom.labelSet=s,this._updateUngrouped();var r=new u(g,null,this);r.show(),this.groups[g]=r,this.hammer=new n(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},o.prototype.setOptions=function(t){if(t){var e=["type","align","order","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];s.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation=t.orientation:"object"==typeof t.orientation&&"item"in t.orientation&&(this.options.orientation=t.orientation.item)),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(s.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&s.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&s.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},o.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&s.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},o.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},o.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},o.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},o.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation,r=!1,a=this.dom.frame,h=o.editable.updateTime||o.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset"+(h?" vis-editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var u=this.stackDirty,c=this._firstGroup(),p={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,f,u),s.forEach(this.groups,function(t){var i=t==c?p:f,o=t.redraw(e,i,u);r=o||r,m+=t.height}),m=Math.max(m,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){{var t,e,i=this.groups[v];this.groups[g]}if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),n=e.items[t],s=e._getType(i),r=o.types[s];if(n&&(r&&n instanceof r?e._updateItem(n,i):(e._removeItem(n),n=null)),!n){if(!r)throw new TypeError("rangeoverflow"==s?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}':'Unknown item type "'+s+'"');n=new r(i,e.conversion,e.options),n.id=t,e._addItem(n)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1), -t.parent&&t.parent.remove(t)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:r})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=this.itemFromTarget(t);if(i){e=this.getSelection();var n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n){e.push(i.id);var s=o._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=s.min&&d<=s.max&&!(a instanceof m)&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},o._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.pageY,i=0;ia&&ea)return n}else if(0===i&&e"));this.dom.textArea.innerHTML=o,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){s.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,o=this.options.iconSize,n=.75*this.options.iconSize,r=e+.5*n+3;this.svg.style.width=o+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,o,n),r+=n+this.options.iconSpacing));s.cleanupElements(this.svgElements)}},t.exports=o},function(t,e,i){function o(t,e){this.id=n.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=n.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=n.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var n=i(1),s=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),u=i(33),c=i(47),p="__ungrouped__";o.prototype=new h,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new u(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new u(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),u={};for(this._getRelevantData(a,u,d,l),this._applySampling(a,u),e=0;ep&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;ro){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=s)d.push(n[l]);e[t[o]]=d}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(n.getYRange(o)):h=h.concat(n.getYRange(o)):i[t[s]]=n.getYRange(o,t[s]));c.getStackedBarYRange(a,i,t,"__barchartLeft","left"),c.getStackedBarYRange(h,i,t,"__barchartRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),n},o.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},o.prototype._convertXcoordinates=function(t){for(var e,i,o=[],n=this.body.util.toScreen,s=0;sy;)y++,l=h.getCurrent(),u=h.isMajor(),p=h.getClassName(),m=f,f=this.body.util.toScreen(l),v=f-m,c&&(c.style.width=v+"px"),this.options.showMinorLabels&&this._repaintMinorText(f,h.getLabelMinor(),t,p),u&&this.options.showMajorLabels?(f>0&&(void 0==g&&(g=f),this._repaintMajorText(f,h.getLabelMajor(),t,p)),c=this._repaintMajorLine(f,t,p)):c=this._repaintMinorLine(f,t,p),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),w=h.getLabelMajor(b),_=w.length*(this.props.majorCharWidth||10)+10;(void 0==g||g>_)&&this._repaintMajorText(0,w,t,p)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px"},o.prototype._repaintMinorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top=n.majorLabelHeight+"px":o.style.top=this.body.domProps.top.height+"px",o.style.height=n.minorLineHeight+"px",o.style.left=t-n.minorLineWidth/2+"px",o.className="vis-grid vis-vertical vis-minor "+i,o},o.prototype._repaintMajorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top="0":o.style.top=this.body.domProps.top.height+"px",o.style.left=t-n.majorLineWidth/2+"px",o.style.height=n.majorLineHeight+"px",o.className="vis-grid vis-vertical vis-major "+i,o},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=o},function(t,e,i){function o(t,e,i){var n=this;if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={clickToUse:!1},A.extend(this.options,this.defaultOptions),this.body={nodes:{},nodeIndices:[],edges:{},edgeIndices:[],data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},container:t,view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners();var s=new L(function(){return n.body.emitter.emit("_requestRedraw")});this.groups=new r["default"],this.canvas=new y["default"](this.body),this.selectionHandler=new M["default"](this.body,this.canvas),this.interactionHandler=new x["default"](this.body,this.canvas,this.selectionHandler),this.view=new w["default"](this.body,this.canvas),this.renderer=new v["default"](this.body,this.canvas), -this.physics=new c["default"](this.body),this.layoutEngine=new O["default"](this.body),this.clustering=new f["default"](this.body),this.manipulation=new C["default"](this.body,this.canvas,this.selectionHandler),this.nodesHandler=new h["default"](this.body,s,this.groups,this.layoutEngine),this.edgesHandler=new l["default"](this.body,s,this.groups),this.configurationSystem=new S["default"](this),this.canvas._create(),this.setOptions(i),this.setData(e)}var n=function(t){return t&&t.__esModule?t:{"default":t}},s=i(49),r=n(s),a=i(50),h=n(a),d=i(51),l=n(d),u=i(52),c=n(u),p=i(53),f=n(p),m=i(54),v=n(m),g=i(55),y=n(g),b=i(56),w=n(b),_=i(57),x=n(_),k=i(58),M=n(k),D=i(59),O=n(D),T=i(60),C=n(T),E=i(61),S=n(E),P=i(62),I=n(P);i(63);var N=i(42),A=(i(41),i(1)),z=(i(3),i(4),i(38)),R=i(39),L=i(37),F=i(64);N(o.prototype),o.prototype.setOptions=function(t){if(void 0!==t){var e=I["default"].validate(t);e===!0&&(t={},console.error("Errors have been found in the supplied options object. None of the options will be used.")),t=this.layoutEngine.setOptions(t.layout,t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.canvas.setOptions(t.canvas),this.renderer.setOptions(t.rendering),this.view.setOptions(t.view),this.interactionHandler.setOptions(t.interaction),this.selectionHandler.setOptions(t.selection),this.clustering.setOptions(t.clustering),this.manipulation.setOptions(t.manipulation),this.configurationSystem.setOptions(t),void 0!==t.clickToUse?t.clickToUse===!0?void 0===this.activator&&(this.activator=new F(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},o.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in t)t.hasOwnProperty(i)&&t[i].options.hidden===!1&&this.body.nodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.hidden===!1&&this.body.edgeIndices.push(o)},o.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",function(e){t._updateVisibleIndices(),t.physics.updatePhysicsIndices(),t.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation")})},o.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var e=z.DOTToGraph(t.dot);return void this.setData(e)}}else if(t&&t.gephi){if(t&&t.gephi){var i=R.parseGephi(t.gephi);return void this.setData(i)}}else this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0);this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("initPhysics")},o.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),A.recursiveDOMDelete(this.body.container)},o.prototype._updateValueRange=function(t){var e,i=void 0,o=void 0,n=0;for(e in t)if(t.hasOwnProperty(e)){var s=t[e].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,o,n)},o.prototype.isActive=function(){return!this.activator||this.activator.active},t.exports=o},function(t,e,i){function o(t){this.images={},this.imageBroken={},this.callback=t}o.prototype.load=function(t,e){var i=this.images[t];if(void 0===i){var o=this;i=new Image,i.onload=function(){0===this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),o.callback&&(o.images[t]=i,o.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,o.callback&&o.callback(this)):o.imageBroken[t]===!0?(console.error("Could not load brokenImage:",e),delete this.src,o.callback&&o.callback(this)):(console.error("Could not load image:",t),this.src=e,o.imageBroken[t]=!0)},i.src=t}return i},t.exports=o},function(t,e,i){function o(t){return C=t,f()}function n(){E=0,S=C.charAt(0)}function s(){E++,S=C.charAt(E)}function r(){return C.charAt(E+1)}function a(t){return N.test(t)}function h(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function d(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function l(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=h(n.attr,t.node))),i=s.length-1;i>=0;i--){var a=s[i];a.nodes||(a.nodes=[]),-1===a.nodes.indexOf(n)&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(I=O.NULL,P="";" "===S||" "===S||"\n"===S||"\r"===S;)s();do{var t=!1;if("#"===S){for(var e=E-1;" "===C.charAt(e)||" "===C.charAt(e);)e--;if("\n"===C.charAt(e)||""===C.charAt(e)){for(;""!=S&&"\n"!=S;)s();t=!0}}if("/"===S&&"/"===r()){for(;""!=S&&"\n"!=S;)s();t=!0}if("/"===S&&"*"===r()){for(;""!=S;){if("*"===S&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===S||" "===S||"\n"===S||"\r"===S;)s()}while(t);if(""===S)return void(I=O.DELIMITER);var i=S+r();if(T[i])return I=O.DELIMITER,P=i,s(),void s();if(T[S])return I=O.DELIMITER,P=S,void s();if(a(S)||"-"===S){for(P+=S,s();a(S);)P+=S,s();return"false"===P?P=!1:"true"===P?P=!0:isNaN(Number(P))||(P=Number(P)),void(I=O.IDENTIFIER)}if('"'===S){for(s();""!=S&&('"'!=S||'"'===S&&'"'===r());)P+=S,'"'===S&&s(),s();if('"'!=S)throw x('End of string " expected');return s(),void(I=O.IDENTIFIER)}for(I=O.UNKNOWN;""!=S;)P+=S,s();throw new SyntaxError('Syntax error in part "'+k(P,30)+'"')}function f(){var t={};if(n(),p(),"strict"===P&&(t.strict=!0,p()),("graph"===P||"digraph"===P)&&(t.type=P,p()),I===O.IDENTIFIER&&(t.id=P,p()),"{"!=P)throw x("Angle bracket { expected");if(p(),m(t),"}"!=P)throw x("Angle bracket } expected");if(p(),""!==P)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==P&&"}"!=P;)v(t),";"===P&&p()}function v(t){var e=g(t);if(e)return void w(t,e);var i=y(t);if(!i){if(I!=O.IDENTIFIER)throw x("Identifier expected");var o=P;if(p(),"="===P){if(p(),I!=O.IDENTIFIER)throw x("Identifier expected");t[o]=P,p()}else b(t,o)}}function g(t){var e=null;if("subgraph"===P&&(e={},e.type="subgraph",p(),I===O.IDENTIFIER&&(e.id=P,p())),"{"===P){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=P)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"===P?(p(),t.node=_(),"node"):"edge"===P?(p(),t.edge=_(),"edge"):"graph"===P?(p(),t.graph=_(),"graph"):null}function b(t,e){var i={id:e},o=_();o&&(i.attr=o),l(t,i),w(t,e)}function w(t,e){for(;"->"===P||"--"===P;){var i,o=P;p();var n=g(t);if(n)i=n;else{if(I!=O.IDENTIFIER)throw x("Identifier or subgraph expected");i=P,l(t,{id:i}),p()}var s=_(),r=c(t,e,i,o,s);u(t,r),e=i}}function _(){for(var t=null;"["===P;){for(p(),t={};""!==P&&"]"!=P;){if(I!=O.IDENTIFIER)throw x("Attribute name expected");var e=P;if(p(),"="!=P)throw x("Equal sign = expected");if(p(),I!=O.IDENTIFIER)throw x("Attribute value expected");var i=P;d(t,e,i),p(),","==P&&p()}if("]"!=P)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(P,30)+'" (char '+E+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t){var e=o(t),i={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};h(e,t.attr),e.image&&(e.shape="image"),i.nodes.push(e)}),e.edges){var n=function(t){var e={from:t.from,to:t.to};return h(e,t.attr),e.style="->"===t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,o;e=t.from instanceof Object?t.from.nodes:{id:t.from},o=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=n(t);i.edges.push(e)}),M(e,o,function(e,o){var s=c(i,e.id,o.id,t.type,t.attr),r=n(s);i.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=n(t);i.edges.push(e)})})}return e.attr&&(i.options=e.attr),i}var O={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},T={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},C="",E=0,S="",P="",I=O.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=D},function(t,e,i){function o(t,e){var i=[],o=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var n=t.edges,s=t.nodes,r=0;ro;++o)i[o].apply(this,e)}return this},o.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},o.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){function o(){}var n=i(42),s=i(41),r=i(44),a=i(1),h=(i(3),i(4),i(17),i(32),i(35)),d=i(64),l=i(15),u=i(27);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panstart",this._onDragStart.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),r.onTouch(this.hammer,function(t){console.log("touch",t),i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation=t.orientation:"object"==typeof t.orientation&&"axis"in t.orientation&&(this.options.orientation=t.orientation.axis)),"both"===this.options.orientation){if(!this.timeAxis2){var i=this.timeAxis2=new h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}"hiddenDates"in this.options&&l.convertHiddenOptions(this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),this._initAutoResize()}this.components.forEach(function(e){return e.setOptions(t)}),this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.clear(),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){if(!this.customTime)throw new Error("Cannot get custom time: Custom time bar is not enabled");var i=e||0;this.components.forEach(function(e,o,n){e instanceof u&&e.options.id===i&&e.setCustomTime(t)})},o.prototype.getCustomTime=function(t){if(!this.customTime)throw new Error("Cannot get custom time: Custom time bar is not enabled");var e=t||0,i=this.customTime.getCustomTime();return this.components.forEach(function(t,o,n){t instanceof u&&t.options.id===e&&(i=t.getCustomTime())}),i},o.prototype.addCustomTime=function(t,e){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");if(void 0===t)throw new Error("Time parameter for the custom bar must be provided");var i,o,n,s=a.convert(t,"Date").valueOf();return this.customBarIds&&this.customBarIds.constructor===Array||(this.customBarIds=[0]),void 0===e?(i=this.customBarIds.filter(function(t){return a.isNumber(t)}),n=i.length>0?Math.max.apply(null,i)+1:1):(this.customBarIds.forEach(function(t){if(t===e)throw new Error("Custom time ID already exists")}),n=e),this.customBarIds.push(n),o=new u(this.body,{showCustomTime:!0,time:s,id:n}),this.components.push(o),this.redraw(),n},o.prototype.removeCustomTime=function(t){var e=this;this.components.forEach(function(i,o,n){i instanceof u&&i.options.id===t&&0!==i.options.id&&(e.customBarIds.splice(e.customBarIds.indexOf(t),1),n.splice(o,1),i.destroy())})},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.clear=function(t){(!t||t.items)&&this.setItems(null),(!t||t.groups)&&this.setGroups(null),(!t||t.options)&&(this.components.forEach(function(t){return t.setOptions(t.defaultOptions)}),this.setOptions(this.defaultOptions))},o.prototype.fit=function(t){var e=this._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(e.start,e.end,i)}},o.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var o=i.valueOf()-e.valueOf();0>=o&&(o=864e5),e=new Date(e.valueOf()-.05*o),i=new Date(i.valueOf()+.05*o)}return{start:e,end:i}},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animate?n.animate:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animate?i.animate:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"bottom"==e.orientation&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[o].y?t[o].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=n.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style","vis-"+e.style),a=1==e.options.catmullRom.enabled?o._catmullRom(t,e):o._linear(t),1==e.options.shaded.enabled){var d,l=n.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&s.draw(t,e,i)}},o._catmullRomUniform=function(t){for(var e,i,o,n,s,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={x:(-e.x+6*i.x+o.x)*h,y:(-e.y+6*i.y+o.y)*h},r={x:(i.x+6*o.x-n.x)*h,y:(i.y+6*o.y-n.y)*h},a+="C"+s.x+","+s.y+" "+r.x+","+r.y+" "+o.x+","+o.y+" ";return a},o._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",k=t.length,M=0;k-1>M;M++)o=0==M?t[0]:t[M-1],n=t[M],s=t[M+1],r=k>M+2?t[M+2]:s,d=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),l=Math.sqrt(Math.pow(n.x-s.x,2)+Math.pow(n.y-s.y,2)),u=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={x:(-b*o.x+c*n.x+w*s.x)*f,y:(-b*o.y+c*n.y+w*s.y)*f},h={x:(y*n.x+p*s.x-b*r.x)*m,y:(y*n.y+p*s.y-b*r.y)*m},0==a.x&&0==a.y&&(a=n),0==h.x&&0==h.y&&(h=s),x+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+s.x+","+s.y+" ";return x},o._linear=function(t){for(var e="",i=0;it[o].y?t[o].y:e,i=i0&&(r=Math.min(r,Math.abs(c[l-1].x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,"stack"==d.options.barChart.handleOverlap?(v=p[a].accumulated,p[a].accumulated+=d.zeroPosition-c[l].y):"sideBySide"==d.options.barChart.handleOverlap&&(h.width=h.width/p[a].amount,h.offset+=p[a].resolved*h.width-.5*h.width*(p[a].amount+1),"left"==d.options.barChart.align?h.offset-=.5*h.width:"right"==d.options.barChart.align&&(h.offset+=.5*h.width))}n.drawBar(c[l].x+h.offset,c[l].y-v,h.width,d.zeroPosition-c[l].y,d.className+" vis-bar",i.svgElements,i.svg),1==d.options.drawPoints.enabled&&s.draw([c[l]],d,i,h.offset)}},o._getDataIntersections=function(t,e){for(var i,o=0;o0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0==i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulated:0}),t[e[o].x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"==e.options.barChart.align?n-=.5*t:"right"==e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width, -n=0,"left"==e.options.barChart.align?n-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedBarYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};o._getDataIntersections(r,t),e[n]=o._getStackedBarYRange(r,t),e[n].yAxisOrientation=s,i.push(n)}},o._getStackedBarYRange=function(t,e){for(var i,o=e[0].y,n=e[0].y,s=0;se[s].y?e[s].y:o,n=nt[r].accumulated?t[r].accumulated:o,n=nt[o].y?t[o].y:e,i=i0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i1?(this.stabilizationIterations=0,this.startedStabilization=!1,this._emitStabilized()):this.stabilizationIterations=0,this.stopSimulation())}},{key:"_emitStabilized",value:function(){var t=this;this.stabilizationIterations>1&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:t.stabilizationIterations})},0)}},{key:"physicsTick",value:function(){this.stabilized===!1&&(this.calculateForces(),this.stabilized=this.moveNodes(),this.stabilized===!0?this.revert():this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilizationIterations++)}},{key:"updatePhysicsIndices",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)t.hasOwnProperty(i)&&t[i].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(o);for(var n=0;na&&o===!0,t=!0}return t===!0?n>.5*this.options.maxVelocity?!1:o:!0}},{key:"_performStep",value:function(t,e){var i=this.body.nodes[t],o=this.options.timestep,n=this.physicsBody.forces,s=this.physicsBody.velocities;if(this.previousStates[t]={x:i.x,y:i.y,vx:s[t].x,vy:s[t].y},i.options.fixed.x===!1){var r=this.modelOptions.damping*s[t].x,a=(n[t].x-r)/i.options.mass;s[t].x+=a*o,s[t].x=Math.abs(s[t].x)>e?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedrawRequests"),this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(this._stabilizationBatch.bind(this),0)}},{key:"_stabilizationBatch",value:function(){for(var t=0;this.stabilized===!1&&t=t&&i.push(n.id)}for(var o=0;oo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t){var e=void 0===arguments[1]?!0:arguments[1];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var i=this.body.nodes[t],o=i.containedNodes,n=i.containedEdges;for(var s in o)if(o.hasOwnProperty(s)){var r=this.body.nodes[s];r=o[s],r.x=i.x,r.y=i.y,r.vx=i.vx,r.vy=i.vy,r.options.hidden=!1,r.togglePhysics(!0),delete this.clusteredNodes[s]}for(var a in n)if(n.hasOwnProperty(a)){var h=this.body.edges[a];h.options.hidden=!1,h.togglePhysics(!0)}for(var d=0;do;)e.push(this.clusteredNodes[t].node),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t]),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a); +o.prototype=new r,o.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},o.prototype.updateGroup=function(t,e){this.groups[t]=e},o.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},o.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format","alignZeros"];n.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},o.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},o.prototype._redrawGroupIcons=function(){s.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,o=4,n=o+.5*i;t="left"==this.options.orientation?o:this.width-e-o;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,n,this.svgElements,this.svg,e,i),n+=i+o));s.cleanupElements(this.svgElements),this.iconsRemoved=!1},o.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(s.prepareElements(this.svgElements),s.cleanupElements(this.svgElements),this.iconsRemoved=!0)},o.prototype.show=function(){this.hidden=!1,this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},o.prototype.hide=function(){this.hidden=!0,this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},o.prototype.setRange=function(t,e){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame;n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"==s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,o=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=o;var n=(this.dom.frame.offsetHeight-o.deadSpace*(this.dom.frame.offsetHeight/o.marginRange))/((o.marginRange-o.deadSpace)/o.step);this.stepPixels=n;var r=this.height/n,h=0;if(0==this.master){n=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/n-r);for(var d=0;.5*h>d;d++)o.previous();if(r=this.height/n,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=o.marginEnd/o.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)o.next();else if(0>l)for(var d=0;-l>d;d++)o.previous()}}else r+=.25;this.valueAtZero=o.marginEnd;var u,c=0,p=1;void 0!==this.options.format[e]&&(u=this.options.format[e].decimals),this.maxLabelSize=0;for(var f=0;p=0&&this._redrawLabel(f-2,o.getCurrent(u),e,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(f,e,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(f,e,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==o.current&&(this.zeroCrossing=p),p++}0==this.master?this.conversionFactor=f/(this.valueAtZero-o.current):this.conversionFactor=this.dom.frame.offsetHeight/o.marginRange;var v=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(v=this.props.titleCharHeight);var g=1==this.options.icons?Math.max(this.options.iconWidth,v)+this.options.labelOffsetX+15:v+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-g&&1==this.options.visible?(this.width=this.maxLabelSize+g,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+g),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtZero-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizec;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var o=this;if(i.length>0){var s=i[0].top,r=i[0].top+i[0].height;if(n.forEach(i,function(t){s=Math.min(s,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(o.subgroups[t.data.subgroup].height=Math.max(o.subgroups[t.data.subgroup].height,t.height),o.subgroups[t.data.subgroup].visible=!0)}),s>t.axis){var a=s-t.axis;r-=a,n.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=s.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(1),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),u=i(31),c=i(22),p=i(23),f=i(24),m=i(21),v="__ungrouped__",g="__background__";o.prototype=new d,o.types={background:m,box:c,range:f,point:p},o.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var s=document.createElement("div");s.className="vis-labelset",this.dom.labelSet=s,this._updateUngrouped();var r=new u(g,null,this);r.show(),this.groups[g]=r,this.hammer=new n(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},o.prototype.setOptions=function(t){if(t){var e=["type","align","order","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];s.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation=t.orientation:"object"==typeof t.orientation&&"item"in t.orientation&&(this.options.orientation=t.orientation.item)),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(s.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&s.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&s.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},o.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&s.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},o.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},o.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},o.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},o.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation,r=!1,a=this.dom.frame,h=o.editable.updateTime||o.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset"+(h?" vis-editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var u=this.stackDirty,c=this._firstGroup(),p={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,f,u),s.forEach(this.groups,function(t){var i=t==c?p:f,o=t.redraw(e,i,u);r=o||r,m+=t.height}),m=Math.max(m,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){{var t,e,i=this.groups[v];this.groups[g]}if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),n=e.items[t],s=e._getType(i),r=o.types[s];if(n&&(r&&n instanceof r?e._updateItem(n,i):(e._removeItem(n),n=null)),!n){if(!r)throw new TypeError("rangeoverflow"==s?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}':'Unknown item type "'+s+'"');n=new r(i,e.conversion,e.options),n.id=t,e._addItem(n)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t); -return h>o&&(h=o),h}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;i0}),this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideNodesOnDrag:!1},s.extend(this.options,this.defaultOptions),this._determineBrowserMethod()}return n(t,[{key:"setOptions",value:function(t){void 0!==t&&s.deepExtend(this.options,t)}},{key:"_startRendering",value:function(){this.renderingActive===!0&&(this.renderTimer||(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this))))}},{key:"_renderStep",value:function(){this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering()}},{key:"redraw",value:function(){this._redraw()}},{key:"_requestRedraw",value:function(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedrawRequests===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,!1),0):window.requestAnimationFrame(this._redraw.bind(this,!1)))}},{key:"_redraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;e.clearRect(0,0,i,o),this.body.emitter.emit("beforeDrawing",e),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),this.controlNodesActive===!0&&this._drawControlNodes(e),this.body.emitter.emit("afterDrawing",e),e.restore(),t===!0&&e.clearRect(0,0,i,o)}},{key:"_drawNodes",value:function(t){for(var e,i=void 0===arguments[1]?!1:arguments[1],o=this.body.nodes,n=this.body.nodeIndices,s=[],r=0;r0)for(var r=0;rt.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.bottom&&(i=t.shape.boundingBox.top),ot.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.bottom&&(i=t.shape.boundingBox.top),o.5*this.body.nodeIndices.length)return void this.fit(i,!1);t=this._getRange(i.nodes);var a=this.body.nodeIndices.length;e=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);e*=h}else{this.body.emitter.emit("_redraw",!0),t=this._getRange(i.nodes);var d=1.1*Math.abs(t.maxX-t.minX),l=1.1*Math.abs(t.maxY-t.minY),u=this.canvas.frame.canvas.clientWidth/d,c=this.canvas.frame.canvas.clientHeight/l;e=c>=u?u:c}e>1?e=1:0===e&&(e=1);var p=this._findCenter(t),f={position:p,scale:e,animation:i};this.moveTo(f)}},{key:"focusOnNode",value:function(t){var e=void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.body.view.translation),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=s.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getPosition",value:function(){return{x:this.body.view.translation.x,y:this.body.view.translation.y}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center);this.checkSelectionChanges(e),this.selectionHandler._generateClickEvent("click",e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center);this.checkSelectionChanges(e,!0),this.selectionHandler._generateClickEvent("click",e),this.selectionHandler._generateClickEvent("hold",e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.pageX,y:t.pageY});this.selectionHandler._generateClickEvent("rightClick",e)}},{key:"checkSelectionChanges",value:function(t){var e=void 0===arguments[1]?!1:arguments[1],i=this.selectionHandler._getSelectedEdgeCount(),o=this.selectionHandler._getSelectedNodeCount(),n=this.selectionHandler.getSelection(),s=void 0;s=e===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var r=this.selectionHandler._getSelectedEdgeCount(),a=this.selectionHandler._getSelectedNodeCount();a-o>0?(this.selectionHandler._generateClickEvent("selectNode",t),s=!0):0>a-o&&(this.selectionHandler._generateClickEvent("deselectNode",t,n),s=!0),r-i>0?(this.selectionHandler._generateClickEvent("selectEdge",t),s=!0):0>r-i&&(this.selectionHandler._generateClickEvent("deselectEdge",t,n),s=!0),s===!0&&this.selectionHandler._generateClickEvent("select",t)}},{key:"onDragStart",value:function(t){void 0===this.drag.pointer&&this.onTouch(t);var e=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=l.extend({},this.body.view.translation),this.drag.nodeId=void 0,this.selectionHandler._generateClickEvent("dragStart",this.drag.pointer),void 0!==e&&this.options.dragNodes===!0){this.drag.nodeId=e.id,e.isSelected()===!1&&(this.selectionHandler.unselectAll(),this.selectionHandler.selectObject(e));var i=this.selectionHandler.selectionObj.nodes;for(var o in i)if(i.hasOwnProperty(o)){var n=i[o],s={id:n.id,node:n,x:n.x,y:n.y,xFixed:n.options.fixed.x,yFixed:n.options.fixed.y};n.options.fixed.x=!0,n.options.fixed.y=!0,this.drag.selection.push(s)}}}},{key:"onDrag",value:function(t){var e=this;if(this.drag.pinched!==!0){this.body.emitter.emit("unlockNode");var i=this.getPointer(t.center),o=this.drag.selection;if(o&&o.length&&this.options.dragNodes===!0)!function(){var t=i.x-e.drag.pointer.x,n=i.y-e.drag.pointer.y;o.forEach(function(i){var o=i.node;i.xFixed===!1&&(o.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(i.x)+t)),i.yFixed===!1&&(o.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(i.y)+n))}),e.body.emitter.emit("startSimulation")}();else if(this.options.dragView===!0){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var n=i.x-this.drag.pointer.x,s=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+n,y:this.drag.translation.y+s},this.body.emitter.emit("_redraw")}}}},{key:"onDragEnd",value:function(t){this.drag.dragging=!1;var e=this.drag.selection;e&&e.length?(e.forEach(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed}),this.body.emitter.emit("startSimulation")):this.body.emitter.emit("_requestRedraw"),this.selectionHandler._generateClickEvent("dragEnd",this.getPointer(t.center))}},{key:"onPinch",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:"zoom",value:function(t,e){if(this.options.zoomView===!0){var i=this.body.view.scale;1e-5>t&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+"}):this.body.emitter.emit("zoom",{direction:"-"})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.pageX,y:t.pageY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.pageX,y:t.pageY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hoverEnabled===!0){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var s=this.selectionHandler.getNodeAt(i);void 0===s&&(s=this.selectionHandler.getEdgeAt(i)),void 0!=s&&this.selectionHandler.hoverObject(s);for(var r in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(r)&&(s instanceof Node&&s.id!=r||s instanceof Edge||void 0===s)&&(this.selectionHandler.blurObject(this.hoverObj.nodes[r]),delete this.hoverObj.nodes[r]);this.body.emitter.emit("_requestRedraw")}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;i0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return void 0}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return void 0}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t}},{key:"_selectionIsEmpty",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges", -value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptions(e);if(i===!0)return this.body.emitter.emit("refresh"),s.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptions",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof options.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==options.physics.solver&&(this.optionsBackup.physics={solver:options.physics.solver}),t.physics.solver="hierarchicalRepulsion"):options.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth,dynamic:!0},t.edges.smooth={enabled:t.edges.smooth,dynamic:!1,type:e}):(this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!0},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!1,type:e}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0)for(var e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():("directed"===this.options.hierarchical.sortMethod,0||this._determineLevelsDirected()));var n=this._getDistribution();this._placeNodesByHierarchy(n)}}},{key:"_placeNodesByHierarchy",value:function(t){var e=void 0,i=void 0;this.positionedNodes={};for(var o in t)if(t.hasOwnProperty(o))for(e in t[o].nodes)t[o].nodes.hasOwnProperty(e)&&(i=t[o].nodes[e],"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===i.x&&(i.x=t[o].distance),t[o].distance=i.x+this.nodeSpacing):(void 0===i.y&&(i.y=t[o].distance),t[o].distance=i.y+this.nodeSpacing),this.positionedNodes[e]=!0,this._placeBranchNodes(i.edges,i.id,t,o))}},{key:"_getDistribution",value:function(){var t={},e=void 0,i=void 0;for(e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){i=this.body.nodes[e];var o=void 0===this.hierarchicalLevels[e]?0:this.hierarchicalLevels[e];"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(i.y=this.options.hierarchical.levelSeparation*o,i.options.fixed.y=!0):(i.x=this.options.hierarchical.levelSeparation*o,i.options.fixed.x=!0),void 0===t[o]&&(t[o]={amount:0,nodes:{},distance:0}),t[o].amount+=1,t[o].nodes[e]=i}return t}},{key:"_getHubSize",value:function(){var t=0;for(var e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){var i=this.body.nodes[e];void 0===this.hierarchicalLevels[e]&&(t=i.edges.length0&&(i=this._getHubSize(),0!==i);)for(t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&(e=this.body.nodes[t],e.edges.length===i&&this._setLevel(0,e))}},{key:"_setLevel",value:function(t,e){if(void 0===this.hierarchicalLevels[e.id]){var i=void 0;this.hierarchicalLevels[e.id]=t;for(var o=0;oo&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===s.x&&(s.x=Math.max(i[a].distance,r.x)),i[a].distance=s.x+this.nodeSpacing,this.positionedNodes[s.id]=!0):(void 0===s.y&&(s.y=Math.max(i[a].distance,r.y)),i[a].distance=s.y+this.nodeSpacing),this.positionedNodes[s.id]=!0,s.edges.length>1&&this._placeBranchNodes(s.edges,s.id,i,a))}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;i0){for(var n=0;n0&&"function"==typeof this.options.handlerFunctions.deleteEdge&&(o=this.options.handlerFunctions.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode&&(t.body.data.edges.remove(e.edges),t.body.data.nodes.remove(e.nodes),t.body.emitter.emit("startSimulation"))})}else this.body.data.edges.remove(i),this.body.data.nodes.remove(e),this.body.emitter.emit("startSimulation")}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);return i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e,this.body.functions.createNode(i)}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,dynamic:!1,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performCreateEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.handlerFunctions.addNode){if(2!==this.options.handlerFunctions.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.handlerFunctions.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.add(i),this.showManipulatorToolbar()}},{key:"_performCreateEdge",value:function(t,e){var i=this,o={from:t,to:e};if(this.options.handlerFunctions.addEdge){if(2!==this.options.handlerFunctions.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.handlerFunctions.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if(this.options.handlerFunctions.editEdge){if(2!==this.options.handlerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.handlerFunctions.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(o);var s=[o];this._handleObject(n,s)}i++}var r=document.createElement("div");r.className="vis-network-configuration button",r.innerHTML="generate options",r.onclick=function(){e._printOptions()},r.onmouseover=function(){r.className="vis-network-configuration button hover"},r.onmouseout=function(){r.className="vis-network-configuration button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-network-configuration vis-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(r),this._push(),this.colorPicker.insertTo(this.container)}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-network-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?e-1:0),o=1;e>o;o++)i[o-1]=arguments[o];var n=document.createElement("div");n.className="vis-network-configuration item s"+t.length,i.forEach(function(t){n.appendChild(t)}),this.domElements.push(n)}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-network-configuration header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-network-configuration label s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-network-configuration select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;s.1*e&&(a.min=e/10),2*e>s&&1!==s&&(a.max=2*e),a.value=e):a.value=o;var h=document.createElement("input");h.className="vis-network-configuration rangeinput",h.value=a.value;var d=this;a.onchange=function(){h.value=this.value,d._update(this.value,i)},a.oninput=function(){h.value=this.value};var l=this._makeLabel(i[i.length-1],i);this._makeItem(i,l,a,h)}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-network-configuration checkbox",o.checked=t,void 0!==e&&(o.checked=e,e!==t&&("object"==typeof t?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var n=this;o.onchange=function(){n._update(this.checked,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeColorField",value:function(t,e,i){var o=this,n=t[1],s=document.createElement("div");e=void 0===e?n:e,"none"!==e?(s.className="vis-network-configuration colorBlock",s.style.backgroundColor=e):s.className="vis-network-configuration colorBlock none",e=void 0===e?n:e,s.onclick=function(){o._showColorPicker(e,s,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,s)}},{key:"_showColorPicker",value:function(t,e,i){var o=this,n=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),r=n.left+n.width+5,a=n.top-s.top+.5*n.height;this.colorPicker.show(r,a),this.colorPicker.setColor(t),this.colorPicker.setCallback(function(t){var n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,o._update(n,i)})}},{key:"_handleObject",value:function(t){var e=void 0===arguments[1]?[]:arguments[1];for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],n=this._addToPath(e,i),s=this._getValue(n);if(o instanceof Array)this._handleArray(o,s,n);else if("string"==typeof o)this._handleString(o,s,n);else if("boolean"==typeof o)this._makeCheckbox(o,s,n);else if(o instanceof Object){var r=!0;if(-1!==e.indexOf("physics")&&this.actualOptions.physics.solver!==i&&(r=!1),r===!0)if(void 0!==o.enabled){var a=this._addToPath(n,"enabled"),h=this._getValue(a);if(h===!0){var d=this._makeLabel(i,n,!0);this._makeItem(n,d),this._handleObject(o,n)}else this._makeCheckbox(o,h,n)}else{var d=this._makeLabel(i,n,!0);this._makeItem(n,d),this._handleObject(o,n)}}else console.error("dont know how to handle",o,i,n)}}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.network.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=void 0===arguments[2]?{}:arguments[2],o=i;t="true"===t?!0:t,t="false"===t?!1:t;for(var n=0;nvar options = "+JSON.stringify(t,null,2)+""}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;id&&r>d&&(n=a,s=d)}return r>s?console.error('Unknown option detected: "'+e+'". Did you mean "'+n+'"?',t.printLocation(o,e)):console.error('Unknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i)),t.printLocation(o,e)),h=!0,n}},{key:"printLocation",value:function(t,e){for(var i="\nProblem value found at: \noptions = {\n",o=0;on;n++)i+=" ";i+=t[o]+": {\n"}for(var n=0;no;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.bodyHammer=a(document&&document.body,{prevent_default:!1}),this.bodyHammer.on("tap",function(i){n(i.target,t)||e.deactivate()}),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(82),r=i(42),a=i(41),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.bodyHammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Ti.apply(null,arguments)}function i(t){Ti=t}function o(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function n(t){return"[object Array]"===Object.prototype.toString.call(t)}function s(t){return"[object Date]"===Object.prototype.toString.call(t)||t instanceof Date}function r(t,e){var i,o=[];for(i=0;i0)for(i in Ei)o=Ei[i],n=e[o],"undefined"!=typeof n&&(t[o]=n);return t}function p(t){c(this,t),this._d=new Date(+t._d),Si===!1&&(Si=!0,e.updateOffset(this),Si=!1)}function f(t){return t instanceof p||null!=t&&a(t,"_isAMomentObject")}function m(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function v(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&m(t[o])!==m(e[o]))&&r++;return r+s}function g(){}function y(t){return t?t.toLowerCase().replace("_","-"):t}function b(t){for(var e,i,o,n,s=0;s0;){if(o=w(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&v(n,i,!0)>=e-1)break;e--}s++}return null}function w(e){var i=null;if(!Pi[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Ci._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),_(i)}catch(o){}return Pi[e]}function _(t,e){var i;return t&&(i="undefined"==typeof e?k(t):x(t,e),i&&(Ci=i)),Ci._abbr}function x(t,e){return null!==e?(e.abbr=t,Pi[t]||(Pi[t]=new g),Pi[t].set(e),_(t),Pi[t]):(delete Pi[t],null)}function k(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ci;if(!n(t)){if(e=w(t))return e;t=[t]}return b(t)}function M(t,e){var i=t.toLowerCase();Ii[i]=Ii[i+"s"]=Ii[e]=t}function D(t){return"string"==typeof t?Ii[t]||Ii[t.toLowerCase()]:void 0}function O(t){var e,i,o={};for(i in t)a(t,i)&&(e=D(i),e&&(o[e]=t[i]));return o}function T(t,i){return function(o){return null!=o?(E(this,t,o),e.updateOffset(this,i),this):C(this,t)}}function C(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function E(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function S(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=D(t),"function"==typeof this[t])return this[t](e);return this}function P(t,e,i){for(var o=""+Math.abs(t),n=t>=0;o.lengthe;e++)Ri[o[e]]?o[e]=Ri[o[e]]:o[e]=N(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function z(t,e){return t.isValid()?(e=R(e,t.localeData()),zi[e]||(zi[e]=A(e)),zi[e](t)):t.localeData().invalidDate()}function R(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(Ai.lastIndex=0;o>=0&&Ai.test(t);)t=t.replace(Ai,i),Ai.lastIndex=0,o-=1;return t}function L(t,e,i){Qi[t]="function"==typeof e?e:function(t){return t&&i?i:e}}function F(t,e){return a(Qi,t)?Qi[t](e._strict,e._locale):new RegExp(B(t))}function B(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function j(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=m(t)}),i=0;io;o++){if(n=d([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function q(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),W(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function X(t){return null!=t?(q(this,t),e.updateOffset(this,!0),this):C(this,"Month")}function Z(){return W(this.year(),this.month())}function K(t){var e,i=t._a;return i&&-2===t._pf.overflow&&(e=i[to]<0||i[to]>11?to:i[eo]<1||i[eo]>W(i[$i],i[to])?eo:i[io]<0||i[io]>24||24===i[io]&&(0!==i[oo]||0!==i[no]||0!==i[so])?io:i[oo]<0||i[oo]>59?oo:i[no]<0||i[no]>59?no:i[so]<0||i[so]>999?so:-1,t._pf._overflowDayOfYear&&($i>e||e>eo)&&(e=eo),t._pf.overflow=e),t}function Q(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function J(t,e){var i=!0;return h(function(){return i&&(Q(t),i=!1),e.apply(this,arguments)},e)}function $(t,e){ho[t]||(Q(e),ho[t]=!0)}function tt(t){var e,i,o=t._i,n=lo.exec(o);if(n){for(t._pf.iso=!0,e=0,i=uo.length;i>e;e++)if(uo[e][1].exec(o)){t._f=uo[e][0]+(n[6]||" ");break}for(e=0,i=co.length;i>e;e++)if(co[e][1].exec(o)){t._f+=co[e][0];break}o.match(Xi)&&(t._f+="Z"),bt(t)}else t._isValid=!1}function et(t){var i=po.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(tt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function it(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 1970>t&&a.setFullYear(t),a}function ot(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function nt(t){return st(t)?366:365}function st(t){return t%4===0&&t%100!==0||t%400===0}function rt(){return st(this.year())}function at(t,e,i){var o,n=i-e,s=i-t.day();return s>n&&(s-=7),n-7>s&&(s+=7),o=Ot(t).add(s,"d"),{week:Math.ceil(o.dayOfYear()/7),year:o.year()}}function ht(t){return at(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function lt(){return this._week.doy}function ut(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function ct(t){var e=at(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function pt(t,e,i,o,n){var s,r,a=ot(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:n,s=n-a+(a>o?7:0)-(n>a?7:0),r=7*(e-1)+(i-n)+s+1,{year:r>0?t:t-1,dayOfYear:r>0?r:nt(t-1)+r}}function ft(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function mt(t,e,i){return null!=t?t:null!=e?e:i}function vt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function gt(t){var e,i,o,n,s=[];if(!t._d){for(o=vt(t),t._w&&null==t._a[eo]&&null==t._a[to]&&yt(t),t._dayOfYear&&(n=mt(t._a[$i],o[$i]),t._dayOfYear>nt(n)&&(t._pf._overflowDayOfYear=!0),i=ot(n,0,t._dayOfYear),t._a[to]=i.getUTCMonth(),t._a[eo]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[io]&&0===t._a[oo]&&0===t._a[no]&&0===t._a[so]&&(t._nextDay=!0,t._a[io]=0),t._d=(t._useUTC?ot:it).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[io]=24)}}function yt(t){var e,i,o,n,s,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=mt(e.GG,t._a[$i],at(Ot(),1,4).year),o=mt(e.W,1),n=mt(e.E,1)):(s=t._locale._week.dow,r=t._locale._week.doy,i=mt(e.gg,t._a[$i],at(Ot(),s,r).year),o=mt(e.w,1),null!=e.d?(n=e.d,s>n&&++o):n=null!=e.e?e.e+s:s),a=pt(i,o,n,r,s),t._a[$i]=a.year,t._dayOfYear=a.dayOfYear}function bt(t){if(t._f===e.ISO_8601)return void tt(t);t._a=[],t._pf.empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=R(t._f,t._locale).match(Ni)||[],i=0;i0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Ri[s]?(o?t._pf.empty=!1:t._pf.unusedTokens.push(s),Y(s,o,t)):t._strict&&!o&&t._pf.unusedTokens.push(s);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[io]<=12&&(t._pf.bigHour=void 0),t._a[io]=wt(t._locale,t._a[io],t._meridiem),gt(t),K(t)}function wt(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function _t(t){var e,i,n,s,r;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(s=0;sr)&&(n=r,i=e));h(t,i||e)}function xt(t){if(!t._d){var e=O(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],gt(t)}}function kt(t){var e,i=t._i,o=t._f;return t._locale=t._locale||k(t._l),null===i||void 0===o&&""===i?u({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),f(i)?new p(K(i)):(n(o)?_t(t):o?bt(t):Mt(t),e=new p(K(t)),e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e))}function Mt(t){var i=t._i;void 0===i?t._d=new Date:s(i)?t._d=new Date(+i):"string"==typeof i?et(t):n(i)?(t._a=r(i.slice(0),function(t){return parseInt(t,10)}),gt(t)):"object"==typeof i?xt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Dt(t,e,i,n,s){var r={};return"boolean"==typeof i&&(n=i,i=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=s,r._l=i,r._i=t,r._f=e,r._strict=n,r._pf=o(),kt(r)}function Ot(t,e,i,o){return Dt(t,e,i,o,!1)}function Tt(t,e){var i,o;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return Ot();for(i=e[0],o=1;ot&&(t=-t,i="-"),i+P(~~(t/60),2)+e+P(~~t%60,2)})}function Nt(t){var e=(t||"").match(Xi)||[],i=e[e.length-1]||[],o=(i+"").match(yo)||["-",0,0],n=+(60*o[1])+m(o[2]);return"+"===o[0]?n:-n}function At(t,i){var o,n;return i._isUTC?(o=i.clone(),n=(f(t)||s(t)?+t:+Ot(t))-+o,o._d.setTime(+o._d+n),e.updateOffset(o,!1),o):Ot(t).local()}function zt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Rt(t,i){var o,n=this._offset||0;return null!=t?("string"==typeof t&&(t=Nt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=zt(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?Jt(this,qt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:zt(this)}function Lt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Ft(t){return this.utcOffset(0,t)}function Bt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(zt(this),"m")),this}function jt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Nt(this._i)),this}function Ht(t){return t=t?Ot(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Yt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Wt(){if(this._a){var t=this._isUTC?d(this._a):Ot(this._a);return this.isValid()&&v(this._a,t.toArray())>0}return!1}function Gt(){return!this._isUTC}function Ut(){return this._isUTC}function Vt(){return this._isUTC&&0===this._offset}function qt(t,e){var i,o,n,s=t,r=null;return Pt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(r=bo.exec(t))?(i="-"===r[1]?-1:1,s={y:0,d:m(r[eo])*i,h:m(r[io])*i,m:m(r[oo])*i,s:m(r[no])*i,ms:m(r[so])*i}):(r=wo.exec(t))?(i="-"===r[1]?-1:1,s={y:Xt(r[2],i),M:Xt(r[3],i),d:Xt(r[4],i),h:Xt(r[5],i),m:Xt(r[6],i),s:Xt(r[7],i),w:Xt(r[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Kt(Ot(s.from),Ot(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new St(s),Pt(t)&&a(t,"_locale")&&(o._locale=t._locale),o}function Xt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Zt(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Kt(t,e){var i;return e=At(e,t),t.isBefore(e)?i=Zt(t,e):(i=Zt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function Qt(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||($(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=qt(i,o),Jt(this,n,t),this}}function Jt(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&E(t,"Date",C(t,"Date")+r*o),a&&q(t,C(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function $t(t){var e=t||Ot(),i=At(e,this).startOf("day"),o=this.diff(i,"days",!0),n=-6>o?"sameElse":-1>o?"lastWeek":0>o?"lastDay":1>o?"sameDay":2>o?"nextDay":7>o?"nextWeek":"sameElse"; +}},o.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:r})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=this.itemFromTarget(t);if(i){e=this.getSelection();var n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n){e.push(i.id);var s=o._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=s.min&&d<=s.max&&!(a instanceof m)&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},o._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.pageY,i=0;ia&&ea)return n}else if(0===i&&e"));this.dom.textArea.innerHTML=o,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){s.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,o=this.options.iconSize,n=.75*this.options.iconSize,r=e+.5*n+3;this.svg.style.width=o+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,o,n),r+=n+this.options.iconSpacing));s.cleanupElements(this.svgElements)}},t.exports=o},function(t,e,i){function o(t,e){this.id=n.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=n.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=n.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var n=i(1),s=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),u=i(33),c=i(47),p="__ungrouped__";o.prototype=new h,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new u(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new u(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),u={};for(this._getRelevantData(a,u,d,l),this._applySampling(a,u),e=0;ep&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;ro){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=s)d.push(n[l]);e[t[o]]=d}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(n.getYRange(o)):h=h.concat(n.getYRange(o)):i[t[s]]=n.getYRange(o,t[s]));c.getStackedBarYRange(a,i,t,"__barchartLeft","left"),c.getStackedBarYRange(h,i,t,"__barchartRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),n},o.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},o.prototype._convertXcoordinates=function(t){for(var e,i,o=[],n=this.body.util.toScreen,s=0;sy;)y++,l=h.getCurrent(),u=h.isMajor(),p=h.getClassName(),m=f,f=this.body.util.toScreen(l),v=f-m,c&&(c.style.width=v+"px"),this.options.showMinorLabels&&this._repaintMinorText(f,h.getLabelMinor(),t,p),u&&this.options.showMajorLabels?(f>0&&(void 0==g&&(g=f),this._repaintMajorText(f,h.getLabelMajor(),t,p)),c=this._repaintMajorLine(f,t,p)):c=this._repaintMinorLine(f,t,p),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),w=h.getLabelMajor(b),_=w.length*(this.props.majorCharWidth||10)+10;(void 0==g||g>_)&&this._repaintMajorText(0,w,t,p)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px"},o.prototype._repaintMinorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top=n.majorLabelHeight+"px":o.style.top=this.body.domProps.top.height+"px",o.style.height=n.minorLineHeight+"px",o.style.left=t-n.minorLineWidth/2+"px",o.className="vis-grid vis-vertical vis-minor "+i,o},o.prototype._repaintMajorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top="0":o.style.top=this.body.domProps.top.height+"px",o.style.left=t-n.majorLineWidth/2+"px",o.style.height=n.majorLineHeight+"px",o.className="vis-grid vis-vertical vis-major "+i,o},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=o},function(t,e,i){function o(t,e,i){var n=this;if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={clickToUse:!1},R.extend(this.options,this.defaultOptions),this.body={nodes:{},nodeIndices:[],edges:{},edgeIndices:[],data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},container:t,view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners();var s=new B(function(){return n.body.emitter.emit("_requestRedraw")});this.groups=new r["default"],this.canvas=new y["default"](this.body),this.selectionHandler=new M["default"](this.body,this.canvas),this.interactionHandler=new x["default"](this.body,this.canvas,this.selectionHandler), +this.view=new w["default"](this.body,this.canvas),this.renderer=new v["default"](this.body,this.canvas),this.physics=new c["default"](this.body),this.layoutEngine=new D["default"](this.body),this.clustering=new f["default"](this.body),this.manipulation=new C["default"](this.body,this.canvas,this.selectionHandler),this.nodesHandler=new h["default"](this.body,s,this.groups,this.layoutEngine),this.edgesHandler=new l["default"](this.body,s,this.groups),this.configurationSystem=new S["default"](this),this.canvas._create(),this.setOptions(i),this.setData(e)}var n=function(t){return t&&t.__esModule?t:{"default":t}},s=i(57),r=n(s),a=i(58),h=n(a),d=i(59),l=n(d),u=i(60),c=n(u),p=i(61),f=n(p),m=i(62),v=n(m),g=i(63),y=n(g),b=i(64),w=n(b),_=i(65),x=n(_),k=i(66),M=n(k),O=i(67),D=n(O),T=i(68),C=n(T),E=i(69),S=n(E),P=i(70),I=n(P),N=i(71),A=n(N);i(72);var z=i(42),R=(i(41),i(1)),L=(i(3),i(4),i(38)),F=i(39),B=i(37),j=i(52);z(o.prototype),o.prototype.setOptions=function(t){if(void 0!==t){var e=I["default"].validate(t,A["default"]);e===!0&&(t={},console.log("%cErrors have been found in the supplied options object. None of the options will be used.",P.printStyle)),t=this.layoutEngine.setOptions(t.layout,t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.canvas.setOptions(t.canvas),this.renderer.setOptions(t.rendering),this.view.setOptions(t.view),this.interactionHandler.setOptions(t.interaction),this.selectionHandler.setOptions(t.selection),this.clustering.setOptions(t.clustering),this.manipulation.setOptions(t.manipulation),this.configurationSystem.setOptions(t),void 0!==t.clickToUse?t.clickToUse===!0?void 0===this.activator&&(this.activator=new j(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},o.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in t)t.hasOwnProperty(i)&&t[i].options.hidden===!1&&this.body.nodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.hidden===!1&&this.body.edgeIndices.push(o)},o.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",function(e){t._updateVisibleIndices(),t.physics.updatePhysicsIndices(),t.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation")})},o.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var e=L.DOTToGraph(t.dot);return void this.setData(e)}}else if(t&&t.gephi){if(t&&t.gephi){var i=F.parseGephi(t.gephi);return void this.setData(i)}}else this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0);this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("initPhysics")},o.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),R.recursiveDOMDelete(this.body.container)},o.prototype._updateValueRange=function(t){var e,i=void 0,o=void 0,n=0;for(e in t)if(t.hasOwnProperty(e)){var s=t[e].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,o,n)},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.setSize=function(){this.canvas.setSize.apply(this.canvas,arguments)},o.prototype.canvasToDOM=function(){this.canvas.canvasToDOM.apply(this.canvas,arguments)},o.prototype.DOMtoCanvas=function(){this.canvas.setSize.DOMtoCanvas(this.canvas,arguments)},o.prototype.findNode=function(){this.clustering.findNode.apply(this.clustering,arguments)},o.prototype.isCluster=function(){this.clustering.isCluster.apply(this.clustering,arguments)},o.prototype.openCluster=function(){this.clustering.openCluster.apply(this.clustering,arguments)},o.prototype.cluster=function(){this.clustering.cluster.apply(this.clustering,arguments)},o.prototype.clusterByConnection=function(){this.clustering.clusterByConnection.apply(this.clustering,arguments)},o.prototype.clusterByHubsize=function(){this.clustering.clusterByHubsize.apply(this.clustering,arguments)},o.prototype.clusterOutliers=function(){this.clustering.clusterOutliers.apply(this.clustering,arguments)},o.prototype.getSeed=function(){this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},o.prototype.enableEditMode=function(){this.manipulation.enableEditMode.apply(this.manipulation,arguments)},o.prototype.disableEditMode=function(){this.manipulation.disableEditMode.apply(this.manipulation,arguments)},o.prototype.addNodeMode=function(){this.manipulation.addNodeMode.apply(this.manipulation,arguments)},o.prototype.editNodeMode=function(){this.manipulation.editNodeMode.apply(this.manipulation,arguments)},o.prototype.addEdgeMode=function(){this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},o.prototype.editEdgeMode=function(){this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},o.prototype.deleteSelected=function(){this.manipulation.deleteSelected.apply(this.manipulation,arguments)},o.prototype.getPositions=function(){this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},o.prototype.storePositions=function(){this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},o.prototype.getBoundingBox=function(){this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},o.prototype.getConnectedNodes=function(){this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments)},o.prototype.getEdges=function(){this.nodesHandler.getEdges.apply(this.nodesHandler,arguments)},o.prototype.startSimulation=function(){this.physics.startSimulation.apply(this.physics,arguments)},o.prototype.stopSimulation=function(){this.physics.stopSimulation.apply(this.physics,arguments)},o.prototype.stabilize=function(){this.physics.stabilize.apply(this.physics,arguments)},o.prototype.getSelection=function(){this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},o.prototype.getSelectedNodes=function(){this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},o.prototype.getSelectedEdges=function(){this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},o.prototype.getNodeAt=function(){this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments)},o.prototype.getEdgeAt=function(){this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments)},o.prototype.selectNodes=function(){this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},o.prototype.selectEdges=function(){this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},o.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments)},o.prototype.getScale=function(){this.view.getScale.apply(this.view,arguments)},o.prototype.getPosition=function(){this.view.getPosition.apply(this.view,arguments)},o.prototype.fit=function(){this.view.fit.apply(this.view,arguments)},o.prototype.moveTo=function(){this.view.moveTo.apply(this.view,arguments)},o.prototype.focusOnNode=function(){this.view.focusOnNode.apply(this.view,arguments)},o.prototype.releaseNode=function(){this.view.releaseNode.apply(this.view,arguments)},t.exports=o},function(t,e,i){function o(t){this.images={},this.imageBroken={},this.callback=t}o.prototype.load=function(t,e){var i=this.images[t];if(void 0===i){var o=this;i=new Image,i.onload=function(){0===this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),o.callback&&(o.images[t]=i,o.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,o.callback&&o.callback(this)):o.imageBroken[t]===!0?(console.error("Could not load brokenImage:",e),delete this.src,o.callback&&o.callback(this)):(console.error("Could not load image:",t),this.src=e,o.imageBroken[t]=!0)},i.src=t}return i},t.exports=o},function(t,e,i){function o(t){return C=t,f()}function n(){E=0,S=C.charAt(0)}function s(){E++,S=C.charAt(E)}function r(){return C.charAt(E+1)}function a(t){return N.test(t)}function h(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function d(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function l(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=h(n.attr,t.node))),i=s.length-1;i>=0;i--){var a=s[i];a.nodes||(a.nodes=[]),-1===a.nodes.indexOf(n)&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(I=D.NULL,P="";" "===S||" "===S||"\n"===S||"\r"===S;)s();do{var t=!1;if("#"===S){for(var e=E-1;" "===C.charAt(e)||" "===C.charAt(e);)e--;if("\n"===C.charAt(e)||""===C.charAt(e)){for(;""!=S&&"\n"!=S;)s();t=!0}}if("/"===S&&"/"===r()){for(;""!=S&&"\n"!=S;)s();t=!0}if("/"===S&&"*"===r()){for(;""!=S;){if("*"===S&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===S||" "===S||"\n"===S||"\r"===S;)s()}while(t);if(""===S)return void(I=D.DELIMITER);var i=S+r();if(T[i])return I=D.DELIMITER,P=i,s(),void s();if(T[S])return I=D.DELIMITER,P=S,void s();if(a(S)||"-"===S){for(P+=S,s();a(S);)P+=S,s();return"false"===P?P=!1:"true"===P?P=!0:isNaN(Number(P))||(P=Number(P)),void(I=D.IDENTIFIER)}if('"'===S){for(s();""!=S&&('"'!=S||'"'===S&&'"'===r());)P+=S,'"'===S&&s(),s();if('"'!=S)throw x('End of string " expected');return s(),void(I=D.IDENTIFIER)}for(I=D.UNKNOWN;""!=S;)P+=S,s();throw new SyntaxError('Syntax error in part "'+k(P,30)+'"')}function f(){var t={};if(n(),p(),"strict"===P&&(t.strict=!0,p()),("graph"===P||"digraph"===P)&&(t.type=P,p()),I===D.IDENTIFIER&&(t.id=P,p()),"{"!=P)throw x("Angle bracket { expected");if(p(),m(t),"}"!=P)throw x("Angle bracket } expected");if(p(),""!==P)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==P&&"}"!=P;)v(t),";"===P&&p()}function v(t){var e=g(t);if(e)return void w(t,e);var i=y(t);if(!i){if(I!=D.IDENTIFIER)throw x("Identifier expected");var o=P;if(p(),"="===P){if(p(),I!=D.IDENTIFIER)throw x("Identifier expected");t[o]=P,p()}else b(t,o)}}function g(t){var e=null;if("subgraph"===P&&(e={},e.type="subgraph",p(),I===D.IDENTIFIER&&(e.id=P,p())),"{"===P){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=P)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"===P?(p(),t.node=_(),"node"):"edge"===P?(p(),t.edge=_(),"edge"):"graph"===P?(p(),t.graph=_(),"graph"):null}function b(t,e){var i={id:e},o=_();o&&(i.attr=o),l(t,i),w(t,e)}function w(t,e){for(;"->"===P||"--"===P;){var i,o=P;p();var n=g(t);if(n)i=n;else{if(I!=D.IDENTIFIER)throw x("Identifier or subgraph expected");i=P,l(t,{id:i}),p()}var s=_(),r=c(t,e,i,o,s);u(t,r),e=i}}function _(){for(var t=null;"["===P;){for(p(),t={};""!==P&&"]"!=P;){if(I!=D.IDENTIFIER)throw x("Attribute name expected");var e=P;if(p(),"="!=P)throw x("Equal sign = expected");if(p(),I!=D.IDENTIFIER)throw x("Attribute value expected");var i=P;d(t,e,i),p(),","==P&&p()}if("]"!=P)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(P,30)+'" (char '+E+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function O(t){var e=o(t),i={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};h(e,t.attr),e.image&&(e.shape="image"),i.nodes.push(e)}),e.edges){var n=function(t){var e={from:t.from,to:t.to};return h(e,t.attr),e.style="->"===t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,o;e=t.from instanceof Object?t.from.nodes:{id:t.from},o=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=n(t);i.edges.push(e)}),M(e,o,function(e,o){var s=c(i,e.id,o.id,t.type,t.attr),r=n(s);i.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=n(t);i.edges.push(e)})})}return e.attr&&(i.options=e.attr),i}var D={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},T={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},C="",E=0,S="",P="",I=D.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=O},function(t,e,i){function o(t,e){var i=[],o=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var n=t.edges,s=t.nodes,r=0;ro;++o)i[o].apply(this,e)}return this},o.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},o.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){function o(){}var n=i(42),s=i(41),r=i(44),a=i(1),h=(i(3),i(4),i(17),i(32),i(35)),d=i(52),l=i(15),u=i(27);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panstart",this._onDragStart.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),r.onTouch(this.hammer,function(t){console.log("touch",t),i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation=t.orientation:"object"==typeof t.orientation&&"axis"in t.orientation&&(this.options.orientation=t.orientation.axis)),"both"===this.options.orientation){if(!this.timeAxis2){var i=this.timeAxis2=new h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}"hiddenDates"in this.options&&l.convertHiddenOptions(this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),this._initAutoResize()}this.components.forEach(function(e){return e.setOptions(t)}),this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.clear(),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){if(!this.customTime)throw new Error("Cannot get custom time: Custom time bar is not enabled");var i=e||0;this.components.forEach(function(e,o,n){e instanceof u&&e.options.id===i&&e.setCustomTime(t)})},o.prototype.getCustomTime=function(t){if(!this.customTime)throw new Error("Cannot get custom time: Custom time bar is not enabled");var e=t||0,i=this.customTime.getCustomTime();return this.components.forEach(function(t,o,n){t instanceof u&&t.options.id===e&&(i=t.getCustomTime())}),i},o.prototype.addCustomTime=function(t,e){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");if(void 0===t)throw new Error("Time parameter for the custom bar must be provided");var i,o,n,s=a.convert(t,"Date").valueOf();return this.customBarIds&&this.customBarIds.constructor===Array||(this.customBarIds=[0]),void 0===e?(i=this.customBarIds.filter(function(t){return a.isNumber(t)}),n=i.length>0?Math.max.apply(null,i)+1:1):(this.customBarIds.forEach(function(t){if(t===e)throw new Error("Custom time ID already exists")}),n=e),this.customBarIds.push(n),o=new u(this.body,{showCustomTime:!0,time:s,id:n}),this.components.push(o),this.redraw(),n},o.prototype.removeCustomTime=function(t){var e=this;this.components.forEach(function(i,o,n){i instanceof u&&i.options.id===t&&0!==i.options.id&&(e.customBarIds.splice(e.customBarIds.indexOf(t),1),n.splice(o,1),i.destroy())})},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.clear=function(t){(!t||t.items)&&this.setItems(null),(!t||t.groups)&&this.setGroups(null),(!t||t.options)&&(this.components.forEach(function(t){return t.setOptions(t.defaultOptions)}),this.setOptions(this.defaultOptions))},o.prototype.fit=function(t){var e=this._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(e.start,e.end,i)}},o.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var o=i.valueOf()-e.valueOf();0>=o&&(o=864e5),e=new Date(e.valueOf()-.05*o),i=new Date(i.valueOf()+.05*o)}return{start:e,end:i}},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animate?n.animate:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animate?i.animate:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"bottom"==e.orientation&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[o].y?t[o].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=n.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style","vis-"+e.style), +a=1==e.options.catmullRom.enabled?o._catmullRom(t,e):o._linear(t),1==e.options.shaded.enabled){var d,l=n.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&s.draw(t,e,i)}},o._catmullRomUniform=function(t){for(var e,i,o,n,s,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={x:(-e.x+6*i.x+o.x)*h,y:(-e.y+6*i.y+o.y)*h},r={x:(i.x+6*o.x-n.x)*h,y:(i.y+6*o.y-n.y)*h},a+="C"+s.x+","+s.y+" "+r.x+","+r.y+" "+o.x+","+o.y+" ";return a},o._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",k=t.length,M=0;k-1>M;M++)o=0==M?t[0]:t[M-1],n=t[M],s=t[M+1],r=k>M+2?t[M+2]:s,d=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),l=Math.sqrt(Math.pow(n.x-s.x,2)+Math.pow(n.y-s.y,2)),u=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={x:(-b*o.x+c*n.x+w*s.x)*f,y:(-b*o.y+c*n.y+w*s.y)*f},h={x:(y*n.x+p*s.x-b*r.x)*m,y:(y*n.y+p*s.y-b*r.y)*m},0==a.x&&0==a.y&&(a=n),0==h.x&&0==h.y&&(h=s),x+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+s.x+","+s.y+" ";return x},o._linear=function(t){for(var e="",i=0;it[o].y?t[o].y:e,i=i0&&(r=Math.min(r,Math.abs(c[l-1].x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,"stack"==d.options.barChart.handleOverlap?(v=p[a].accumulated,p[a].accumulated+=d.zeroPosition-c[l].y):"sideBySide"==d.options.barChart.handleOverlap&&(h.width=h.width/p[a].amount,h.offset+=p[a].resolved*h.width-.5*h.width*(p[a].amount+1),"left"==d.options.barChart.align?h.offset-=.5*h.width:"right"==d.options.barChart.align&&(h.offset+=.5*h.width))}n.drawBar(c[l].x+h.offset,c[l].y-v,h.width,d.zeroPosition-c[l].y,d.className+" vis-bar",i.svgElements,i.svg),1==d.options.drawPoints.enabled&&s.draw([c[l]],d,i,h.offset)}},o._getDataIntersections=function(t,e){for(var i,o=0;o0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0==i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulated:0}),t[e[o].x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"==e.options.barChart.align?n-=.5*t:"right"==e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"==e.options.barChart.align?n-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedBarYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};o._getDataIntersections(r,t),e[n]=o._getStackedBarYRange(r,t),e[n].yAxisOrientation=s,i.push(n)}},o._getStackedBarYRange=function(t,e){for(var i,o=e[0].y,n=e[0].y,s=0;se[s].y?e[s].y:o,n=nt[r].accumulated?t[r].accumulated:o,n=nt[o].y?t[o].y:e,i=i0)for(i in Ei)o=Ei[i],n=e[o],"undefined"!=typeof n&&(t[o]=n);return t}function p(t){c(this,t),this._d=new Date(+t._d),Si===!1&&(Si=!0,e.updateOffset(this),Si=!1)}function f(t){return t instanceof p||null!=t&&a(t,"_isAMomentObject")}function m(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function v(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&m(t[o])!==m(e[o]))&&r++;return r+s}function g(){}function y(t){return t?t.toLowerCase().replace("_","-"):t}function b(t){for(var e,i,o,n,s=0;s0;){if(o=w(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&v(n,i,!0)>=e-1)break;e--}s++}return null}function w(e){var i=null;if(!Pi[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Ci._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),_(i)}catch(o){}return Pi[e]}function _(t,e){var i;return t&&(i="undefined"==typeof e?k(t):x(t,e),i&&(Ci=i)),Ci._abbr}function x(t,e){return null!==e?(e.abbr=t,Pi[t]||(Pi[t]=new g),Pi[t].set(e),_(t),Pi[t]):(delete Pi[t],null)}function k(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ci;if(!n(t)){if(e=w(t))return e;t=[t]}return b(t)}function M(t,e){var i=t.toLowerCase();Ii[i]=Ii[i+"s"]=Ii[e]=t}function O(t){return"string"==typeof t?Ii[t]||Ii[t.toLowerCase()]:void 0}function D(t){var e,i,o={};for(i in t)a(t,i)&&(e=O(i),e&&(o[e]=t[i]));return o}function T(t,i){return function(o){return null!=o?(E(this,t,o),e.updateOffset(this,i),this):C(this,t)}}function C(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function E(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function S(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=O(t),"function"==typeof this[t])return this[t](e);return this}function P(t,e,i){for(var o=""+Math.abs(t),n=t>=0;o.lengthe;e++)Ri[o[e]]?o[e]=Ri[o[e]]:o[e]=N(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function z(t,e){return t.isValid()?(e=R(e,t.localeData()),zi[e]||(zi[e]=A(e)),zi[e](t)):t.localeData().invalidDate()}function R(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(Ai.lastIndex=0;o>=0&&Ai.test(t);)t=t.replace(Ai,i),Ai.lastIndex=0,o-=1;return t}function L(t,e,i){Qi[t]="function"==typeof e?e:function(t){return t&&i?i:e}}function F(t,e){return a(Qi,t)?Qi[t](e._strict,e._locale):new RegExp(B(t))}function B(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function j(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=m(t)}),i=0;io;o++){if(n=d([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function q(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),W(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function X(t){return null!=t?(q(this,t),e.updateOffset(this,!0),this):C(this,"Month")}function Z(){return W(this.year(),this.month())}function K(t){var e,i=t._a;return i&&-2===t._pf.overflow&&(e=i[to]<0||i[to]>11?to:i[eo]<1||i[eo]>W(i[$i],i[to])?eo:i[io]<0||i[io]>24||24===i[io]&&(0!==i[oo]||0!==i[no]||0!==i[so])?io:i[oo]<0||i[oo]>59?oo:i[no]<0||i[no]>59?no:i[so]<0||i[so]>999?so:-1,t._pf._overflowDayOfYear&&($i>e||e>eo)&&(e=eo),t._pf.overflow=e),t}function Q(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function J(t,e){var i=!0;return h(function(){return i&&(Q(t),i=!1),e.apply(this,arguments)},e)}function $(t,e){ho[t]||(Q(e),ho[t]=!0)}function tt(t){var e,i,o=t._i,n=lo.exec(o);if(n){for(t._pf.iso=!0,e=0,i=uo.length;i>e;e++)if(uo[e][1].exec(o)){t._f=uo[e][0]+(n[6]||" ");break}for(e=0,i=co.length;i>e;e++)if(co[e][1].exec(o)){t._f+=co[e][0];break}o.match(Xi)&&(t._f+="Z"),bt(t)}else t._isValid=!1}function et(t){var i=po.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(tt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function it(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 1970>t&&a.setFullYear(t),a}function ot(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function nt(t){return st(t)?366:365}function st(t){return t%4===0&&t%100!==0||t%400===0}function rt(){return st(this.year())}function at(t,e,i){var o,n=i-e,s=i-t.day();return s>n&&(s-=7),n-7>s&&(s+=7),o=Dt(t).add(s,"d"),{week:Math.ceil(o.dayOfYear()/7),year:o.year()}}function ht(t){return at(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function lt(){return this._week.doy}function ut(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function ct(t){var e=at(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function pt(t,e,i,o,n){var s,r,a=ot(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:n,s=n-a+(a>o?7:0)-(n>a?7:0),r=7*(e-1)+(i-n)+s+1,{year:r>0?t:t-1,dayOfYear:r>0?r:nt(t-1)+r}}function ft(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function mt(t,e,i){return null!=t?t:null!=e?e:i}function vt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function gt(t){var e,i,o,n,s=[];if(!t._d){for(o=vt(t),t._w&&null==t._a[eo]&&null==t._a[to]&&yt(t),t._dayOfYear&&(n=mt(t._a[$i],o[$i]),t._dayOfYear>nt(n)&&(t._pf._overflowDayOfYear=!0),i=ot(n,0,t._dayOfYear),t._a[to]=i.getUTCMonth(),t._a[eo]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[io]&&0===t._a[oo]&&0===t._a[no]&&0===t._a[so]&&(t._nextDay=!0,t._a[io]=0),t._d=(t._useUTC?ot:it).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[io]=24)}}function yt(t){var e,i,o,n,s,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=mt(e.GG,t._a[$i],at(Dt(),1,4).year),o=mt(e.W,1),n=mt(e.E,1)):(s=t._locale._week.dow,r=t._locale._week.doy,i=mt(e.gg,t._a[$i],at(Dt(),s,r).year),o=mt(e.w,1),null!=e.d?(n=e.d,s>n&&++o):n=null!=e.e?e.e+s:s),a=pt(i,o,n,r,s),t._a[$i]=a.year,t._dayOfYear=a.dayOfYear}function bt(t){if(t._f===e.ISO_8601)return void tt(t);t._a=[],t._pf.empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=R(t._f,t._locale).match(Ni)||[],i=0;i0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Ri[s]?(o?t._pf.empty=!1:t._pf.unusedTokens.push(s),Y(s,o,t)):t._strict&&!o&&t._pf.unusedTokens.push(s);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[io]<=12&&(t._pf.bigHour=void 0),t._a[io]=wt(t._locale,t._a[io],t._meridiem),gt(t),K(t)}function wt(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function _t(t){var e,i,n,s,r;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(s=0;sr)&&(n=r,i=e));h(t,i||e)}function xt(t){if(!t._d){var e=D(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],gt(t)}}function kt(t){var e,i=t._i,o=t._f;return t._locale=t._locale||k(t._l),null===i||void 0===o&&""===i?u({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),f(i)?new p(K(i)):(n(o)?_t(t):o?bt(t):Mt(t),e=new p(K(t)),e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e))}function Mt(t){var i=t._i;void 0===i?t._d=new Date:s(i)?t._d=new Date(+i):"string"==typeof i?et(t):n(i)?(t._a=r(i.slice(0),function(t){return parseInt(t,10)}),gt(t)):"object"==typeof i?xt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Ot(t,e,i,n,s){var r={};return"boolean"==typeof i&&(n=i,i=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=s,r._l=i,r._i=t,r._f=e,r._strict=n,r._pf=o(),kt(r)}function Dt(t,e,i,o){return Ot(t,e,i,o,!1)}function Tt(t,e){var i,o;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return Dt();for(i=e[0],o=1;ot&&(t=-t,i="-"),i+P(~~(t/60),2)+e+P(~~t%60,2)})}function Nt(t){var e=(t||"").match(Xi)||[],i=e[e.length-1]||[],o=(i+"").match(yo)||["-",0,0],n=+(60*o[1])+m(o[2]);return"+"===o[0]?n:-n}function At(t,i){var o,n;return i._isUTC?(o=i.clone(),n=(f(t)||s(t)?+t:+Dt(t))-+o,o._d.setTime(+o._d+n),e.updateOffset(o,!1),o):Dt(t).local()}function zt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Rt(t,i){var o,n=this._offset||0;return null!=t?("string"==typeof t&&(t=Nt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=zt(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?Jt(this,qt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:zt(this)}function Lt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Ft(t){return this.utcOffset(0,t)}function Bt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(zt(this),"m")),this}function jt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Nt(this._i)),this}function Ht(t){return t=t?Dt(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Yt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Wt(){if(this._a){var t=this._isUTC?d(this._a):Dt(this._a);return this.isValid()&&v(this._a,t.toArray())>0}return!1}function Gt(){return!this._isUTC}function Ut(){return this._isUTC}function Vt(){return this._isUTC&&0===this._offset}function qt(t,e){var i,o,n,s=t,r=null;return Pt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(r=bo.exec(t))?(i="-"===r[1]?-1:1,s={y:0,d:m(r[eo])*i,h:m(r[io])*i,m:m(r[oo])*i,s:m(r[no])*i,ms:m(r[so])*i}):(r=wo.exec(t))?(i="-"===r[1]?-1:1,s={y:Xt(r[2],i),M:Xt(r[3],i),d:Xt(r[4],i),h:Xt(r[5],i),m:Xt(r[6],i),s:Xt(r[7],i),w:Xt(r[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Kt(Dt(s.from),Dt(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new St(s),Pt(t)&&a(t,"_locale")&&(o._locale=t._locale),o}function Xt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Zt(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Kt(t,e){var i;return e=At(e,t),t.isBefore(e)?i=Zt(t,e):(i=Zt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function Qt(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||($(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=qt(i,o),Jt(this,n,t),this}}function Jt(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&E(t,"Date",C(t,"Date")+r*o),a&&q(t,C(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function $t(t){var e=t||Dt(),i=At(e,this).startOf("day"),o=this.diff(i,"days",!0),n=-6>o?"sameElse":-1>o?"lastWeek":0>o?"lastDay":1>o?"sameDay":2>o?"nextDay":7>o?"nextWeek":"sameElse";return this.format(this.localeData().calendar(n,this,Dt(e)))}function te(){return new p(this)}function ee(t,e){var i;return e=O("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=f(t)?t:Dt(t),+this>+t):(i=f(t)?+t:+Dt(t),i<+this.clone().startOf(e))}function ie(t,e){var i;return e=O("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=f(t)?t:Dt(t),+t>+this):(i=f(t)?+t:+Dt(t),+this.clone().endOf(e)t?Math.ceil(t):Math.floor(t)}function re(t,e,i){var o,n,s=At(t,this),r=6e4*(s.utcOffset()-this.utcOffset());return e=O(e),"year"===e||"month"===e||"quarter"===e?(n=ae(this,s),"quarter"===e?n/=3:"year"===e&&(n/=12)):(o=this-s,n="second"===e?o/1e3:"minute"===e?o/6e4:"hour"===e?o/36e5:"day"===e?(o-r)/864e5:"week"===e?(o-r)/6048e5:o),i?n:se(n)}function ae(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function he(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Dt([2e3,1]).day(e),o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(o.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Re(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Pe(t,this.localeData()),this.add(t-e,"d")):e}function Le(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Fe(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Be(t,e){I(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function je(t,e){return e._meridiemParse}function He(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ye(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function We(t){I(0,[t,3],0,"millisecond")}function Ge(){return this._isUTC?"UTC":""}function Ue(){return this._isUTC?"Coordinated Universal Time":""}function Ve(t){return Dt(1e3*t)}function qe(){return Dt.apply(null,arguments).parseZone()}function Xe(t,e,i){var o=this._calendar[t];return"function"==typeof o?o.call(e,i):o}function Ze(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e}function Ke(){return this._invalidDate}function Qe(t){return this._ordinal.replace("%d",t)}function Je(t){return t}function $e(t,e,i,o){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,o):n.replace(/%d/i,t)}function ti(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ei(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ii(t,e,i,o){var n=k(),s=d().set(o,e);return n[i](s,t)}function oi(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ii(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=ii(t,s,i,n);return r}function ni(t,e){return oi(t,e,"months",12,"month")}function si(t,e){return oi(t,e,"monthsShort",12,"month")}function ri(t,e){return oi(t,e,"weekdays",7,"day")}function ai(t,e){return oi(t,e,"weekdaysShort",7,"day")}function hi(t,e){return oi(t,e,"weekdaysMin",7,"day")}function di(){var t=this._data;return this._milliseconds=Yo(this._milliseconds),this._days=Yo(this._days),this._months=Yo(this._months),t.milliseconds=Yo(t.milliseconds),t.seconds=Yo(t.seconds),t.minutes=Yo(t.minutes),t.hours=Yo(t.hours),t.months=Yo(t.months),t.years=Yo(t.years),this}function li(t,e,i,o){var n=qt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function ui(t,e){return li(this,t,e,1)}function ci(t,e){return li(this,t,e,-1)}function pi(){var t,e,i,o=this._milliseconds,n=this._days,s=this._months,r=this._data,a=0;return r.milliseconds=o%1e3,t=se(o/1e3),r.seconds=t%60,e=se(t/60),r.minutes=e%60,i=se(e/60),r.hours=i%24,n+=se(i/24),a=se(fi(n)),n-=se(mi(a)),s+=se(n/30),n%=30,a+=se(s/12),s%=12,r.days=n,r.months=s,r.years=a,this}function fi(t){return 400*t/146097}function mi(t){return 146097*t/400}function vi(t){var e,i,o=this._milliseconds;if(t=O(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+12*fi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(mi(this._months/12)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 24*e*60+o/6e4;case"second":return 24*e*60*60+o/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+o;default:throw new Error("Unknown unit "+t)}}function gi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*m(this._months/12)}function yi(t){return function(){return this.as(t)}}function bi(t){return t=O(t),this[t+"s"]()}function wi(t){return function(){return this._data[t]}}function _i(){return se(this.days()/7)}function xi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function ki(t,e,i){var o=qt(t).abs(),n=sn(o.as("s")),s=sn(o.as("m")),r=sn(o.as("h")),a=sn(o.as("d")),h=sn(o.as("M")),d=sn(o.as("y")),l=n0,l[4]=i,xi.apply(null,l)}function Mi(t,e){return void 0===rn[t]?!1:void 0===e?rn[t]:(rn[t]=e,!0)}function Oi(t){var e=this.localeData(),i=ki(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Di(){var t=an(this.years()),e=an(this.months()),i=an(this.days()),o=an(this.hours()),n=an(this.minutes()),s=an(this.seconds()+this.milliseconds()/1e3),r=this.asSeconds();return r?(0>r?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(o||n||s?"T":"")+(o?o+"H":"")+(n?n+"M":"")+(s?s+"S":""):"P0D"}var Ti,Ci,Ei=e.momentProperties=[],Si=!1,Pi={},Ii={},Ni=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Ai=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,zi={},Ri={},Li=/\d/,Fi=/\d\d/,Bi=/\d{3}/,ji=/\d{4}/,Hi=/[+-]?\d{6}/,Yi=/\d\d?/,Wi=/\d{1,3}/,Gi=/\d{1,4}/,Ui=/[+-]?\d{1,6}/,Vi=/\d+/,qi=/[+-]?\d+/,Xi=/Z|[+-]\d\d:?\d\d/gi,Zi=/[+-]?\d+(\.\d{1,3})?/,Ki=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Qi={},Ji={},$i=0,to=1,eo=2,io=3,oo=4,no=5,so=6;I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),I("MMMM",0,0,function(t){return this.localeData().months(this,t)}),M("month","M"),L("M",Yi),L("MM",Yi,Fi),L("MMM",Ki),L("MMMM",Ki),j(["M","MM"],function(t,e){e[to]=m(t)-1}),j(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[to]=n:i._pf.invalidMonth=t});var ro="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ao="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ho={};e.suppressDeprecationWarnings=!1;var lo=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,uo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],co=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],po=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=J("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),M("year","y"),L("Y",qi),L("YY",Yi,Fi),L("YYYY",Gi,ji),L("YYYYY",Ui,Hi),L("YYYYYY",Ui,Hi),j(["YYYY","YYYYY","YYYYYY"],$i),j("YY",function(t,i){i[$i]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return m(t)+(m(t)>68?1900:2e3)};var fo=T("FullYear",!1);I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),M("week","w"),M("isoWeek","W"),L("w",Yi),L("ww",Yi,Fi),L("W",Yi),L("WW",Yi,Fi),H(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=m(t)});var mo={dow:0,doy:6};I("DDD",["DDDD",3],"DDDo","dayOfYear"),M("dayOfYear","DDD"),L("DDD",Wi),L("DDDD",Bi),j(["DDD","DDDD"],function(t,e,i){i._dayOfYear=m(t)}),e.ISO_8601=function(){};var vo=J("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Dt.apply(null,arguments);return this>t?this:t}),go=J("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Dt.apply(null,arguments); -return this.format(this.localeData().calendar(n,this,Ot(e)))}function te(){return new p(this)}function ee(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=f(t)?t:Ot(t),+this>+t):(i=f(t)?+t:+Ot(t),i<+this.clone().startOf(e))}function ie(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=f(t)?t:Ot(t),+t>+this):(i=f(t)?+t:+Ot(t),+this.clone().endOf(e)t?Math.ceil(t):Math.floor(t)}function re(t,e,i){var o,n,s=At(t,this),r=6e4*(s.utcOffset()-this.utcOffset());return e=D(e),"year"===e||"month"===e||"quarter"===e?(n=ae(this,s),"quarter"===e?n/=3:"year"===e&&(n/=12)):(o=this-s,n="second"===e?o/1e3:"minute"===e?o/6e4:"hour"===e?o/36e5:"day"===e?(o-r)/864e5:"week"===e?(o-r)/6048e5:o),i?n:se(n)}function ae(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function he(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Ot([2e3,1]).day(e),o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(o.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Re(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Pe(t,this.localeData()),this.add(t-e,"d")):e}function Le(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Fe(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Be(t,e){I(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function je(t,e){return e._meridiemParse}function He(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ye(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function We(t){I(0,[t,3],0,"millisecond")}function Ge(){return this._isUTC?"UTC":""}function Ue(){return this._isUTC?"Coordinated Universal Time":""}function Ve(t){return Ot(1e3*t)}function qe(){return Ot.apply(null,arguments).parseZone()}function Xe(t,e,i){var o=this._calendar[t];return"function"==typeof o?o.call(e,i):o}function Ze(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e}function Ke(){return this._invalidDate}function Qe(t){return this._ordinal.replace("%d",t)}function Je(t){return t}function $e(t,e,i,o){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,o):n.replace(/%d/i,t)}function ti(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ei(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ii(t,e,i,o){var n=k(),s=d().set(o,e);return n[i](s,t)}function oi(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ii(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=ii(t,s,i,n);return r}function ni(t,e){return oi(t,e,"months",12,"month")}function si(t,e){return oi(t,e,"monthsShort",12,"month")}function ri(t,e){return oi(t,e,"weekdays",7,"day")}function ai(t,e){return oi(t,e,"weekdaysShort",7,"day")}function hi(t,e){return oi(t,e,"weekdaysMin",7,"day")}function di(){var t=this._data;return this._milliseconds=Yo(this._milliseconds),this._days=Yo(this._days),this._months=Yo(this._months),t.milliseconds=Yo(t.milliseconds),t.seconds=Yo(t.seconds),t.minutes=Yo(t.minutes),t.hours=Yo(t.hours),t.months=Yo(t.months),t.years=Yo(t.years),this}function li(t,e,i,o){var n=qt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function ui(t,e){return li(this,t,e,1)}function ci(t,e){return li(this,t,e,-1)}function pi(){var t,e,i,o=this._milliseconds,n=this._days,s=this._months,r=this._data,a=0;return r.milliseconds=o%1e3,t=se(o/1e3),r.seconds=t%60,e=se(t/60),r.minutes=e%60,i=se(e/60),r.hours=i%24,n+=se(i/24),a=se(fi(n)),n-=se(mi(a)),s+=se(n/30),n%=30,a+=se(s/12),s%=12,r.days=n,r.months=s,r.years=a,this}function fi(t){return 400*t/146097}function mi(t){return 146097*t/400}function vi(t){var e,i,o=this._milliseconds;if(t=D(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+12*fi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(mi(this._months/12)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 24*e*60+o/6e4;case"second":return 24*e*60*60+o/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+o;default:throw new Error("Unknown unit "+t)}}function gi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*m(this._months/12)}function yi(t){return function(){return this.as(t)}}function bi(t){return t=D(t),this[t+"s"]()}function wi(t){return function(){return this._data[t]}}function _i(){return se(this.days()/7)}function xi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function ki(t,e,i){var o=qt(t).abs(),n=sn(o.as("s")),s=sn(o.as("m")),r=sn(o.as("h")),a=sn(o.as("d")),h=sn(o.as("M")),d=sn(o.as("y")),l=n0,l[4]=i,xi.apply(null,l)}function Mi(t,e){return void 0===rn[t]?!1:void 0===e?rn[t]:(rn[t]=e,!0)}function Di(t){var e=this.localeData(),i=ki(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Oi(){var t=an(this.years()),e=an(this.months()),i=an(this.days()),o=an(this.hours()),n=an(this.minutes()),s=an(this.seconds()+this.milliseconds()/1e3),r=this.asSeconds();return r?(0>r?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(o||n||s?"T":"")+(o?o+"H":"")+(n?n+"M":"")+(s?s+"S":""):"P0D"}var Ti,Ci,Ei=e.momentProperties=[],Si=!1,Pi={},Ii={},Ni=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Ai=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,zi={},Ri={},Li=/\d/,Fi=/\d\d/,Bi=/\d{3}/,ji=/\d{4}/,Hi=/[+-]?\d{6}/,Yi=/\d\d?/,Wi=/\d{1,3}/,Gi=/\d{1,4}/,Ui=/[+-]?\d{1,6}/,Vi=/\d+/,qi=/[+-]?\d+/,Xi=/Z|[+-]\d\d:?\d\d/gi,Zi=/[+-]?\d+(\.\d{1,3})?/,Ki=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Qi={},Ji={},$i=0,to=1,eo=2,io=3,oo=4,no=5,so=6;I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),I("MMMM",0,0,function(t){return this.localeData().months(this,t)}),M("month","M"),L("M",Yi),L("MM",Yi,Fi),L("MMM",Ki),L("MMMM",Ki),j(["M","MM"],function(t,e){e[to]=m(t)-1}),j(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[to]=n:i._pf.invalidMonth=t});var ro="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ao="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ho={};e.suppressDeprecationWarnings=!1;var lo=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,uo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],co=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],po=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=J("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),M("year","y"),L("Y",qi),L("YY",Yi,Fi),L("YYYY",Gi,ji),L("YYYYY",Ui,Hi),L("YYYYYY",Ui,Hi),j(["YYYY","YYYYY","YYYYYY"],$i),j("YY",function(t,i){i[$i]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return m(t)+(m(t)>68?1900:2e3)};var fo=T("FullYear",!1);I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),M("week","w"),M("isoWeek","W"),L("w",Yi),L("ww",Yi,Fi),L("W",Yi),L("WW",Yi,Fi),H(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=m(t)});var mo={dow:0,doy:6};I("DDD",["DDDD",3],"DDDo","dayOfYear"),M("dayOfYear","DDD"),L("DDD",Wi),L("DDDD",Bi),j(["DDD","DDDD"],function(t,e,i){i._dayOfYear=m(t)}),e.ISO_8601=function(){};var vo=J("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ot.apply(null,arguments);return this>t?this:t}),go=J("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ot.apply(null,arguments);return t>this?this:t});It("Z",":"),It("ZZ",""),L("Z",Xi),L("ZZ",Xi),j(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Nt(t)});var yo=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var bo=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,wo=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;qt.fn=St.prototype;var _o=Qt(1,"add"),xo=Qt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var ko=J("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Me("gggg","weekYear"),Me("ggggg","weekYear"),Me("GGGG","isoWeekYear"),Me("GGGGG","isoWeekYear"),M("weekYear","gg"),M("isoWeekYear","GG"),L("G",qi),L("g",qi),L("GG",Yi,Fi),L("gg",Yi,Fi),L("GGGG",Gi,ji),L("gggg",Gi,ji),L("GGGGG",Ui,Hi),L("ggggg",Ui,Hi),H(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=m(t)}),H(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),I("Q",0,0,"quarter"),M("quarter","Q"),L("Q",Li),j("Q",function(t,e){e[to]=3*(m(t)-1)}),I("D",["DD",2],"Do","date"),M("date","D"),L("D",Yi),L("DD",Yi,Fi),L("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),j(["D","DD"],eo),j("Do",function(t,e){e[eo]=m(t.match(Yi)[0],10)});var Mo=T("Date",!0);I("d",0,"do","day"),I("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),I("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),I("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),M("day","d"),M("weekday","e"),M("isoWeekday","E"),L("d",Yi),L("e",Yi),L("E",Yi),L("dd",Ki),L("ddd",Ki),L("dddd",Ki),H(["dd","ddd","dddd"],function(t,e,i){var o=i._locale.weekdaysParse(t);null!=o?e.d=o:i._pf.invalidWeekday=t}),H(["d","e","E"],function(t,e,i,o){e[o]=m(t)});var Do="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Oo="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),To="Su_Mo_Tu_We_Th_Fr_Sa".split("_");I("H",["HH",2],0,"hour"),I("h",["hh",2],0,function(){return this.hours()%12||12}),Be("a",!0),Be("A",!1),M("hour","h"),L("a",je),L("A",je),L("H",Yi),L("h",Yi),L("HH",Yi,Fi),L("hh",Yi,Fi),j(["H","HH"],io),j(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),j(["h","hh"],function(t,e,i){e[io]=m(t),i._pf.bigHour=!0});var Co=/[ap]\.?m?\.?/i,Eo=T("Hours",!0);I("m",["mm",2],0,"minute"),M("minute","m"),L("m",Yi),L("mm",Yi,Fi),j(["m","mm"],oo);var So=T("Minutes",!1);I("s",["ss",2],0,"second"),M("second","s"),L("s",Yi),L("ss",Yi,Fi),j(["s","ss"],no);var Po=T("Seconds",!1);I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),We("SSS"),We("SSSS"),M("millisecond","ms"),L("S",Wi,Li),L("SS",Wi,Fi),L("SSS",Wi,Bi),L("SSSS",Vi),j(["S","SS","SSS","SSSS"],function(t,e){e[so]=m(1e3*("0."+t))});var Io=T("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var No=p.prototype;No.add=_o,No.calendar=$t,No.clone=te,No.diff=re,No.endOf=ve,No.format=le,No.from=ue,No.fromNow=ce,No.get=S,No.invalidAt=ke,No.isAfter=ee,No.isBefore=ie,No.isBetween=oe,No.isSame=ne,No.isValid=_e,No.lang=ko,No.locale=pe,No.localeData=fe,No.max=go,No.min=vo,No.parsingFlags=xe,No.set=S,No.startOf=me,No.subtract=xo,No.toArray=we,No.toDate=be,No.toISOString=de,No.toJSON=de,No.toString=he,No.unix=ye,No.valueOf=ge,No.year=fo,No.isLeapYear=rt,No.weekYear=Oe,No.isoWeekYear=Te,No.quarter=No.quarters=Se,No.month=X,No.daysInMonth=Z,No.week=No.weeks=ut,No.isoWeek=No.isoWeeks=ct,No.weeksInYear=Ee,No.isoWeeksInYear=Ce,No.date=Mo,No.day=No.days=Re,No.weekday=Le,No.isoWeekday=Fe,No.dayOfYear=ft,No.hour=No.hours=Eo,No.minute=No.minutes=So,No.second=No.seconds=Po,No.millisecond=No.milliseconds=Io,No.utcOffset=Rt,No.utc=Ft,No.local=Bt,No.parseZone=jt,No.hasAlignedHourOffset=Ht,No.isDST=Yt,No.isDSTShifted=Wt,No.isLocal=Gt,No.isUtcOffset=Ut,No.isUtc=Vt,No.isUTC=Vt,No.zoneAbbr=Ge,No.zoneName=Ue,No.dates=J("dates accessor is deprecated. Use date instead.",Mo),No.months=J("months accessor is deprecated. Use month instead",X),No.years=J("years accessor is deprecated. Use year instead",fo),No.zone=J("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Lt);var Ao=No,zo={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Ro={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},Lo="Invalid date",Fo="%d",Bo=/\d{1,2}/,jo={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Ho=g.prototype;Ho._calendar=zo,Ho.calendar=Xe,Ho._longDateFormat=Ro,Ho.longDateFormat=Ze,Ho._invalidDate=Lo,Ho.invalidDate=Ke,Ho._ordinal=Fo,Ho.ordinal=Qe,Ho._ordinalParse=Bo,Ho.preparse=Je,Ho.postformat=Je,Ho._relativeTime=jo,Ho.relativeTime=$e,Ho.pastFuture=ti,Ho.set=ei,Ho.months=G,Ho._months=ro,Ho.monthsShort=U,Ho._monthsShort=ao,Ho.monthsParse=V,Ho.week=ht,Ho._week=mo,Ho.firstDayOfYear=lt,Ho.firstDayOfWeek=dt,Ho.weekdays=Ie,Ho._weekdays=Do,Ho.weekdaysMin=Ae,Ho._weekdaysMin=To,Ho.weekdaysShort=Ne,Ho._weekdaysShort=Oo,Ho.weekdaysParse=ze,Ho.isPM=He,Ho._meridiemParse=Co,Ho.meridiem=Ye,_("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===m(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=J("moment.lang is deprecated. Use moment.locale instead.",_),e.langData=J("moment.langData is deprecated. Use moment.localeData instead.",k);var Yo=Math.abs,Wo=yi("ms"),Go=yi("s"),Uo=yi("m"),Vo=yi("h"),qo=yi("d"),Xo=yi("w"),Zo=yi("M"),Ko=yi("y"),Qo=wi("milliseconds"),Jo=wi("seconds"),$o=wi("minutes"),tn=wi("hours"),en=wi("days"),on=wi("months"),nn=wi("years"),sn=Math.round,rn={s:45,m:45,h:22,d:26,M:11},an=Math.abs,hn=St.prototype;hn.abs=di,hn.add=ui,hn.subtract=ci,hn.as=vi,hn.asMilliseconds=Wo,hn.asSeconds=Go,hn.asMinutes=Uo,hn.asHours=Vo,hn.asDays=qo,hn.asWeeks=Xo,hn.asMonths=Zo,hn.asYears=Ko,hn.valueOf=gi,hn._bubble=pi,hn.get=bi,hn.milliseconds=Qo,hn.seconds=Jo,hn.minutes=$o,hn.hours=tn,hn.days=en,hn.weeks=_i,hn.months=on,hn.years=nn,hn.humanize=Di,hn.toISOString=Oi,hn.toString=Oi,hn.toJSON=Oi,hn.locale=pe,hn.localeData=fe,hn.toIsoString=J("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Oi),hn.lang=ko,I("X",0,0,"unix"),I("x",0,0,"valueOf"),L("x",qi),L("X",Zi),j("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),j("x",function(t,e,i){i._d=new Date(m(t))}),e.version="2.10.2",i(Ot),e.fn=Ao,e.min=Ct,e.max=Et,e.utc=d,e.unix=Ve,e.months=ni,e.isDate=s,e.locale=_,e.invalid=u,e.duration=qt,e.isMoment=f,e.weekdays=ri,e.parseZone=qe,e.localeData=k,e.isDuration=Pt,e.monthsShort=si,e.weekdaysMin=hi,e.defineLocale=x,e.weekdaysShort=ai,e.normalizeUnits=D,e.relativeTimeThreshold=Mi;var dn=e;return dn})}).call(e,i(84)(t))},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null,e=!1;return function i(o,n){function s(t){return t.match(/[^ ]+/g)}function r(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0},e.firstTarget=t;for(var o=t;o&&!i;){var n=o.hammer&&o.hammer._handlers[e.type];if(n)for(var s=0;s0?o._handlers[t]=i:(o._off(t,r),delete o._handlers[t]))}),o},o.emit=function(i,n){e||(t=n.target),o._emit(i,n)},o.destroy=function(){var t=o.element;delete t.hammer,o._handlers={},o._destroy()},o}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(f(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o-1}function _(t){return t.trim().split(/\s+/g)}function x(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function D(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=A(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=z(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=B(a,h),e.distance=F(a,h),I(i,e),e.offsetDirection=L(e.deltaX,e.deltaY),e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,N(i,e);var d=t.element;b(e.srcEvent.target,d)&&(d=e.srcEvent.target),e.target=d}function I(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};(e.eventType===Ct||s.eventType===St)&&(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function N(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Pt&&(h>Tt||r.velocity===a)){var d=r.deltaX-e.deltaX,l=r.deltaY-e.deltaY,u=R(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=L(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function A(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function R(t,e,i){return{x:e/t||0,y:i/t||0}}function L(t,e){return t===e?It:vt(t)>=vt(e)?t>0?Nt:At:e>0?zt:Rt}function F(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function B(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return B(e[1],e[0],Ht)-B(t[1],t[0],Ht)}function H(t,e){return F(e[0],e[1],Ht)/F(t[0],t[1],Ht)}function Y(){this.evEl=Wt,this.evWin=Gt,this.allow=!0,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=qt,this.evWin=Xt,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=Kt,this.evWin=Qt,this.started=!1,C.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(St|Pt)&&(i=M(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=$t,this.targetIds={},C.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(Ct|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return b(t.target,h)}),e===Ct)for(n=0;na&&(e.push(t),a=e.length-1):n&(St|Pt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Zt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},Kt="touchstart",Qt="touchstart touchmove touchend touchcancel";p(G,C,{handler:function(t){var e=Zt[t.type];if(e===Ct&&(this.started=!0),this.started){var i=U.call(this,t,e);e&(St|Pt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var Jt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},$t="touchstart touchmove touchend touchcancel";p(V,C,{handler:function(t){var e=Jt[t.type],i=q.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(X,C,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Dt;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(St|Pt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var te=D(pt.style,"touchAction"),ee=te!==a,ie="compute",oe="auto",ne="manipulation",se="none",re="pan-x",ae="pan-y";Z.prototype={set:function(t){t==ie&&(t=this.compute()),ee&&(this.manager.element.style[te]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),K(t.join(" "))},preventDefaults:function(t){if(!ee){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=w(o,se),s=w(o,ae),r=w(o,re);return n||s&&i&Lt||r&&i&Ft?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var he=1,de=2,le=4,ue=8,ce=ue,pe=16,fe=32;Q.prototype={defaults:{},set:function(t){return u(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=tt(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=tt(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=tt(t,this),-1===x(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=tt(t,this);var e=x(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(i.options.event+(e?J(o):""),t)}var i=this,o=this.state;ue>o&&e(!0),e(),o>=ue&&e(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=fe)},canEmit:function(){for(var t=0;ts?Nt:At,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?zt:Rt,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return et.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(ot,et,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(nt,Q,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(St|Pt)&&!n)this.reset();else if(t.eventType&Ct)this.reset(),this._timer=h(function(){this.state=ce,this.tryEmit()},e.time,this);else if(t.eventType&St)return ce;return fe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ce&&(t&&t.eventType&St?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),p(st,et,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),p(rt,et,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Lt|Ft,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Lt|Ft)?e=t.velocity:i&Lt?e=t.velocityX:i&Ft&&(e=t.velocityY),this._super.attrTest.call(this,t)&&i&t.direction&&t.distance>this.options.threshold&&vt(e)>this.options.velocity&&t.eventType&St},emit:function(t){var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(at,Q,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ne]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancet.left&&this.shape.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=["shadow","color","fixed"];if(R.selectiveNotDeepExtend(i,t,e),R.mergeOptions(t,e,"shadow"),void 0!==e.color){var o=R.parseColor(e.color);R.fillIfDefined(t.color,o)}void 0!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y)))}}]),t}();e["default"]=L,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i=this.options.scaling.label.maxVisible&&(r=Number(this.options.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=o(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=o(p,2);i=f[0],h=f[1],t.font=(e?"bold ":"")+r+"px "+this.options.font.face,t.fillStyle=u,t.textAlign="center",this.options.font.stroke>0&&(t.lineWidth=this.options.font.stroke,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.options.font.align){e=0,i=0;var n=2;"top"===this.options.font.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.options.font.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.options.font.color||"#000000",i=this.options.font.strokeColor||"#ffffff";if(t<=this.options.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.options.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.options.font.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=void 0===arguments[2]?0:arguments[2],o=void 0===arguments[3]?0:arguments[3],n=void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.options.font.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.options.font.size,"hanging"===n&&(this.size.top+=.5*this.options.font.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.options.label){o=String(this.options.label).split("\n"),n=o.length,t.font=(e?"bold ":"")+this.options.font.size+"px "+this.options.font.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){if("string"==typeof e.font){var i=e.font.split(" ");t.size=i[0].replace("px",""),t.face=i[1],t.color=i[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;ii.height?(r=i.x+.5*i.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}}],[{key:"parseOptions",value:function(t,e){var i=["id","font","from","hidden","hoverWidth","label","length","line","opacity","physics","selectionWidth","selfReferenceSize","to","title","value","width"];if(f.selectiveDeepExtend(i,t,e),f.mergeOptions(t,e,"smooth"),f.mergeOptions(t,e,"dashes"),f.mergeOptions(t,e,"shadow"),void 0!==e.scaling&&(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label")),void 0!==e.arrows)if("string"==typeof e.arrows){var o=e.arrows.toLowerCase();-1!=o.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=o.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=o.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to"),f.mergeOptions(t.arrows,e.arrows,"middle"),f.mergeOptions(t.arrows,e.arrows,"from")}if(void 0!==e.color)if(f.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var n=!1;void 0!==e.color.color&&(t.color.color=e.color.color,n=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,n=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,n=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&n===!0&&(t.color.inherit=!1)}}}]),t}();e["default"]=m,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;is;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i,o,n;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1*Math.random(),e=t);var s=this.options.gravitationalConstant*n.mass*o.options.mass/(t*t*t),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i,o=e.length,n=Number.MAX_VALUE,s=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(g.root),h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i,o,n,s,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom}},{key:"configureKeyboardBindings",value:function(){void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!1}):this.keycharm=a({container:this.canvas.frame,preventDefault:!1}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",this.bindToRedraw.bind(this,"_moveUp"),"keydown"),this.keycharm.bind("down",this.bindToRedraw.bind(this,"_moveDown"),"keydown"),this.keycharm.bind("left",this.bindToRedraw.bind(this,"_moveLeft"),"keydown"),this.keycharm.bind("right",this.bindToRedraw.bind(this,"_moveRight"),"keydown"),this.keycharm.bind("=",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num+",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("[",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("]",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pageup",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pagedown",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("up",this.unbindFromRedraw.bind(this,"_moveUp"),"keyup"),this.keycharm.bind("down",this.unbindFromRedraw.bind(this,"_moveDown"),"keyup"),this.keycharm.bind("left",this.unbindFromRedraw.bind(this,"_moveLeft"),"keyup"),this.keycharm.bind("right",this.unbindFromRedraw.bind(this,"_moveRight"),"keyup"),this.keycharm.bind("=",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num+",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("[",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("]",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pageup",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pagedown",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup")))}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),rs;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;nthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.ythis?this:t});It("Z",":"),It("ZZ",""),L("Z",Xi),L("ZZ",Xi),j(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Nt(t)});var yo=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var bo=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,wo=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;qt.fn=St.prototype;var _o=Qt(1,"add"),xo=Qt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var ko=J("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Me("gggg","weekYear"),Me("ggggg","weekYear"),Me("GGGG","isoWeekYear"),Me("GGGGG","isoWeekYear"),M("weekYear","gg"),M("isoWeekYear","GG"),L("G",qi),L("g",qi),L("GG",Yi,Fi),L("gg",Yi,Fi),L("GGGG",Gi,ji),L("gggg",Gi,ji),L("GGGGG",Ui,Hi),L("ggggg",Ui,Hi),H(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=m(t)}),H(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),I("Q",0,0,"quarter"),M("quarter","Q"),L("Q",Li),j("Q",function(t,e){e[to]=3*(m(t)-1)}),I("D",["DD",2],"Do","date"),M("date","D"),L("D",Yi),L("DD",Yi,Fi),L("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),j(["D","DD"],eo),j("Do",function(t,e){e[eo]=m(t.match(Yi)[0],10)});var Mo=T("Date",!0);I("d",0,"do","day"),I("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),I("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),I("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),M("day","d"),M("weekday","e"),M("isoWeekday","E"),L("d",Yi),L("e",Yi),L("E",Yi),L("dd",Ki),L("ddd",Ki),L("dddd",Ki),H(["dd","ddd","dddd"],function(t,e,i){var o=i._locale.weekdaysParse(t);null!=o?e.d=o:i._pf.invalidWeekday=t}),H(["d","e","E"],function(t,e,i,o){e[o]=m(t)});var Oo="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Do="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),To="Su_Mo_Tu_We_Th_Fr_Sa".split("_");I("H",["HH",2],0,"hour"),I("h",["hh",2],0,function(){return this.hours()%12||12}),Be("a",!0),Be("A",!1),M("hour","h"),L("a",je),L("A",je),L("H",Yi),L("h",Yi),L("HH",Yi,Fi),L("hh",Yi,Fi),j(["H","HH"],io),j(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),j(["h","hh"],function(t,e,i){e[io]=m(t),i._pf.bigHour=!0});var Co=/[ap]\.?m?\.?/i,Eo=T("Hours",!0);I("m",["mm",2],0,"minute"),M("minute","m"),L("m",Yi),L("mm",Yi,Fi),j(["m","mm"],oo);var So=T("Minutes",!1);I("s",["ss",2],0,"second"),M("second","s"),L("s",Yi),L("ss",Yi,Fi),j(["s","ss"],no);var Po=T("Seconds",!1);I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),We("SSS"),We("SSSS"),M("millisecond","ms"),L("S",Wi,Li),L("SS",Wi,Fi),L("SSS",Wi,Bi),L("SSSS",Vi),j(["S","SS","SSS","SSSS"],function(t,e){e[so]=m(1e3*("0."+t))});var Io=T("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var No=p.prototype;No.add=_o,No.calendar=$t,No.clone=te,No.diff=re,No.endOf=ve,No.format=le,No.from=ue,No.fromNow=ce,No.get=S,No.invalidAt=ke,No.isAfter=ee,No.isBefore=ie,No.isBetween=oe,No.isSame=ne,No.isValid=_e,No.lang=ko,No.locale=pe,No.localeData=fe,No.max=go,No.min=vo,No.parsingFlags=xe,No.set=S,No.startOf=me,No.subtract=xo,No.toArray=we,No.toDate=be,No.toISOString=de,No.toJSON=de,No.toString=he,No.unix=ye,No.valueOf=ge,No.year=fo,No.isLeapYear=rt,No.weekYear=De,No.isoWeekYear=Te,No.quarter=No.quarters=Se,No.month=X,No.daysInMonth=Z,No.week=No.weeks=ut,No.isoWeek=No.isoWeeks=ct,No.weeksInYear=Ee,No.isoWeeksInYear=Ce,No.date=Mo,No.day=No.days=Re,No.weekday=Le,No.isoWeekday=Fe,No.dayOfYear=ft,No.hour=No.hours=Eo,No.minute=No.minutes=So,No.second=No.seconds=Po,No.millisecond=No.milliseconds=Io,No.utcOffset=Rt,No.utc=Ft,No.local=Bt,No.parseZone=jt,No.hasAlignedHourOffset=Ht,No.isDST=Yt,No.isDSTShifted=Wt,No.isLocal=Gt,No.isUtcOffset=Ut,No.isUtc=Vt,No.isUTC=Vt,No.zoneAbbr=Ge,No.zoneName=Ue,No.dates=J("dates accessor is deprecated. Use date instead.",Mo),No.months=J("months accessor is deprecated. Use month instead",X),No.years=J("years accessor is deprecated. Use year instead",fo),No.zone=J("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Lt);var Ao=No,zo={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Ro={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},Lo="Invalid date",Fo="%d",Bo=/\d{1,2}/,jo={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Ho=g.prototype;Ho._calendar=zo,Ho.calendar=Xe,Ho._longDateFormat=Ro,Ho.longDateFormat=Ze,Ho._invalidDate=Lo,Ho.invalidDate=Ke,Ho._ordinal=Fo,Ho.ordinal=Qe,Ho._ordinalParse=Bo,Ho.preparse=Je,Ho.postformat=Je,Ho._relativeTime=jo,Ho.relativeTime=$e,Ho.pastFuture=ti,Ho.set=ei,Ho.months=G,Ho._months=ro,Ho.monthsShort=U,Ho._monthsShort=ao,Ho.monthsParse=V,Ho.week=ht,Ho._week=mo,Ho.firstDayOfYear=lt,Ho.firstDayOfWeek=dt,Ho.weekdays=Ie,Ho._weekdays=Oo,Ho.weekdaysMin=Ae,Ho._weekdaysMin=To,Ho.weekdaysShort=Ne,Ho._weekdaysShort=Do,Ho.weekdaysParse=ze,Ho.isPM=He,Ho._meridiemParse=Co,Ho.meridiem=Ye,_("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===m(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=J("moment.lang is deprecated. Use moment.locale instead.",_),e.langData=J("moment.langData is deprecated. Use moment.localeData instead.",k);var Yo=Math.abs,Wo=yi("ms"),Go=yi("s"),Uo=yi("m"),Vo=yi("h"),qo=yi("d"),Xo=yi("w"),Zo=yi("M"),Ko=yi("y"),Qo=wi("milliseconds"),Jo=wi("seconds"),$o=wi("minutes"),tn=wi("hours"),en=wi("days"),on=wi("months"),nn=wi("years"),sn=Math.round,rn={s:45,m:45,h:22,d:26,M:11},an=Math.abs,hn=St.prototype;hn.abs=di,hn.add=ui,hn.subtract=ci,hn.as=vi,hn.asMilliseconds=Wo,hn.asSeconds=Go,hn.asMinutes=Uo,hn.asHours=Vo,hn.asDays=qo,hn.asWeeks=Xo,hn.asMonths=Zo,hn.asYears=Ko,hn.valueOf=gi,hn._bubble=pi,hn.get=bi,hn.milliseconds=Qo,hn.seconds=Jo,hn.minutes=$o,hn.hours=tn,hn.days=en,hn.weeks=_i,hn.months=on,hn.years=nn,hn.humanize=Oi,hn.toISOString=Di,hn.toString=Di,hn.toJSON=Di,hn.locale=pe,hn.localeData=fe,hn.toIsoString=J("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Di),hn.lang=ko,I("X",0,0,"unix"),I("x",0,0,"valueOf"),L("x",qi),L("X",Zi),j("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),j("x",function(t,e,i){i._d=new Date(m(t))}),e.version="2.10.2",i(Dt),e.fn=Ao,e.min=Ct,e.max=Et,e.utc=d,e.unix=Ve,e.months=ni,e.isDate=s,e.locale=_,e.invalid=u,e.duration=qt,e.isMoment=f,e.weekdays=ri,e.parseZone=qe,e.localeData=k,e.isDuration=Pt,e.monthsShort=si,e.weekdaysMin=hi,e.defineLocale=x,e.weekdaysShort=ai,e.normalizeUnits=O,e.relativeTimeThreshold=Mi;var dn=e;return dn})}).call(e,i(54)(t))},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null,e=!1;return function i(o,n){function s(t){return t.match(/[^ ]+/g)}function r(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0},e.firstTarget=t;for(var o=t;o&&!i;){var n=o.hammer&&o.hammer._handlers[e.type];if(n)for(var s=0;s0?o._handlers[t]=i:(o._off(t,r),delete o._handlers[t]))}),o},o.emit=function(i,n){e||(t=n.target),o._emit(i,n)},o.destroy=function(){var t=o.element;delete t.hammer,o._handlers={},o._destroy()},o}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(f(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o-1}function _(t){return t.trim().split(/\s+/g)}function x(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=A(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=z(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=B(a,h),e.distance=F(a,h),I(i,e),e.offsetDirection=L(e.deltaX,e.deltaY),e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,N(i,e);var d=t.element;b(e.srcEvent.target,d)&&(d=e.srcEvent.target),e.target=d}function I(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};(e.eventType===Ct||s.eventType===St)&&(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function N(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Pt&&(h>Tt||r.velocity===a)){var d=r.deltaX-e.deltaX,l=r.deltaY-e.deltaY,u=R(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=L(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function A(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function R(t,e,i){return{x:e/t||0,y:i/t||0}}function L(t,e){return t===e?It:vt(t)>=vt(e)?t>0?Nt:At:e>0?zt:Rt}function F(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function B(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return B(e[1],e[0],Ht)-B(t[1],t[0],Ht)}function H(t,e){return F(e[0],e[1],Ht)/F(t[0],t[1],Ht)}function Y(){this.evEl=Wt,this.evWin=Gt,this.allow=!0,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=qt,this.evWin=Xt,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=Kt,this.evWin=Qt,this.started=!1,C.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(St|Pt)&&(i=M(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=$t,this.targetIds={},C.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(Ct|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return b(t.target,h)}),e===Ct)for(n=0;na&&(e.push(t),a=e.length-1):n&(St|Pt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Zt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},Kt="touchstart",Qt="touchstart touchmove touchend touchcancel";p(G,C,{handler:function(t){var e=Zt[t.type];if(e===Ct&&(this.started=!0),this.started){var i=U.call(this,t,e);e&(St|Pt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var Jt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},$t="touchstart touchmove touchend touchcancel";p(V,C,{handler:function(t){var e=Jt[t.type],i=q.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(X,C,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Ot;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(St|Pt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var te=O(pt.style,"touchAction"),ee=te!==a,ie="compute",oe="auto",ne="manipulation",se="none",re="pan-x",ae="pan-y";Z.prototype={set:function(t){t==ie&&(t=this.compute()),ee&&(this.manager.element.style[te]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),K(t.join(" "))},preventDefaults:function(t){if(!ee){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=w(o,se),s=w(o,ae),r=w(o,re);return n||s&&i&Lt||r&&i&Ft?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var he=1,de=2,le=4,ue=8,ce=ue,pe=16,fe=32;Q.prototype={defaults:{},set:function(t){return u(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=tt(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=tt(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=tt(t,this),-1===x(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=tt(t,this);var e=x(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(i.options.event+(e?J(o):""),t)}var i=this,o=this.state;ue>o&&e(!0),e(),o>=ue&&e(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=fe)},canEmit:function(){for(var t=0;ts?Nt:At,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?zt:Rt,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return et.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(ot,et,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(nt,Q,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(St|Pt)&&!n)this.reset();else if(t.eventType&Ct)this.reset(),this._timer=h(function(){this.state=ce,this.tryEmit()},e.time,this);else if(t.eventType&St)return ce;return fe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ce&&(t&&t.eventType&St?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),p(st,et,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),p(rt,et,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Lt|Ft,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Lt|Ft)?e=t.velocity:i&Lt?e=t.velocityX:i&Ft&&(e=t.velocityY),this._super.attrTest.call(this,t)&&i&t.direction&&t.distance>this.options.threshold&&vt(e)>this.options.velocity&&t.eventType&St},emit:function(t){var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(at,Q,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ne]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distance=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;n0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i1?(this.stabilizationIterations=0,this.startedStabilization=!1,this._emitStabilized()):this.stabilizationIterations=0,this.stopSimulation())}},{key:"_emitStabilized",value:function(){var t=this;this.stabilizationIterations>1&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:t.stabilizationIterations})},0)}},{key:"physicsTick",value:function(){this.stabilized===!1&&(this.calculateForces(),this.stabilized=this.moveNodes(),this.stabilized===!0?this.revert():this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilizationIterations++)}},{key:"updatePhysicsIndices",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)t.hasOwnProperty(i)&&t[i].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(o);for(var n=0;na&&o===!0,t=!0}return t===!0?n>.5*this.options.maxVelocity?!1:o:!0}},{key:"_performStep",value:function(t,e){var i=this.body.nodes[t],o=this.options.timestep,n=this.physicsBody.forces,s=this.physicsBody.velocities;if(this.previousStates[t]={x:i.x,y:i.y,vx:s[t].x,vy:s[t].y},i.options.fixed.x===!1){var r=this.modelOptions.damping*s[t].x,a=(n[t].x-r)/i.options.mass;s[t].x+=a*o,s[t].x=Math.abs(s[t].x)>e?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedrawRequests"),this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(this._stabilizationBatch.bind(this),0)}},{key:"_stabilizationBatch",value:function(){for(var t=0;this.stabilized===!1&&t=t&&i.push(n.id)}for(var o=0;oo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t){var e=void 0===arguments[1]?!0:arguments[1];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var i=this.body.nodes[t],o=i.containedNodes,n=i.containedEdges;for(var s in o)if(o.hasOwnProperty(s)){var r=this.body.nodes[s];r=o[s],r.x=i.x,r.y=i.y,r.vx=i.vx,r.vy=i.vy,r.options.hidden=!1,r.togglePhysics(!0),delete this.clusteredNodes[s]}for(var a in n)if(n.hasOwnProperty(a)){var h=this.body.edges[a];h.options.hidden=!1,h.togglePhysics(!0)}for(var d=0;do;)e.push(this.clusteredNodes[t].node),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t]),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;i0}),this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideNodesOnDrag:!1},s.extend(this.options,this.defaultOptions),this._determineBrowserMethod(); -},s=function(){function t(t,e){for(var i=0;ithis.imageObj.height?(i=this.imageObj.width/this.imageObj.height,t=2*this.options.size*i||this.imageObj.width,e=2*this.options.size||this.imageObj.height):(i=this.imageObj.height/this.imageObj.width,t=2*this.options.size||this.imageObj.width,e=2*this.options.size*i||this.imageObj.height),this.width=t,this.height=e}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=void 0,h=void 0;a=r.x,h=r.y;var d=1e9,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=t,v=e;for(u=1;10>u;u++)c=.1*u,p=Math.pow(1-c,2)*t+2*c*(1-c)*a+Math.pow(c,2)*i,f=Math.pow(1-c,2)*e+2*c*(1-c)*h+Math.pow(c,2)*o,u>0&&(l=this._getDistanceToLine(m,v,p,f,n,s),d=d>l?l:d),m=p,v=f;return d}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t){var e=this.options.color;if(e.inherit!==!1){if("both"===e.inherit&&this.from.id!==this.to.id){var i=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),o=void 0,n=void 0;return o=this.from.options.color.highlight.border,n=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(o=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),n=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?n=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(o=this.from.options.color.border),i.addColorStop(0,o),i.addColorStop(1,n),i}this.colorDirty===!0&&("to"===e.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,e.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,e.opacity)))}else this.colorDirty===!0&&(this.color.highlight=e.highlight,this.color.hover=e.hover,this.color.color=r.overrideOpacity(e.color,e.opacity));return this.colorDirty=!1,this.selected===!0?this.color.highlight:this.hover===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,n,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,n,s,r,a);else{var d=this._getCircleData(),l=o(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"drawArrowHead",value:function(t,e,i,n,s){t.strokeStyle=this.getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(n,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=o(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0.5)",t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r="array",a="object",h="dom",d="function",l="undefined",u={canvas:{width:{string:o},height:{string:o},__type__:{object:a}},rendering:{hideEdgesOnDrag:{"boolean":n},hideNodesOnDrag:{"boolean":n},__type__:{object:a}},clustering:{},configuration:{filter:{"boolean":n,string:["nodes","edges","layout","physics","manipulation","interaction","selection","rendering"],array:r},container:{dom:h},__type__:{object:a,string:o,array:r,"boolean":n}},edges:{arrows:{to:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a}},middle:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a}},from:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a}},__type__:{string:["from","to","middle"],object:a}},color:{color:{string:o},highlight:{string:o},hover:{string:o},inherit:{string:["from","to","both"],"boolean":n},opacity:{number:s},__type__:{object:a}},dashes:{enabled:{"boolean":n},pattern:{array:r},__type__:{"boolean":n,object:a}},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},stroke:{number:s},strokeColor:{string:o},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:a}},hidden:{"boolean":n},hoverWidth:{fn:d,number:s},label:{string:o,undef:l},length:{number:s,undef:l},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},selectionWidth:{fn:d,number:s},selfReferenceSize:{number:s},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},smooth:{enabled:{"boolean":n},dynamic:{"boolean":n},type:{string:o},roundness:{number:s},__type__:{object:a,"boolean":n}},title:{string:o,undef:l},width:{number:s},value:{number:s,undef:l},__type__:{object:a}},groups:{useDefaultGroups:{"boolean":n},__any__:["__ref__","nodes"],__type__:{object:a}},interaction:{dragNodes:{"boolean":n},dragView:{"boolean":n},zoomView:{"boolean":n},hoverEnabled:{"boolean":n},navigationButtons:{"boolean":n},tooltipDelay:{number:s},keyboard:{enabled:{"boolean":n},speed:{x:{number:s},y:{number:s},zoom:{number:s},__type__:{object:a}},bindToWindow:{"boolean":n},__type__:{object:a,"boolean":n}},__type__:{object:a}},layout:{randomSeed:void 0,hierarchical:{enabled:{"boolean":n},levelSeparation:{number:s},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:a,"boolean":n}},__type__:{object:a}},manipulation:{enabled:{"boolean":n},initiallyActive:{"boolean":n},locale:{string:o},locales:{object:a},functionality:{addNode:{"boolean":n},addEdge:{"boolean":n},editNode:{"boolean":n},editEdge:{"boolean":n},deleteNode:{"boolean":n},deleteEdge:{"boolean":n},__type__:{object:a}},handlerFunctions:{addNode:{fn:d,undef:l},addEdge:{fn:d,undef:l},editNode:{fn:d,undef:l},editEdge:{fn:d,undef:l},deleteNode:{fn:d,undef:l},deleteEdge:{fn:d,undef:l},__type__:{object:a}},controlNodeStyle:["__ref__","nodes"],__type__:{object:a,"boolean":n}},nodes:{borderWidth:{number:s},borderWidthSelected:{number:s,undef:l},brokenImage:{string:o,undef:l},color:{border:{string:o},background:{string:o},highlight:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},hover:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},__type__:{object:a,string:o}},fixed:{x:{"boolean":n},y:{"boolean":n},__type__:{object:a,"boolean":n}},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},stroke:{number:s},strokeColor:{string:o},__type__:{object:a}},group:{string:o,number:s,undef:l},hidden:{"boolean":n},icon:{face:{string:o},code:{string:o},size:{number:s},color:{string:o},__type__:{object:a}},image:{string:o,undef:l},label:{string:o,undef:l},level:{number:s,undef:l},mass:{number:s},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},size:{number:s},title:{string:o,undef:l},value:{number:s,undef:l},x:{number:s},y:{number:s},__type__:{object:a}},physics:{barnesHut:{gravitationalConstant:{number:s},centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},damping:{number:s},__type__:{object:a}},repulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},hierarchicalRepulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},maxVelocity:{number:s},minVelocity:{number:s},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion"]},stabilization:{enabled:{"boolean":n},iterations:{number:s},updateInterval:{number:s},onlyDynamicEdges:{"boolean":n},fit:{"boolean":n},__type__:{object:a,"boolean":n}},timestep:{number:s},__type__:{object:a,"boolean":n}},selection:{select:{"boolean":n},selectConnectedEdges:{"boolean":n},__type__:{object:a}},view:{},__type__:{object:a}};u.groups.__any__=u.nodes,u.manipulation.controlNodeStyle=u.nodes,e["default"]=u,t.exports=e["default"]}])}); +}return n(t,[{key:"setOptions",value:function(t){void 0!==t&&s.deepExtend(this.options,t)}},{key:"_startRendering",value:function(){this.renderingActive===!0&&(this.renderTimer||(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this))))}},{key:"_renderStep",value:function(){this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering()}},{key:"redraw",value:function(){this._redraw()}},{key:"_requestRedraw",value:function(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedrawRequests===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,!1),0):window.requestAnimationFrame(this._redraw.bind(this,!1)))}},{key:"_redraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;e.clearRect(0,0,i,o),this.body.emitter.emit("beforeDrawing",e),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),this.controlNodesActive===!0&&this._drawControlNodes(e),this.body.emitter.emit("afterDrawing",e),e.restore(),t===!0&&e.clearRect(0,0,i,o)}},{key:"_drawNodes",value:function(t){for(var e,i=void 0===arguments[1]?!1:arguments[1],o=this.body.nodes,n=this.body.nodeIndices,s=[],r=0;r0)for(var r=0;rt.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.bottom&&(i=t.shape.boundingBox.top),ot.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.bottom&&(i=t.shape.boundingBox.top),o.5*this.body.nodeIndices.length)return void this.fit(i,!1);t=this._getRange(i.nodes);var a=this.body.nodeIndices.length;e=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);e*=h}else{this.body.emitter.emit("_redraw",!0),t=this._getRange(i.nodes);var d=1.1*Math.abs(t.maxX-t.minX),l=1.1*Math.abs(t.maxY-t.minY),u=this.canvas.frame.canvas.clientWidth/d,c=this.canvas.frame.canvas.clientHeight/l;e=c>=u?u:c}e>1?e=1:0===e&&(e=1);var p=this._findCenter(t),f={position:p,scale:e,animation:i};this.moveTo(f)}},{key:"focusOnNode",value:function(t){var e=void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.body.view.translation),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=s.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getPosition",value:function(){return{x:this.body.view.translation.x,y:this.body.view.translation.y}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center);this.checkSelectionChanges(e),this.selectionHandler._generateClickEvent("click",e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center);this.checkSelectionChanges(e,!0),this.selectionHandler._generateClickEvent("click",e),this.selectionHandler._generateClickEvent("hold",e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.pageX,y:t.pageY});this.selectionHandler._generateClickEvent("rightClick",e)}},{key:"checkSelectionChanges",value:function(t){var e=void 0===arguments[1]?!1:arguments[1],i=this.selectionHandler._getSelectedEdgeCount(),o=this.selectionHandler._getSelectedNodeCount(),n=this.selectionHandler.getSelection(),s=void 0;s=e===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var r=this.selectionHandler._getSelectedEdgeCount(),a=this.selectionHandler._getSelectedNodeCount();a-o>0?(this.selectionHandler._generateClickEvent("selectNode",t),s=!0):0>a-o&&(this.selectionHandler._generateClickEvent("deselectNode",t,n),s=!0),r-i>0?(this.selectionHandler._generateClickEvent("selectEdge",t),s=!0):0>r-i&&(this.selectionHandler._generateClickEvent("deselectEdge",t,n),s=!0),s===!0&&this.selectionHandler._generateClickEvent("select",t)}},{key:"onDragStart",value:function(t){void 0===this.drag.pointer&&this.onTouch(t);var e=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=l.extend({},this.body.view.translation),this.drag.nodeId=void 0,this.selectionHandler._generateClickEvent("dragStart",this.drag.pointer),void 0!==e&&this.options.dragNodes===!0){this.drag.nodeId=e.id,e.isSelected()===!1&&(this.selectionHandler.unselectAll(),this.selectionHandler.selectObject(e));var i=this.selectionHandler.selectionObj.nodes;for(var o in i)if(i.hasOwnProperty(o)){var n=i[o],s={id:n.id,node:n,x:n.x,y:n.y,xFixed:n.options.fixed.x,yFixed:n.options.fixed.y};n.options.fixed.x=!0,n.options.fixed.y=!0,this.drag.selection.push(s)}}}},{key:"onDrag",value:function(t){var e=this;if(this.drag.pinched!==!0){this.body.emitter.emit("unlockNode");var i=this.getPointer(t.center),o=this.drag.selection;if(o&&o.length&&this.options.dragNodes===!0)!function(){var t=i.x-e.drag.pointer.x,n=i.y-e.drag.pointer.y;o.forEach(function(i){var o=i.node;i.xFixed===!1&&(o.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(i.x)+t)),i.yFixed===!1&&(o.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(i.y)+n))}),e.body.emitter.emit("startSimulation")}();else if(this.options.dragView===!0){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var n=i.x-this.drag.pointer.x,s=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+n,y:this.drag.translation.y+s},this.body.emitter.emit("_redraw")}}}},{key:"onDragEnd",value:function(t){this.drag.dragging=!1;var e=this.drag.selection;e&&e.length?(e.forEach(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed}),this.body.emitter.emit("startSimulation")):this.body.emitter.emit("_requestRedraw"),this.selectionHandler._generateClickEvent("dragEnd",this.getPointer(t.center))}},{key:"onPinch",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:"zoom",value:function(t,e){if(this.options.zoomView===!0){var i=this.body.view.scale;1e-5>t&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+"}):this.body.emitter.emit("zoom",{direction:"-"})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.pageX,y:t.pageY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.pageX,y:t.pageY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hoverEnabled===!0){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var s=this.selectionHandler.getNodeAt(i);void 0===s&&(s=this.selectionHandler.getEdgeAt(i)),void 0!=s&&this.selectionHandler.hoverObject(s);for(var r in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(r)&&(s instanceof Node&&s.id!=r||s instanceof Edge||void 0===s)&&(this.selectionHandler.blurObject(this.hoverObj.nodes[r]),delete this.hoverObj.nodes[r]);this.body.emitter.emit("_requestRedraw")}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;i0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return void 0}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return void 0}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t}},{key:"_selectionIsEmpty",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptions(e);if(i===!0)return this.body.emitter.emit("refresh"),s.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptions",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof options.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==options.physics.solver&&(this.optionsBackup.physics={solver:options.physics.solver}),t.physics.solver="hierarchicalRepulsion"):options.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth,dynamic:!0},t.edges.smooth={enabled:t.edges.smooth,dynamic:!1,type:e}):(this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!0},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!1,type:e}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0)for(var e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():("directed"===this.options.hierarchical.sortMethod,0||this._determineLevelsDirected()));var n=this._getDistribution();this._placeNodesByHierarchy(n)}}},{key:"_placeNodesByHierarchy",value:function(t){var e=void 0,i=void 0;this.positionedNodes={};for(var o in t)if(t.hasOwnProperty(o))for(e in t[o].nodes)t[o].nodes.hasOwnProperty(e)&&(i=t[o].nodes[e],"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===i.x&&(i.x=t[o].distance),t[o].distance=i.x+this.nodeSpacing):(void 0===i.y&&(i.y=t[o].distance),t[o].distance=i.y+this.nodeSpacing),this.positionedNodes[e]=!0,this._placeBranchNodes(i.edges,i.id,t,o))}},{key:"_getDistribution",value:function(){var t={},e=void 0,i=void 0;for(e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){i=this.body.nodes[e];var o=void 0===this.hierarchicalLevels[e]?0:this.hierarchicalLevels[e];"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(i.y=this.options.hierarchical.levelSeparation*o,i.options.fixed.y=!0):(i.x=this.options.hierarchical.levelSeparation*o,i.options.fixed.x=!0),void 0===t[o]&&(t[o]={amount:0,nodes:{},distance:0}),t[o].amount+=1,t[o].nodes[e]=i}return t}},{key:"_getHubSize",value:function(){var t=0;for(var e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){var i=this.body.nodes[e];void 0===this.hierarchicalLevels[e]&&(t=i.edges.length0&&(i=this._getHubSize(),0!==i);)for(t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&(e=this.body.nodes[t],e.edges.length===i&&this._setLevel(0,e))}},{key:"_setLevel",value:function(t,e){if(void 0===this.hierarchicalLevels[e.id]){var i=void 0;this.hierarchicalLevels[e.id]=t;for(var o=0;oo&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===s.x&&(s.x=Math.max(i[a].distance,r.x)),i[a].distance=s.x+this.nodeSpacing,this.positionedNodes[s.id]=!0):(void 0===s.y&&(s.y=Math.max(i[a].distance,r.y)),i[a].distance=s.y+this.nodeSpacing),this.positionedNodes[s.id]=!0,s.edges.length>1&&this._placeBranchNodes(s.edges,s.id,i,a))}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;i0){for(var n=0;n0&&"function"==typeof this.options.handlerFunctions.deleteEdge&&(o=this.options.handlerFunctions.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode&&(t.body.data.edges.remove(e.edges),t.body.data.nodes.remove(e.nodes),t.body.emitter.emit("startSimulation"))})}else this.body.data.edges.remove(i),this.body.data.nodes.remove(e),this.body.emitter.emit("startSimulation")}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);return i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e,this.body.functions.createNode(i)}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,dynamic:!1,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performCreateEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.handlerFunctions.addNode){if(2!==this.options.handlerFunctions.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.handlerFunctions.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.add(i),this.showManipulatorToolbar()}},{key:"_performCreateEdge",value:function(t,e){var i=this,o={from:t,to:e};if(this.options.handlerFunctions.addEdge){if(2!==this.options.handlerFunctions.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.handlerFunctions.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if(this.options.handlerFunctions.editEdge){if(2!==this.options.handlerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.handlerFunctions.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(o);var s=[o];this._handleObject(n,s)}i++}var r=document.createElement("div");r.className="vis-network-configuration button",r.innerHTML="generate options",r.onclick=function(){e._printOptions()},r.onmouseover=function(){r.className="vis-network-configuration button hover"},r.onmouseout=function(){r.className="vis-network-configuration button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-network-configuration vis-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(r),this._push(),this.colorPicker.insertTo(this.container)}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-network-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?e-1:0),o=1;e>o;o++)i[o-1]=arguments[o];var n=document.createElement("div");n.className="vis-network-configuration item s"+t.length,i.forEach(function(t){n.appendChild(t)}),this.domElements.push(n)}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-network-configuration header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-network-configuration label s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-network-configuration select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;s.1*e&&(a.min=e/10),2*e>s&&1!==s&&(a.max=2*e),a.value=e):a.value=o;var h=document.createElement("input");h.className="vis-network-configuration rangeinput",h.value=a.value;var d=this;a.onchange=function(){h.value=this.value,d._update(this.value,i)},a.oninput=function(){h.value=this.value};var l=this._makeLabel(i[i.length-1],i);this._makeItem(i,l,a,h)}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-network-configuration checkbox",o.checked=t,void 0!==e&&(o.checked=e,e!==t&&("object"==typeof t?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var n=this;o.onchange=function(){n._update(this.checked,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeColorField",value:function(t,e,i){var o=this,n=t[1],s=document.createElement("div");e=void 0===e?n:e,"none"!==e?(s.className="vis-network-configuration colorBlock",s.style.backgroundColor=e):s.className="vis-network-configuration colorBlock none",e=void 0===e?n:e,s.onclick=function(){o._showColorPicker(e,s,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,s)}},{key:"_showColorPicker",value:function(t,e,i){var o=this,n=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),r=n.left+n.width+5,a=n.top-s.top+.5*n.height;this.colorPicker.show(r,a),this.colorPicker.setColor(t),this.colorPicker.setCallback(function(t){var n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,o._update(n,i)})}},{key:"_handleObject",value:function(t){var e=void 0===arguments[1]?[]:arguments[1];for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],n=h.copyAndExtendArray(e,i),s=this._getValue(n);if(o instanceof Array)this._handleArray(o,s,n);else if("string"==typeof o)this._handleString(o,s,n);else if("boolean"==typeof o)this._makeCheckbox(o,s,n);else if(o instanceof Object){var r=!0;if(-1!==e.indexOf("physics")&&this.actualOptions.physics.solver!==i&&(r=!1),r===!0)if(void 0!==o.enabled){var a=h.copyAndExtendArray(n,"enabled"),d=this._getValue(a);if(d===!0){var l=this._makeLabel(i,n,!0);this._makeItem(n,l),this._handleObject(o,n)}else this._makeCheckbox(o,d,n)}else{var l=this._makeLabel(i,n,!0);this._makeItem(n,l),this._handleObject(o,n)}}else console.error("dont know how to handle",o,i,n)}}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.network.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=void 0===arguments[2]?{}:arguments[2],o=i;t="true"===t?!0:t,t="false"===t?!1:t;for(var n=0;nvar options = "+JSON.stringify(t,null,2)+""}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;il&&h>l&&(n=d,s=l)}return h>s?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n+'"?'+t.printLocation(o,e),a):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),a),r=!0,n}},{key:"printLocation",value:function(t,e){for(var i="\n\nProblem value found at: \noptions = {\n",o=0;on;n++)i+=" ";i+=t[o]+": {\n"}for(var n=0;no;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=["color","fixed","font","shadow"];if(L.selectiveNotDeepExtend(i,t,e),L.mergeOptions(t,e,"shadow"),void 0!==e.color){var o=L.parseColor(e.color);L.fillIfDefined(t.color,o)}void 0!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y)))}}]),t}();e["default"]=F,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i=this.options.scaling.label.maxVisible&&(r=Number(this.options.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=o(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=o(p,2);i=f[0],h=f[1],t.font=(e?"bold ":"")+r+"px "+this.options.font.face,t.fillStyle=u,t.textAlign="center",this.options.font.stroke>0&&(t.lineWidth=this.options.font.stroke,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.options.font.align){e=0,i=0;var n=2;"top"===this.options.font.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.options.font.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.options.font.color||"#000000",i=this.options.font.strokeColor||"#ffffff";if(t<=this.options.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.options.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.options.font.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=void 0===arguments[2]?0:arguments[2],o=void 0===arguments[3]?0:arguments[3],n=void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.options.font.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.options.font.size,"hanging"===n&&(this.size.top+=.5*this.options.font.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.options.label){o=String(this.options.label).split("\n"),n=o.length,t.font=(e?"bold ":"")+this.options.font.size+"px "+this.options.font.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){if("string"==typeof e.font){var i=e.font.split(" ");t.size=i[0].replace("px",""),t.face=i[1],t.color=i[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;ii.height?(r=i.x+.5*i.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}}],[{key:"parseOptions",value:function(t,e){var i=["id","font","from","hidden","hoverWidth","label","length","line","opacity","physics","selectionWidth","selfReferenceSize","to","title","value","width"];if(f.selectiveDeepExtend(i,t,e),f.mergeOptions(t,e,"smooth"),f.mergeOptions(t,e,"dashes"),f.mergeOptions(t,e,"shadow"),void 0!==e.scaling&&(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label")),void 0!==e.arrows)if("string"==typeof e.arrows){var o=e.arrows.toLowerCase();-1!=o.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=o.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=o.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to"),f.mergeOptions(t.arrows,e.arrows,"middle"),f.mergeOptions(t.arrows,e.arrows,"from")}if(void 0!==e.color)if(f.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var n=!1;void 0!==e.color.color&&(t.color.color=e.color.color,n=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,n=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,n=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&n===!0&&(t.color.inherit=!1)}}}]),t}();e["default"]=m,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;is;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i,o,n;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1*Math.random(),e=t);var s=this.options.gravitationalConstant*n.mass*o.options.mass/(t*t*t),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i,o=e.length,n=Number.MAX_VALUE,s=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(g.root),h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i,o,n,s,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom}},{key:"configureKeyboardBindings",value:function(){void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!1}):this.keycharm=a({container:this.canvas.frame,preventDefault:!1}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",this.bindToRedraw.bind(this,"_moveUp"),"keydown"),this.keycharm.bind("down",this.bindToRedraw.bind(this,"_moveDown"),"keydown"),this.keycharm.bind("left",this.bindToRedraw.bind(this,"_moveLeft"),"keydown"),this.keycharm.bind("right",this.bindToRedraw.bind(this,"_moveRight"),"keydown"),this.keycharm.bind("=",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num+",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("[",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("]",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pageup",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pagedown",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("up",this.unbindFromRedraw.bind(this,"_moveUp"),"keyup"),this.keycharm.bind("down",this.unbindFromRedraw.bind(this,"_moveDown"),"keyup"),this.keycharm.bind("left",this.unbindFromRedraw.bind(this,"_moveLeft"),"keyup"),this.keycharm.bind("right",this.unbindFromRedraw.bind(this,"_moveRight"),"keyup"),this.keycharm.bind("=",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num+",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("[",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("]",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pageup",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pagedown",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup")))}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),rs;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;ithis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.ythis.imageObj.height?(i=this.imageObj.width/this.imageObj.height,t=2*this.options.size*i||this.imageObj.width,e=2*this.options.size||this.imageObj.height):(i=this.imageObj.height/this.imageObj.width,t=2*this.options.size||this.imageObj.width,e=2*this.options.size*i||this.imageObj.height),this.width=t,this.height=e}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){var o=function(t){return t&&t.__esModule?t:{"default":t}},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=void 0,h=void 0;a=r.x,h=r.y;var d=1e9,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=t,v=e;for(u=1;10>u;u++)c=.1*u,p=Math.pow(1-c,2)*t+2*c*(1-c)*a+Math.pow(c,2)*i,f=Math.pow(1-c,2)*e+2*c*(1-c)*h+Math.pow(c,2)*o,u>0&&(l=this._getDistanceToLine(m,v,p,f,n,s),d=d>l?l:d),m=p,v=f;return d}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){var o=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t){var e=this.options.color;if(e.inherit!==!1){if("both"===e.inherit&&this.from.id!==this.to.id){var i=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),o=void 0,n=void 0;return o=this.from.options.color.highlight.border,n=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(o=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),n=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?n=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(o=this.from.options.color.border),i.addColorStop(0,o),i.addColorStop(1,n),i}this.colorDirty===!0&&("to"===e.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,e.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,e.opacity)))}else this.colorDirty===!0&&(this.color.highlight=e.highlight,this.color.hover=e.hover,this.color.color=r.overrideOpacity(e.color,e.opacity));return this.colorDirty=!1,this.selected===!0?this.color.highlight:this.hover===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,n,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,n,s,r,a);else{var d=this._getCircleData(),l=o(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"drawArrowHead",value:function(t,e,i,n,s){t.strokeStyle=this.getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(n,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=o(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0.5)",t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]}])}); //# sourceMappingURL=vis.map diff --git a/lib/network/Network.js b/lib/network/Network.js index 065a6f45..8f9a862b 100644 --- a/lib/network/Network.js +++ b/lib/network/Network.js @@ -356,4 +356,46 @@ Network.prototype.isActive = function () { return !this.activator || this.activator.active; }; + +Network.prototype.setSize = function() {this.canvas.setSize.apply(this.canvas,arguments);} +Network.prototype.canvasToDOM = function() {this.canvas.canvasToDOM.apply(this.canvas,arguments);} +Network.prototype.DOMtoCanvas = function() {this.canvas.setSize.DOMtoCanvas(this.canvas,arguments);} +Network.prototype.findNode = function() {this.clustering.findNode.apply(this.clustering,arguments);} +Network.prototype.isCluster = function() {this.clustering.isCluster.apply(this.clustering,arguments);} +Network.prototype.openCluster = function() {this.clustering.openCluster.apply(this.clustering,arguments);} +Network.prototype.cluster = function() {this.clustering.cluster.apply(this.clustering,arguments);} +Network.prototype.clusterByConnection = function() {this.clustering.clusterByConnection.apply(this.clustering,arguments);} +Network.prototype.clusterByHubsize = function() {this.clustering.clusterByHubsize.apply(this.clustering,arguments);} +Network.prototype.clusterOutliers = function() {this.clustering.clusterOutliers.apply(this.clustering,arguments);} +Network.prototype.getSeed = function() {this.layoutEngine.getSeed.apply(this.layoutEngine,arguments);} +Network.prototype.enableEditMode = function() {this.manipulation.enableEditMode.apply(this.manipulation,arguments);} +Network.prototype.disableEditMode = function() {this.manipulation.disableEditMode.apply(this.manipulation,arguments);} +Network.prototype.addNodeMode = function() {this.manipulation.addNodeMode.apply(this.manipulation,arguments);} +Network.prototype.editNodeMode = function() {this.manipulation.editNodeMode.apply(this.manipulation,arguments);} +Network.prototype.addEdgeMode = function() {this.manipulation.addEdgeMode.apply(this.manipulation,arguments);} +Network.prototype.editEdgeMode = function() {this.manipulation.editEdgeMode.apply(this.manipulation,arguments);} +Network.prototype.deleteSelected = function() {this.manipulation.deleteSelected.apply(this.manipulation,arguments);} +Network.prototype.getPositions = function() {this.nodesHandler.getPositions.apply(this.nodesHandler,arguments);} +Network.prototype.storePositions = function() {this.nodesHandler.storePositions.apply(this.nodesHandler,arguments);} +Network.prototype.getBoundingBox = function() {this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments);} +Network.prototype.getConnectedNodes = function() {this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments);} +Network.prototype.getEdges = function() {this.nodesHandler.getEdges.apply(this.nodesHandler,arguments);} +Network.prototype.startSimulation = function() {this.physics.startSimulation.apply(this.physics,arguments);} +Network.prototype.stopSimulation = function() {this.physics.stopSimulation.apply(this.physics,arguments);} +Network.prototype.stabilize = function() {this.physics.stabilize.apply(this.physics,arguments);} +Network.prototype.getSelection = function() {this.selectionHandler.getSelection.apply(this.selectionHandler,arguments);} +Network.prototype.getSelectedNodes = function() {this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments);} +Network.prototype.getSelectedEdges = function() {this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments);} +Network.prototype.getNodeAt = function() {this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);} +Network.prototype.getEdgeAt = function() {this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);} +Network.prototype.selectNodes = function() {this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments);} +Network.prototype.selectEdges = function() {this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments);} +Network.prototype.unselectAll = function() {this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments);} +Network.prototype.getScale = function() {this.view.getScale.apply(this.view,arguments);} +Network.prototype.getPosition = function() {this.view.getPosition.apply(this.view,arguments);} +Network.prototype.fit = function() {this.view.fit.apply(this.view,arguments);} +Network.prototype.moveTo = function() {this.view.moveTo.apply(this.view,arguments);} +Network.prototype.focusOnNode = function() {this.view.focusOnNode.apply(this.view,arguments);} +Network.prototype.releaseNode = function() {this.view.releaseNode.apply(this.view,arguments);} + module.exports = Network;