From 58557a8f70bd37a7cbc491b6054a9bd883c245af Mon Sep 17 00:00:00 2001 From: jos Date: Fri, 12 Sep 2014 17:20:38 +0200 Subject: [PATCH] Released version 3.4.2 --- dist/vis.js | 8734 ++++++++++---------- dist/vis.map | 2 +- dist/vis.min.js | 30 +- docs/network.html | 7 + download/vis.zip | Bin 1961436 -> 1962365 bytes examples/network/02_random_nodes.html | 4 +- examples/network/21_data_manipulation.html | 2 +- index.html | 2 +- 8 files changed, 4421 insertions(+), 4360 deletions(-) diff --git a/dist/vis.js b/dist/vis.js index 3247424f..55e9e98b 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.4.1 - * @date 2014-09-11 + * @version 3.4.2 + * @date 2014-09-12 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -14302,6 +14302,8 @@ return /******/ (function(modules) { // webpackBootstrap this.targetScale = 0; this.sourceTranslation = 0; this.targetTranslation = 0; + this.lockedOnNodeId = null; + this.lockedOnNodeOffset = null; // Node variables var network = this; @@ -14970,6 +14972,8 @@ return /******/ (function(modules) { // webpackBootstrap return; } + this.releaseNode(); + var pointer = this._getPointer(event.gesture.center); var me = this; @@ -16347,6 +16351,7 @@ return /******/ (function(modules) { // webpackBootstrap } var nodePosition = {x: this.nodes[nodeId].x, y: this.nodes[nodeId].y}; options.position = nodePosition; + options.lockedOnNode = nodeId; this.moveTo(options) } @@ -16398,6 +16403,13 @@ return /******/ (function(modules) { // webpackBootstrap return; } + // release if something focussed on the node + this.releaseNode(); + if (options.locked == true) { + this.lockedOnNodeId = options.lockedOnNode; + this.lockedOnNodeOffset = options.offset; + } + // forcefully complete the old animation if it was still running if (this.easingTime != 0) { this._transitionRedraw(1); // by setting easingtime to 1, we finish the animation. @@ -16422,21 +16434,53 @@ return /******/ (function(modules) { // webpackBootstrap // if the time is set to 0, don't do an animation if (options.animation.duration == 0) { - this._setScale(this.targetScale); - this._setTranslation(this.targetTranslation.x, this.targetTranslation.y); - this._redraw(); + if (this.lockedOnNodeId != null) { + this._classicRedraw = this._redraw; + this._redraw = this._lockedRedraw; + } + else { + this._setScale(this.targetScale); + this._setTranslation(this.targetTranslation.x, this.targetTranslation.y); + this._redraw(); + } } else { this.animationSpeed = 1 / (this.renderRefreshRate * options.animation.duration * 0.001) || 1 / this.renderRefreshRate; this.animationEasingFunction = options.animation.easingFunction; this._classicRedraw = this._redraw; this._redraw = this._transitionRedraw; + this._redraw(); this.moving = true; this.start(); } }; + Network.prototype._lockedRedraw = function () { + var nodePosition = {x: this.nodes[this.lockedOnNodeId].x, y: this.nodes[this.lockedOnNodeId].y}; + var viewCenter = this.DOMtoCanvas({x: 0.5 * this.frame.canvas.clientWidth, y: 0.5 * this.frame.canvas.clientHeight}); + var distanceFromCenter = { // offset from view, distance view has to change by these x and y to center the node + x: viewCenter.x - nodePosition.x, + y: viewCenter.y - nodePosition.y + }; + var sourceTranslation = this._getTranslation(); + var targetTranslation = { + x: sourceTranslation.x + distanceFromCenter.x * this.scale + this.lockedOnNodeOffset.x, + y: sourceTranslation.y + distanceFromCenter.y * this.scale + this.lockedOnNodeOffset.y + }; + + this._setTranslation(targetTranslation.x,targetTranslation.y); + this._classicRedraw(); + } + + Network.prototype.releaseNode = function () { + if (this.lockedOnNodeId != null) { + this._redraw = this._classicRedraw; + this.lockedOnNodeId = null; + this.lockedOnNodeOffset = null; + } + } + /** * * @param easingTime @@ -16456,10 +16500,16 @@ return /******/ (function(modules) { // webpackBootstrap this._classicRedraw(); this.moving = true; + // cleanup if (this.easingTime >= 1.0) { this.easingTime = 0; - this._redraw = this._classicRedraw; + if (this.lockedOnNodeId != null) { + this._redraw = this._lockedRedraw; + } + else { + this._redraw = this._classicRedraw; + } this.emit("animationFinished"); } }; @@ -18693,6 +18743,9 @@ return /******/ (function(modules) { // webpackBootstrap var height = this.options.fontSize * lineCount; var left = x - width / 2; var top = y - height / 2; + if (ctx.textBaseline == "top") { + top += 0.5 * fontSize; + } ctx.fillStyle = this.options.fontFill; ctx.fillRect(left, top, width, height); } @@ -19852,7 +19905,7 @@ return /******/ (function(modules) { // webpackBootstrap // first check if moment.js is already loaded in the browser window, if so, // use this instance. Else, load via commonjs. - module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(52); + module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(53); /***/ }, @@ -19862,7 +19915,7 @@ return /******/ (function(modules) { // webpackBootstrap // Only load hammer.js when in a browser environment // (loading hammer.js in a node.js environment gives errors) if (typeof window !== 'undefined') { - module.exports = window['Hammer'] || __webpack_require__(53); + module.exports = window['Hammer'] || __webpack_require__(52); } else { module.exports = function () { @@ -21190,10 +21243,11 @@ return /******/ (function(modules) { // webpackBootstrap if (this.manipulationDiv !== undefined) { // removes all the bindings and overloads this._createManipulatorBar(); + // remove the manipulation divs - this.containerElement.removeChild(this.manipulationDiv); - this.containerElement.removeChild(this.editModeDiv); - this.containerElement.removeChild(this.closeDiv); + this.frame.removeChild(this.manipulationDiv); + this.frame.removeChild(this.editModeDiv); + this.frame.removeChild(this.closeDiv); this.manipulationDiv = undefined; this.editModeDiv = undefined; @@ -22361,5031 +22415,5031 @@ return /******/ (function(modules) { // webpackBootstrap /* 52 */ /***/ function(module, exports, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js - //! version : 2.8.3 - //! authors : Tim Wood, Iskren Chernev, Moment.js contributors - //! license : MIT - //! momentjs.com + var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20 + * http://eightmedia.github.io/hammer.js + * + * Copyright (c) 2014 Jorik Tangelder ; + * Licensed under the MIT license */ - (function (undefined) { - /************************************ - Constants - ************************************/ + (function(window, undefined) { + 'use strict'; - var moment, - VERSION = '2.8.3', - // the global-scope this is NOT the global object in Node.js - globalScope = typeof global !== 'undefined' ? global : this, - oldGlobalMoment, - round = Math.round, - hasOwnProperty = Object.prototype.hasOwnProperty, - i, + /** + * @main + * @module hammer + * + * @class Hammer + * @static + */ - YEAR = 0, - MONTH = 1, - DATE = 2, - HOUR = 3, - MINUTE = 4, - SECOND = 5, - MILLISECOND = 6, + /** + * Hammer, use this to create instances + * ```` + * var hammertime = new Hammer(myElement); + * ```` + * + * @method Hammer + * @param {HTMLElement} element + * @param {Object} [options={}] + * @return {Hammer.Instance} + */ + var Hammer = function Hammer(element, options) { + return new Hammer.Instance(element, options || {}); + }; - // internal storage for locale config files - locales = {}, + /** + * version, as defined in package.json + * the value will be set at each build + * @property VERSION + * @final + * @type {String} + */ + Hammer.VERSION = '1.1.3'; - // extra moment internal properties (plugins register props here) - momentProperties = [], + /** + * default settings. + * more settings are defined per gesture at `/gestures`. Each gesture can be disabled/enabled + * by setting it's name (like `swipe`) to false. + * You can set the defaults for all instances by changing this object before creating an instance. + * @example + * ```` + * Hammer.defaults.drag = false; + * Hammer.defaults.behavior.touchAction = 'pan-y'; + * delete Hammer.defaults.behavior.userSelect; + * ```` + * @property defaults + * @type {Object} + */ + Hammer.defaults = { + /** + * this setting object adds styles and attributes to the element to prevent the browser from doing + * its native behavior. The css properties are auto prefixed for the browsers when needed. + * @property defaults.behavior + * @type {Object} + */ + behavior: { + /** + * Disables text selection to improve the dragging gesture. When the value is `none` it also sets + * `onselectstart=false` for IE on the element. Mainly for desktop browsers. + * @property defaults.behavior.userSelect + * @type {String} + * @default 'none' + */ + userSelect: 'none', - // check for nodeJS - hasModule = (typeof module !== 'undefined' && module.exports), + /** + * Specifies whether and how a given region can be manipulated by the user (for instance, by panning or zooming). + * Used by Chrome 35> and IE10>. By default this makes the element blocking any touch event. + * @property defaults.behavior.touchAction + * @type {String} + * @default: 'pan-y' + */ + touchAction: 'pan-y', - // ASP.NET json date format regex - aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, - aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, + /** + * Disables the default callout shown when you touch and hold a touch target. + * On iOS, when you touch and hold a touch target such as a link, Safari displays + * a callout containing information about the link. This property allows you to disable that callout. + * @property defaults.behavior.touchCallout + * @type {String} + * @default 'none' + */ + touchCallout: 'none', - // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html - // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere - isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, + /** + * Specifies whether zooming is enabled. Used by IE10> + * @property defaults.behavior.contentZooming + * @type {String} + * @default 'none' + */ + contentZooming: 'none', - // format tokens - formattingTokens = /(\[[^\[]*\])|(\\)?(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|zz?|ZZ?|.)/g, - localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g, + /** + * Specifies that an entire element should be draggable instead of its contents. + * Mainly for desktop browsers. + * @property defaults.behavior.userDrag + * @type {String} + * @default 'none' + */ + userDrag: 'none', - // parsing token regexes - parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 - parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 - parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999 - parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 - parseTokenDigits = /\d+/, // nonzero number of digits - parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. - parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z - parseTokenT = /T/i, // T (ISO separator) - parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - parseTokenOrdinal = /\d{1,2}/, + /** + * Overrides the highlight color shown when the user taps a link or a JavaScript + * clickable element in Safari on iPhone. This property obeys the alpha value, if specified. + * + * If you don't specify an alpha value, Safari on iPhone applies a default alpha value + * to the color. To disable tap highlighting, set the alpha value to 0 (invisible). + * If you set the alpha value to 1.0 (opaque), the element is not visible when tapped. + * @property defaults.behavior.tapHighlightColor + * @type {String} + * @default 'rgba(0,0,0,0)' + */ + tapHighlightColor: 'rgba(0,0,0,0)' + } + }; - //strict parsing regexes - parseTokenOneDigit = /\d/, // 0 - 9 - parseTokenTwoDigits = /\d\d/, // 00 - 99 - parseTokenThreeDigits = /\d{3}/, // 000 - 999 - parseTokenFourDigits = /\d{4}/, // 0000 - 9999 - parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999 - parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf + /** + * hammer document where the base events are added at + * @property DOCUMENT + * @type {HTMLElement} + * @default window.document + */ + Hammer.DOCUMENT = document; - // iso 8601 regex - // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) - isoRegex = /^\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)?)?$/, + /** + * detect support for pointer events + * @property HAS_POINTEREVENTS + * @type {Boolean} + */ + Hammer.HAS_POINTEREVENTS = navigator.pointerEnabled || navigator.msPointerEnabled; - isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', + /** + * detect support for touch events + * @property HAS_TOUCHEVENTS + * @type {Boolean} + */ + Hammer.HAS_TOUCHEVENTS = ('ontouchstart' in window); - isoDates = [ - ['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}/] - ], + /** + * detect mobile browsers + * @property IS_MOBILE + * @type {Boolean} + */ + Hammer.IS_MOBILE = /mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent); - // iso time formats and regexes - isoTimes = [ - ['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/] - ], + /** + * detect if we want to support mouseevents at all + * @property NO_MOUSEEVENTS + * @type {Boolean} + */ + Hammer.NO_MOUSEEVENTS = (Hammer.HAS_TOUCHEVENTS && Hammer.IS_MOBILE) || Hammer.HAS_POINTEREVENTS; - // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30'] - parseTimezoneChunker = /([\+\-]|\d\d)/gi, + /** + * interval in which Hammer recalculates current velocity/direction/angle in ms + * @property CALCULATE_INTERVAL + * @type {Number} + * @default 25 + */ + Hammer.CALCULATE_INTERVAL = 25; - // getter and setter names - proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), - unitMillisecondFactors = { - 'Milliseconds' : 1, - 'Seconds' : 1e3, - 'Minutes' : 6e4, - 'Hours' : 36e5, - 'Days' : 864e5, - 'Months' : 2592e6, - 'Years' : 31536e6 - }, + /** + * eventtypes per touchevent (start, move, end) are filled by `Event.determineEventTypes` on `setup` + * the object contains the DOM event names per type (`EVENT_START`, `EVENT_MOVE`, `EVENT_END`) + * @property EVENT_TYPES + * @private + * @writeOnce + * @type {Object} + */ + var EVENT_TYPES = {}; - unitAliases = { - ms : 'millisecond', - s : 'second', - m : 'minute', - h : 'hour', - d : 'day', - D : 'date', - w : 'week', - W : 'isoWeek', - M : 'month', - Q : 'quarter', - y : 'year', - DDD : 'dayOfYear', - e : 'weekday', - E : 'isoWeekday', - gg: 'weekYear', - GG: 'isoWeekYear' - }, + /** + * direction strings, for safe comparisons + * @property DIRECTION_DOWN|LEFT|UP|RIGHT + * @final + * @type {String} + * @default 'down' 'left' 'up' 'right' + */ + var DIRECTION_DOWN = Hammer.DIRECTION_DOWN = 'down'; + var DIRECTION_LEFT = Hammer.DIRECTION_LEFT = 'left'; + var DIRECTION_UP = Hammer.DIRECTION_UP = 'up'; + var DIRECTION_RIGHT = Hammer.DIRECTION_RIGHT = 'right'; - camelFunctions = { - dayofyear : 'dayOfYear', - isoweekday : 'isoWeekday', - isoweek : 'isoWeek', - weekyear : 'weekYear', - isoweekyear : 'isoWeekYear' - }, + /** + * pointertype strings, for safe comparisons + * @property POINTER_MOUSE|TOUCH|PEN + * @final + * @type {String} + * @default 'mouse' 'touch' 'pen' + */ + var POINTER_MOUSE = Hammer.POINTER_MOUSE = 'mouse'; + var POINTER_TOUCH = Hammer.POINTER_TOUCH = 'touch'; + var POINTER_PEN = Hammer.POINTER_PEN = 'pen'; - // format function strings - formatFunctions = {}, + /** + * eventtypes + * @property EVENT_START|MOVE|END|RELEASE|TOUCH + * @final + * @type {String} + * @default 'start' 'change' 'move' 'end' 'release' 'touch' + */ + var EVENT_START = Hammer.EVENT_START = 'start'; + var EVENT_MOVE = Hammer.EVENT_MOVE = 'move'; + var EVENT_END = Hammer.EVENT_END = 'end'; + var EVENT_RELEASE = Hammer.EVENT_RELEASE = 'release'; + var EVENT_TOUCH = Hammer.EVENT_TOUCH = 'touch'; - // default relative time thresholds - relativeTimeThresholds = { - s: 45, // seconds to minute - m: 45, // minutes to hour - h: 22, // hours to day - d: 26, // days to month - M: 11 // months to year - }, + /** + * if the window events are set... + * @property READY + * @writeOnce + * @type {Boolean} + * @default false + */ + Hammer.READY = false; - // tokens to ordinalize and pad - ordinalizeTokens = 'DDD w W M D d'.split(' '), - paddedTokens = 'M D H h m s w W'.split(' '), + /** + * plugins namespace + * @property plugins + * @type {Object} + */ + Hammer.plugins = Hammer.plugins || {}; - formatTokenFunctions = { - M : function () { - return this.month() + 1; - }, - MMM : function (format) { - return this.localeData().monthsShort(this, format); - }, - MMMM : function (format) { - return this.localeData().months(this, format); - }, - D : function () { - return this.date(); - }, - DDD : function () { - return this.dayOfYear(); - }, - d : function () { - return this.day(); - }, - dd : function (format) { - return this.localeData().weekdaysMin(this, format); - }, - ddd : function (format) { - return this.localeData().weekdaysShort(this, format); - }, - dddd : function (format) { - return this.localeData().weekdays(this, format); - }, - w : function () { - return this.week(); - }, - W : function () { - return this.isoWeek(); - }, - YY : function () { - return leftZeroFill(this.year() % 100, 2); - }, - YYYY : function () { - return leftZeroFill(this.year(), 4); - }, - YYYYY : function () { - return leftZeroFill(this.year(), 5); - }, - YYYYYY : function () { - var y = this.year(), sign = y >= 0 ? '+' : '-'; - return sign + leftZeroFill(Math.abs(y), 6); - }, - gg : function () { - return leftZeroFill(this.weekYear() % 100, 2); - }, - gggg : function () { - return leftZeroFill(this.weekYear(), 4); - }, - ggggg : function () { - return leftZeroFill(this.weekYear(), 5); - }, - GG : function () { - return leftZeroFill(this.isoWeekYear() % 100, 2); - }, - GGGG : function () { - return leftZeroFill(this.isoWeekYear(), 4); - }, - GGGGG : function () { - return leftZeroFill(this.isoWeekYear(), 5); - }, - e : function () { - return this.weekday(); - }, - E : function () { - return this.isoWeekday(); - }, - a : function () { - return this.localeData().meridiem(this.hours(), this.minutes(), true); - }, - A : function () { - return this.localeData().meridiem(this.hours(), this.minutes(), false); - }, - H : function () { - return this.hours(); - }, - h : function () { - return this.hours() % 12 || 12; - }, - m : function () { - return this.minutes(); - }, - s : function () { - return this.seconds(); - }, - S : function () { - return toInt(this.milliseconds() / 100); - }, - SS : function () { - return leftZeroFill(toInt(this.milliseconds() / 10), 2); - }, - SSS : function () { - return leftZeroFill(this.milliseconds(), 3); - }, - SSSS : function () { - return leftZeroFill(this.milliseconds(), 3); - }, - Z : function () { - var a = -this.zone(), - b = '+'; - if (a < 0) { - a = -a; - b = '-'; - } - return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2); - }, - ZZ : function () { - var a = -this.zone(), - b = '+'; - if (a < 0) { - a = -a; - b = '-'; - } - return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2); - }, - z : function () { - return this.zoneAbbr(); - }, - zz : function () { - return this.zoneName(); - }, - X : function () { - return this.unix(); - }, - Q : function () { - return this.quarter(); - } - }, + /** + * gestures namespace + * see `/gestures` for the definitions + * @property gestures + * @type {Object} + */ + Hammer.gestures = Hammer.gestures || {}; - deprecations = {}, + /** + * setup events to detect gestures on the document + * this function is called when creating an new instance + * @private + */ + function setup() { + if(Hammer.READY) { + return; + } - lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin']; + // find what eventtypes we add listeners to + Event.determineEventTypes(); - // Pick the first defined of two or three arguments. dfl comes from - // default. - function dfl(a, b, c) { - switch (arguments.length) { - case 2: return a != null ? a : b; - case 3: return a != null ? a : b != null ? b : c; - default: throw new Error('Implement me'); - } - } - - function hasOwnProp(a, b) { - return hasOwnProperty.call(a, b); - } + // Register all gestures inside Hammer.gestures + Utils.each(Hammer.gestures, function(gesture) { + Detection.register(gesture); + }); - function defaultParsingFlags() { - // We need to deep clone this object, and es5 standard is not very - // helpful. - return { - empty : false, - unusedTokens : [], - unusedInput : [], - overflow : -2, - charsLeftOver : 0, - nullInput : false, - invalidMonth : null, - invalidFormat : false, - userInvalidated : false, - iso: false - }; - } + // Add touch events on the document + Event.onTouch(Hammer.DOCUMENT, EVENT_MOVE, Detection.detect); + Event.onTouch(Hammer.DOCUMENT, EVENT_END, Detection.detect); - function printMsg(msg) { - if (moment.suppressDeprecationWarnings === false && - typeof console !== 'undefined' && console.warn) { - console.warn('Deprecation warning: ' + msg); - } - } + // Hammer is ready...! + Hammer.READY = true; + } - function deprecate(msg, fn) { - var firstTime = true; - return extend(function () { - if (firstTime) { - printMsg(msg); - firstTime = false; + /** + * @module hammer + * + * @class Utils + * @static + */ + var Utils = Hammer.utils = { + /** + * extend method, could also be used for cloning when `dest` is an empty object. + * changes the dest object + * @method extend + * @param {Object} dest + * @param {Object} src + * @param {Boolean} [merge=false] do a merge + * @return {Object} dest + */ + extend: function extend(dest, src, merge) { + for(var key in src) { + if(!src.hasOwnProperty(key) || (dest[key] !== undefined && merge)) { + continue; } - return fn.apply(this, arguments); - }, fn); - } - - function deprecateSimple(name, msg) { - if (!deprecations[name]) { - printMsg(msg); - deprecations[name] = true; + dest[key] = src[key]; } - } - - function padToken(func, count) { - return function (a) { - return leftZeroFill(func.call(this, a), count); - }; - } - function ordinalizeToken(func, period) { - return function (a) { - return this.localeData().ordinal(func.call(this, a), period); - }; - } - - while (ordinalizeTokens.length) { - i = ordinalizeTokens.pop(); - formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i); - } - while (paddedTokens.length) { - i = paddedTokens.pop(); - formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2); - } - formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3); + return dest; + }, + /** + * simple addEventListener wrapper + * @method on + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + */ + on: function on(element, type, handler) { + element.addEventListener(type, handler, false); + }, - /************************************ - Constructors - ************************************/ + /** + * simple removeEventListener wrapper + * @method off + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + */ + off: function off(element, type, handler) { + element.removeEventListener(type, handler, false); + }, - function Locale() { - } + /** + * forEach over arrays and objects + * @method each + * @param {Object|Array} obj + * @param {Function} iterator + * @param {any} iterator.item + * @param {Number} iterator.index + * @param {Object|Array} iterator.obj the source object + * @param {Object} context value to use as `this` in the iterator + */ + each: function each(obj, iterator, context) { + var i, len; - // Moment prototype object - function Moment(config, skipOverflow) { - if (skipOverflow !== false) { - checkOverflow(config); + // native forEach on arrays + if('forEach' in obj) { + obj.forEach(iterator, context); + // arrays + } else if(obj.length !== undefined) { + for(i = 0, len = obj.length; i < len; i++) { + if(iterator.call(context, obj[i], i, obj) === false) { + return; + } + } + // objects + } else { + for(i in obj) { + if(obj.hasOwnProperty(i) && + iterator.call(context, obj[i], i, obj) === false) { + return; + } + } } - copyConfig(this, config); - this._d = new Date(+config._d); - } - - // Duration Constructor - function Duration(duration) { - var normalizedInput = normalizeObjectUnits(duration), - years = normalizedInput.year || 0, - quarters = normalizedInput.quarter || 0, - months = normalizedInput.month || 0, - weeks = normalizedInput.week || 0, - days = normalizedInput.day || 0, - hours = normalizedInput.hour || 0, - minutes = normalizedInput.minute || 0, - seconds = normalizedInput.second || 0, - milliseconds = normalizedInput.millisecond || 0; - - // representation for dateAddRemove - this._milliseconds = +milliseconds + - seconds * 1e3 + // 1000 - minutes * 6e4 + // 1000 * 60 - hours * 36e5; // 1000 * 60 * 60 - // Because of dateAddRemove treats 24 hours as different from a - // day when working around DST, we need to store them separately - this._days = +days + - weeks * 7; - // It is impossible translate months into days without knowing - // which months you are are talking about, so we have to store - // it separately. - this._months = +months + - quarters * 3 + - years * 12; - - this._data = {}; - - this._locale = moment.localeData(); - - this._bubble(); - } - - /************************************ - Helpers - ************************************/ + }, + /** + * find if a string contains the string using indexOf + * @method inStr + * @param {String} src + * @param {String} find + * @return {Boolean} found + */ + inStr: function inStr(src, find) { + return src.indexOf(find) > -1; + }, - function extend(a, b) { - for (var i in b) { - if (hasOwnProp(b, i)) { - a[i] = b[i]; + /** + * find if a array contains the object using indexOf or a simple polyfill + * @method inArray + * @param {String} src + * @param {String} find + * @return {Boolean|Number} false when not found, or the index + */ + inArray: function inArray(src, find) { + if(src.indexOf) { + var index = src.indexOf(find); + return (index === -1) ? false : index; + } else { + for(var i = 0, len = src.length; i < len; i++) { + if(src[i] === find) { + return i; + } } + return false; } + }, - if (hasOwnProp(b, 'toString')) { - a.toString = b.toString; - } - - if (hasOwnProp(b, 'valueOf')) { - a.valueOf = b.valueOf; - } + /** + * convert an array-like object (`arguments`, `touchlist`) to an array + * @method toArray + * @param {Object} obj + * @return {Array} + */ + toArray: function toArray(obj) { + return Array.prototype.slice.call(obj, 0); + }, - return a; - } - - function copyConfig(to, from) { - var i, prop, val; - - if (typeof from._isAMomentObject !== 'undefined') { - to._isAMomentObject = from._isAMomentObject; - } - if (typeof from._i !== 'undefined') { - to._i = from._i; - } - if (typeof from._f !== 'undefined') { - to._f = from._f; - } - if (typeof from._l !== 'undefined') { - to._l = from._l; - } - if (typeof from._strict !== 'undefined') { - to._strict = from._strict; - } - if (typeof from._tzm !== 'undefined') { - to._tzm = from._tzm; - } - if (typeof from._isUTC !== 'undefined') { - to._isUTC = from._isUTC; - } - if (typeof from._offset !== 'undefined') { - to._offset = from._offset; - } - if (typeof from._pf !== 'undefined') { - to._pf = from._pf; - } - if (typeof from._locale !== 'undefined') { - to._locale = from._locale; - } - - if (momentProperties.length > 0) { - for (i in momentProperties) { - prop = momentProperties[i]; - val = from[prop]; - if (typeof val !== 'undefined') { - to[prop] = val; - } + /** + * find if a node is in the given parent + * @method hasParent + * @param {HTMLElement} node + * @param {HTMLElement} parent + * @return {Boolean} found + */ + hasParent: function hasParent(node, parent) { + while(node) { + if(node == parent) { + return true; } + node = node.parentNode; } + return false; + }, - return to; - } + /** + * get the center of all the touches + * @method getCenter + * @param {Array} touches + * @return {Object} center contains `pageX`, `pageY`, `clientX` and `clientY` properties + */ + getCenter: function getCenter(touches) { + var pageX = [], + pageY = [], + clientX = [], + clientY = [], + min = Math.min, + max = Math.max; - function absRound(number) { - if (number < 0) { - return Math.ceil(number); - } else { - return Math.floor(number); + // no need to loop when only one touch + if(touches.length === 1) { + return { + pageX: touches[0].pageX, + pageY: touches[0].pageY, + clientX: touches[0].clientX, + clientY: touches[0].clientY + }; } - } - // left zero fill a number - // see http://jsperf.com/left-zero-filling for performance comparison - function leftZeroFill(number, targetLength, forceSign) { - var output = '' + Math.abs(number), - sign = number >= 0; + Utils.each(touches, function(touch) { + pageX.push(touch.pageX); + pageY.push(touch.pageY); + clientX.push(touch.clientX); + clientY.push(touch.clientY); + }); - while (output.length < targetLength) { - output = '0' + output; - } - return (sign ? (forceSign ? '+' : '') : '-') + output; - } + return { + pageX: (min.apply(Math, pageX) + max.apply(Math, pageX)) / 2, + pageY: (min.apply(Math, pageY) + max.apply(Math, pageY)) / 2, + clientX: (min.apply(Math, clientX) + max.apply(Math, clientX)) / 2, + clientY: (min.apply(Math, clientY) + max.apply(Math, clientY)) / 2 + }; + }, - function positiveMomentsDifference(base, other) { - var res = {milliseconds: 0, months: 0}; + /** + * calculate the velocity between two points. unit is in px per ms. + * @method getVelocity + * @param {Number} deltaTime + * @param {Number} deltaX + * @param {Number} deltaY + * @return {Object} velocity `x` and `y` + */ + getVelocity: function getVelocity(deltaTime, deltaX, deltaY) { + return { + x: Math.abs(deltaX / deltaTime) || 0, + y: Math.abs(deltaY / deltaTime) || 0 + }; + }, - res.months = other.month() - base.month() + - (other.year() - base.year()) * 12; - if (base.clone().add(res.months, 'M').isAfter(other)) { - --res.months; - } + /** + * calculate the angle between two coordinates + * @method getAngle + * @param {Touch} touch1 + * @param {Touch} touch2 + * @return {Number} angle + */ + getAngle: function getAngle(touch1, touch2) { + var x = touch2.clientX - touch1.clientX, + y = touch2.clientY - touch1.clientY; - res.milliseconds = +other - +(base.clone().add(res.months, 'M')); + return Math.atan2(y, x) * 180 / Math.PI; + }, - return res; - } + /** + * do a small comparision to get the direction between two touches. + * @method getDirection + * @param {Touch} touch1 + * @param {Touch} touch2 + * @return {String} direction matches `DIRECTION_LEFT|RIGHT|UP|DOWN` + */ + getDirection: function getDirection(touch1, touch2) { + var x = Math.abs(touch1.clientX - touch2.clientX), + y = Math.abs(touch1.clientY - touch2.clientY); - function momentsDifference(base, other) { - var res; - other = makeAs(other, base); - if (base.isBefore(other)) { - res = positiveMomentsDifference(base, other); - } else { - res = positiveMomentsDifference(other, base); - res.milliseconds = -res.milliseconds; - res.months = -res.months; + if(x >= y) { + return touch1.clientX - touch2.clientX > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; } + return touch1.clientY - touch2.clientY > 0 ? DIRECTION_UP : DIRECTION_DOWN; + }, - return res; - } - - // TODO: remove 'name' arg after deprecation is removed - function createAdder(direction, name) { - return function (val, period) { - var dur, tmp; - //invert the arguments, but complain about it - if (period !== null && !isNaN(+period)) { - deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).'); - tmp = val; val = period; period = tmp; - } - - val = typeof val === 'string' ? +val : val; - dur = moment.duration(val, period); - addOrSubtractDurationFromMoment(this, dur, direction); - return this; - }; - } + /** + * calculate the distance between two touches + * @method getDistance + * @param {Touch}touch1 + * @param {Touch} touch2 + * @return {Number} distance + */ + getDistance: function getDistance(touch1, touch2) { + var x = touch2.clientX - touch1.clientX, + y = touch2.clientY - touch1.clientY; - function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { - var milliseconds = duration._milliseconds, - days = duration._days, - months = duration._months; - updateOffset = updateOffset == null ? true : updateOffset; + return Math.sqrt((x * x) + (y * y)); + }, - if (milliseconds) { - mom._d.setTime(+mom._d + milliseconds * isAdding); - } - if (days) { - rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding); - } - if (months) { - rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding); + /** + * calculate the scale factor between two touchLists + * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out + * @method getScale + * @param {Array} start array of touches + * @param {Array} end array of touches + * @return {Number} scale + */ + getScale: function getScale(start, end) { + // need two fingers... + if(start.length >= 2 && end.length >= 2) { + return this.getDistance(end[0], end[1]) / this.getDistance(start[0], start[1]); } - if (updateOffset) { - moment.updateOffset(mom, days || months); + return 1; + }, + + /** + * calculate the rotation degrees between two touchLists + * @method getRotation + * @param {Array} start array of touches + * @param {Array} end array of touches + * @return {Number} rotation + */ + getRotation: function getRotation(start, end) { + // need two fingers + if(start.length >= 2 && end.length >= 2) { + return this.getAngle(end[1], end[0]) - this.getAngle(start[1], start[0]); } - } + return 0; + }, - // check if is an array - function isArray(input) { - return Object.prototype.toString.call(input) === '[object Array]'; - } + /** + * find out if the direction is vertical * + * @method isVertical + * @param {String} direction matches `DIRECTION_UP|DOWN` + * @return {Boolean} is_vertical + */ + isVertical: function isVertical(direction) { + return direction == DIRECTION_UP || direction == DIRECTION_DOWN; + }, - function isDate(input) { - return Object.prototype.toString.call(input) === '[object Date]' || - input instanceof Date; - } + /** + * set css properties with their prefixes + * @param {HTMLElement} element + * @param {String} prop + * @param {String} value + * @param {Boolean} [toggle=true] + * @return {Boolean} + */ + setPrefixedCss: function setPrefixedCss(element, prop, value, toggle) { + var prefixes = ['', 'Webkit', 'Moz', 'O', 'ms']; + prop = Utils.toCamelCase(prop); - // compare two arrays, return the number of differences - function compareArrays(array1, array2, dontConvert) { - var len = Math.min(array1.length, array2.length), - lengthDiff = Math.abs(array1.length - array2.length), - diffs = 0, - i; - for (i = 0; i < len; i++) { - if ((dontConvert && array1[i] !== array2[i]) || - (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { - diffs++; + for(var i = 0; i < prefixes.length; i++) { + var p = prop; + // prefixes + if(prefixes[i]) { + p = prefixes[i] + p.slice(0, 1).toUpperCase() + p.slice(1); } - } - return diffs + lengthDiff; - } - - function normalizeUnits(units) { - if (units) { - var lowered = units.toLowerCase().replace(/(.)s$/, '$1'); - units = unitAliases[units] || camelFunctions[lowered] || lowered; - } - return units; - } - - function normalizeObjectUnits(inputObject) { - var normalizedInput = {}, - normalizedProp, - prop; - for (prop in inputObject) { - if (hasOwnProp(inputObject, prop)) { - normalizedProp = normalizeUnits(prop); - if (normalizedProp) { - normalizedInput[normalizedProp] = inputObject[prop]; - } + // test the style + if(p in element.style) { + element.style[p] = (toggle == null || toggle) && value || ''; + break; } } + }, - return normalizedInput; - } - - function makeList(field) { - var count, setter; - - if (field.indexOf('week') === 0) { - count = 7; - setter = 'day'; - } - else if (field.indexOf('month') === 0) { - count = 12; - setter = 'month'; - } - else { + /** + * toggle browser default behavior by setting css properties. + * `userSelect='none'` also sets `element.onselectstart` to false + * `userDrag='none'` also sets `element.ondragstart` to false + * + * @method toggleBehavior + * @param {HtmlElement} element + * @param {Object} props + * @param {Boolean} [toggle=true] + */ + toggleBehavior: function toggleBehavior(element, props, toggle) { + if(!props || !element || !element.style) { return; } - moment[field] = function (format, index) { - var i, getter, - method = moment._locale[field], - results = []; - - if (typeof format === 'number') { - index = format; - format = undefined; - } - - getter = function (i) { - var m = moment().utc().set(setter, i); - return method.call(moment._locale, m, format || ''); - }; + // set the css properties + Utils.each(props, function(value, prop) { + Utils.setPrefixedCss(element, prop, value, toggle); + }); - if (index != null) { - return getter(index); - } - else { - for (i = 0; i < count; i++) { - results.push(getter(i)); - } - return results; - } + var falseFn = toggle && function() { + return false; }; - } - - function toInt(argumentForCoercion) { - var coercedNumber = +argumentForCoercion, - value = 0; - if (coercedNumber !== 0 && isFinite(coercedNumber)) { - if (coercedNumber >= 0) { - value = Math.floor(coercedNumber); - } else { - value = Math.ceil(coercedNumber); - } + // also the disable onselectstart + if(props.userSelect == 'none') { + element.onselectstart = falseFn; } + // and disable ondragstart + if(props.userDrag == 'none') { + element.ondragstart = falseFn; + } + }, - return value; - } - - function daysInMonth(year, month) { - return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); + /** + * convert a string with underscores to camelCase + * so prevent_default becomes preventDefault + * @param {String} str + * @return {String} camelCaseStr + */ + toCamelCase: function toCamelCase(str) { + return str.replace(/[_-]([a-z])/g, function(s) { + return s[1].toUpperCase(); + }); } + }; - function weeksInYear(year, dow, doy) { - return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week; - } - function daysInYear(year) { - return isLeapYear(year) ? 366 : 365; - } + /** + * @module hammer + */ + /** + * @class Event + * @static + */ + var Event = Hammer.event = { + /** + * when touch events have been fired, this is true + * this is used to stop mouse events + * @property prevent_mouseevents + * @private + * @type {Boolean} + */ + preventMouseEvents: false, - function isLeapYear(year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; - } + /** + * if EVENT_START has been fired + * @property started + * @private + * @type {Boolean} + */ + started: false, - function checkOverflow(m) { - var overflow; - if (m._a && m._pf.overflow === -2) { - overflow = - m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH : - m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE : - m._a[HOUR] < 0 || m._a[HOUR] > 23 ? HOUR : - m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE : - m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND : - m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND : - -1; + /** + * when the mouse is hold down, this is true + * @property should_detect + * @private + * @type {Boolean} + */ + shouldDetect: false, - if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { - overflow = DATE; - } + /** + * simple event binder with a hook and support for multiple types + * @method on + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + * @param {Function} [hook] + * @param {Object} hook.type + */ + on: function on(element, type, handler, hook) { + var types = type.split(' '); + Utils.each(types, function(type) { + Utils.on(element, type, handler); + hook && hook(type); + }); + }, - m._pf.overflow = overflow; - } - } + /** + * simple event unbinder with a hook and support for multiple types + * @method off + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + * @param {Function} [hook] + * @param {Object} hook.type + */ + off: function off(element, type, handler, hook) { + var types = type.split(' '); + Utils.each(types, function(type) { + Utils.off(element, type, handler); + hook && hook(type); + }); + }, - function isValid(m) { - if (m._isValid == null) { - m._isValid = !isNaN(m._d.getTime()) && - m._pf.overflow < 0 && - !m._pf.empty && - !m._pf.invalidMonth && - !m._pf.nullInput && - !m._pf.invalidFormat && - !m._pf.userInvalidated; + /** + * the core touch event handler. + * this finds out if we should to detect gestures + * @method onTouch + * @param {HTMLElement} element + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {Function} handler + * @return onTouchHandler {Function} the core event handler + */ + onTouch: function onTouch(element, eventType, handler) { + var self = this; - if (m._strict) { - m._isValid = m._isValid && - m._pf.charsLeftOver === 0 && - m._pf.unusedTokens.length === 0; - } - } - return m._isValid; - } - - function normalizeLocale(key) { - return key ? key.toLowerCase().replace('_', '-') : key; - } + var onTouchHandler = function onTouchHandler(ev) { + var srcType = ev.type.toLowerCase(), + isPointer = Hammer.HAS_POINTEREVENTS, + isMouse = Utils.inStr(srcType, 'mouse'), + triggerType; - // pick the locale from the array - // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each - // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root - function chooseLocale(names) { - var i = 0, j, next, locale, split; + // if we are in a mouseevent, but there has been a touchevent triggered in this session + // we want to do nothing. simply break out of the event. + if(isMouse && self.preventMouseEvents) { + return; - while (i < names.length) { - split = normalizeLocale(names[i]).split('-'); - j = split.length; - next = normalizeLocale(names[i + 1]); - next = next ? next.split('-') : null; - while (j > 0) { - locale = loadLocale(split.slice(0, j).join('-')); - if (locale) { - return locale; - } - if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { - //the next array item is better than a shallower substring of this one - break; - } - j--; + // mousebutton must be down + } else if(isMouse && eventType == EVENT_START && ev.button === 0) { + self.preventMouseEvents = false; + self.shouldDetect = true; + } else if(isPointer && eventType == EVENT_START) { + self.shouldDetect = (ev.buttons === 1 || PointerEvent.matchType(POINTER_TOUCH, ev)); + // just a valid start event, but no mouse + } else if(!isMouse && eventType == EVENT_START) { + self.preventMouseEvents = true; + self.shouldDetect = true; } - i++; - } - return null; - } - - function loadLocale(name) { - var oldLocale = null; - if (!locales[name] && hasModule) { - try { - oldLocale = moment.locale(); - !(function webpackMissingModule() { var e = new Error("Cannot find module \"./locale\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()); - // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales - moment.locale(oldLocale); - } catch (e) { } - } - return locales[name]; - } - - // Return a moment from input, that is local/utc/zone equivalent to model. - function makeAs(input, model) { - return model._isUTC ? moment(input).zone(model._offset || 0) : - moment(input).local(); - } - /************************************ - Locale - ************************************/ + // update the pointer event before entering the detection + if(isPointer && eventType != EVENT_END) { + PointerEvent.updatePointer(eventType, ev); + } + // we are in a touch/down state, so allowed detection of gestures + if(self.shouldDetect) { + triggerType = self.doDetect.call(self, ev, eventType, element, handler); + } - extend(Locale.prototype, { + // ...and we are done with the detection + // so reset everything to start each detection totally fresh + if(triggerType == EVENT_END) { + self.preventMouseEvents = false; + self.shouldDetect = false; + PointerEvent.reset(); + // update the pointerevent object after the detection + } - set : function (config) { - var prop, i; - for (i in config) { - prop = config[i]; - if (typeof prop === 'function') { - this[i] = prop; - } else { - this['_' + i] = prop; - } + if(isPointer && eventType == EVENT_END) { + PointerEvent.updatePointer(eventType, ev); } - }, + }; - _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), - months : function (m) { - return this._months[m.month()]; - }, + this.on(element, EVENT_TYPES[eventType], onTouchHandler); + return onTouchHandler; + }, - _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - monthsShort : function (m) { - return this._monthsShort[m.month()]; - }, + /** + * the core detection method + * this finds out what hammer-touch-events to trigger + * @method doDetect + * @param {Object} ev + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {HTMLElement} element + * @param {Function} handler + * @return {String} triggerType matches `EVENT_START|MOVE|END` + */ + doDetect: function doDetect(ev, eventType, element, handler) { + var touchList = this.getTouchList(ev, eventType); + var touchListLength = touchList.length; + var triggerType = eventType; + var triggerChange = touchList.trigger; // used by fakeMultitouch plugin + var changedLength = touchListLength; - monthsParse : function (monthName) { - var i, mom, regex; + // at each touchstart-like event we want also want to trigger a TOUCH event... + if(eventType == EVENT_START) { + triggerChange = EVENT_TOUCH; + // ...the same for a touchend-like event + } else if(eventType == EVENT_END) { + triggerChange = EVENT_RELEASE; - if (!this._monthsParse) { - this._monthsParse = []; - } + // keep track of how many touches have been removed + changedLength = touchList.length - ((ev.changedTouches) ? ev.changedTouches.length : 1); + } - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - if (!this._monthsParse[i]) { - mom = moment.utc([2000, i]); - regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); - this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if (this._monthsParse[i].test(monthName)) { - return i; - } - } - }, + // after there are still touches on the screen, + // we just want to trigger a MOVE event. so change the START or END to a MOVE + // but only after detection has been started, the first time we actualy want a START + if(changedLength > 0 && this.started) { + triggerType = EVENT_MOVE; + } - _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), - weekdays : function (m) { - return this._weekdays[m.day()]; - }, + // detection has been started, we keep track of this, see above + this.started = true; - _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysShort : function (m) { - return this._weekdaysShort[m.day()]; - }, + // generate some event data, some basic information + var evData = this.collectEventData(element, triggerType, touchList, ev); - _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - weekdaysMin : function (m) { - return this._weekdaysMin[m.day()]; - }, + // trigger the triggerType event before the change (TOUCH, RELEASE) events + // but the END event should be at last + if(eventType != EVENT_END) { + handler.call(Detection, evData); + } - weekdaysParse : function (weekdayName) { - var i, mom, regex; + // trigger a change (TOUCH, RELEASE) event, this means the length of the touches changed + if(triggerChange) { + evData.changedLength = changedLength; + evData.eventType = triggerChange; - if (!this._weekdaysParse) { - this._weekdaysParse = []; - } + handler.call(Detection, evData); - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - if (!this._weekdaysParse[i]) { - mom = moment([2000, 1]).day(i); - regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); - this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if (this._weekdaysParse[i].test(weekdayName)) { - return i; - } - } - }, + evData.eventType = triggerType; + delete evData.changedLength; + } - _longDateFormat : { - LT : 'h:mm A', - L : 'MM/DD/YYYY', - LL : 'MMMM D, YYYY', - LLL : 'MMMM D, YYYY LT', - LLLL : 'dddd, MMMM D, YYYY LT' - }, - longDateFormat : function (key) { - var output = this._longDateFormat[key]; - if (!output && this._longDateFormat[key.toUpperCase()]) { - output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) { - return val.slice(1); - }); - this._longDateFormat[key] = output; - } - return output; - }, + // trigger the END event + if(triggerType == EVENT_END) { + handler.call(Detection, evData); - isPM : function (input) { - // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays - // Using charAt should be more compatible. - return ((input + '').toLowerCase().charAt(0) === 'p'); - }, + // ...and we are done with the detection + // so reset everything to start each detection totally fresh + this.started = false; + } - _meridiemParse : /[ap]\.?m?\.?/i, - meridiem : function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'pm' : 'PM'; - } else { - return isLower ? 'am' : 'AM'; - } - }, + return triggerType; + }, - _calendar : { - sameDay : '[Today at] LT', - nextDay : '[Tomorrow at] LT', - nextWeek : 'dddd [at] LT', - lastDay : '[Yesterday at] LT', - lastWeek : '[Last] dddd [at] LT', - sameElse : 'L' - }, - calendar : function (key, mom) { - var output = this._calendar[key]; - return typeof output === 'function' ? output.apply(mom) : output; - }, - - _relativeTime : { - 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' - }, - - relativeTime : function (number, withoutSuffix, string, isFuture) { - var output = this._relativeTime[string]; - return (typeof output === 'function') ? - output(number, withoutSuffix, string, isFuture) : - output.replace(/%d/i, number); - }, - - pastFuture : function (diff, output) { - var format = this._relativeTime[diff > 0 ? 'future' : 'past']; - return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); - }, - - ordinal : function (number) { - return this._ordinal.replace('%d', number); - }, - _ordinal : '%d', - - preparse : function (string) { - return string; - }, - - postformat : function (string) { - return string; - }, - - week : function (mom) { - return weekOfYear(mom, this._week.dow, this._week.doy).week; - }, - - _week : { - dow : 0, // Sunday is the first day of the week. - doy : 6 // The week that contains Jan 1st is the first week of the year. - }, - - _invalidDate: 'Invalid date', - invalidDate: function () { - return this._invalidDate; - } - }); - - /************************************ - Formatting - ************************************/ - - - function removeFormattingTokens(input) { - if (input.match(/\[[\s\S]/)) { - return input.replace(/^\[|\]$/g, ''); - } - return input.replace(/\\/g, ''); - } - - function makeFormatFunction(format) { - var array = format.match(formattingTokens), i, length; - - for (i = 0, length = array.length; i < length; i++) { - if (formatTokenFunctions[array[i]]) { - array[i] = formatTokenFunctions[array[i]]; + /** + * we have different events for each device/browser + * determine what we need and set them in the EVENT_TYPES constant + * the `onTouch` method is bind to these properties. + * @method determineEventTypes + * @return {Object} events + */ + determineEventTypes: function determineEventTypes() { + var types; + if(Hammer.HAS_POINTEREVENTS) { + if(window.PointerEvent) { + types = [ + 'pointerdown', + 'pointermove', + 'pointerup pointercancel lostpointercapture' + ]; } else { - array[i] = removeFormattingTokens(array[i]); + types = [ + 'MSPointerDown', + 'MSPointerMove', + 'MSPointerUp MSPointerCancel MSLostPointerCapture' + ]; } + } else if(Hammer.NO_MOUSEEVENTS) { + types = [ + 'touchstart', + 'touchmove', + 'touchend touchcancel' + ]; + } else { + types = [ + 'touchstart mousedown', + 'touchmove mousemove', + 'touchend touchcancel mouseup' + ]; } - return function (mom) { - var output = ''; - for (i = 0; i < length; i++) { - output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; - } - return output; - }; - } + EVENT_TYPES[EVENT_START] = types[0]; + EVENT_TYPES[EVENT_MOVE] = types[1]; + EVENT_TYPES[EVENT_END] = types[2]; + return EVENT_TYPES; + }, - // format date using native date object - function formatMoment(m, format) { - if (!m.isValid()) { - return m.localeData().invalidDate(); + /** + * create touchList depending on the event + * @method getTouchList + * @param {Object} ev + * @param {String} eventType + * @return {Array} touches + */ + getTouchList: function getTouchList(ev, eventType) { + // get the fake pointerEvent touchlist + if(Hammer.HAS_POINTEREVENTS) { + return PointerEvent.getTouchList(); } - format = expandFormat(format, m.localeData()); - - if (!formatFunctions[format]) { - formatFunctions[format] = makeFormatFunction(format); - } + // get the touchlist + if(ev.touches) { + if(eventType == EVENT_MOVE) { + return ev.touches; + } - return formatFunctions[format](m); - } + var identifiers = []; + var concat = [].concat(Utils.toArray(ev.touches), Utils.toArray(ev.changedTouches)); + var touchList = []; - function expandFormat(format, locale) { - var i = 5; + Utils.each(concat, function(touch) { + if(Utils.inArray(identifiers, touch.identifier) === false) { + touchList.push(touch); + } + identifiers.push(touch.identifier); + }); - function replaceLongDateFormatTokens(input) { - return locale.longDateFormat(input) || input; + return touchList; } - localFormattingTokens.lastIndex = 0; - while (i >= 0 && localFormattingTokens.test(format)) { - format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); - localFormattingTokens.lastIndex = 0; - i -= 1; - } + // make fake touchList from mouse position + ev.identifier = 1; + return [ev]; + }, - return format; - } + /** + * collect basic event data + * @method collectEventData + * @param {HTMLElement} element + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {Array} touches + * @param {Object} ev + * @return {Object} ev + */ + collectEventData: function collectEventData(element, eventType, touches, ev) { + // find out pointerType + var pointerType = POINTER_TOUCH; + if(Utils.inStr(ev.type, 'mouse') || PointerEvent.matchType(POINTER_MOUSE, ev)) { + pointerType = POINTER_MOUSE; + } else if(PointerEvent.matchType(POINTER_PEN, ev)) { + pointerType = POINTER_PEN; + } + return { + center: Utils.getCenter(touches), + timeStamp: Date.now(), + target: ev.target, + touches: touches, + eventType: eventType, + pointerType: pointerType, + srcEvent: ev, - /************************************ - Parsing - ************************************/ + /** + * prevent the browser default actions + * mostly used to disable scrolling of the browser + */ + preventDefault: function() { + var srcEvent = this.srcEvent; + srcEvent.preventManipulation && srcEvent.preventManipulation(); + srcEvent.preventDefault && srcEvent.preventDefault(); + }, + /** + * stop bubbling the event up to its parents + */ + stopPropagation: function() { + this.srcEvent.stopPropagation(); + }, - // get the regex to find the next token - function getParseRegexForToken(token, config) { - var a, strict = config._strict; - switch (token) { - case 'Q': - return parseTokenOneDigit; - case 'DDDD': - return parseTokenThreeDigits; - case 'YYYY': - case 'GGGG': - case 'gggg': - return strict ? parseTokenFourDigits : parseTokenOneToFourDigits; - case 'Y': - case 'G': - case 'g': - return parseTokenSignedNumber; - case 'YYYYYY': - case 'YYYYY': - case 'GGGGG': - case 'ggggg': - return strict ? parseTokenSixDigits : parseTokenOneToSixDigits; - case 'S': - if (strict) { - return parseTokenOneDigit; - } - /* falls through */ - case 'SS': - if (strict) { - return parseTokenTwoDigits; - } - /* falls through */ - case 'SSS': - if (strict) { - return parseTokenThreeDigits; + /** + * immediately stop gesture detection + * might be useful after a swipe was detected + * @return {*} + */ + stopDetect: function() { + return Detection.stopDetect(); } - /* falls through */ - case 'DDD': - return parseTokenOneToThreeDigits; - case 'MMM': - case 'MMMM': - case 'dd': - case 'ddd': - case 'dddd': - return parseTokenWord; - case 'a': - case 'A': - return config._locale._meridiemParse; - case 'X': - return parseTokenTimestampMs; - case 'Z': - case 'ZZ': - return parseTokenTimezone; - case 'T': - return parseTokenT; - case 'SSSS': - return parseTokenDigits; - case 'MM': - case 'DD': - case 'YY': - case 'GG': - case 'gg': - case 'HH': - case 'hh': - case 'mm': - case 'ss': - case 'ww': - case 'WW': - return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits; - case 'M': - case 'D': - case 'd': - case 'H': - case 'h': - case 'm': - case 's': - case 'w': - case 'W': - case 'e': - case 'E': - return parseTokenOneOrTwoDigits; - case 'Do': - return parseTokenOrdinal; - default : - a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i')); - return a; - } + }; } + }; - function timezoneMinutesFromString(string) { - string = string || ''; - var possibleTzMatches = (string.match(parseTokenTimezone) || []), - tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [], - parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0], - minutes = +(parts[1] * 60) + toInt(parts[2]); - - return parts[0] === '+' ? -minutes : minutes; - } - // function to convert string input to date - function addTimeToArrayFromToken(token, input, config) { - var a, datePartArray = config._a; + /** + * @module hammer + * + * @class PointerEvent + * @static + */ + var PointerEvent = Hammer.PointerEvent = { + /** + * holds all pointers, by `identifier` + * @property pointers + * @type {Object} + */ + pointers: {}, - switch (token) { - // QUARTER - case 'Q': - if (input != null) { - datePartArray[MONTH] = (toInt(input) - 1) * 3; - } - break; - // MONTH - case 'M' : // fall through to MM - case 'MM' : - if (input != null) { - datePartArray[MONTH] = toInt(input) - 1; - } - break; - case 'MMM' : // fall through to MMMM - case 'MMMM' : - a = config._locale.monthsParse(input); - // if we didn't find a month name, mark the date as invalid. - if (a != null) { - datePartArray[MONTH] = a; - } else { - config._pf.invalidMonth = input; - } - break; - // DAY OF MONTH - case 'D' : // fall through to DD - case 'DD' : - if (input != null) { - datePartArray[DATE] = toInt(input); - } - break; - case 'Do' : - if (input != null) { - datePartArray[DATE] = toInt(parseInt(input, 10)); - } - break; - // DAY OF YEAR - case 'DDD' : // fall through to DDDD - case 'DDDD' : - if (input != null) { - config._dayOfYear = toInt(input); - } + /** + * get the pointers as an array + * @method getTouchList + * @return {Array} touchlist + */ + getTouchList: function getTouchList() { + var touchlist = []; + // we can use forEach since pointerEvents only is in IE10 + Utils.each(this.pointers, function(pointer) { + touchlist.push(pointer); + }); + return touchlist; + }, - break; - // YEAR - case 'YY' : - datePartArray[YEAR] = moment.parseTwoDigitYear(input); - break; - case 'YYYY' : - case 'YYYYY' : - case 'YYYYYY' : - datePartArray[YEAR] = toInt(input); - break; - // AM / PM - case 'a' : // fall through to A - case 'A' : - config._isPm = config._locale.isPM(input); - break; - // 24 HOUR - case 'H' : // fall through to hh - case 'HH' : // fall through to hh - case 'h' : // fall through to hh - case 'hh' : - datePartArray[HOUR] = toInt(input); - break; - // MINUTE - case 'm' : // fall through to mm - case 'mm' : - datePartArray[MINUTE] = toInt(input); - break; - // SECOND - case 's' : // fall through to ss - case 'ss' : - datePartArray[SECOND] = toInt(input); - break; - // MILLISECOND - case 'S' : - case 'SS' : - case 'SSS' : - case 'SSSS' : - datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000); - break; - // UNIX TIMESTAMP WITH MS - case 'X': - config._d = new Date(parseFloat(input) * 1000); - break; - // TIMEZONE - case 'Z' : // fall through to ZZ - case 'ZZ' : - config._useUTC = true; - config._tzm = timezoneMinutesFromString(input); - break; - // WEEKDAY - human - case 'dd': - case 'ddd': - case 'dddd': - a = config._locale.weekdaysParse(input); - // if we didn't get a weekday name, mark the date as invalid - if (a != null) { - config._w = config._w || {}; - config._w['d'] = a; - } else { - config._pf.invalidWeekday = input; - } - break; - // WEEK, WEEK DAY - numeric - case 'w': - case 'ww': - case 'W': - case 'WW': - case 'd': - case 'e': - case 'E': - token = token.substr(0, 1); - /* falls through */ - case 'gggg': - case 'GGGG': - case 'GGGGG': - token = token.substr(0, 2); - if (input) { - config._w = config._w || {}; - config._w[token] = toInt(input); - } - break; - case 'gg': - case 'GG': - config._w = config._w || {}; - config._w[token] = moment.parseTwoDigitYear(input); + /** + * update the position of a pointer + * @method updatePointer + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {Object} pointerEvent + */ + updatePointer: function updatePointer(eventType, pointerEvent) { + if(eventType == EVENT_END || (eventType != EVENT_END && pointerEvent.buttons !== 1)) { + delete this.pointers[pointerEvent.pointerId]; + } else { + pointerEvent.identifier = pointerEvent.pointerId; + this.pointers[pointerEvent.pointerId] = pointerEvent; + } + }, + + /** + * check if ev matches pointertype + * @method matchType + * @param {String} pointerType matches `POINTER_MOUSE|TOUCH|PEN` + * @param {PointerEvent} ev + */ + matchType: function matchType(pointerType, ev) { + if(!ev.pointerType) { + return false; } + + var pt = ev.pointerType, + types = {}; + + types[POINTER_MOUSE] = (pt === (ev.MSPOINTER_TYPE_MOUSE || POINTER_MOUSE)); + types[POINTER_TOUCH] = (pt === (ev.MSPOINTER_TYPE_TOUCH || POINTER_TOUCH)); + types[POINTER_PEN] = (pt === (ev.MSPOINTER_TYPE_PEN || POINTER_PEN)); + return types[pointerType]; + }, + + /** + * reset the stored pointers + * @method reset + */ + reset: function resetList() { + this.pointers = {}; } + }; - function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp; - w = config._w; - if (w.GG != null || w.W != null || w.E != null) { - dow = 1; - doy = 4; + /** + * @module hammer + * + * @class Detection + * @static + */ + var Detection = Hammer.detection = { + // contains all registred Hammer.gestures in the correct order + gestures: [], - // TODO: We need to take the current isoWeekYear, but that depends on - // how we interpret now (local, utc, fixed offset). So create - // a now version of current config (take local/utc/offset flags, and - // create now). - weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year); - week = dfl(w.W, 1); - weekday = dfl(w.E, 1); - } else { - dow = config._locale._week.dow; - doy = config._locale._week.doy; + // data of the current Hammer.gesture detection session + current: null, - weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year); - week = dfl(w.w, 1); + // the previous Hammer.gesture session data + // is a full clone of the previous gesture.current object + previous: null, - if (w.d != null) { - // weekday -- low day numbers are considered next week - weekday = w.d; - if (weekday < dow) { - ++week; - } - } else if (w.e != null) { - // local weekday -- counting starts from begining of week - weekday = w.e + dow; - } else { - // default to begining of week - weekday = dow; - } + // when this becomes true, no gestures are fired + stopped: false, + + /** + * start Hammer.gesture detection + * @method startDetect + * @param {Hammer.Instance} inst + * @param {Object} eventData + */ + startDetect: function startDetect(inst, eventData) { + // already busy with a Hammer.gesture detection on an element + if(this.current) { + return; } - temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow); - config._a[YEAR] = temp.year; - config._dayOfYear = temp.dayOfYear; - } + this.stopped = false; - // convert an array to a date. - // the array should mirror the parameters below - // note: all values past the year are optional and will default to the lowest possible value. - // [year, month, day , hour, minute, second, millisecond] - function dateFromConfig(config) { - var i, date, input = [], currentDate, yearToUse; + // holds current session + this.current = { + inst: inst, // reference to HammerInstance we're working for + startEvent: Utils.extend({}, eventData), // start eventData for distances, timing etc + lastEvent: false, // last eventData + lastCalcEvent: false, // last eventData for calculations. + futureCalcEvent: false, // last eventData for calculations. + lastCalcData: {}, // last lastCalcData + name: '' // current gesture we're in/detected, can be 'tap', 'hold' etc + }; - if (config._d) { + this.detect(eventData); + }, + + /** + * Hammer.gesture detection + * @method detect + * @param {Object} eventData + * @return {any} + */ + detect: function detect(eventData) { + if(!this.current || this.stopped) { return; } - currentDate = currentDateArray(config); + // extend event data with calculations about scale, distance etc + eventData = this.extendEventData(eventData); - //compute day of the year from weeks and weekdays - if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { - dayOfYearFromWeekInfo(config); + // hammer instance and instance options + var inst = this.current.inst, + instOptions = inst.options; + + // call Hammer.gesture handlers + Utils.each(this.gestures, function triggerGesture(gesture) { + // only when the instance options have enabled this gesture + if(!this.stopped && inst.enabled && instOptions[gesture.name]) { + gesture.handler.call(gesture, eventData, inst); + } + }, this); + + // store as previous event event + if(this.current) { + this.current.lastEvent = eventData; } - //if the day of the year is set, figure out what it is - if (config._dayOfYear) { - yearToUse = dfl(config._a[YEAR], currentDate[YEAR]); + if(eventData.eventType == EVENT_END) { + this.stopDetect(); + } - if (config._dayOfYear > daysInYear(yearToUse)) { - config._pf._overflowDayOfYear = true; - } + return eventData; + }, - date = makeUTCDate(yearToUse, 0, config._dayOfYear); - config._a[MONTH] = date.getUTCMonth(); - config._a[DATE] = date.getUTCDate(); + /** + * clear the Hammer.gesture vars + * this is called on endDetect, but can also be used when a final Hammer.gesture has been detected + * to stop other Hammer.gestures from being fired + * @method stopDetect + */ + stopDetect: function stopDetect() { + // clone current data to the store as the previous gesture + // used for the double tap gesture, since this is an other gesture detect session + this.previous = Utils.extend({}, this.current); + + // reset the current + this.current = null; + this.stopped = true; + }, + + /** + * calculate velocity, angle and direction + * @method getVelocityData + * @param {Object} ev + * @param {Object} center + * @param {Number} deltaTime + * @param {Number} deltaX + * @param {Number} deltaY + */ + getCalculatedData: function getCalculatedData(ev, center, deltaTime, deltaX, deltaY) { + var cur = this.current, + recalc = false, + calcEv = cur.lastCalcEvent, + calcData = cur.lastCalcData; + + if(calcEv && ev.timeStamp - calcEv.timeStamp > Hammer.CALCULATE_INTERVAL) { + center = calcEv.center; + deltaTime = ev.timeStamp - calcEv.timeStamp; + deltaX = ev.center.clientX - calcEv.center.clientX; + deltaY = ev.center.clientY - calcEv.center.clientY; + recalc = true; + } + + if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { + cur.futureCalcEvent = ev; + } + + if(!cur.lastCalcEvent || recalc) { + calcData.velocity = Utils.getVelocity(deltaTime, deltaX, deltaY); + calcData.angle = Utils.getAngle(center, ev.center); + calcData.direction = Utils.getDirection(center, ev.center); + + cur.lastCalcEvent = cur.futureCalcEvent || ev; + cur.futureCalcEvent = ev; + } + + ev.velocityX = calcData.velocity.x; + ev.velocityY = calcData.velocity.y; + ev.interimAngle = calcData.angle; + ev.interimDirection = calcData.direction; + }, + + /** + * extend eventData for Hammer.gestures + * @method extendEventData + * @param {Object} ev + * @return {Object} ev + */ + extendEventData: function extendEventData(ev) { + var cur = this.current, + startEv = cur.startEvent, + lastEv = cur.lastEvent || startEv; + + // update the start touchlist to calculate the scale/rotation + if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { + startEv.touches = []; + Utils.each(ev.touches, function(touch) { + startEv.touches.push({ + clientX: touch.clientX, + clientY: touch.clientY + }); + }); } - // Default to current date. - // * if no year, month, day of month are given, default to today - // * if day of month is given, default month and year - // * if month is given, default only year - // * if year is given, don't default anything - for (i = 0; i < 3 && config._a[i] == null; ++i) { - config._a[i] = input[i] = currentDate[i]; - } + var deltaTime = ev.timeStamp - startEv.timeStamp, + deltaX = ev.center.clientX - startEv.center.clientX, + deltaY = ev.center.clientY - startEv.center.clientY; + + this.getCalculatedData(ev, lastEv.center, deltaTime, deltaX, deltaY); + + Utils.extend(ev, { + startEvent: startEv, + + deltaTime: deltaTime, + deltaX: deltaX, + deltaY: deltaY, + + distance: Utils.getDistance(startEv.center, ev.center), + angle: Utils.getAngle(startEv.center, ev.center), + direction: Utils.getDirection(startEv.center, ev.center), + scale: Utils.getScale(startEv.touches, ev.touches), + rotation: Utils.getRotation(startEv.touches, ev.touches) + }); + + return ev; + }, - // Zero out whatever was not defaulted, including time - for (; i < 7; i++) { - config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + /** + * register new gesture + * @method register + * @param {Object} gesture object, see `gestures/` for documentation + * @return {Array} gestures + */ + register: function register(gesture) { + // add an enable gesture options if there is no given + var options = gesture.defaults || {}; + if(options[gesture.name] === undefined) { + options[gesture.name] = true; } - config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input); - // Apply timezone offset from input. The actual zone can be changed - // with parseZone. - if (config._tzm != null) { - config._d.setUTCMinutes(config._d.getUTCMinutes() + config._tzm); - } - } + // extend Hammer default options with the Hammer.gesture options + Utils.extend(Hammer.defaults, options, true); - function dateFromObject(config) { - var normalizedInput; + // set its index + gesture.index = gesture.index || 1000; - if (config._d) { - return; - } + // add Hammer.gesture to the list + this.gestures.push(gesture); - normalizedInput = normalizeObjectUnits(config._i); - config._a = [ - normalizedInput.year, - normalizedInput.month, - normalizedInput.day, - normalizedInput.hour, - normalizedInput.minute, - normalizedInput.second, - normalizedInput.millisecond - ]; + // sort the list by index + this.gestures.sort(function(a, b) { + if(a.index < b.index) { + return -1; + } + if(a.index > b.index) { + return 1; + } + return 0; + }); - dateFromConfig(config); + return this.gestures; } + }; - function currentDateArray(config) { - var now = new Date(); - if (config._useUTC) { - return [ - now.getUTCFullYear(), - now.getUTCMonth(), - now.getUTCDate() - ]; - } else { - return [now.getFullYear(), now.getMonth(), now.getDate()]; - } - } - // date from string and format string - function makeDateFromStringAndFormat(config) { - if (config._f === moment.ISO_8601) { - parseISO(config); - return; - } + /** + * @module hammer + */ - config._a = []; - config._pf.empty = true; + /** + * create new hammer instance + * all methods should return the instance itself, so it is chainable. + * + * @class Instance + * @constructor + * @param {HTMLElement} element + * @param {Object} [options={}] options are merged with `Hammer.defaults` + * @return {Hammer.Instance} + */ + Hammer.Instance = function(element, options) { + var self = this; - // This array is used to make a Date, either with `new Date` or `Date.UTC` - var string = '' + config._i, - i, parsedInput, tokens, token, skipped, - stringLength = string.length, - totalParsedInputLength = 0; + // setup HammerJS window events and register all gestures + // this also sets up the default options + setup(); - tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + /** + * @property element + * @type {HTMLElement} + */ + this.element = element; - for (i = 0; i < tokens.length; i++) { - token = tokens[i]; - parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; - if (parsedInput) { - skipped = string.substr(0, string.indexOf(parsedInput)); - if (skipped.length > 0) { - config._pf.unusedInput.push(skipped); - } - string = string.slice(string.indexOf(parsedInput) + parsedInput.length); - totalParsedInputLength += parsedInput.length; - } - // don't parse if it's not a known token - if (formatTokenFunctions[token]) { - if (parsedInput) { - config._pf.empty = false; - } - else { - config._pf.unusedTokens.push(token); - } - addTimeToArrayFromToken(token, parsedInput, config); - } - else if (config._strict && !parsedInput) { - config._pf.unusedTokens.push(token); - } - } + /** + * @property enabled + * @type {Boolean} + * @protected + */ + this.enabled = true; - // add remaining unparsed input length to the string - config._pf.charsLeftOver = stringLength - totalParsedInputLength; - if (string.length > 0) { - config._pf.unusedInput.push(string); - } + /** + * options, merged with the defaults + * options with an _ are converted to camelCase + * @property options + * @type {Object} + */ + Utils.each(options, function(value, name) { + delete options[name]; + options[Utils.toCamelCase(name)] = value; + }); - // handle am pm - if (config._isPm && config._a[HOUR] < 12) { - config._a[HOUR] += 12; - } - // if is 12 am, change hours to 0 - if (config._isPm === false && config._a[HOUR] === 12) { - config._a[HOUR] = 0; - } + this.options = Utils.extend(Utils.extend({}, Hammer.defaults), options || {}); - dateFromConfig(config); - checkOverflow(config); + // add some css to the element to prevent the browser from doing its native behavoir + if(this.options.behavior) { + Utils.toggleBehavior(this.element, this.options.behavior, true); } - function unescapeFormat(s) { - return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { - return p1 || p2 || p3 || p4; - }); - } + /** + * event start handler on the element to start the detection + * @property eventStartHandler + * @type {Object} + */ + this.eventStartHandler = Event.onTouch(element, EVENT_START, function(ev) { + if(self.enabled && ev.eventType == EVENT_START) { + Detection.startDetect(self, ev); + } else if(ev.eventType == EVENT_TOUCH) { + Detection.detect(ev); + } + }); - // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript - function regexpEscape(s) { - return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); - } + /** + * keep a list of user event handlers which needs to be removed when calling 'dispose' + * @property eventHandlers + * @type {Array} + */ + this.eventHandlers = []; + }; - // date from string and array of format strings - function makeDateFromStringAndArray(config) { - var tempConfig, - bestMoment, + Hammer.Instance.prototype = { + /** + * bind events to the instance + * @method on + * @chainable + * @param {String} gestures multiple gestures by splitting with a space + * @param {Function} handler + * @param {Object} handler.ev event object + */ + on: function onEvent(gestures, handler) { + var self = this; + Event.on(self.element, gestures, handler, function(type) { + self.eventHandlers.push({ gesture: type, handler: handler }); + }); + return self; + }, - scoreToBeat, - i, - currentScore; + /** + * unbind events to the instance + * @method off + * @chainable + * @param {String} gestures + * @param {Function} handler + */ + off: function offEvent(gestures, handler) { + var self = this; - if (config._f.length === 0) { - config._pf.invalidFormat = true; - config._d = new Date(NaN); - return; + Event.off(self.element, gestures, handler, function(type) { + var index = Utils.inArray({ gesture: type, handler: handler }); + if(index !== false) { + self.eventHandlers.splice(index, 1); + } + }); + return self; + }, + + /** + * trigger gesture event + * @method trigger + * @chainable + * @param {String} gesture + * @param {Object} [eventData] + */ + trigger: function triggerEvent(gesture, eventData) { + // optional + if(!eventData) { + eventData = {}; } - for (i = 0; i < config._f.length; i++) { - currentScore = 0; - tempConfig = copyConfig({}, config); - if (config._useUTC != null) { - tempConfig._useUTC = config._useUTC; - } - tempConfig._pf = defaultParsingFlags(); - tempConfig._f = config._f[i]; - makeDateFromStringAndFormat(tempConfig); + // create DOM event + var event = Hammer.DOCUMENT.createEvent('Event'); + event.initEvent(gesture, true, true); + event.gesture = eventData; - if (!isValid(tempConfig)) { - continue; - } + // trigger on the target if it is in the instance element, + // this is for event delegation tricks + var element = this.element; + if(Utils.hasParent(eventData.target, element)) { + element = eventData.target; + } - // if there is any input that was not parsed add a penalty for that format - currentScore += tempConfig._pf.charsLeftOver; + element.dispatchEvent(event); + return this; + }, - //or tokens - currentScore += tempConfig._pf.unusedTokens.length * 10; + /** + * enable of disable hammer.js detection + * @method enable + * @chainable + * @param {Boolean} state + */ + enable: function enable(state) { + this.enabled = state; + return this; + }, - tempConfig._pf.score = currentScore; + /** + * dispose this hammer instance + * @method dispose + * @return {Null} + */ + dispose: function dispose() { + var i, eh; - if (scoreToBeat == null || currentScore < scoreToBeat) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - } + // undo all changes made by stop_browser_behavior + Utils.toggleBehavior(this.element, this.options.behavior, false); + + // unbind all custom event handlers + for(i = -1; (eh = this.eventHandlers[++i]);) { + Utils.off(this.element, eh.gesture, eh.handler); } - extend(config, bestMoment || tempConfig); - } + this.eventHandlers = []; - // date from iso format - function parseISO(config) { - var i, l, - string = config._i, - match = isoRegex.exec(string); + // unbind the start event listener + Event.off(this.element, EVENT_TYPES[EVENT_START], this.eventStartHandler); - if (match) { - config._pf.iso = true; - for (i = 0, l = isoDates.length; i < l; i++) { - if (isoDates[i][1].exec(string)) { - // match[5] should be 'T' or undefined - config._f = isoDates[i][0] + (match[6] || ' '); - break; - } - } - for (i = 0, l = isoTimes.length; i < l; i++) { - if (isoTimes[i][1].exec(string)) { - config._f += isoTimes[i][0]; - break; - } - } - if (string.match(parseTokenTimezone)) { - config._f += 'Z'; - } - makeDateFromStringAndFormat(config); - } else { - config._isValid = false; - } + return null; } + }; - // date from iso format or fallback - function makeDateFromString(config) { - parseISO(config); - if (config._isValid === false) { - delete config._isValid; - moment.createFromInputFallback(config); - } - } - function map(arr, fn) { - var res = [], i; - for (i = 0; i < arr.length; ++i) { - res.push(fn(arr[i], i)); - } - return res; - } + /** + * @module gestures + */ + /** + * Move with x fingers (default 1) around on the page. + * Preventing the default browser behavior is a good way to improve feel and working. + * ```` + * hammertime.on("drag", function(ev) { + * console.log(ev); + * ev.gesture.preventDefault(); + * }); + * ```` + * + * @class Drag + * @static + */ + /** + * @event drag + * @param {Object} ev + */ + /** + * @event dragstart + * @param {Object} ev + */ + /** + * @event dragend + * @param {Object} ev + */ + /** + * @event drapleft + * @param {Object} ev + */ + /** + * @event dragright + * @param {Object} ev + */ + /** + * @event dragup + * @param {Object} ev + */ + /** + * @event dragdown + * @param {Object} ev + */ - function makeDateFromInput(config) { - var input = config._i, matched; - if (input === undefined) { - config._d = new Date(); - } else if (isDate(input)) { - config._d = new Date(+input); - } else if ((matched = aspNetJsonRegex.exec(input)) !== null) { - config._d = new Date(+matched[1]); - } else if (typeof input === 'string') { - makeDateFromString(config); - } else if (isArray(input)) { - config._a = map(input.slice(0), function (obj) { - return parseInt(obj, 10); - }); - dateFromConfig(config); - } else if (typeof(input) === 'object') { - dateFromObject(config); - } else if (typeof(input) === 'number') { - // from milliseconds - config._d = new Date(input); - } else { - moment.createFromInputFallback(config); - } - } + /** + * @param {String} name + */ + (function(name) { + var triggered = false; - function makeDate(y, m, d, h, M, s, ms) { - //can't just apply() to create a date: - //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply - var date = new Date(y, m, d, h, M, s, ms); + function dragGesture(ev, inst) { + var cur = Detection.current; - //the date constructor doesn't accept years < 1970 - if (y < 1970) { - date.setFullYear(y); + // max touches + if(inst.options.dragMaxTouches > 0 && + ev.touches.length > inst.options.dragMaxTouches) { + return; } - return date; - } - function makeUTCDate(y) { - var date = new Date(Date.UTC.apply(null, arguments)); - if (y < 1970) { - date.setUTCFullYear(y); - } - return date; - } + switch(ev.eventType) { + case EVENT_START: + triggered = false; + break; - function parseWeekday(input, locale) { - if (typeof input === 'string') { - if (!isNaN(input)) { - input = parseInt(input, 10); - } - else { - input = locale.weekdaysParse(input); - if (typeof input !== 'number') { - return null; + case EVENT_MOVE: + // when the distance we moved is too small we skip this gesture + // or we can be already in dragging + if(ev.distance < inst.options.dragMinDistance && + cur.name != name) { + return; } - } - } - return input; - } - - /************************************ - Relative Time - ************************************/ - - // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize - function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { - return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); - } + var startCenter = cur.startEvent.center; - function relativeTime(posNegDuration, withoutSuffix, locale) { - var duration = moment.duration(posNegDuration).abs(), - seconds = round(duration.as('s')), - minutes = round(duration.as('m')), - hours = round(duration.as('h')), - days = round(duration.as('d')), - months = round(duration.as('M')), - years = round(duration.as('y')), + // we are dragging! + if(cur.name != name) { + cur.name = name; + if(inst.options.dragDistanceCorrection && ev.distance > 0) { + // When a drag is triggered, set the event center to dragMinDistance pixels from the original event center. + // Without this correction, the dragged distance would jumpstart at dragMinDistance pixels instead of at 0. + // It might be useful to save the original start point somewhere + var factor = Math.abs(inst.options.dragMinDistance / ev.distance); + startCenter.pageX += ev.deltaX * factor; + startCenter.pageY += ev.deltaY * factor; + startCenter.clientX += ev.deltaX * factor; + startCenter.clientY += ev.deltaY * factor; - args = seconds < relativeTimeThresholds.s && ['s', seconds] || - minutes === 1 && ['m'] || - minutes < relativeTimeThresholds.m && ['mm', minutes] || - hours === 1 && ['h'] || - hours < relativeTimeThresholds.h && ['hh', hours] || - days === 1 && ['d'] || - days < relativeTimeThresholds.d && ['dd', days] || - months === 1 && ['M'] || - months < relativeTimeThresholds.M && ['MM', months] || - years === 1 && ['y'] || ['yy', years]; + // recalculate event data using new start point + ev = Detection.extendEventData(ev); + } + } - args[2] = withoutSuffix; - args[3] = +posNegDuration > 0; - args[4] = locale; - return substituteTimeAgo.apply({}, args); - } + // lock drag to axis? + if(cur.lastEvent.dragLockToAxis || + ( inst.options.dragLockToAxis && + inst.options.dragLockMinDistance <= ev.distance + )) { + ev.dragLockToAxis = true; + } + // keep direction on the axis that the drag gesture started on + var lastDirection = cur.lastEvent.direction; + if(ev.dragLockToAxis && lastDirection !== ev.direction) { + if(Utils.isVertical(lastDirection)) { + ev.direction = (ev.deltaY < 0) ? DIRECTION_UP : DIRECTION_DOWN; + } else { + ev.direction = (ev.deltaX < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + } - /************************************ - Week of Year - ************************************/ + // first time, trigger dragstart event + if(!triggered) { + inst.trigger(name + 'start', ev); + triggered = true; + } + // trigger events + inst.trigger(name, ev); + inst.trigger(name + ev.direction, ev); - // firstDayOfWeek 0 = sun, 6 = sat - // the day of the week that starts the week - // (usually sunday or monday) - // firstDayOfWeekOfYear 0 = sun, 6 = sat - // the first week is the week that contains the first - // of this day of the week - // (eg. ISO weeks use thursday (4)) - function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) { - var end = firstDayOfWeekOfYear - firstDayOfWeek, - daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(), - adjustedMoment; + var isVertical = Utils.isVertical(ev.direction); + // block the browser events + if((inst.options.dragBlockVertical && isVertical) || + (inst.options.dragBlockHorizontal && !isVertical)) { + ev.preventDefault(); + } + break; - if (daysToDayOfWeek > end) { - daysToDayOfWeek -= 7; - } + case EVENT_RELEASE: + if(triggered && ev.changedLength <= inst.options.dragMaxTouches) { + inst.trigger(name + 'end', ev); + triggered = false; + } + break; - if (daysToDayOfWeek < end - 7) { - daysToDayOfWeek += 7; + case EVENT_END: + triggered = false; + break; } - - adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd'); - return { - week: Math.ceil(adjustedMoment.dayOfYear() / 7), - year: adjustedMoment.year() - }; } - //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday - function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) { - var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear; + Hammer.gestures.Drag = { + name: name, + index: 50, + handler: dragGesture, + defaults: { + /** + * minimal movement that have to be made before the drag event gets triggered + * @property dragMinDistance + * @type {Number} + * @default 10 + */ + dragMinDistance: 10, - d = d === 0 ? 7 : d; - weekday = weekday != null ? weekday : firstDayOfWeek; - daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0); - dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1; + /** + * Set dragDistanceCorrection to true to make the starting point of the drag + * be calculated from where the drag was triggered, not from where the touch started. + * Useful to avoid a jerk-starting drag, which can make fine-adjustments + * through dragging difficult, and be visually unappealing. + * @property dragDistanceCorrection + * @type {Boolean} + * @default true + */ + dragDistanceCorrection: true, - return { - year: dayOfYear > 0 ? year : year - 1, - dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear - }; - } + /** + * set 0 for unlimited, but this can conflict with transform + * @property dragMaxTouches + * @type {Number} + * @default 1 + */ + dragMaxTouches: 1, - /************************************ - Top Level Functions - ************************************/ + /** + * prevent default browser behavior when dragging occurs + * be careful with it, it makes the element a blocking element + * when you are using the drag gesture, it is a good practice to set this true + * @property dragBlockHorizontal + * @type {Boolean} + * @default false + */ + dragBlockHorizontal: false, - function makeMoment(config) { - var input = config._i, - format = config._f; + /** + * same as `dragBlockHorizontal`, but for vertical movement + * @property dragBlockVertical + * @type {Boolean} + * @default false + */ + dragBlockVertical: false, - config._locale = config._locale || moment.localeData(config._l); + /** + * dragLockToAxis keeps the drag gesture on the axis that it started on, + * It disallows vertical directions if the initial direction was horizontal, and vice versa. + * @property dragLockToAxis + * @type {Boolean} + * @default false + */ + dragLockToAxis: false, - if (input === null || (format === undefined && input === '')) { - return moment.invalid({nullInput: true}); + /** + * drag lock only kicks in when distance > dragLockMinDistance + * This way, locking occurs only when the distance has become large enough to reliably determine the direction + * @property dragLockMinDistance + * @type {Number} + * @default 25 + */ + dragLockMinDistance: 25 } + }; + })('drag'); - if (typeof input === 'string') { - config._i = input = config._locale.preparse(input); - } + /** + * @module gestures + */ + /** + * trigger a simple gesture event, so you can do anything in your handler. + * only usable if you know what your doing... + * + * @class Gesture + * @static + */ + /** + * @event gesture + * @param {Object} ev + */ + Hammer.gestures.Gesture = { + name: 'gesture', + index: 1337, + handler: function releaseGesture(ev, inst) { + inst.trigger(this.name, ev); + } + }; - if (moment.isMoment(input)) { - return new Moment(input, true); - } else if (format) { - if (isArray(format)) { - makeDateFromStringAndArray(config); - } else { - makeDateFromStringAndFormat(config); - } - } else { - makeDateFromInput(config); - } + /** + * @module gestures + */ + /** + * Touch stays at the same place for x time + * + * @class Hold + * @static + */ + /** + * @event hold + * @param {Object} ev + */ - return new Moment(config); - } + /** + * @param {String} name + */ + (function(name) { + var timer; - moment = function (input, format, locale, strict) { - var c; + function holdGesture(ev, inst) { + var options = inst.options, + current = Detection.current; - if (typeof(locale) === 'boolean') { - strict = locale; - locale = undefined; - } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c = {}; - c._isAMomentObject = true; - c._i = input; - c._f = format; - c._l = locale; - c._strict = strict; - c._isUTC = false; - c._pf = defaultParsingFlags(); + switch(ev.eventType) { + case EVENT_START: + clearTimeout(timer); - return makeMoment(c); - }; + // set the gesture so we can check in the timeout if it still is + current.name = name; - moment.suppressDeprecationWarnings = false; + // set timer and if after the timeout it still is hold, + // we trigger the hold event + timer = setTimeout(function() { + if(current && current.name == name) { + inst.trigger(name, ev); + } + }, options.holdTimeout); + break; - moment.createFromInputFallback = deprecate( - '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 (config) { - config._d = new Date(config._i); - } - ); + case EVENT_MOVE: + if(ev.distance > options.holdThreshold) { + clearTimeout(timer); + } + break; - // Pick a moment m from moments so that m[fn](other) is true for all - // other. This relies on the function fn to be transitive. - // - // moments should either be an array of moment objects or an array, whose - // first element is an array of moment objects. - function pickBy(fn, moments) { - var res, i; - if (moments.length === 1 && isArray(moments[0])) { - moments = moments[0]; - } - if (!moments.length) { - return moment(); - } - res = moments[0]; - for (i = 1; i < moments.length; ++i) { - if (moments[i][fn](res)) { - res = moments[i]; - } + case EVENT_RELEASE: + clearTimeout(timer); + break; } - return res; } - moment.min = function () { - var args = [].slice.call(arguments, 0); + Hammer.gestures.Hold = { + name: name, + index: 10, + defaults: { + /** + * @property holdTimeout + * @type {Number} + * @default 500 + */ + holdTimeout: 500, - return pickBy('isBefore', args); + /** + * movement allowed while holding + * @property holdThreshold + * @type {Number} + * @default 2 + */ + holdThreshold: 2 + }, + handler: holdGesture }; + })('hold'); - moment.max = function () { - var args = [].slice.call(arguments, 0); + /** + * @module gestures + */ + /** + * when a touch is being released from the page + * + * @class Release + * @static + */ + /** + * @event release + * @param {Object} ev + */ + Hammer.gestures.Release = { + name: 'release', + index: Infinity, + handler: function releaseGesture(ev, inst) { + if(ev.eventType == EVENT_RELEASE) { + inst.trigger(this.name, ev); + } + } + }; - return pickBy('isAfter', args); - }; + /** + * @module gestures + */ + /** + * triggers swipe events when the end velocity is above the threshold + * for best usage, set `preventDefault` (on the drag gesture) to `true` + * ```` + * hammertime.on("dragleft swipeleft", function(ev) { + * console.log(ev); + * ev.gesture.preventDefault(); + * }); + * ```` + * + * @class Swipe + * @static + */ + /** + * @event swipe + * @param {Object} ev + */ + /** + * @event swipeleft + * @param {Object} ev + */ + /** + * @event swiperight + * @param {Object} ev + */ + /** + * @event swipeup + * @param {Object} ev + */ + /** + * @event swipedown + * @param {Object} ev + */ + Hammer.gestures.Swipe = { + name: 'swipe', + index: 40, + defaults: { + /** + * @property swipeMinTouches + * @type {Number} + * @default 1 + */ + swipeMinTouches: 1, - // creating with utc - moment.utc = function (input, format, locale, strict) { - var c; + /** + * @property swipeMaxTouches + * @type {Number} + * @default 1 + */ + swipeMaxTouches: 1, - if (typeof(locale) === 'boolean') { - strict = locale; - locale = undefined; - } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c = {}; - c._isAMomentObject = true; - c._useUTC = true; - c._isUTC = true; - c._l = locale; - c._i = input; - c._f = format; - c._strict = strict; - c._pf = defaultParsingFlags(); + /** + * horizontal swipe velocity + * @property swipeVelocityX + * @type {Number} + * @default 0.6 + */ + swipeVelocityX: 0.6, - return makeMoment(c).utc(); - }; + /** + * vertical swipe velocity + * @property swipeVelocityY + * @type {Number} + * @default 0.6 + */ + swipeVelocityY: 0.6 + }, - // creating with unix timestamp (in seconds) - moment.unix = function (input) { - return moment(input * 1000); - }; + handler: function swipeGesture(ev, inst) { + if(ev.eventType == EVENT_RELEASE) { + var touches = ev.touches.length, + options = inst.options; - // duration - moment.duration = function (input, key) { - var duration = input, - // matching against regexp is expensive, do it on demand - match = null, - sign, - ret, - parseIso, - diffRes; + // max touches + if(touches < options.swipeMinTouches || + touches > options.swipeMaxTouches) { + return; + } - if (moment.isDuration(input)) { - duration = { - ms: input._milliseconds, - d: input._days, - M: input._months - }; - } else if (typeof input === 'number') { - duration = {}; - if (key) { - duration[key] = input; - } else { - duration.milliseconds = input; + // when the distance we moved is too small we skip this gesture + // or we can be already in dragging + if(ev.velocityX > options.swipeVelocityX || + ev.velocityY > options.swipeVelocityY) { + // trigger swipe events + inst.trigger(this.name, ev); + inst.trigger(this.name + ev.direction, ev); } - } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) { - sign = (match[1] === '-') ? -1 : 1; - duration = { - y: 0, - d: toInt(match[DATE]) * sign, - h: toInt(match[HOUR]) * sign, - m: toInt(match[MINUTE]) * sign, - s: toInt(match[SECOND]) * sign, - ms: toInt(match[MILLISECOND]) * sign - }; - } else if (!!(match = isoDurationRegex.exec(input))) { - sign = (match[1] === '-') ? -1 : 1; - parseIso = function (inp) { - // We'd normally use ~~inp for this, but unfortunately it also - // converts floats to ints. - // inp may be undefined, so careful calling replace on it. - var res = inp && parseFloat(inp.replace(',', '.')); - // apply sign while we're at it - return (isNaN(res) ? 0 : res) * sign; - }; - duration = { - y: parseIso(match[2]), - M: parseIso(match[3]), - d: parseIso(match[4]), - h: parseIso(match[5]), - m: parseIso(match[6]), - s: parseIso(match[7]), - w: parseIso(match[8]) - }; - } else if (typeof duration === 'object' && - ('from' in duration || 'to' in duration)) { - diffRes = momentsDifference(moment(duration.from), moment(duration.to)); + } + } + }; + + /** + * @module gestures + */ + /** + * Single tap and a double tap on a place + * + * @class Tap + * @static + */ + /** + * @event tap + * @param {Object} ev + */ + /** + * @event doubletap + * @param {Object} ev + */ - duration = {}; - duration.ms = diffRes.milliseconds; - duration.M = diffRes.months; - } + /** + * @param {String} name + */ + (function(name) { + var hasMoved = false; - ret = new Duration(duration); + function tapGesture(ev, inst) { + var options = inst.options, + current = Detection.current, + prev = Detection.previous, + sincePrev, + didDoubleTap; - if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { - ret._locale = input._locale; - } + switch(ev.eventType) { + case EVENT_START: + hasMoved = false; + break; - return ret; - }; + case EVENT_MOVE: + hasMoved = hasMoved || (ev.distance > options.tapMaxDistance); + break; - // version number - moment.version = VERSION; + case EVENT_END: + if(!Utils.inStr(ev.srcEvent.type, 'cancel') && ev.deltaTime < options.tapMaxTime && !hasMoved) { + // previous gesture, for the double tap since these are two different gesture detections + sincePrev = prev && prev.lastEvent && ev.timeStamp - prev.lastEvent.timeStamp; + didDoubleTap = false; - // default format - moment.defaultFormat = isoFormat; + // check if double tap + if(prev && prev.name == name && + (sincePrev && sincePrev < options.doubleTapInterval) && + ev.distance < options.doubleTapDistance) { + inst.trigger('doubletap', ev); + didDoubleTap = true; + } - // constant that refers to the ISO standard - moment.ISO_8601 = function () {}; + // do a single tap + if(!didDoubleTap || options.tapAlways) { + current.name = name; + inst.trigger(current.name, ev); + } + } + break; + } + } - // Plugins that add properties should also add the key here (null value), - // so we can properly clone ourselves. - moment.momentProperties = momentProperties; + Hammer.gestures.Tap = { + name: name, + index: 100, + handler: tapGesture, + defaults: { + /** + * max time of a tap, this is for the slow tappers + * @property tapMaxTime + * @type {Number} + * @default 250 + */ + tapMaxTime: 250, - // This function will be called whenever a moment is mutated. - // It is intended to keep the offset in sync with the timezone. - moment.updateOffset = function () {}; + /** + * max distance of movement of a tap, this is for the slow tappers + * @property tapMaxDistance + * @type {Number} + * @default 10 + */ + tapMaxDistance: 10, - // This function allows you to set a threshold for relative time strings - moment.relativeTimeThreshold = function (threshold, limit) { - if (relativeTimeThresholds[threshold] === undefined) { - return false; - } - if (limit === undefined) { - return relativeTimeThresholds[threshold]; + /** + * always trigger the `tap` event, even while double-tapping + * @property tapAlways + * @type {Boolean} + * @default true + */ + tapAlways: true, + + /** + * max distance between two taps + * @property doubleTapDistance + * @type {Number} + * @default 20 + */ + doubleTapDistance: 20, + + /** + * max time between two taps + * @property doubleTapInterval + * @type {Number} + * @default 300 + */ + doubleTapInterval: 300 } - relativeTimeThresholds[threshold] = limit; - return true; }; + })('tap'); - moment.lang = deprecate( - 'moment.lang is deprecated. Use moment.locale instead.', - function (key, value) { - return moment.locale(key, value); + /** + * @module gestures + */ + /** + * when a touch is being touched at the page + * + * @class Touch + * @static + */ + /** + * @event touch + * @param {Object} ev + */ + Hammer.gestures.Touch = { + name: 'touch', + index: -Infinity, + defaults: { + /** + * call preventDefault at touchstart, and makes the element blocking by disabling the scrolling of the page, + * but it improves gestures like transforming and dragging. + * be careful with using this, it can be very annoying for users to be stuck on the page + * @property preventDefault + * @type {Boolean} + * @default false + */ + preventDefault: false, + + /** + * disable mouse events, so only touch (or pen!) input triggers events + * @property preventMouse + * @type {Boolean} + * @default false + */ + preventMouse: false + }, + handler: function touchGesture(ev, inst) { + if(inst.options.preventMouse && ev.pointerType == POINTER_MOUSE) { + ev.stopDetect(); + return; } - ); - // This function will load locale and then set the global locale. If - // no arguments are passed in, it will simply return the current global - // locale key. - moment.locale = function (key, values) { - var data; - if (key) { - if (typeof(values) !== 'undefined') { - data = moment.defineLocale(key, values); - } - else { - data = moment.localeData(key); - } + if(inst.options.preventDefault) { + ev.preventDefault(); + } - if (data) { - moment.duration._locale = moment._locale = data; - } + if(ev.eventType == EVENT_TOUCH) { + inst.trigger('touch', ev); } + } + }; - return moment._locale._abbr; - }; + /** + * @module gestures + */ + /** + * User want to scale or rotate with 2 fingers + * Preventing the default browser behavior is a good way to improve feel and working. This can be done with the + * `preventDefault` option. + * + * @class Transform + * @static + */ + /** + * @event transform + * @param {Object} ev + */ + /** + * @event transformstart + * @param {Object} ev + */ + /** + * @event transformend + * @param {Object} ev + */ + /** + * @event pinchin + * @param {Object} ev + */ + /** + * @event pinchout + * @param {Object} ev + */ + /** + * @event rotate + * @param {Object} ev + */ - moment.defineLocale = function (name, values) { - if (values !== null) { - values.abbr = name; - if (!locales[name]) { - locales[name] = new Locale(); - } - locales[name].set(values); + /** + * @param {String} name + */ + (function(name) { + var triggered = false; + + function transformGesture(ev, inst) { + switch(ev.eventType) { + case EVENT_START: + triggered = false; + break; + + case EVENT_MOVE: + // at least multitouch + if(ev.touches.length < 2) { + return; + } + + var scaleThreshold = Math.abs(1 - ev.scale); + var rotationThreshold = Math.abs(ev.rotation); - // backwards compat for now: also set the locale - moment.locale(name); + // when the distance we moved is too small we skip this gesture + // or we can be already in dragging + if(scaleThreshold < inst.options.transformMinScale && + rotationThreshold < inst.options.transformMinRotation) { + return; + } - return locales[name]; - } else { - // useful for testing - delete locales[name]; - return null; - } - }; + // we are transforming! + Detection.current.name = name; - moment.langData = deprecate( - 'moment.langData is deprecated. Use moment.localeData instead.', - function (key) { - return moment.localeData(key); - } - ); + // first time, trigger dragstart event + if(!triggered) { + inst.trigger(name + 'start', ev); + triggered = true; + } - // returns locale data - moment.localeData = function (key) { - var locale; + inst.trigger(name, ev); // basic transform event - if (key && key._locale && key._locale._abbr) { - key = key._locale._abbr; - } + // trigger rotate event + if(rotationThreshold > inst.options.transformMinRotation) { + inst.trigger('rotate', ev); + } - if (!key) { - return moment._locale; - } + // trigger pinch event + if(scaleThreshold > inst.options.transformMinScale) { + inst.trigger('pinch', ev); + inst.trigger('pinch' + (ev.scale < 1 ? 'in' : 'out'), ev); + } + break; - if (!isArray(key)) { - //short-circuit everything else - locale = loadLocale(key); - if (locale) { - return locale; - } - key = [key]; + case EVENT_RELEASE: + if(triggered && ev.changedLength < 2) { + inst.trigger(name + 'end', ev); + triggered = false; + } + break; } + } - return chooseLocale(key); - }; + Hammer.gestures.Transform = { + name: name, + index: 45, + defaults: { + /** + * minimal scale factor, no scale is 1, zoomin is to 0 and zoomout until higher then 1 + * @property transformMinScale + * @type {Number} + * @default 0.01 + */ + transformMinScale: 0.01, - // compare moment object - moment.isMoment = function (obj) { - return obj instanceof Moment || - (obj != null && hasOwnProp(obj, '_isAMomentObject')); - }; + /** + * rotation in degrees + * @property transformMinRotation + * @type {Number} + * @default 1 + */ + transformMinRotation: 1 + }, - // for typechecking Duration objects - moment.isDuration = function (obj) { - return obj instanceof Duration; + handler: transformGesture }; + })('transform'); - for (i = lists.length - 1; i >= 0; --i) { - makeList(lists[i]); - } - - moment.normalizeUnits = function (units) { - return normalizeUnits(units); - }; + /** + * @module hammer + */ - moment.invalid = function (flags) { - var m = moment.utc(NaN); - if (flags != null) { - extend(m._pf, flags); - } - else { - m._pf.userInvalidated = true; - } + // AMD export + if(true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { + return Hammer; + }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + // commonjs export + } else if(typeof module !== 'undefined' && module.exports) { + module.exports = Hammer; + // browser export + } else { + window.Hammer = Hammer; + } - return m; - }; + })(window); - moment.parseZone = function () { - return moment.apply(null, arguments).parseZone(); - }; +/***/ }, +/* 53 */ +/***/ function(module, exports, __webpack_require__) { - moment.parseTwoDigitYear = function (input) { - return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); - }; + var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js + //! version : 2.8.3 + //! authors : Tim Wood, Iskren Chernev, Moment.js contributors + //! license : MIT + //! momentjs.com + (function (undefined) { /************************************ - Moment Prototype + Constants ************************************/ + var moment, + VERSION = '2.8.3', + // the global-scope this is NOT the global object in Node.js + globalScope = typeof global !== 'undefined' ? global : this, + oldGlobalMoment, + round = Math.round, + hasOwnProperty = Object.prototype.hasOwnProperty, + i, - extend(moment.fn = Moment.prototype, { + YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, - clone : function () { - return moment(this); - }, + // internal storage for locale config files + locales = {}, - valueOf : function () { - return +this._d + ((this._offset || 0) * 60000); - }, + // extra moment internal properties (plugins register props here) + momentProperties = [], - unix : function () { - return Math.floor(+this / 1000); - }, + // check for nodeJS + hasModule = (typeof module !== 'undefined' && module.exports), - toString : function () { - return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); - }, + // ASP.NET json date format regex + aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, + aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, - toDate : function () { - return this._offset ? new Date(+this) : this._d; - }, + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, - toISOString : function () { - var m = moment(this).utc(); - if (0 < m.year() && m.year() <= 9999) { - return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); - } else { - return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); - } - }, + // format tokens + formattingTokens = /(\[[^\[]*\])|(\\)?(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|zz?|ZZ?|.)/g, + localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g, - toArray : function () { - var m = this; - return [ - m.year(), - m.month(), - m.date(), - m.hours(), - m.minutes(), - m.seconds(), - m.milliseconds() - ]; - }, + // parsing token regexes + parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 + parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 + parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999 + parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 + parseTokenDigits = /\d+/, // nonzero number of digits + parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. + parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z + parseTokenT = /T/i, // T (ISO separator) + parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 + parseTokenOrdinal = /\d{1,2}/, - isValid : function () { - return isValid(this); - }, + //strict parsing regexes + parseTokenOneDigit = /\d/, // 0 - 9 + parseTokenTwoDigits = /\d\d/, // 00 - 99 + parseTokenThreeDigits = /\d{3}/, // 000 - 999 + parseTokenFourDigits = /\d{4}/, // 0000 - 9999 + parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999 + parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf - isDSTShifted : function () { - if (this._a) { - return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; - } + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + isoRegex = /^\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)?)?$/, + + isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', + + isoDates = [ + ['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}/] + ], + + // iso time formats and regexes + isoTimes = [ + ['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/] + ], - return false; - }, + // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30'] + parseTimezoneChunker = /([\+\-]|\d\d)/gi, - parsingFlags : function () { - return extend({}, this._pf); + // getter and setter names + proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), + unitMillisecondFactors = { + 'Milliseconds' : 1, + 'Seconds' : 1e3, + 'Minutes' : 6e4, + 'Hours' : 36e5, + 'Days' : 864e5, + 'Months' : 2592e6, + 'Years' : 31536e6 }, - invalidAt: function () { - return this._pf.overflow; + unitAliases = { + ms : 'millisecond', + s : 'second', + m : 'minute', + h : 'hour', + d : 'day', + D : 'date', + w : 'week', + W : 'isoWeek', + M : 'month', + Q : 'quarter', + y : 'year', + DDD : 'dayOfYear', + e : 'weekday', + E : 'isoWeekday', + gg: 'weekYear', + GG: 'isoWeekYear' }, - utc : function (keepLocalTime) { - return this.zone(0, keepLocalTime); + camelFunctions = { + dayofyear : 'dayOfYear', + isoweekday : 'isoWeekday', + isoweek : 'isoWeek', + weekyear : 'weekYear', + isoweekyear : 'isoWeekYear' }, - local : function (keepLocalTime) { - if (this._isUTC) { - this.zone(0, keepLocalTime); - this._isUTC = false; - - if (keepLocalTime) { - this.add(this._dateTzOffset(), 'm'); - } - } - return this; - }, + // format function strings + formatFunctions = {}, - format : function (inputString) { - var output = formatMoment(this, inputString || moment.defaultFormat); - return this.localeData().postformat(output); + // default relative time thresholds + relativeTimeThresholds = { + s: 45, // seconds to minute + m: 45, // minutes to hour + h: 22, // hours to day + d: 26, // days to month + M: 11 // months to year }, - add : createAdder(1, 'add'), - - subtract : createAdder(-1, 'subtract'), - - diff : function (input, units, asFloat) { - var that = makeAs(input, this), - zoneDiff = (this.zone() - that.zone()) * 6e4, - diff, output, daysAdjust; - - units = normalizeUnits(units); + // tokens to ordinalize and pad + ordinalizeTokens = 'DDD w W M D d'.split(' '), + paddedTokens = 'M D H h m s w W'.split(' '), - if (units === 'year' || units === 'month') { - // average number of days in the months in the given dates - diff = (this.daysInMonth() + that.daysInMonth()) * 432e5; // 24 * 60 * 60 * 1000 / 2 - // difference in months - output = ((this.year() - that.year()) * 12) + (this.month() - that.month()); - // adjust by taking difference in days, average number of days - // and dst in the given months. - daysAdjust = (this - moment(this).startOf('month')) - - (that - moment(that).startOf('month')); - // same as above but with zones, to negate all dst - daysAdjust -= ((this.zone() - moment(this).startOf('month').zone()) - - (that.zone() - moment(that).startOf('month').zone())) * 6e4; - output += daysAdjust / diff; - if (units === 'year') { - output = output / 12; + formatTokenFunctions = { + M : function () { + return this.month() + 1; + }, + MMM : function (format) { + return this.localeData().monthsShort(this, format); + }, + MMMM : function (format) { + return this.localeData().months(this, format); + }, + D : function () { + return this.date(); + }, + DDD : function () { + return this.dayOfYear(); + }, + d : function () { + return this.day(); + }, + dd : function (format) { + return this.localeData().weekdaysMin(this, format); + }, + ddd : function (format) { + return this.localeData().weekdaysShort(this, format); + }, + dddd : function (format) { + return this.localeData().weekdays(this, format); + }, + w : function () { + return this.week(); + }, + W : function () { + return this.isoWeek(); + }, + YY : function () { + return leftZeroFill(this.year() % 100, 2); + }, + YYYY : function () { + return leftZeroFill(this.year(), 4); + }, + YYYYY : function () { + return leftZeroFill(this.year(), 5); + }, + YYYYYY : function () { + var y = this.year(), sign = y >= 0 ? '+' : '-'; + return sign + leftZeroFill(Math.abs(y), 6); + }, + gg : function () { + return leftZeroFill(this.weekYear() % 100, 2); + }, + gggg : function () { + return leftZeroFill(this.weekYear(), 4); + }, + ggggg : function () { + return leftZeroFill(this.weekYear(), 5); + }, + GG : function () { + return leftZeroFill(this.isoWeekYear() % 100, 2); + }, + GGGG : function () { + return leftZeroFill(this.isoWeekYear(), 4); + }, + GGGGG : function () { + return leftZeroFill(this.isoWeekYear(), 5); + }, + e : function () { + return this.weekday(); + }, + E : function () { + return this.isoWeekday(); + }, + a : function () { + return this.localeData().meridiem(this.hours(), this.minutes(), true); + }, + A : function () { + return this.localeData().meridiem(this.hours(), this.minutes(), false); + }, + H : function () { + return this.hours(); + }, + h : function () { + return this.hours() % 12 || 12; + }, + m : function () { + return this.minutes(); + }, + s : function () { + return this.seconds(); + }, + S : function () { + return toInt(this.milliseconds() / 100); + }, + SS : function () { + return leftZeroFill(toInt(this.milliseconds() / 10), 2); + }, + SSS : function () { + return leftZeroFill(this.milliseconds(), 3); + }, + SSSS : function () { + return leftZeroFill(this.milliseconds(), 3); + }, + Z : function () { + var a = -this.zone(), + b = '+'; + if (a < 0) { + a = -a; + b = '-'; } - } else { - diff = (this - that); - output = units === 'second' ? diff / 1e3 : // 1000 - units === 'minute' ? diff / 6e4 : // 1000 * 60 - units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60 - units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst - units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst - diff; + return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2); + }, + ZZ : function () { + var a = -this.zone(), + b = '+'; + if (a < 0) { + a = -a; + b = '-'; + } + return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2); + }, + z : function () { + return this.zoneAbbr(); + }, + zz : function () { + return this.zoneName(); + }, + X : function () { + return this.unix(); + }, + Q : function () { + return this.quarter(); } - return asFloat ? output : absRound(output); - }, - - from : function (time, withoutSuffix) { - return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); - }, - - fromNow : function (withoutSuffix) { - return this.from(moment(), withoutSuffix); - }, - - calendar : function (time) { - // We want to compare the start of today, vs this. - // Getting start-of-today depends on whether we're zone'd or not. - var now = time || moment(), - sod = makeAs(now, this).startOf('day'), - diff = this.diff(sod, 'days', true), - format = diff < -6 ? 'sameElse' : - diff < -1 ? 'lastWeek' : - diff < 0 ? 'lastDay' : - diff < 1 ? 'sameDay' : - diff < 2 ? 'nextDay' : - diff < 7 ? 'nextWeek' : 'sameElse'; - return this.format(this.localeData().calendar(format, this)); }, - isLeapYear : function () { - return isLeapYear(this.year()); - }, + deprecations = {}, - isDST : function () { - return (this.zone() < this.clone().month(0).zone() || - this.zone() < this.clone().month(5).zone()); - }, + lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin']; - day : function (input) { - var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); - if (input != null) { - input = parseWeekday(input, this.localeData()); - return this.add(input - day, 'd'); - } else { - return day; - } - }, + // Pick the first defined of two or three arguments. dfl comes from + // default. + function dfl(a, b, c) { + switch (arguments.length) { + case 2: return a != null ? a : b; + case 3: return a != null ? a : b != null ? b : c; + default: throw new Error('Implement me'); + } + } - month : makeAccessor('Month', true), + function hasOwnProp(a, b) { + return hasOwnProperty.call(a, b); + } - startOf : function (units) { - units = normalizeUnits(units); - // the following switch intentionally omits break keywords - // to utilize falling through the cases. - switch (units) { - case 'year': - this.month(0); - /* falls through */ - case 'quarter': - case 'month': - this.date(1); - /* falls through */ - case 'week': - case 'isoWeek': - case 'day': - this.hours(0); - /* falls through */ - case 'hour': - this.minutes(0); - /* falls through */ - case 'minute': - this.seconds(0); - /* falls through */ - case 'second': - this.milliseconds(0); - /* falls through */ - } + function defaultParsingFlags() { + // We need to deep clone this object, and es5 standard is not very + // helpful. + return { + empty : false, + unusedTokens : [], + unusedInput : [], + overflow : -2, + charsLeftOver : 0, + nullInput : false, + invalidMonth : null, + invalidFormat : false, + userInvalidated : false, + iso: false + }; + } - // weeks are a special case - if (units === 'week') { - this.weekday(0); - } else if (units === 'isoWeek') { - this.isoWeekday(1); - } + function printMsg(msg) { + if (moment.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && console.warn) { + console.warn('Deprecation warning: ' + msg); + } + } - // quarters are also special - if (units === 'quarter') { - this.month(Math.floor(this.month() / 3) * 3); + function deprecate(msg, fn) { + var firstTime = true; + return extend(function () { + if (firstTime) { + printMsg(msg); + firstTime = false; } + return fn.apply(this, arguments); + }, fn); + } - return this; - }, + function deprecateSimple(name, msg) { + if (!deprecations[name]) { + printMsg(msg); + deprecations[name] = true; + } + } - endOf: function (units) { - units = normalizeUnits(units); - return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); - }, + function padToken(func, count) { + return function (a) { + return leftZeroFill(func.call(this, a), count); + }; + } + function ordinalizeToken(func, period) { + return function (a) { + return this.localeData().ordinal(func.call(this, a), period); + }; + } - isAfter: function (input, units) { - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this > +input; - } else { - return +this.clone().startOf(units) > +moment(input).startOf(units); - } - }, + while (ordinalizeTokens.length) { + i = ordinalizeTokens.pop(); + formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i); + } + while (paddedTokens.length) { + i = paddedTokens.pop(); + formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2); + } + formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3); - isBefore: function (input, units) { - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this < +input; - } else { - return +this.clone().startOf(units) < +moment(input).startOf(units); - } - }, - isSame: function (input, units) { - units = normalizeUnits(units || 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this === +input; - } else { - return +this.clone().startOf(units) === +makeAs(input, this).startOf(units); - } - }, + /************************************ + Constructors + ************************************/ - min: deprecate( - 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548', - function (other) { - other = moment.apply(null, arguments); - return other < this ? this : other; - } - ), + function Locale() { + } - max: deprecate( - 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548', - function (other) { - other = moment.apply(null, arguments); - return other > this ? this : other; - } - ), + // Moment prototype object + function Moment(config, skipOverflow) { + if (skipOverflow !== false) { + checkOverflow(config); + } + copyConfig(this, config); + this._d = new Date(+config._d); + } - // keepLocalTime = true means only change the timezone, without - // affecting the local hour. So 5:31:26 +0300 --[zone(2, true)]--> - // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist int zone - // +0200, so we adjust the time as needed, to be valid. - // - // Keeping the time actually adds/subtracts (one hour) - // from the actual represented time. That is why we call updateOffset - // a second time. In case it wants us to change the offset again - // _changeInProgress == true case, then we have to adjust, because - // there is no such time in the given timezone. - zone : function (input, keepLocalTime) { - var offset = this._offset || 0, - localAdjust; - if (input != null) { - if (typeof input === 'string') { - input = timezoneMinutesFromString(input); - } - if (Math.abs(input) < 16) { - input = input * 60; - } - if (!this._isUTC && keepLocalTime) { - localAdjust = this._dateTzOffset(); - } - this._offset = input; - this._isUTC = true; - if (localAdjust != null) { - this.subtract(localAdjust, 'm'); - } - if (offset !== input) { - if (!keepLocalTime || this._changeInProgress) { - addOrSubtractDurationFromMoment(this, - moment.duration(offset - input, 'm'), 1, false); - } else if (!this._changeInProgress) { - this._changeInProgress = true; - moment.updateOffset(this, true); - this._changeInProgress = null; - } - } - } else { - return this._isUTC ? offset : this._dateTzOffset(); - } - return this; - }, + // Duration Constructor + function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + // representation for dateAddRemove + this._milliseconds = +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 36e5; // 1000 * 60 * 60 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + + weeks * 7; + // It is impossible translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + + quarters * 3 + + years * 12; + + this._data = {}; - zoneAbbr : function () { - return this._isUTC ? 'UTC' : ''; - }, + this._locale = moment.localeData(); - zoneName : function () { - return this._isUTC ? 'Coordinated Universal Time' : ''; - }, + this._bubble(); + } - parseZone : function () { - if (this._tzm) { - this.zone(this._tzm); - } else if (typeof this._i === 'string') { - this.zone(this._i); - } - return this; - }, + /************************************ + Helpers + ************************************/ - hasAlignedHourOffset : function (input) { - if (!input) { - input = 0; - } - else { - input = moment(input).zone(); + + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; } + } - return (this.zone() - input) % 60 === 0; - }, + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } - daysInMonth : function () { - return daysInMonth(this.year(), this.month()); - }, + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } - dayOfYear : function (input) { - var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1; - return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); - }, + return a; + } - quarter : function (input) { - return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); - }, + function copyConfig(to, from) { + var i, prop, val; - weekYear : function (input) { - var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year; - return input == null ? year : this.add((input - year), 'y'); - }, + if (typeof from._isAMomentObject !== 'undefined') { + to._isAMomentObject = from._isAMomentObject; + } + if (typeof from._i !== 'undefined') { + to._i = from._i; + } + if (typeof from._f !== 'undefined') { + to._f = from._f; + } + if (typeof from._l !== 'undefined') { + to._l = from._l; + } + if (typeof from._strict !== 'undefined') { + to._strict = from._strict; + } + if (typeof from._tzm !== 'undefined') { + to._tzm = from._tzm; + } + if (typeof from._isUTC !== 'undefined') { + to._isUTC = from._isUTC; + } + if (typeof from._offset !== 'undefined') { + to._offset = from._offset; + } + if (typeof from._pf !== 'undefined') { + to._pf = from._pf; + } + if (typeof from._locale !== 'undefined') { + to._locale = from._locale; + } - isoWeekYear : function (input) { - var year = weekOfYear(this, 1, 4).year; - return input == null ? year : this.add((input - year), 'y'); - }, + if (momentProperties.length > 0) { + for (i in momentProperties) { + prop = momentProperties[i]; + val = from[prop]; + if (typeof val !== 'undefined') { + to[prop] = val; + } + } + } - week : function (input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); - }, + return to; + } - isoWeek : function (input) { - var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); - }, + function absRound(number) { + if (number < 0) { + return Math.ceil(number); + } else { + return Math.floor(number); + } + } - weekday : function (input) { - var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; - return input == null ? weekday : this.add(input - weekday, 'd'); - }, + // left zero fill a number + // see http://jsperf.com/left-zero-filling for performance comparison + function leftZeroFill(number, targetLength, forceSign) { + var output = '' + Math.abs(number), + sign = number >= 0; - isoWeekday : function (input) { - // behaves the same as moment#day except - // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) - // as a setter, sunday should belong to the previous week. - return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7); - }, + while (output.length < targetLength) { + output = '0' + output; + } + return (sign ? (forceSign ? '+' : '') : '-') + output; + } - isoWeeksInYear : function () { - return weeksInYear(this.year(), 1, 4); - }, + function positiveMomentsDifference(base, other) { + var res = {milliseconds: 0, months: 0}; - weeksInYear : function () { - var weekInfo = this.localeData()._week; - return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); - }, + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } - get : function (units) { - units = normalizeUnits(units); - return this[units](); - }, + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); - set : function (units, value) { - units = normalizeUnits(units); - if (typeof this[units] === 'function') { - this[units](value); + return res; + } + + function momentsDifference(base, other) { + var res; + other = makeAs(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).'); + tmp = val; val = period; period = tmp; } + + val = typeof val === 'string' ? +val : val; + dur = moment.duration(val, period); + addOrSubtractDurationFromMoment(this, dur, direction); return this; - }, + }; + } - // If passed a locale key, it will set the locale for this - // instance. Otherwise, it will return the locale configuration - // variables for this instance. - locale : function (key) { - var newLocaleData; + function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = duration._days, + months = duration._months; + updateOffset = updateOffset == null ? true : updateOffset; - if (key === undefined) { - return this._locale._abbr; - } else { - newLocaleData = moment.localeData(key); - if (newLocaleData != null) { - this._locale = newLocaleData; - } - return this; - } - }, + if (milliseconds) { + mom._d.setTime(+mom._d + milliseconds * isAdding); + } + if (days) { + rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding); + } + if (months) { + rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding); + } + if (updateOffset) { + moment.updateOffset(mom, days || months); + } + } - lang : deprecate( - 'moment().lang() is deprecated. Use moment().localeData() instead.', - function (key) { - if (key === undefined) { - return this.localeData(); - } else { - return this.locale(key); - } - } - ), + // check if is an array + function isArray(input) { + return Object.prototype.toString.call(input) === '[object Array]'; + } - localeData : function () { - return this._locale; - }, + function isDate(input) { + return Object.prototype.toString.call(input) === '[object Date]' || + input instanceof Date; + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ((dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { + diffs++; + } + } + return diffs + lengthDiff; + } - _dateTzOffset : function () { - // On Firefox.24 Date#getTimezoneOffset returns a floating point. - // https://github.com/moment/moment/pull/1871 - return Math.round(this._d.getTimezoneOffset() / 15) * 15; + function normalizeUnits(units) { + if (units) { + var lowered = units.toLowerCase().replace(/(.)s$/, '$1'); + units = unitAliases[units] || camelFunctions[lowered] || lowered; } - }); + return units; + } - function rawMonthSetter(mom, value) { - var dayOfMonth; + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; - // TODO: Move this out of here! - if (typeof value === 'string') { - value = mom.localeData().monthsParse(value); - // TODO: Another silent failure? - if (typeof value !== 'number') { - return mom; + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } } } - dayOfMonth = Math.min(mom.date(), - daysInMonth(mom.year(), value)); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); - return mom; + return normalizedInput; } - function rawGetter(mom, unit) { - return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); - } + function makeList(field) { + var count, setter; - function rawSetter(mom, unit, value) { - if (unit === 'Month') { - return rawMonthSetter(mom, value); - } else { - return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + if (field.indexOf('week') === 0) { + count = 7; + setter = 'day'; + } + else if (field.indexOf('month') === 0) { + count = 12; + setter = 'month'; + } + else { + return; } - } - function makeAccessor(unit, keepTime) { - return function (value) { - if (value != null) { - rawSetter(this, unit, value); - moment.updateOffset(this, keepTime); - return this; - } else { - return rawGetter(this, unit); - } - }; - } + moment[field] = function (format, index) { + var i, getter, + method = moment._locale[field], + results = []; - moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false); - moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false); - moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false); - // Setting the hour should keep the time, because the user explicitly - // specified which hour he wants. So trying to maintain the same hour (in - // a new timezone) makes sense. Adding/subtracting hours does not follow - // this rule. - moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true); - // moment.fn.month is defined separately - moment.fn.date = makeAccessor('Date', true); - moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true)); - moment.fn.year = makeAccessor('FullYear', true); - moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true)); + if (typeof format === 'number') { + index = format; + format = undefined; + } - // add plural methods - moment.fn.days = moment.fn.day; - moment.fn.months = moment.fn.month; - moment.fn.weeks = moment.fn.week; - moment.fn.isoWeeks = moment.fn.isoWeek; - moment.fn.quarters = moment.fn.quarter; + getter = function (i) { + var m = moment().utc().set(setter, i); + return method.call(moment._locale, m, format || ''); + }; - // add aliased format methods - moment.fn.toJSON = moment.fn.toISOString; + if (index != null) { + return getter(index); + } + else { + for (i = 0; i < count; i++) { + results.push(getter(i)); + } + return results; + } + }; + } - /************************************ - Duration Prototype - ************************************/ + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + if (coercedNumber >= 0) { + value = Math.floor(coercedNumber); + } else { + value = Math.ceil(coercedNumber); + } + } - function daysToYears (days) { - // 400 years have 146097 days (taking into account leap year rules) - return days * 400 / 146097; + return value; } - function yearsToDays (years) { - // years * 365 + absRound(years / 4) - - // absRound(years / 100) + absRound(years / 400); - return years * 146097 / 400; + function daysInMonth(year, month) { + return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); } - extend(moment.duration.fn = Duration.prototype, { - - _bubble : function () { - var milliseconds = this._milliseconds, - days = this._days, - months = this._months, - data = this._data, - seconds, minutes, hours, years = 0; + function weeksInYear(year, dow, doy) { + return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week; + } - // The following code bubbles up values, see the tests for - // examples of what that means. - data.milliseconds = milliseconds % 1000; + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } - seconds = absRound(milliseconds / 1000); - data.seconds = seconds % 60; + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } - minutes = absRound(seconds / 60); - data.minutes = minutes % 60; + function checkOverflow(m) { + var overflow; + if (m._a && m._pf.overflow === -2) { + overflow = + m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH : + m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE : + m._a[HOUR] < 0 || m._a[HOUR] > 23 ? HOUR : + m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE : + m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND : + m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND : + -1; - hours = absRound(minutes / 60); - data.hours = hours % 24; + if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } - days += absRound(hours / 24); + m._pf.overflow = overflow; + } + } - // Accurately convert days to years, assume start from year 0. - years = absRound(daysToYears(days)); - days -= absRound(yearsToDays(years)); + function isValid(m) { + if (m._isValid == null) { + m._isValid = !isNaN(m._d.getTime()) && + m._pf.overflow < 0 && + !m._pf.empty && + !m._pf.invalidMonth && + !m._pf.nullInput && + !m._pf.invalidFormat && + !m._pf.userInvalidated; - // 30 days to a month - // TODO (iskren): Use anchor date (like 1st Jan) to compute this. - months += absRound(days / 30); - days %= 30; + if (m._strict) { + m._isValid = m._isValid && + m._pf.charsLeftOver === 0 && + m._pf.unusedTokens.length === 0; + } + } + return m._isValid; + } - // 12 months -> 1 year - years += absRound(months / 12); - months %= 12; + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } - data.days = days; - data.months = months; - data.years = years; - }, + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, j, next, locale, split; - abs : function () { - this._milliseconds = Math.abs(this._milliseconds); - this._days = Math.abs(this._days); - this._months = Math.abs(this._months); + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return null; + } - this._data.milliseconds = Math.abs(this._data.milliseconds); - this._data.seconds = Math.abs(this._data.seconds); - this._data.minutes = Math.abs(this._data.minutes); - this._data.hours = Math.abs(this._data.hours); - this._data.months = Math.abs(this._data.months); - this._data.years = Math.abs(this._data.years); + function loadLocale(name) { + var oldLocale = null; + if (!locales[name] && hasModule) { + try { + oldLocale = moment.locale(); + !(function webpackMissingModule() { var e = new Error("Cannot find module \"./locale\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()); + // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales + moment.locale(oldLocale); + } catch (e) { } + } + return locales[name]; + } - return this; - }, + // Return a moment from input, that is local/utc/zone equivalent to model. + function makeAs(input, model) { + return model._isUTC ? moment(input).zone(model._offset || 0) : + moment(input).local(); + } - weeks : function () { - return absRound(this.days() / 7); - }, + /************************************ + Locale + ************************************/ - valueOf : function () { - return this._milliseconds + - this._days * 864e5 + - (this._months % 12) * 2592e6 + - toInt(this._months / 12) * 31536e6; - }, - humanize : function (withSuffix) { - var output = relativeTime(this, !withSuffix, this.localeData()); + extend(Locale.prototype, { - if (withSuffix) { - output = this.localeData().pastFuture(+this, output); + set : function (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (typeof prop === 'function') { + this[i] = prop; + } else { + this['_' + i] = prop; + } } - - return this.localeData().postformat(output); }, - add : function (input, val) { - // supports only 2.0-style add(1, 's') or add(moment) - var dur = moment.duration(input, val); - - this._milliseconds += dur._milliseconds; - this._days += dur._days; - this._months += dur._months; - - this._bubble(); - - return this; + _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + months : function (m) { + return this._months[m.month()]; }, - subtract : function (input, val) { - var dur = moment.duration(input, val); + _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + monthsShort : function (m) { + return this._monthsShort[m.month()]; + }, - this._milliseconds -= dur._milliseconds; - this._days -= dur._days; - this._months -= dur._months; + monthsParse : function (monthName) { + var i, mom, regex; - this._bubble(); + if (!this._monthsParse) { + this._monthsParse = []; + } - return this; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + if (!this._monthsParse[i]) { + mom = moment.utc([2000, i]); + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (this._monthsParse[i].test(monthName)) { + return i; + } + } }, - get : function (units) { - units = normalizeUnits(units); - return this[units.toLowerCase() + 's'](); + _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdays : function (m) { + return this._weekdays[m.day()]; }, - as : function (units) { - var days, months; - units = normalizeUnits(units); + _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysShort : function (m) { + return this._weekdaysShort[m.day()]; + }, - if (units === 'month' || units === 'year') { - days = this._days + this._milliseconds / 864e5; - months = this._months + daysToYears(days) * 12; - return units === 'month' ? months : months / 12; - } else { - // handle milliseconds separately because of floating point math errors (issue #1867) - days = this._days + yearsToDays(this._months / 12); - switch (units) { - case 'week': return days / 7 + this._milliseconds / 6048e5; - case 'day': return days + this._milliseconds / 864e5; - case 'hour': return days * 24 + this._milliseconds / 36e5; - case 'minute': return days * 24 * 60 + this._milliseconds / 6e4; - case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000; - // Math.floor prevents floating point math errors here - case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds; - default: throw new Error('Unknown unit ' + units); - } - } + _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + weekdaysMin : function (m) { + return this._weekdaysMin[m.day()]; }, - lang : moment.fn.lang, - locale : moment.fn.locale, + weekdaysParse : function (weekdayName) { + var i, mom, regex; - toIsoString : deprecate( - 'toIsoString() is deprecated. Please use toISOString() instead ' + - '(notice the capitals)', - function () { - return this.toISOString(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; } - ), - - toISOString : function () { - // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js - var years = Math.abs(this.years()), - months = Math.abs(this.months()), - days = Math.abs(this.days()), - hours = Math.abs(this.hours()), - minutes = Math.abs(this.minutes()), - seconds = Math.abs(this.seconds() + this.milliseconds() / 1000); - if (!this.asSeconds()) { - // this is the same as C#'s (Noda) and python (isodate)... - // but not other JS (goog.date) - return 'P0D'; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + if (!this._weekdaysParse[i]) { + mom = moment([2000, 1]).day(i); + regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (this._weekdaysParse[i].test(weekdayName)) { + return i; + } } - - return (this.asSeconds() < 0 ? '-' : '') + - 'P' + - (years ? years + 'Y' : '') + - (months ? months + 'M' : '') + - (days ? days + 'D' : '') + - ((hours || minutes || seconds) ? 'T' : '') + - (hours ? hours + 'H' : '') + - (minutes ? minutes + 'M' : '') + - (seconds ? seconds + 'S' : ''); }, - localeData : function () { - return this._locale; - } - }); - - moment.duration.fn.toString = moment.duration.fn.toISOString; - - function makeDurationGetter(name) { - moment.duration.fn[name] = function () { - return this._data[name]; - }; - } - - for (i in unitMillisecondFactors) { - if (hasOwnProp(unitMillisecondFactors, i)) { - makeDurationGetter(i.toLowerCase()); - } - } - - moment.duration.fn.asMilliseconds = function () { - return this.as('ms'); - }; - moment.duration.fn.asSeconds = function () { - return this.as('s'); - }; - moment.duration.fn.asMinutes = function () { - return this.as('m'); - }; - moment.duration.fn.asHours = function () { - return this.as('h'); - }; - moment.duration.fn.asDays = function () { - return this.as('d'); - }; - moment.duration.fn.asWeeks = function () { - return this.as('weeks'); - }; - moment.duration.fn.asMonths = function () { - return this.as('M'); - }; - moment.duration.fn.asYears = function () { - return this.as('y'); - }; - - /************************************ - Default Locale - ************************************/ - - - // Set default locale, other locale will inherit from English. - moment.locale('en', { - ordinal : function (number) { - var b = number % 10, - output = (toInt(number % 100 / 10) === 1) ? 'th' : - (b === 1) ? 'st' : - (b === 2) ? 'nd' : - (b === 3) ? 'rd' : 'th'; - return number + output; - } - }); - - /* EMBED_LOCALES */ - - /************************************ - Exposing Moment - ************************************/ - - function makeGlobal(shouldDeprecate) { - /*global ender:false */ - if (typeof ender !== 'undefined') { - return; - } - oldGlobalMoment = globalScope.moment; - if (shouldDeprecate) { - globalScope.moment = deprecate( - 'Accessing Moment through the global scope is ' + - 'deprecated, and will be removed in an upcoming ' + - 'release.', - moment); - } else { - globalScope.moment = moment; - } - } + _longDateFormat : { + LT : 'h:mm A', + L : 'MM/DD/YYYY', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY LT', + LLLL : 'dddd, MMMM D, YYYY LT' + }, + longDateFormat : function (key) { + var output = this._longDateFormat[key]; + if (!output && this._longDateFormat[key.toUpperCase()]) { + output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + this._longDateFormat[key] = output; + } + return output; + }, - // CommonJS module is defined - if (hasModule) { - module.exports = moment; - } else if (true) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, module) { - if (module.config && module.config() && module.config().noGlobal === true) { - // release the global variable - globalScope.moment = oldGlobalMoment; + isPM : function (input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return ((input + '').toLowerCase().charAt(0) === 'p'); + }, + + _meridiemParse : /[ap]\.?m?\.?/i, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; } + }, - return moment; - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - makeGlobal(true); - } else { - makeGlobal(); - } - }).call(this); - - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(65)(module))) + _calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + calendar : function (key, mom) { + var output = this._calendar[key]; + return typeof output === 'function' ? output.apply(mom) : output; + }, -/***/ }, -/* 53 */ -/***/ function(module, exports, __webpack_require__) { + _relativeTime : { + 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' + }, - var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20 - * http://eightmedia.github.io/hammer.js - * - * Copyright (c) 2014 Jorik Tangelder ; - * Licensed under the MIT license */ + relativeTime : function (number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return (typeof output === 'function') ? + output(number, withoutSuffix, string, isFuture) : + output.replace(/%d/i, number); + }, - (function(window, undefined) { - 'use strict'; + pastFuture : function (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); + }, - /** - * @main - * @module hammer - * - * @class Hammer - * @static - */ + ordinal : function (number) { + return this._ordinal.replace('%d', number); + }, + _ordinal : '%d', - /** - * Hammer, use this to create instances - * ```` - * var hammertime = new Hammer(myElement); - * ```` - * - * @method Hammer - * @param {HTMLElement} element - * @param {Object} [options={}] - * @return {Hammer.Instance} - */ - var Hammer = function Hammer(element, options) { - return new Hammer.Instance(element, options || {}); - }; + preparse : function (string) { + return string; + }, - /** - * version, as defined in package.json - * the value will be set at each build - * @property VERSION - * @final - * @type {String} - */ - Hammer.VERSION = '1.1.3'; + postformat : function (string) { + return string; + }, - /** - * default settings. - * more settings are defined per gesture at `/gestures`. Each gesture can be disabled/enabled - * by setting it's name (like `swipe`) to false. - * You can set the defaults for all instances by changing this object before creating an instance. - * @example - * ```` - * Hammer.defaults.drag = false; - * Hammer.defaults.behavior.touchAction = 'pan-y'; - * delete Hammer.defaults.behavior.userSelect; - * ```` - * @property defaults - * @type {Object} - */ - Hammer.defaults = { - /** - * this setting object adds styles and attributes to the element to prevent the browser from doing - * its native behavior. The css properties are auto prefixed for the browsers when needed. - * @property defaults.behavior - * @type {Object} - */ - behavior: { - /** - * Disables text selection to improve the dragging gesture. When the value is `none` it also sets - * `onselectstart=false` for IE on the element. Mainly for desktop browsers. - * @property defaults.behavior.userSelect - * @type {String} - * @default 'none' - */ - userSelect: 'none', + week : function (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + }, - /** - * Specifies whether and how a given region can be manipulated by the user (for instance, by panning or zooming). - * Used by Chrome 35> and IE10>. By default this makes the element blocking any touch event. - * @property defaults.behavior.touchAction - * @type {String} - * @default: 'pan-y' - */ - touchAction: 'pan-y', + _week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 1st is the first week of the year. + }, - /** - * Disables the default callout shown when you touch and hold a touch target. - * On iOS, when you touch and hold a touch target such as a link, Safari displays - * a callout containing information about the link. This property allows you to disable that callout. - * @property defaults.behavior.touchCallout - * @type {String} - * @default 'none' - */ - touchCallout: 'none', + _invalidDate: 'Invalid date', + invalidDate: function () { + return this._invalidDate; + } + }); - /** - * Specifies whether zooming is enabled. Used by IE10> - * @property defaults.behavior.contentZooming - * @type {String} - * @default 'none' - */ - contentZooming: 'none', + /************************************ + Formatting + ************************************/ - /** - * Specifies that an entire element should be draggable instead of its contents. - * Mainly for desktop browsers. - * @property defaults.behavior.userDrag - * @type {String} - * @default 'none' - */ - userDrag: 'none', - /** - * Overrides the highlight color shown when the user taps a link or a JavaScript - * clickable element in Safari on iPhone. This property obeys the alpha value, if specified. - * - * If you don't specify an alpha value, Safari on iPhone applies a default alpha value - * to the color. To disable tap highlighting, set the alpha value to 0 (invisible). - * If you set the alpha value to 1.0 (opaque), the element is not visible when tapped. - * @property defaults.behavior.tapHighlightColor - * @type {String} - * @default 'rgba(0,0,0,0)' - */ - tapHighlightColor: 'rgba(0,0,0,0)' + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); } - }; - /** - * hammer document where the base events are added at - * @property DOCUMENT - * @type {HTMLElement} - * @default window.document - */ - Hammer.DOCUMENT = document; + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; - /** - * detect support for pointer events - * @property HAS_POINTEREVENTS - * @type {Boolean} - */ - Hammer.HAS_POINTEREVENTS = navigator.pointerEnabled || navigator.msPointerEnabled; + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } - /** - * detect support for touch events - * @property HAS_TOUCHEVENTS - * @type {Boolean} - */ - Hammer.HAS_TOUCHEVENTS = ('ontouchstart' in window); + return function (mom) { + var output = ''; + for (i = 0; i < length; i++) { + output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; + } + return output; + }; + } - /** - * detect mobile browsers - * @property IS_MOBILE - * @type {Boolean} - */ - Hammer.IS_MOBILE = /mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent); + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } - /** - * detect if we want to support mouseevents at all - * @property NO_MOUSEEVENTS - * @type {Boolean} - */ - Hammer.NO_MOUSEEVENTS = (Hammer.HAS_TOUCHEVENTS && Hammer.IS_MOBILE) || Hammer.HAS_POINTEREVENTS; + format = expandFormat(format, m.localeData()); - /** - * interval in which Hammer recalculates current velocity/direction/angle in ms - * @property CALCULATE_INTERVAL - * @type {Number} - * @default 25 - */ - Hammer.CALCULATE_INTERVAL = 25; + if (!formatFunctions[format]) { + formatFunctions[format] = makeFormatFunction(format); + } - /** - * eventtypes per touchevent (start, move, end) are filled by `Event.determineEventTypes` on `setup` - * the object contains the DOM event names per type (`EVENT_START`, `EVENT_MOVE`, `EVENT_END`) - * @property EVENT_TYPES - * @private - * @writeOnce - * @type {Object} - */ - var EVENT_TYPES = {}; + return formatFunctions[format](m); + } - /** - * direction strings, for safe comparisons - * @property DIRECTION_DOWN|LEFT|UP|RIGHT - * @final - * @type {String} - * @default 'down' 'left' 'up' 'right' - */ - var DIRECTION_DOWN = Hammer.DIRECTION_DOWN = 'down'; - var DIRECTION_LEFT = Hammer.DIRECTION_LEFT = 'left'; - var DIRECTION_UP = Hammer.DIRECTION_UP = 'up'; - var DIRECTION_RIGHT = Hammer.DIRECTION_RIGHT = 'right'; + function expandFormat(format, locale) { + var i = 5; - /** - * pointertype strings, for safe comparisons - * @property POINTER_MOUSE|TOUCH|PEN - * @final - * @type {String} - * @default 'mouse' 'touch' 'pen' - */ - var POINTER_MOUSE = Hammer.POINTER_MOUSE = 'mouse'; - var POINTER_TOUCH = Hammer.POINTER_TOUCH = 'touch'; - var POINTER_PEN = Hammer.POINTER_PEN = 'pen'; + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } - /** - * eventtypes - * @property EVENT_START|MOVE|END|RELEASE|TOUCH - * @final - * @type {String} - * @default 'start' 'change' 'move' 'end' 'release' 'touch' - */ - var EVENT_START = Hammer.EVENT_START = 'start'; - var EVENT_MOVE = Hammer.EVENT_MOVE = 'move'; - var EVENT_END = Hammer.EVENT_END = 'end'; - var EVENT_RELEASE = Hammer.EVENT_RELEASE = 'release'; - var EVENT_TOUCH = Hammer.EVENT_TOUCH = 'touch'; + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } - /** - * if the window events are set... - * @property READY - * @writeOnce - * @type {Boolean} - * @default false - */ - Hammer.READY = false; + return format; + } - /** - * plugins namespace - * @property plugins - * @type {Object} - */ - Hammer.plugins = Hammer.plugins || {}; - /** - * gestures namespace - * see `/gestures` for the definitions - * @property gestures - * @type {Object} - */ - Hammer.gestures = Hammer.gestures || {}; + /************************************ + Parsing + ************************************/ - /** - * setup events to detect gestures on the document - * this function is called when creating an new instance - * @private - */ - function setup() { - if(Hammer.READY) { - return; + + // get the regex to find the next token + function getParseRegexForToken(token, config) { + var a, strict = config._strict; + switch (token) { + case 'Q': + return parseTokenOneDigit; + case 'DDDD': + return parseTokenThreeDigits; + case 'YYYY': + case 'GGGG': + case 'gggg': + return strict ? parseTokenFourDigits : parseTokenOneToFourDigits; + case 'Y': + case 'G': + case 'g': + return parseTokenSignedNumber; + case 'YYYYYY': + case 'YYYYY': + case 'GGGGG': + case 'ggggg': + return strict ? parseTokenSixDigits : parseTokenOneToSixDigits; + case 'S': + if (strict) { + return parseTokenOneDigit; + } + /* falls through */ + case 'SS': + if (strict) { + return parseTokenTwoDigits; + } + /* falls through */ + case 'SSS': + if (strict) { + return parseTokenThreeDigits; + } + /* falls through */ + case 'DDD': + return parseTokenOneToThreeDigits; + case 'MMM': + case 'MMMM': + case 'dd': + case 'ddd': + case 'dddd': + return parseTokenWord; + case 'a': + case 'A': + return config._locale._meridiemParse; + case 'X': + return parseTokenTimestampMs; + case 'Z': + case 'ZZ': + return parseTokenTimezone; + case 'T': + return parseTokenT; + case 'SSSS': + return parseTokenDigits; + case 'MM': + case 'DD': + case 'YY': + case 'GG': + case 'gg': + case 'HH': + case 'hh': + case 'mm': + case 'ss': + case 'ww': + case 'WW': + return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits; + case 'M': + case 'D': + case 'd': + case 'H': + case 'h': + case 'm': + case 's': + case 'w': + case 'W': + case 'e': + case 'E': + return parseTokenOneOrTwoDigits; + case 'Do': + return parseTokenOrdinal; + default : + a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i')); + return a; + } } - // find what eventtypes we add listeners to - Event.determineEventTypes(); + function timezoneMinutesFromString(string) { + string = string || ''; + var possibleTzMatches = (string.match(parseTokenTimezone) || []), + tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [], + parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0], + minutes = +(parts[1] * 60) + toInt(parts[2]); - // Register all gestures inside Hammer.gestures - Utils.each(Hammer.gestures, function(gesture) { - Detection.register(gesture); - }); + return parts[0] === '+' ? -minutes : minutes; + } - // Add touch events on the document - Event.onTouch(Hammer.DOCUMENT, EVENT_MOVE, Detection.detect); - Event.onTouch(Hammer.DOCUMENT, EVENT_END, Detection.detect); + // function to convert string input to date + function addTimeToArrayFromToken(token, input, config) { + var a, datePartArray = config._a; - // Hammer is ready...! - Hammer.READY = true; - } + switch (token) { + // QUARTER + case 'Q': + if (input != null) { + datePartArray[MONTH] = (toInt(input) - 1) * 3; + } + break; + // MONTH + case 'M' : // fall through to MM + case 'MM' : + if (input != null) { + datePartArray[MONTH] = toInt(input) - 1; + } + break; + case 'MMM' : // fall through to MMMM + case 'MMMM' : + a = config._locale.monthsParse(input); + // if we didn't find a month name, mark the date as invalid. + if (a != null) { + datePartArray[MONTH] = a; + } else { + config._pf.invalidMonth = input; + } + break; + // DAY OF MONTH + case 'D' : // fall through to DD + case 'DD' : + if (input != null) { + datePartArray[DATE] = toInt(input); + } + break; + case 'Do' : + if (input != null) { + datePartArray[DATE] = toInt(parseInt(input, 10)); + } + break; + // DAY OF YEAR + case 'DDD' : // fall through to DDDD + case 'DDDD' : + if (input != null) { + config._dayOfYear = toInt(input); + } - /** - * @module hammer - * - * @class Utils - * @static - */ - var Utils = Hammer.utils = { - /** - * extend method, could also be used for cloning when `dest` is an empty object. - * changes the dest object - * @method extend - * @param {Object} dest - * @param {Object} src - * @param {Boolean} [merge=false] do a merge - * @return {Object} dest - */ - extend: function extend(dest, src, merge) { - for(var key in src) { - if(!src.hasOwnProperty(key) || (dest[key] !== undefined && merge)) { - continue; + break; + // YEAR + case 'YY' : + datePartArray[YEAR] = moment.parseTwoDigitYear(input); + break; + case 'YYYY' : + case 'YYYYY' : + case 'YYYYYY' : + datePartArray[YEAR] = toInt(input); + break; + // AM / PM + case 'a' : // fall through to A + case 'A' : + config._isPm = config._locale.isPM(input); + break; + // 24 HOUR + case 'H' : // fall through to hh + case 'HH' : // fall through to hh + case 'h' : // fall through to hh + case 'hh' : + datePartArray[HOUR] = toInt(input); + break; + // MINUTE + case 'm' : // fall through to mm + case 'mm' : + datePartArray[MINUTE] = toInt(input); + break; + // SECOND + case 's' : // fall through to ss + case 'ss' : + datePartArray[SECOND] = toInt(input); + break; + // MILLISECOND + case 'S' : + case 'SS' : + case 'SSS' : + case 'SSSS' : + datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000); + break; + // UNIX TIMESTAMP WITH MS + case 'X': + config._d = new Date(parseFloat(input) * 1000); + break; + // TIMEZONE + case 'Z' : // fall through to ZZ + case 'ZZ' : + config._useUTC = true; + config._tzm = timezoneMinutesFromString(input); + break; + // WEEKDAY - human + case 'dd': + case 'ddd': + case 'dddd': + a = config._locale.weekdaysParse(input); + // if we didn't get a weekday name, mark the date as invalid + if (a != null) { + config._w = config._w || {}; + config._w['d'] = a; + } else { + config._pf.invalidWeekday = input; } - dest[key] = src[key]; + break; + // WEEK, WEEK DAY - numeric + case 'w': + case 'ww': + case 'W': + case 'WW': + case 'd': + case 'e': + case 'E': + token = token.substr(0, 1); + /* falls through */ + case 'gggg': + case 'GGGG': + case 'GGGGG': + token = token.substr(0, 2); + if (input) { + config._w = config._w || {}; + config._w[token] = toInt(input); + } + break; + case 'gg': + case 'GG': + config._w = config._w || {}; + config._w[token] = moment.parseTwoDigitYear(input); } - return dest; - }, - - /** - * simple addEventListener wrapper - * @method on - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - */ - on: function on(element, type, handler) { - element.addEventListener(type, handler, false); - }, + } - /** - * simple removeEventListener wrapper - * @method off - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - */ - off: function off(element, type, handler) { - element.removeEventListener(type, handler, false); - }, + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp; - /** - * forEach over arrays and objects - * @method each - * @param {Object|Array} obj - * @param {Function} iterator - * @param {any} iterator.item - * @param {Number} iterator.index - * @param {Object|Array} iterator.obj the source object - * @param {Object} context value to use as `this` in the iterator - */ - each: function each(obj, iterator, context) { - var i, len; + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; - // native forEach on arrays - if('forEach' in obj) { - obj.forEach(iterator, context); - // arrays - } else if(obj.length !== undefined) { - for(i = 0, len = obj.length; i < len; i++) { - if(iterator.call(context, obj[i], i, obj) === false) { - return; - } - } - // objects + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year); + week = dfl(w.W, 1); + weekday = dfl(w.E, 1); } else { - for(i in obj) { - if(obj.hasOwnProperty(i) && - iterator.call(context, obj[i], i, obj) === false) { - return; + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year); + week = dfl(w.w, 1); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < dow) { + ++week; } + } else if (w.e != null) { + // local weekday -- counting starts from begining of week + weekday = w.e + dow; + } else { + // default to begining of week + weekday = dow; } } - }, + temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow); - /** - * find if a string contains the string using indexOf - * @method inStr - * @param {String} src - * @param {String} find - * @return {Boolean} found - */ - inStr: function inStr(src, find) { - return src.indexOf(find) > -1; - }, + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } - /** - * find if a array contains the object using indexOf or a simple polyfill - * @method inArray - * @param {String} src - * @param {String} find - * @return {Boolean|Number} false when not found, or the index - */ - inArray: function inArray(src, find) { - if(src.indexOf) { - var index = src.indexOf(find); - return (index === -1) ? false : index; - } else { - for(var i = 0, len = src.length; i < len; i++) { - if(src[i] === find) { - return i; - } - } - return false; + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function dateFromConfig(config) { + var i, date, input = [], currentDate, yearToUse; + + if (config._d) { + return; } - }, - /** - * convert an array-like object (`arguments`, `touchlist`) to an array - * @method toArray - * @param {Object} obj - * @return {Array} - */ - toArray: function toArray(obj) { - return Array.prototype.slice.call(obj, 0); - }, + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } - /** - * find if a node is in the given parent - * @method hasParent - * @param {HTMLElement} node - * @param {HTMLElement} parent - * @return {Boolean} found - */ - hasParent: function hasParent(node, parent) { - while(node) { - if(node == parent) { - return true; + //if the day of the year is set, figure out what it is + if (config._dayOfYear) { + yearToUse = dfl(config._a[YEAR], currentDate[YEAR]); + + if (config._dayOfYear > daysInYear(yearToUse)) { + config._pf._overflowDayOfYear = true; } - node = node.parentNode; + + date = makeUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); } - return false; - }, - /** - * get the center of all the touches - * @method getCenter - * @param {Array} touches - * @return {Object} center contains `pageX`, `pageY`, `clientX` and `clientY` properties - */ - getCenter: function getCenter(touches) { - var pageX = [], - pageY = [], - clientX = [], - clientY = [], - min = Math.min, - max = Math.max; + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } - // no need to loop when only one touch - if(touches.length === 1) { - return { - pageX: touches[0].pageX, - pageY: touches[0].pageY, - clientX: touches[0].clientX, - clientY: touches[0].clientY - }; + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; } - Utils.each(touches, function(touch) { - pageX.push(touch.pageX); - pageY.push(touch.pageY); - clientX.push(touch.clientX); - clientY.push(touch.clientY); - }); + config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input); + // Apply timezone offset from input. The actual zone can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() + config._tzm); + } + } - return { - pageX: (min.apply(Math, pageX) + max.apply(Math, pageX)) / 2, - pageY: (min.apply(Math, pageY) + max.apply(Math, pageY)) / 2, - clientX: (min.apply(Math, clientX) + max.apply(Math, clientX)) / 2, - clientY: (min.apply(Math, clientY) + max.apply(Math, clientY)) / 2 - }; - }, + function dateFromObject(config) { + var normalizedInput; - /** - * calculate the velocity between two points. unit is in px per ms. - * @method getVelocity - * @param {Number} deltaTime - * @param {Number} deltaX - * @param {Number} deltaY - * @return {Object} velocity `x` and `y` - */ - getVelocity: function getVelocity(deltaTime, deltaX, deltaY) { - return { - x: Math.abs(deltaX / deltaTime) || 0, - y: Math.abs(deltaY / deltaTime) || 0 - }; - }, + if (config._d) { + return; + } - /** - * calculate the angle between two coordinates - * @method getAngle - * @param {Touch} touch1 - * @param {Touch} touch2 - * @return {Number} angle - */ - getAngle: function getAngle(touch1, touch2) { - var x = touch2.clientX - touch1.clientX, - y = touch2.clientY - touch1.clientY; + normalizedInput = normalizeObjectUnits(config._i); + config._a = [ + normalizedInput.year, + normalizedInput.month, + normalizedInput.day, + normalizedInput.hour, + normalizedInput.minute, + normalizedInput.second, + normalizedInput.millisecond + ]; - return Math.atan2(y, x) * 180 / Math.PI; - }, + dateFromConfig(config); + } - /** - * do a small comparision to get the direction between two touches. - * @method getDirection - * @param {Touch} touch1 - * @param {Touch} touch2 - * @return {String} direction matches `DIRECTION_LEFT|RIGHT|UP|DOWN` - */ - getDirection: function getDirection(touch1, touch2) { - var x = Math.abs(touch1.clientX - touch2.clientX), - y = Math.abs(touch1.clientY - touch2.clientY); + function currentDateArray(config) { + var now = new Date(); + if (config._useUTC) { + return [ + now.getUTCFullYear(), + now.getUTCMonth(), + now.getUTCDate() + ]; + } else { + return [now.getFullYear(), now.getMonth(), now.getDate()]; + } + } - if(x >= y) { - return touch1.clientX - touch2.clientX > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; + // date from string and format string + function makeDateFromStringAndFormat(config) { + if (config._f === moment.ISO_8601) { + parseISO(config); + return; } - return touch1.clientY - touch2.clientY > 0 ? DIRECTION_UP : DIRECTION_DOWN; - }, - /** - * calculate the distance between two touches - * @method getDistance - * @param {Touch}touch1 - * @param {Touch} touch2 - * @return {Number} distance - */ - getDistance: function getDistance(touch1, touch2) { - var x = touch2.clientX - touch1.clientX, - y = touch2.clientY - touch1.clientY; + config._a = []; + config._pf.empty = true; - return Math.sqrt((x * x) + (y * y)); - }, + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, parsedInput, tokens, token, skipped, + stringLength = string.length, + totalParsedInputLength = 0; - /** - * calculate the scale factor between two touchLists - * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out - * @method getScale - * @param {Array} start array of touches - * @param {Array} end array of touches - * @return {Number} scale - */ - getScale: function getScale(start, end) { - // need two fingers... - if(start.length >= 2 && end.length >= 2) { - return this.getDistance(end[0], end[1]) / this.getDistance(start[0], start[1]); + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + config._pf.unusedInput.push(skipped); + } + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + config._pf.empty = false; + } + else { + config._pf.unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } + else if (config._strict && !parsedInput) { + config._pf.unusedTokens.push(token); + } } - return 1; - }, - /** - * calculate the rotation degrees between two touchLists - * @method getRotation - * @param {Array} start array of touches - * @param {Array} end array of touches - * @return {Number} rotation - */ - getRotation: function getRotation(start, end) { - // need two fingers - if(start.length >= 2 && end.length >= 2) { - return this.getAngle(end[1], end[0]) - this.getAngle(start[1], start[0]); + // add remaining unparsed input length to the string + config._pf.charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + config._pf.unusedInput.push(string); } - return 0; - }, - /** - * find out if the direction is vertical * - * @method isVertical - * @param {String} direction matches `DIRECTION_UP|DOWN` - * @return {Boolean} is_vertical - */ - isVertical: function isVertical(direction) { - return direction == DIRECTION_UP || direction == DIRECTION_DOWN; - }, + // handle am pm + if (config._isPm && config._a[HOUR] < 12) { + config._a[HOUR] += 12; + } + // if is 12 am, change hours to 0 + if (config._isPm === false && config._a[HOUR] === 12) { + config._a[HOUR] = 0; + } + + dateFromConfig(config); + checkOverflow(config); + } + + function unescapeFormat(s) { + return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + }); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function regexpEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + // date from string and array of format strings + function makeDateFromStringAndArray(config) { + var tempConfig, + bestMoment, + + scoreToBeat, + i, + currentScore; - /** - * set css properties with their prefixes - * @param {HTMLElement} element - * @param {String} prop - * @param {String} value - * @param {Boolean} [toggle=true] - * @return {Boolean} - */ - setPrefixedCss: function setPrefixedCss(element, prop, value, toggle) { - var prefixes = ['', 'Webkit', 'Moz', 'O', 'ms']; - prop = Utils.toCamelCase(prop); + if (config._f.length === 0) { + config._pf.invalidFormat = true; + config._d = new Date(NaN); + return; + } - for(var i = 0; i < prefixes.length; i++) { - var p = prop; - // prefixes - if(prefixes[i]) { - p = prefixes[i] + p.slice(0, 1).toUpperCase() + p.slice(1); + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; } + tempConfig._pf = defaultParsingFlags(); + tempConfig._f = config._f[i]; + makeDateFromStringAndFormat(tempConfig); - // test the style - if(p in element.style) { - element.style[p] = (toggle == null || toggle) && value || ''; - break; + if (!isValid(tempConfig)) { + continue; } - } - }, - /** - * toggle browser default behavior by setting css properties. - * `userSelect='none'` also sets `element.onselectstart` to false - * `userDrag='none'` also sets `element.ondragstart` to false - * - * @method toggleBehavior - * @param {HtmlElement} element - * @param {Object} props - * @param {Boolean} [toggle=true] - */ - toggleBehavior: function toggleBehavior(element, props, toggle) { - if(!props || !element || !element.style) { - return; - } + // if there is any input that was not parsed add a penalty for that format + currentScore += tempConfig._pf.charsLeftOver; - // set the css properties - Utils.each(props, function(value, prop) { - Utils.setPrefixedCss(element, prop, value, toggle); - }); + //or tokens + currentScore += tempConfig._pf.unusedTokens.length * 10; - var falseFn = toggle && function() { - return false; - }; + tempConfig._pf.score = currentScore; - // also the disable onselectstart - if(props.userSelect == 'none') { - element.onselectstart = falseFn; - } - // and disable ondragstart - if(props.userDrag == 'none') { - element.ondragstart = falseFn; + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } } - }, - /** - * convert a string with underscores to camelCase - * so prevent_default becomes preventDefault - * @param {String} str - * @return {String} camelCaseStr - */ - toCamelCase: function toCamelCase(str) { - return str.replace(/[_-]([a-z])/g, function(s) { - return s[1].toUpperCase(); - }); + extend(config, bestMoment || tempConfig); } - }; - - - /** - * @module hammer - */ - /** - * @class Event - * @static - */ - var Event = Hammer.event = { - /** - * when touch events have been fired, this is true - * this is used to stop mouse events - * @property prevent_mouseevents - * @private - * @type {Boolean} - */ - preventMouseEvents: false, - /** - * if EVENT_START has been fired - * @property started - * @private - * @type {Boolean} - */ - started: false, + // date from iso format + function parseISO(config) { + var i, l, + string = config._i, + match = isoRegex.exec(string); - /** - * when the mouse is hold down, this is true - * @property should_detect - * @private - * @type {Boolean} - */ - shouldDetect: false, + if (match) { + config._pf.iso = true; + for (i = 0, l = isoDates.length; i < l; i++) { + if (isoDates[i][1].exec(string)) { + // match[5] should be 'T' or undefined + config._f = isoDates[i][0] + (match[6] || ' '); + break; + } + } + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(string)) { + config._f += isoTimes[i][0]; + break; + } + } + if (string.match(parseTokenTimezone)) { + config._f += 'Z'; + } + makeDateFromStringAndFormat(config); + } else { + config._isValid = false; + } + } - /** - * simple event binder with a hook and support for multiple types - * @method on - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - * @param {Function} [hook] - * @param {Object} hook.type - */ - on: function on(element, type, handler, hook) { - var types = type.split(' '); - Utils.each(types, function(type) { - Utils.on(element, type, handler); - hook && hook(type); - }); - }, + // date from iso format or fallback + function makeDateFromString(config) { + parseISO(config); + if (config._isValid === false) { + delete config._isValid; + moment.createFromInputFallback(config); + } + } - /** - * simple event unbinder with a hook and support for multiple types - * @method off - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - * @param {Function} [hook] - * @param {Object} hook.type - */ - off: function off(element, type, handler, hook) { - var types = type.split(' '); - Utils.each(types, function(type) { - Utils.off(element, type, handler); - hook && hook(type); - }); - }, + function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } - /** - * the core touch event handler. - * this finds out if we should to detect gestures - * @method onTouch - * @param {HTMLElement} element - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {Function} handler - * @return onTouchHandler {Function} the core event handler - */ - onTouch: function onTouch(element, eventType, handler) { - var self = this; + function makeDateFromInput(config) { + var input = config._i, matched; + if (input === undefined) { + config._d = new Date(); + } else if (isDate(input)) { + config._d = new Date(+input); + } else if ((matched = aspNetJsonRegex.exec(input)) !== null) { + config._d = new Date(+matched[1]); + } else if (typeof input === 'string') { + makeDateFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + dateFromConfig(config); + } else if (typeof(input) === 'object') { + dateFromObject(config); + } else if (typeof(input) === 'number') { + // from milliseconds + config._d = new Date(input); + } else { + moment.createFromInputFallback(config); + } + } - var onTouchHandler = function onTouchHandler(ev) { - var srcType = ev.type.toLowerCase(), - isPointer = Hammer.HAS_POINTEREVENTS, - isMouse = Utils.inStr(srcType, 'mouse'), - triggerType; + function makeDate(y, m, d, h, M, s, ms) { + //can't just apply() to create a date: + //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply + var date = new Date(y, m, d, h, M, s, ms); - // if we are in a mouseevent, but there has been a touchevent triggered in this session - // we want to do nothing. simply break out of the event. - if(isMouse && self.preventMouseEvents) { - return; + //the date constructor doesn't accept years < 1970 + if (y < 1970) { + date.setFullYear(y); + } + return date; + } - // mousebutton must be down - } else if(isMouse && eventType == EVENT_START && ev.button === 0) { - self.preventMouseEvents = false; - self.shouldDetect = true; - } else if(isPointer && eventType == EVENT_START) { - self.shouldDetect = (ev.buttons === 1 || PointerEvent.matchType(POINTER_TOUCH, ev)); - // just a valid start event, but no mouse - } else if(!isMouse && eventType == EVENT_START) { - self.preventMouseEvents = true; - self.shouldDetect = true; - } + function makeUTCDate(y) { + var date = new Date(Date.UTC.apply(null, arguments)); + if (y < 1970) { + date.setUTCFullYear(y); + } + return date; + } - // update the pointer event before entering the detection - if(isPointer && eventType != EVENT_END) { - PointerEvent.updatePointer(eventType, ev); + function parseWeekday(input, locale) { + if (typeof input === 'string') { + if (!isNaN(input)) { + input = parseInt(input, 10); } - - // we are in a touch/down state, so allowed detection of gestures - if(self.shouldDetect) { - triggerType = self.doDetect.call(self, ev, eventType, element, handler); + else { + input = locale.weekdaysParse(input); + if (typeof input !== 'number') { + return null; + } } + } + return input; + } - // ...and we are done with the detection - // so reset everything to start each detection totally fresh - if(triggerType == EVENT_END) { - self.preventMouseEvents = false; - self.shouldDetect = false; - PointerEvent.reset(); - // update the pointerevent object after the detection - } + /************************************ + Relative Time + ************************************/ - if(isPointer && eventType == EVENT_END) { - PointerEvent.updatePointer(eventType, ev); - } - }; - this.on(element, EVENT_TYPES[eventType], onTouchHandler); - return onTouchHandler; - }, + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } - /** - * the core detection method - * this finds out what hammer-touch-events to trigger - * @method doDetect - * @param {Object} ev - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {HTMLElement} element - * @param {Function} handler - * @return {String} triggerType matches `EVENT_START|MOVE|END` - */ - doDetect: function doDetect(ev, eventType, element, handler) { - var touchList = this.getTouchList(ev, eventType); - var touchListLength = touchList.length; - var triggerType = eventType; - var triggerChange = touchList.trigger; // used by fakeMultitouch plugin - var changedLength = touchListLength; + function relativeTime(posNegDuration, withoutSuffix, locale) { + var duration = moment.duration(posNegDuration).abs(), + seconds = round(duration.as('s')), + minutes = round(duration.as('m')), + hours = round(duration.as('h')), + days = round(duration.as('d')), + months = round(duration.as('M')), + years = round(duration.as('y')), - // at each touchstart-like event we want also want to trigger a TOUCH event... - if(eventType == EVENT_START) { - triggerChange = EVENT_TOUCH; - // ...the same for a touchend-like event - } else if(eventType == EVENT_END) { - triggerChange = EVENT_RELEASE; + args = seconds < relativeTimeThresholds.s && ['s', seconds] || + minutes === 1 && ['m'] || + minutes < relativeTimeThresholds.m && ['mm', minutes] || + hours === 1 && ['h'] || + hours < relativeTimeThresholds.h && ['hh', hours] || + days === 1 && ['d'] || + days < relativeTimeThresholds.d && ['dd', days] || + months === 1 && ['M'] || + months < relativeTimeThresholds.M && ['MM', months] || + years === 1 && ['y'] || ['yy', years]; - // keep track of how many touches have been removed - changedLength = touchList.length - ((ev.changedTouches) ? ev.changedTouches.length : 1); - } + args[2] = withoutSuffix; + args[3] = +posNegDuration > 0; + args[4] = locale; + return substituteTimeAgo.apply({}, args); + } - // after there are still touches on the screen, - // we just want to trigger a MOVE event. so change the START or END to a MOVE - // but only after detection has been started, the first time we actualy want a START - if(changedLength > 0 && this.started) { - triggerType = EVENT_MOVE; - } - // detection has been started, we keep track of this, see above - this.started = true; + /************************************ + Week of Year + ************************************/ - // generate some event data, some basic information - var evData = this.collectEventData(element, triggerType, touchList, ev); - // trigger the triggerType event before the change (TOUCH, RELEASE) events - // but the END event should be at last - if(eventType != EVENT_END) { - handler.call(Detection, evData); - } + // firstDayOfWeek 0 = sun, 6 = sat + // the day of the week that starts the week + // (usually sunday or monday) + // firstDayOfWeekOfYear 0 = sun, 6 = sat + // the first week is the week that contains the first + // of this day of the week + // (eg. ISO weeks use thursday (4)) + function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) { + var end = firstDayOfWeekOfYear - firstDayOfWeek, + daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(), + adjustedMoment; - // trigger a change (TOUCH, RELEASE) event, this means the length of the touches changed - if(triggerChange) { - evData.changedLength = changedLength; - evData.eventType = triggerChange; - handler.call(Detection, evData); + if (daysToDayOfWeek > end) { + daysToDayOfWeek -= 7; + } - evData.eventType = triggerType; - delete evData.changedLength; + if (daysToDayOfWeek < end - 7) { + daysToDayOfWeek += 7; } - // trigger the END event - if(triggerType == EVENT_END) { - handler.call(Detection, evData); + adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd'); + return { + week: Math.ceil(adjustedMoment.dayOfYear() / 7), + year: adjustedMoment.year() + }; + } - // ...and we are done with the detection - // so reset everything to start each detection totally fresh - this.started = false; - } + //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) { + var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear; - return triggerType; - }, + d = d === 0 ? 7 : d; + weekday = weekday != null ? weekday : firstDayOfWeek; + daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0); + dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1; - /** - * we have different events for each device/browser - * determine what we need and set them in the EVENT_TYPES constant - * the `onTouch` method is bind to these properties. - * @method determineEventTypes - * @return {Object} events - */ - determineEventTypes: function determineEventTypes() { - var types; - if(Hammer.HAS_POINTEREVENTS) { - if(window.PointerEvent) { - types = [ - 'pointerdown', - 'pointermove', - 'pointerup pointercancel lostpointercapture' - ]; - } else { - types = [ - 'MSPointerDown', - 'MSPointerMove', - 'MSPointerUp MSPointerCancel MSLostPointerCapture' - ]; - } - } else if(Hammer.NO_MOUSEEVENTS) { - types = [ - 'touchstart', - 'touchmove', - 'touchend touchcancel' - ]; - } else { - types = [ - 'touchstart mousedown', - 'touchmove mousemove', - 'touchend touchcancel mouseup' - ]; - } + return { + year: dayOfYear > 0 ? year : year - 1, + dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear + }; + } - EVENT_TYPES[EVENT_START] = types[0]; - EVENT_TYPES[EVENT_MOVE] = types[1]; - EVENT_TYPES[EVENT_END] = types[2]; - return EVENT_TYPES; - }, + /************************************ + Top Level Functions + ************************************/ - /** - * create touchList depending on the event - * @method getTouchList - * @param {Object} ev - * @param {String} eventType - * @return {Array} touches - */ - getTouchList: function getTouchList(ev, eventType) { - // get the fake pointerEvent touchlist - if(Hammer.HAS_POINTEREVENTS) { - return PointerEvent.getTouchList(); - } + function makeMoment(config) { + var input = config._i, + format = config._f; - // get the touchlist - if(ev.touches) { - if(eventType == EVENT_MOVE) { - return ev.touches; - } + config._locale = config._locale || moment.localeData(config._l); - var identifiers = []; - var concat = [].concat(Utils.toArray(ev.touches), Utils.toArray(ev.changedTouches)); - var touchList = []; + if (input === null || (format === undefined && input === '')) { + return moment.invalid({nullInput: true}); + } - Utils.each(concat, function(touch) { - if(Utils.inArray(identifiers, touch.identifier) === false) { - touchList.push(touch); - } - identifiers.push(touch.identifier); - }); + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } - return touchList; + if (moment.isMoment(input)) { + return new Moment(input, true); + } else if (format) { + if (isArray(format)) { + makeDateFromStringAndArray(config); + } else { + makeDateFromStringAndFormat(config); + } + } else { + makeDateFromInput(config); } - // make fake touchList from mouse position - ev.identifier = 1; - return [ev]; - }, + return new Moment(config); + } - /** - * collect basic event data - * @method collectEventData - * @param {HTMLElement} element - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {Array} touches - * @param {Object} ev - * @return {Object} ev - */ - collectEventData: function collectEventData(element, eventType, touches, ev) { - // find out pointerType - var pointerType = POINTER_TOUCH; - if(Utils.inStr(ev.type, 'mouse') || PointerEvent.matchType(POINTER_MOUSE, ev)) { - pointerType = POINTER_MOUSE; - } else if(PointerEvent.matchType(POINTER_PEN, ev)) { - pointerType = POINTER_PEN; + moment = function (input, format, locale, strict) { + var c; + + if (typeof(locale) === 'boolean') { + strict = locale; + locale = undefined; } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c = {}; + c._isAMomentObject = true; + c._i = input; + c._f = format; + c._l = locale; + c._strict = strict; + c._isUTC = false; + c._pf = defaultParsingFlags(); - return { - center: Utils.getCenter(touches), - timeStamp: Date.now(), - target: ev.target, - touches: touches, - eventType: eventType, - pointerType: pointerType, - srcEvent: ev, + return makeMoment(c); + }; - /** - * prevent the browser default actions - * mostly used to disable scrolling of the browser - */ - preventDefault: function() { - var srcEvent = this.srcEvent; - srcEvent.preventManipulation && srcEvent.preventManipulation(); - srcEvent.preventDefault && srcEvent.preventDefault(); - }, + moment.suppressDeprecationWarnings = false; - /** - * stop bubbling the event up to its parents - */ - stopPropagation: function() { - this.srcEvent.stopPropagation(); - }, + moment.createFromInputFallback = deprecate( + '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 (config) { + config._d = new Date(config._i); + } + ); - /** - * immediately stop gesture detection - * might be useful after a swipe was detected - * @return {*} - */ - stopDetect: function() { - return Detection.stopDetect(); + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return moment(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (moments[i][fn](res)) { + res = moments[i]; } - }; + } + return res; } - }; + moment.min = function () { + var args = [].slice.call(arguments, 0); - /** - * @module hammer - * - * @class PointerEvent - * @static - */ - var PointerEvent = Hammer.PointerEvent = { - /** - * holds all pointers, by `identifier` - * @property pointers - * @type {Object} - */ - pointers: {}, + return pickBy('isBefore', args); + }; - /** - * get the pointers as an array - * @method getTouchList - * @return {Array} touchlist - */ - getTouchList: function getTouchList() { - var touchlist = []; - // we can use forEach since pointerEvents only is in IE10 - Utils.each(this.pointers, function(pointer) { - touchlist.push(pointer); - }); - return touchlist; - }, + moment.max = function () { + var args = [].slice.call(arguments, 0); - /** - * update the position of a pointer - * @method updatePointer - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {Object} pointerEvent - */ - updatePointer: function updatePointer(eventType, pointerEvent) { - if(eventType == EVENT_END || (eventType != EVENT_END && pointerEvent.buttons !== 1)) { - delete this.pointers[pointerEvent.pointerId]; - } else { - pointerEvent.identifier = pointerEvent.pointerId; - this.pointers[pointerEvent.pointerId] = pointerEvent; - } - }, + return pickBy('isAfter', args); + }; - /** - * check if ev matches pointertype - * @method matchType - * @param {String} pointerType matches `POINTER_MOUSE|TOUCH|PEN` - * @param {PointerEvent} ev - */ - matchType: function matchType(pointerType, ev) { - if(!ev.pointerType) { - return false; + // creating with utc + moment.utc = function (input, format, locale, strict) { + var c; + + if (typeof(locale) === 'boolean') { + strict = locale; + locale = undefined; } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c = {}; + c._isAMomentObject = true; + c._useUTC = true; + c._isUTC = true; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + c._pf = defaultParsingFlags(); - var pt = ev.pointerType, - types = {}; + return makeMoment(c).utc(); + }; - types[POINTER_MOUSE] = (pt === (ev.MSPOINTER_TYPE_MOUSE || POINTER_MOUSE)); - types[POINTER_TOUCH] = (pt === (ev.MSPOINTER_TYPE_TOUCH || POINTER_TOUCH)); - types[POINTER_PEN] = (pt === (ev.MSPOINTER_TYPE_PEN || POINTER_PEN)); - return types[pointerType]; - }, + // creating with unix timestamp (in seconds) + moment.unix = function (input) { + return moment(input * 1000); + }; - /** - * reset the stored pointers - * @method reset - */ - reset: function resetList() { - this.pointers = {}; - } - }; + // duration + moment.duration = function (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + parseIso, + diffRes; + + if (moment.isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months + }; + } else if (typeof input === 'number') { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(match[MILLISECOND]) * sign + }; + } else if (!!(match = isoDurationRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + parseIso = function (inp) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + }; + duration = { + y: parseIso(match[2]), + M: parseIso(match[3]), + d: parseIso(match[4]), + h: parseIso(match[5]), + m: parseIso(match[6]), + s: parseIso(match[7]), + w: parseIso(match[8]) + }; + } else if (typeof duration === 'object' && + ('from' in duration || 'to' in duration)) { + diffRes = momentsDifference(moment(duration.from), moment(duration.to)); + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } - /** - * @module hammer - * - * @class Detection - * @static - */ - var Detection = Hammer.detection = { - // contains all registred Hammer.gestures in the correct order - gestures: [], + ret = new Duration(duration); - // data of the current Hammer.gesture detection session - current: null, + if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } - // the previous Hammer.gesture session data - // is a full clone of the previous gesture.current object - previous: null, + return ret; + }; - // when this becomes true, no gestures are fired - stopped: false, + // version number + moment.version = VERSION; - /** - * start Hammer.gesture detection - * @method startDetect - * @param {Hammer.Instance} inst - * @param {Object} eventData - */ - startDetect: function startDetect(inst, eventData) { - // already busy with a Hammer.gesture detection on an element - if(this.current) { - return; - } + // default format + moment.defaultFormat = isoFormat; - this.stopped = false; + // constant that refers to the ISO standard + moment.ISO_8601 = function () {}; - // holds current session - this.current = { - inst: inst, // reference to HammerInstance we're working for - startEvent: Utils.extend({}, eventData), // start eventData for distances, timing etc - lastEvent: false, // last eventData - lastCalcEvent: false, // last eventData for calculations. - futureCalcEvent: false, // last eventData for calculations. - lastCalcData: {}, // last lastCalcData - name: '' // current gesture we're in/detected, can be 'tap', 'hold' etc - }; + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + moment.momentProperties = momentProperties; - this.detect(eventData); - }, + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + moment.updateOffset = function () {}; - /** - * Hammer.gesture detection - * @method detect - * @param {Object} eventData - * @return {any} - */ - detect: function detect(eventData) { - if(!this.current || this.stopped) { - return; + // This function allows you to set a threshold for relative time strings + moment.relativeTimeThreshold = function (threshold, limit) { + if (relativeTimeThresholds[threshold] === undefined) { + return false; } + if (limit === undefined) { + return relativeTimeThresholds[threshold]; + } + relativeTimeThresholds[threshold] = limit; + return true; + }; - // extend event data with calculations about scale, distance etc - eventData = this.extendEventData(eventData); - - // hammer instance and instance options - var inst = this.current.inst, - instOptions = inst.options; + moment.lang = deprecate( + 'moment.lang is deprecated. Use moment.locale instead.', + function (key, value) { + return moment.locale(key, value); + } + ); - // call Hammer.gesture handlers - Utils.each(this.gestures, function triggerGesture(gesture) { - // only when the instance options have enabled this gesture - if(!this.stopped && inst.enabled && instOptions[gesture.name]) { - gesture.handler.call(gesture, eventData, inst); + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + moment.locale = function (key, values) { + var data; + if (key) { + if (typeof(values) !== 'undefined') { + data = moment.defineLocale(key, values); + } + else { + data = moment.localeData(key); } - }, this); - - // store as previous event event - if(this.current) { - this.current.lastEvent = eventData; - } - if(eventData.eventType == EVENT_END) { - this.stopDetect(); + if (data) { + moment.duration._locale = moment._locale = data; + } } - return eventData; - }, - - /** - * clear the Hammer.gesture vars - * this is called on endDetect, but can also be used when a final Hammer.gesture has been detected - * to stop other Hammer.gestures from being fired - * @method stopDetect - */ - stopDetect: function stopDetect() { - // clone current data to the store as the previous gesture - // used for the double tap gesture, since this is an other gesture detect session - this.previous = Utils.extend({}, this.current); + return moment._locale._abbr; + }; - // reset the current - this.current = null; - this.stopped = true; - }, + moment.defineLocale = function (name, values) { + if (values !== null) { + values.abbr = name; + if (!locales[name]) { + locales[name] = new Locale(); + } + locales[name].set(values); - /** - * calculate velocity, angle and direction - * @method getVelocityData - * @param {Object} ev - * @param {Object} center - * @param {Number} deltaTime - * @param {Number} deltaX - * @param {Number} deltaY - */ - getCalculatedData: function getCalculatedData(ev, center, deltaTime, deltaX, deltaY) { - var cur = this.current, - recalc = false, - calcEv = cur.lastCalcEvent, - calcData = cur.lastCalcData; + // backwards compat for now: also set the locale + moment.locale(name); - if(calcEv && ev.timeStamp - calcEv.timeStamp > Hammer.CALCULATE_INTERVAL) { - center = calcEv.center; - deltaTime = ev.timeStamp - calcEv.timeStamp; - deltaX = ev.center.clientX - calcEv.center.clientX; - deltaY = ev.center.clientY - calcEv.center.clientY; - recalc = true; + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; } + }; - if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { - cur.futureCalcEvent = ev; + moment.langData = deprecate( + 'moment.langData is deprecated. Use moment.localeData instead.', + function (key) { + return moment.localeData(key); } + ); - if(!cur.lastCalcEvent || recalc) { - calcData.velocity = Utils.getVelocity(deltaTime, deltaX, deltaY); - calcData.angle = Utils.getAngle(center, ev.center); - calcData.direction = Utils.getDirection(center, ev.center); + // returns locale data + moment.localeData = function (key) { + var locale; - cur.lastCalcEvent = cur.futureCalcEvent || ev; - cur.futureCalcEvent = ev; + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; } - ev.velocityX = calcData.velocity.x; - ev.velocityY = calcData.velocity.y; - ev.interimAngle = calcData.angle; - ev.interimDirection = calcData.direction; - }, - - /** - * extend eventData for Hammer.gestures - * @method extendEventData - * @param {Object} ev - * @return {Object} ev - */ - extendEventData: function extendEventData(ev) { - var cur = this.current, - startEv = cur.startEvent, - lastEv = cur.lastEvent || startEv; - - // update the start touchlist to calculate the scale/rotation - if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { - startEv.touches = []; - Utils.each(ev.touches, function(touch) { - startEv.touches.push({ - clientX: touch.clientX, - clientY: touch.clientY - }); - }); + if (!key) { + return moment._locale; } - var deltaTime = ev.timeStamp - startEv.timeStamp, - deltaX = ev.center.clientX - startEv.center.clientX, - deltaY = ev.center.clientY - startEv.center.clientY; + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } - this.getCalculatedData(ev, lastEv.center, deltaTime, deltaX, deltaY); + return chooseLocale(key); + }; - Utils.extend(ev, { - startEvent: startEv, + // compare moment object + moment.isMoment = function (obj) { + return obj instanceof Moment || + (obj != null && hasOwnProp(obj, '_isAMomentObject')); + }; - deltaTime: deltaTime, - deltaX: deltaX, - deltaY: deltaY, + // for typechecking Duration objects + moment.isDuration = function (obj) { + return obj instanceof Duration; + }; - distance: Utils.getDistance(startEv.center, ev.center), - angle: Utils.getAngle(startEv.center, ev.center), - direction: Utils.getDirection(startEv.center, ev.center), - scale: Utils.getScale(startEv.touches, ev.touches), - rotation: Utils.getRotation(startEv.touches, ev.touches) - }); + for (i = lists.length - 1; i >= 0; --i) { + makeList(lists[i]); + } - return ev; - }, + moment.normalizeUnits = function (units) { + return normalizeUnits(units); + }; - /** - * register new gesture - * @method register - * @param {Object} gesture object, see `gestures/` for documentation - * @return {Array} gestures - */ - register: function register(gesture) { - // add an enable gesture options if there is no given - var options = gesture.defaults || {}; - if(options[gesture.name] === undefined) { - options[gesture.name] = true; + moment.invalid = function (flags) { + var m = moment.utc(NaN); + if (flags != null) { + extend(m._pf, flags); + } + else { + m._pf.userInvalidated = true; } - // extend Hammer default options with the Hammer.gesture options - Utils.extend(Hammer.defaults, options, true); + return m; + }; - // set its index - gesture.index = gesture.index || 1000; + moment.parseZone = function () { + return moment.apply(null, arguments).parseZone(); + }; - // add Hammer.gesture to the list - this.gestures.push(gesture); + moment.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; - // sort the list by index - this.gestures.sort(function(a, b) { - if(a.index < b.index) { - return -1; - } - if(a.index > b.index) { - return 1; - } - return 0; - }); + /************************************ + Moment Prototype + ************************************/ - return this.gestures; - } - }; + extend(moment.fn = Moment.prototype, { - /** - * @module hammer - */ + clone : function () { + return moment(this); + }, - /** - * create new hammer instance - * all methods should return the instance itself, so it is chainable. - * - * @class Instance - * @constructor - * @param {HTMLElement} element - * @param {Object} [options={}] options are merged with `Hammer.defaults` - * @return {Hammer.Instance} - */ - Hammer.Instance = function(element, options) { - var self = this; + valueOf : function () { + return +this._d + ((this._offset || 0) * 60000); + }, - // setup HammerJS window events and register all gestures - // this also sets up the default options - setup(); + unix : function () { + return Math.floor(+this / 1000); + }, - /** - * @property element - * @type {HTMLElement} - */ - this.element = element; + toString : function () { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + }, - /** - * @property enabled - * @type {Boolean} - * @protected - */ - this.enabled = true; + toDate : function () { + return this._offset ? new Date(+this) : this._d; + }, - /** - * options, merged with the defaults - * options with an _ are converted to camelCase - * @property options - * @type {Object} - */ - Utils.each(options, function(value, name) { - delete options[name]; - options[Utils.toCamelCase(name)] = value; - }); + toISOString : function () { + var m = moment(this).utc(); + if (0 < m.year() && m.year() <= 9999) { + return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); + } else { + return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); + } + }, - this.options = Utils.extend(Utils.extend({}, Hammer.defaults), options || {}); + toArray : function () { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hours(), + m.minutes(), + m.seconds(), + m.milliseconds() + ]; + }, - // add some css to the element to prevent the browser from doing its native behavoir - if(this.options.behavior) { - Utils.toggleBehavior(this.element, this.options.behavior, true); - } + isValid : function () { + return isValid(this); + }, - /** - * event start handler on the element to start the detection - * @property eventStartHandler - * @type {Object} - */ - this.eventStartHandler = Event.onTouch(element, EVENT_START, function(ev) { - if(self.enabled && ev.eventType == EVENT_START) { - Detection.startDetect(self, ev); - } else if(ev.eventType == EVENT_TOUCH) { - Detection.detect(ev); - } - }); + isDSTShifted : function () { + if (this._a) { + return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; + } - /** - * keep a list of user event handlers which needs to be removed when calling 'dispose' - * @property eventHandlers - * @type {Array} - */ - this.eventHandlers = []; - }; + return false; + }, - Hammer.Instance.prototype = { - /** - * bind events to the instance - * @method on - * @chainable - * @param {String} gestures multiple gestures by splitting with a space - * @param {Function} handler - * @param {Object} handler.ev event object - */ - on: function onEvent(gestures, handler) { - var self = this; - Event.on(self.element, gestures, handler, function(type) { - self.eventHandlers.push({ gesture: type, handler: handler }); - }); - return self; - }, + parsingFlags : function () { + return extend({}, this._pf); + }, - /** - * unbind events to the instance - * @method off - * @chainable - * @param {String} gestures - * @param {Function} handler - */ - off: function offEvent(gestures, handler) { - var self = this; + invalidAt: function () { + return this._pf.overflow; + }, - Event.off(self.element, gestures, handler, function(type) { - var index = Utils.inArray({ gesture: type, handler: handler }); - if(index !== false) { - self.eventHandlers.splice(index, 1); + utc : function (keepLocalTime) { + return this.zone(0, keepLocalTime); + }, + + local : function (keepLocalTime) { + if (this._isUTC) { + this.zone(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.add(this._dateTzOffset(), 'm'); + } } - }); - return self; - }, + return this; + }, - /** - * trigger gesture event - * @method trigger - * @chainable - * @param {String} gesture - * @param {Object} [eventData] - */ - trigger: function triggerEvent(gesture, eventData) { - // optional - if(!eventData) { - eventData = {}; - } + format : function (inputString) { + var output = formatMoment(this, inputString || moment.defaultFormat); + return this.localeData().postformat(output); + }, - // create DOM event - var event = Hammer.DOCUMENT.createEvent('Event'); - event.initEvent(gesture, true, true); - event.gesture = eventData; + add : createAdder(1, 'add'), - // trigger on the target if it is in the instance element, - // this is for event delegation tricks - var element = this.element; - if(Utils.hasParent(eventData.target, element)) { - element = eventData.target; - } + subtract : createAdder(-1, 'subtract'), + + diff : function (input, units, asFloat) { + var that = makeAs(input, this), + zoneDiff = (this.zone() - that.zone()) * 6e4, + diff, output, daysAdjust; - element.dispatchEvent(event); - return this; - }, + units = normalizeUnits(units); - /** - * enable of disable hammer.js detection - * @method enable - * @chainable - * @param {Boolean} state - */ - enable: function enable(state) { - this.enabled = state; - return this; - }, + if (units === 'year' || units === 'month') { + // average number of days in the months in the given dates + diff = (this.daysInMonth() + that.daysInMonth()) * 432e5; // 24 * 60 * 60 * 1000 / 2 + // difference in months + output = ((this.year() - that.year()) * 12) + (this.month() - that.month()); + // adjust by taking difference in days, average number of days + // and dst in the given months. + daysAdjust = (this - moment(this).startOf('month')) - + (that - moment(that).startOf('month')); + // same as above but with zones, to negate all dst + daysAdjust -= ((this.zone() - moment(this).startOf('month').zone()) - + (that.zone() - moment(that).startOf('month').zone())) * 6e4; + output += daysAdjust / diff; + if (units === 'year') { + output = output / 12; + } + } else { + diff = (this - that); + output = units === 'second' ? diff / 1e3 : // 1000 + units === 'minute' ? diff / 6e4 : // 1000 * 60 + units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60 + units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst + units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst + diff; + } + return asFloat ? output : absRound(output); + }, - /** - * dispose this hammer instance - * @method dispose - * @return {Null} - */ - dispose: function dispose() { - var i, eh; + from : function (time, withoutSuffix) { + return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + }, - // undo all changes made by stop_browser_behavior - Utils.toggleBehavior(this.element, this.options.behavior, false); + fromNow : function (withoutSuffix) { + return this.from(moment(), withoutSuffix); + }, - // unbind all custom event handlers - for(i = -1; (eh = this.eventHandlers[++i]);) { - Utils.off(this.element, eh.gesture, eh.handler); - } + calendar : function (time) { + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're zone'd or not. + var now = time || moment(), + sod = makeAs(now, this).startOf('day'), + diff = this.diff(sod, 'days', true), + format = diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; + return this.format(this.localeData().calendar(format, this)); + }, - this.eventHandlers = []; + isLeapYear : function () { + return isLeapYear(this.year()); + }, - // unbind the start event listener - Event.off(this.element, EVENT_TYPES[EVENT_START], this.eventStartHandler); + isDST : function () { + return (this.zone() < this.clone().month(0).zone() || + this.zone() < this.clone().month(5).zone()); + }, - return null; - } - }; + day : function (input) { + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + }, + month : makeAccessor('Month', true), - /** - * @module gestures - */ - /** - * Move with x fingers (default 1) around on the page. - * Preventing the default browser behavior is a good way to improve feel and working. - * ```` - * hammertime.on("drag", function(ev) { - * console.log(ev); - * ev.gesture.preventDefault(); - * }); - * ```` - * - * @class Drag - * @static - */ - /** - * @event drag - * @param {Object} ev - */ - /** - * @event dragstart - * @param {Object} ev - */ - /** - * @event dragend - * @param {Object} ev - */ - /** - * @event drapleft - * @param {Object} ev - */ - /** - * @event dragright - * @param {Object} ev - */ - /** - * @event dragup - * @param {Object} ev - */ - /** - * @event dragdown - * @param {Object} ev - */ + startOf : function (units) { + units = normalizeUnits(units); + // the following switch intentionally omits break keywords + // to utilize falling through the cases. + switch (units) { + case 'year': + this.month(0); + /* falls through */ + case 'quarter': + case 'month': + this.date(1); + /* falls through */ + case 'week': + case 'isoWeek': + case 'day': + this.hours(0); + /* falls through */ + case 'hour': + this.minutes(0); + /* falls through */ + case 'minute': + this.seconds(0); + /* falls through */ + case 'second': + this.milliseconds(0); + /* falls through */ + } - /** - * @param {String} name - */ - (function(name) { - var triggered = false; + // weeks are a special case + if (units === 'week') { + this.weekday(0); + } else if (units === 'isoWeek') { + this.isoWeekday(1); + } - function dragGesture(ev, inst) { - var cur = Detection.current; + // quarters are also special + if (units === 'quarter') { + this.month(Math.floor(this.month() / 3) * 3); + } - // max touches - if(inst.options.dragMaxTouches > 0 && - ev.touches.length > inst.options.dragMaxTouches) { - return; - } + return this; + }, - switch(ev.eventType) { - case EVENT_START: - triggered = false; - break; + endOf: function (units) { + units = normalizeUnits(units); + return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); + }, - case EVENT_MOVE: - // when the distance we moved is too small we skip this gesture - // or we can be already in dragging - if(ev.distance < inst.options.dragMinDistance && - cur.name != name) { - return; - } + isAfter: function (input, units) { + units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this > +input; + } else { + return +this.clone().startOf(units) > +moment(input).startOf(units); + } + }, - var startCenter = cur.startEvent.center; + isBefore: function (input, units) { + units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this < +input; + } else { + return +this.clone().startOf(units) < +moment(input).startOf(units); + } + }, - // we are dragging! - if(cur.name != name) { - cur.name = name; - if(inst.options.dragDistanceCorrection && ev.distance > 0) { - // When a drag is triggered, set the event center to dragMinDistance pixels from the original event center. - // Without this correction, the dragged distance would jumpstart at dragMinDistance pixels instead of at 0. - // It might be useful to save the original start point somewhere - var factor = Math.abs(inst.options.dragMinDistance / ev.distance); - startCenter.pageX += ev.deltaX * factor; - startCenter.pageY += ev.deltaY * factor; - startCenter.clientX += ev.deltaX * factor; - startCenter.clientY += ev.deltaY * factor; + isSame: function (input, units) { + units = normalizeUnits(units || 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this === +input; + } else { + return +this.clone().startOf(units) === +makeAs(input, this).startOf(units); + } + }, + + min: deprecate( + 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548', + function (other) { + other = moment.apply(null, arguments); + return other < this ? this : other; + } + ), - // recalculate event data using new start point - ev = Detection.extendEventData(ev); - } + max: deprecate( + 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548', + function (other) { + other = moment.apply(null, arguments); + return other > this ? this : other; } + ), - // lock drag to axis? - if(cur.lastEvent.dragLockToAxis || - ( inst.options.dragLockToAxis && - inst.options.dragLockMinDistance <= ev.distance - )) { - ev.dragLockToAxis = true; + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[zone(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist int zone + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + zone : function (input, keepLocalTime) { + var offset = this._offset || 0, + localAdjust; + if (input != null) { + if (typeof input === 'string') { + input = timezoneMinutesFromString(input); } - - // keep direction on the axis that the drag gesture started on - var lastDirection = cur.lastEvent.direction; - if(ev.dragLockToAxis && lastDirection !== ev.direction) { - if(Utils.isVertical(lastDirection)) { - ev.direction = (ev.deltaY < 0) ? DIRECTION_UP : DIRECTION_DOWN; - } else { - ev.direction = (ev.deltaX < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT; + if (Math.abs(input) < 16) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = this._dateTzOffset(); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.subtract(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addOrSubtractDurationFromMoment(this, + moment.duration(offset - input, 'm'), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + moment.updateOffset(this, true); + this._changeInProgress = null; } } + } else { + return this._isUTC ? offset : this._dateTzOffset(); + } + return this; + }, - // first time, trigger dragstart event - if(!triggered) { - inst.trigger(name + 'start', ev); - triggered = true; - } + zoneAbbr : function () { + return this._isUTC ? 'UTC' : ''; + }, - // trigger events - inst.trigger(name, ev); - inst.trigger(name + ev.direction, ev); + zoneName : function () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + }, - var isVertical = Utils.isVertical(ev.direction); + parseZone : function () { + if (this._tzm) { + this.zone(this._tzm); + } else if (typeof this._i === 'string') { + this.zone(this._i); + } + return this; + }, - // block the browser events - if((inst.options.dragBlockVertical && isVertical) || - (inst.options.dragBlockHorizontal && !isVertical)) { - ev.preventDefault(); - } - break; + hasAlignedHourOffset : function (input) { + if (!input) { + input = 0; + } + else { + input = moment(input).zone(); + } - case EVENT_RELEASE: - if(triggered && ev.changedLength <= inst.options.dragMaxTouches) { - inst.trigger(name + 'end', ev); - triggered = false; - } - break; + return (this.zone() - input) % 60 === 0; + }, - case EVENT_END: - triggered = false; - break; - } - } + daysInMonth : function () { + return daysInMonth(this.year(), this.month()); + }, - Hammer.gestures.Drag = { - name: name, - index: 50, - handler: dragGesture, - defaults: { - /** - * minimal movement that have to be made before the drag event gets triggered - * @property dragMinDistance - * @type {Number} - * @default 10 - */ - dragMinDistance: 10, + dayOfYear : function (input) { + var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + }, - /** - * Set dragDistanceCorrection to true to make the starting point of the drag - * be calculated from where the drag was triggered, not from where the touch started. - * Useful to avoid a jerk-starting drag, which can make fine-adjustments - * through dragging difficult, and be visually unappealing. - * @property dragDistanceCorrection - * @type {Boolean} - * @default true - */ - dragDistanceCorrection: true, + quarter : function (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); + }, - /** - * set 0 for unlimited, but this can conflict with transform - * @property dragMaxTouches - * @type {Number} - * @default 1 - */ - dragMaxTouches: 1, + weekYear : function (input) { + var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year; + return input == null ? year : this.add((input - year), 'y'); + }, - /** - * prevent default browser behavior when dragging occurs - * be careful with it, it makes the element a blocking element - * when you are using the drag gesture, it is a good practice to set this true - * @property dragBlockHorizontal - * @type {Boolean} - * @default false - */ - dragBlockHorizontal: false, + isoWeekYear : function (input) { + var year = weekOfYear(this, 1, 4).year; + return input == null ? year : this.add((input - year), 'y'); + }, - /** - * same as `dragBlockHorizontal`, but for vertical movement - * @property dragBlockVertical - * @type {Boolean} - * @default false - */ - dragBlockVertical: false, + week : function (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + }, - /** - * dragLockToAxis keeps the drag gesture on the axis that it started on, - * It disallows vertical directions if the initial direction was horizontal, and vice versa. - * @property dragLockToAxis - * @type {Boolean} - * @default false - */ - dragLockToAxis: false, + isoWeek : function (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + }, - /** - * drag lock only kicks in when distance > dragLockMinDistance - * This way, locking occurs only when the distance has become large enough to reliably determine the direction - * @property dragLockMinDistance - * @type {Number} - * @default 25 - */ - dragLockMinDistance: 25 - } - }; - })('drag'); + weekday : function (input) { + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + }, - /** - * @module gestures - */ - /** - * trigger a simple gesture event, so you can do anything in your handler. - * only usable if you know what your doing... - * - * @class Gesture - * @static - */ - /** - * @event gesture - * @param {Object} ev - */ - Hammer.gestures.Gesture = { - name: 'gesture', - index: 1337, - handler: function releaseGesture(ev, inst) { - inst.trigger(this.name, ev); - } - }; + isoWeekday : function (input) { + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7); + }, - /** - * @module gestures - */ - /** - * Touch stays at the same place for x time - * - * @class Hold - * @static - */ - /** - * @event hold - * @param {Object} ev - */ + isoWeeksInYear : function () { + return weeksInYear(this.year(), 1, 4); + }, - /** - * @param {String} name - */ - (function(name) { - var timer; + weeksInYear : function () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + }, - function holdGesture(ev, inst) { - var options = inst.options, - current = Detection.current; + get : function (units) { + units = normalizeUnits(units); + return this[units](); + }, - switch(ev.eventType) { - case EVENT_START: - clearTimeout(timer); + set : function (units, value) { + units = normalizeUnits(units); + if (typeof this[units] === 'function') { + this[units](value); + } + return this; + }, - // set the gesture so we can check in the timeout if it still is - current.name = name; + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + locale : function (key) { + var newLocaleData; - // set timer and if after the timeout it still is hold, - // we trigger the hold event - timer = setTimeout(function() { - if(current && current.name == name) { - inst.trigger(name, ev); - } - }, options.holdTimeout); - break; + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = moment.localeData(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + }, - case EVENT_MOVE: - if(ev.distance > options.holdThreshold) { - clearTimeout(timer); + lang : deprecate( + 'moment().lang() is deprecated. Use moment().localeData() instead.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); } - break; + } + ), - case EVENT_RELEASE: - clearTimeout(timer); - break; - } - } + localeData : function () { + return this._locale; + }, - Hammer.gestures.Hold = { - name: name, - index: 10, - defaults: { - /** - * @property holdTimeout - * @type {Number} - * @default 500 - */ - holdTimeout: 500, + _dateTzOffset : function () { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return Math.round(this._d.getTimezoneOffset() / 15) * 15; + } + }); - /** - * movement allowed while holding - * @property holdThreshold - * @type {Number} - * @default 2 - */ - holdThreshold: 2 - }, - handler: holdGesture - }; - })('hold'); + function rawMonthSetter(mom, value) { + var dayOfMonth; - /** - * @module gestures - */ - /** - * when a touch is being released from the page - * - * @class Release - * @static - */ - /** - * @event release - * @param {Object} ev - */ - Hammer.gestures.Release = { - name: 'release', - index: Infinity, - handler: function releaseGesture(ev, inst) { - if(ev.eventType == EVENT_RELEASE) { - inst.trigger(this.name, ev); + // TODO: Move this out of here! + if (typeof value === 'string') { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (typeof value !== 'number') { + return mom; + } } + + dayOfMonth = Math.min(mom.date(), + daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; } - }; - /** - * @module gestures - */ - /** - * triggers swipe events when the end velocity is above the threshold - * for best usage, set `preventDefault` (on the drag gesture) to `true` - * ```` - * hammertime.on("dragleft swipeleft", function(ev) { - * console.log(ev); - * ev.gesture.preventDefault(); - * }); - * ```` - * - * @class Swipe - * @static - */ - /** - * @event swipe - * @param {Object} ev - */ - /** - * @event swipeleft - * @param {Object} ev - */ - /** - * @event swiperight - * @param {Object} ev - */ - /** - * @event swipeup - * @param {Object} ev - */ - /** - * @event swipedown - * @param {Object} ev - */ - Hammer.gestures.Swipe = { - name: 'swipe', - index: 40, - defaults: { - /** - * @property swipeMinTouches - * @type {Number} - * @default 1 - */ - swipeMinTouches: 1, + function rawGetter(mom, unit) { + return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); + } - /** - * @property swipeMaxTouches - * @type {Number} - * @default 1 - */ - swipeMaxTouches: 1, + function rawSetter(mom, unit, value) { + if (unit === 'Month') { + return rawMonthSetter(mom, value); + } else { + return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } - /** - * horizontal swipe velocity - * @property swipeVelocityX - * @type {Number} - * @default 0.6 - */ - swipeVelocityX: 0.6, + function makeAccessor(unit, keepTime) { + return function (value) { + if (value != null) { + rawSetter(this, unit, value); + moment.updateOffset(this, keepTime); + return this; + } else { + return rawGetter(this, unit); + } + }; + } - /** - * vertical swipe velocity - * @property swipeVelocityY - * @type {Number} - * @default 0.6 - */ - swipeVelocityY: 0.6 - }, + moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false); + moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false); + moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false); + // Setting the hour should keep the time, because the user explicitly + // specified which hour he wants. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true); + // moment.fn.month is defined separately + moment.fn.date = makeAccessor('Date', true); + moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true)); + moment.fn.year = makeAccessor('FullYear', true); + moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true)); - handler: function swipeGesture(ev, inst) { - if(ev.eventType == EVENT_RELEASE) { - var touches = ev.touches.length, - options = inst.options; + // add plural methods + moment.fn.days = moment.fn.day; + moment.fn.months = moment.fn.month; + moment.fn.weeks = moment.fn.week; + moment.fn.isoWeeks = moment.fn.isoWeek; + moment.fn.quarters = moment.fn.quarter; - // max touches - if(touches < options.swipeMinTouches || - touches > options.swipeMaxTouches) { - return; - } + // add aliased format methods + moment.fn.toJSON = moment.fn.toISOString; - // when the distance we moved is too small we skip this gesture - // or we can be already in dragging - if(ev.velocityX > options.swipeVelocityX || - ev.velocityY > options.swipeVelocityY) { - // trigger swipe events - inst.trigger(this.name, ev); - inst.trigger(this.name + ev.direction, ev); - } - } + /************************************ + Duration Prototype + ************************************/ + + + function daysToYears (days) { + // 400 years have 146097 days (taking into account leap year rules) + return days * 400 / 146097; } - }; - /** - * @module gestures - */ - /** - * Single tap and a double tap on a place - * - * @class Tap - * @static - */ - /** - * @event tap - * @param {Object} ev - */ - /** - * @event doubletap - * @param {Object} ev - */ + function yearsToDays (years) { + // years * 365 + absRound(years / 4) - + // absRound(years / 100) + absRound(years / 400); + return years * 146097 / 400; + } - /** - * @param {String} name - */ - (function(name) { - var hasMoved = false; + extend(moment.duration.fn = Duration.prototype, { - function tapGesture(ev, inst) { - var options = inst.options, - current = Detection.current, - prev = Detection.previous, - sincePrev, - didDoubleTap; + _bubble : function () { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, minutes, hours, years = 0; - switch(ev.eventType) { - case EVENT_START: - hasMoved = false; - break; + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; - case EVENT_MOVE: - hasMoved = hasMoved || (ev.distance > options.tapMaxDistance); - break; + seconds = absRound(milliseconds / 1000); + data.seconds = seconds % 60; - case EVENT_END: - if(!Utils.inStr(ev.srcEvent.type, 'cancel') && ev.deltaTime < options.tapMaxTime && !hasMoved) { - // previous gesture, for the double tap since these are two different gesture detections - sincePrev = prev && prev.lastEvent && ev.timeStamp - prev.lastEvent.timeStamp; - didDoubleTap = false; + minutes = absRound(seconds / 60); + data.minutes = minutes % 60; - // check if double tap - if(prev && prev.name == name && - (sincePrev && sincePrev < options.doubleTapInterval) && - ev.distance < options.doubleTapDistance) { - inst.trigger('doubletap', ev); - didDoubleTap = true; - } + hours = absRound(minutes / 60); + data.hours = hours % 24; - // do a single tap - if(!didDoubleTap || options.tapAlways) { - current.name = name; - inst.trigger(current.name, ev); - } - } - break; - } - } + days += absRound(hours / 24); - Hammer.gestures.Tap = { - name: name, - index: 100, - handler: tapGesture, - defaults: { - /** - * max time of a tap, this is for the slow tappers - * @property tapMaxTime - * @type {Number} - * @default 250 - */ - tapMaxTime: 250, + // Accurately convert days to years, assume start from year 0. + years = absRound(daysToYears(days)); + days -= absRound(yearsToDays(years)); - /** - * max distance of movement of a tap, this is for the slow tappers - * @property tapMaxDistance - * @type {Number} - * @default 10 - */ - tapMaxDistance: 10, + // 30 days to a month + // TODO (iskren): Use anchor date (like 1st Jan) to compute this. + months += absRound(days / 30); + days %= 30; - /** - * always trigger the `tap` event, even while double-tapping - * @property tapAlways - * @type {Boolean} - * @default true - */ - tapAlways: true, + // 12 months -> 1 year + years += absRound(months / 12); + months %= 12; - /** - * max distance between two taps - * @property doubleTapDistance - * @type {Number} - * @default 20 - */ - doubleTapDistance: 20, + data.days = days; + data.months = months; + data.years = years; + }, - /** - * max time between two taps - * @property doubleTapInterval - * @type {Number} - * @default 300 - */ - doubleTapInterval: 300 - } - }; - })('tap'); + abs : function () { + this._milliseconds = Math.abs(this._milliseconds); + this._days = Math.abs(this._days); + this._months = Math.abs(this._months); - /** - * @module gestures - */ - /** - * when a touch is being touched at the page - * - * @class Touch - * @static - */ - /** - * @event touch - * @param {Object} ev - */ - Hammer.gestures.Touch = { - name: 'touch', - index: -Infinity, - defaults: { - /** - * call preventDefault at touchstart, and makes the element blocking by disabling the scrolling of the page, - * but it improves gestures like transforming and dragging. - * be careful with using this, it can be very annoying for users to be stuck on the page - * @property preventDefault - * @type {Boolean} - * @default false - */ - preventDefault: false, + this._data.milliseconds = Math.abs(this._data.milliseconds); + this._data.seconds = Math.abs(this._data.seconds); + this._data.minutes = Math.abs(this._data.minutes); + this._data.hours = Math.abs(this._data.hours); + this._data.months = Math.abs(this._data.months); + this._data.years = Math.abs(this._data.years); - /** - * disable mouse events, so only touch (or pen!) input triggers events - * @property preventMouse - * @type {Boolean} - * @default false - */ - preventMouse: false - }, - handler: function touchGesture(ev, inst) { - if(inst.options.preventMouse && ev.pointerType == POINTER_MOUSE) { - ev.stopDetect(); - return; - } + return this; + }, - if(inst.options.preventDefault) { - ev.preventDefault(); - } + weeks : function () { + return absRound(this.days() / 7); + }, - if(ev.eventType == EVENT_TOUCH) { - inst.trigger('touch', ev); - } - } - }; + valueOf : function () { + return this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6; + }, - /** - * @module gestures - */ - /** - * User want to scale or rotate with 2 fingers - * Preventing the default browser behavior is a good way to improve feel and working. This can be done with the - * `preventDefault` option. - * - * @class Transform - * @static - */ - /** - * @event transform - * @param {Object} ev - */ - /** - * @event transformstart - * @param {Object} ev - */ - /** - * @event transformend - * @param {Object} ev - */ - /** - * @event pinchin - * @param {Object} ev - */ - /** - * @event pinchout - * @param {Object} ev - */ - /** - * @event rotate - * @param {Object} ev - */ + humanize : function (withSuffix) { + var output = relativeTime(this, !withSuffix, this.localeData()); + + if (withSuffix) { + output = this.localeData().pastFuture(+this, output); + } + + return this.localeData().postformat(output); + }, + + add : function (input, val) { + // supports only 2.0-style add(1, 's') or add(moment) + var dur = moment.duration(input, val); - /** - * @param {String} name - */ - (function(name) { - var triggered = false; + this._milliseconds += dur._milliseconds; + this._days += dur._days; + this._months += dur._months; - function transformGesture(ev, inst) { - switch(ev.eventType) { - case EVENT_START: - triggered = false; - break; + this._bubble(); - case EVENT_MOVE: - // at least multitouch - if(ev.touches.length < 2) { - return; - } + return this; + }, - var scaleThreshold = Math.abs(1 - ev.scale); - var rotationThreshold = Math.abs(ev.rotation); + subtract : function (input, val) { + var dur = moment.duration(input, val); - // when the distance we moved is too small we skip this gesture - // or we can be already in dragging - if(scaleThreshold < inst.options.transformMinScale && - rotationThreshold < inst.options.transformMinRotation) { - return; - } + this._milliseconds -= dur._milliseconds; + this._days -= dur._days; + this._months -= dur._months; - // we are transforming! - Detection.current.name = name; + this._bubble(); - // first time, trigger dragstart event - if(!triggered) { - inst.trigger(name + 'start', ev); - triggered = true; - } + return this; + }, - inst.trigger(name, ev); // basic transform event + get : function (units) { + units = normalizeUnits(units); + return this[units.toLowerCase() + 's'](); + }, - // trigger rotate event - if(rotationThreshold > inst.options.transformMinRotation) { - inst.trigger('rotate', ev); - } + as : function (units) { + var days, months; + units = normalizeUnits(units); - // trigger pinch event - if(scaleThreshold > inst.options.transformMinScale) { - inst.trigger('pinch', ev); - inst.trigger('pinch' + (ev.scale < 1 ? 'in' : 'out'), ev); + if (units === 'month' || units === 'year') { + days = this._days + this._milliseconds / 864e5; + months = this._months + daysToYears(days) * 12; + return units === 'month' ? months : months / 12; + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + yearsToDays(this._months / 12); + switch (units) { + case 'week': return days / 7 + this._milliseconds / 6048e5; + case 'day': return days + this._milliseconds / 864e5; + case 'hour': return days * 24 + this._milliseconds / 36e5; + case 'minute': return days * 24 * 60 + this._milliseconds / 6e4; + case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds; + default: throw new Error('Unknown unit ' + units); } - break; + } + }, - case EVENT_RELEASE: - if(triggered && ev.changedLength < 2) { - inst.trigger(name + 'end', ev); - triggered = false; - } - break; - } - } + lang : moment.fn.lang, + locale : moment.fn.locale, - Hammer.gestures.Transform = { - name: name, - index: 45, - defaults: { - /** - * minimal scale factor, no scale is 1, zoomin is to 0 and zoomout until higher then 1 - * @property transformMinScale - * @type {Number} - * @default 0.01 - */ - transformMinScale: 0.01, + toIsoString : deprecate( + 'toIsoString() is deprecated. Please use toISOString() instead ' + + '(notice the capitals)', + function () { + return this.toISOString(); + } + ), - /** - * rotation in degrees - * @property transformMinRotation - * @type {Number} - * @default 1 - */ - transformMinRotation: 1 + toISOString : function () { + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + var years = Math.abs(this.years()), + months = Math.abs(this.months()), + days = Math.abs(this.days()), + hours = Math.abs(this.hours()), + minutes = Math.abs(this.minutes()), + seconds = Math.abs(this.seconds() + this.milliseconds() / 1000); + + if (!this.asSeconds()) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + return (this.asSeconds() < 0 ? '-' : '') + + 'P' + + (years ? years + 'Y' : '') + + (months ? months + 'M' : '') + + (days ? days + 'D' : '') + + ((hours || minutes || seconds) ? 'T' : '') + + (hours ? hours + 'H' : '') + + (minutes ? minutes + 'M' : '') + + (seconds ? seconds + 'S' : ''); }, - handler: transformGesture + localeData : function () { + return this._locale; + } + }); + + moment.duration.fn.toString = moment.duration.fn.toISOString; + + function makeDurationGetter(name) { + moment.duration.fn[name] = function () { + return this._data[name]; + }; + } + + for (i in unitMillisecondFactors) { + if (hasOwnProp(unitMillisecondFactors, i)) { + makeDurationGetter(i.toLowerCase()); + } + } + + moment.duration.fn.asMilliseconds = function () { + return this.as('ms'); + }; + moment.duration.fn.asSeconds = function () { + return this.as('s'); + }; + moment.duration.fn.asMinutes = function () { + return this.as('m'); + }; + moment.duration.fn.asHours = function () { + return this.as('h'); + }; + moment.duration.fn.asDays = function () { + return this.as('d'); + }; + moment.duration.fn.asWeeks = function () { + return this.as('weeks'); + }; + moment.duration.fn.asMonths = function () { + return this.as('M'); + }; + moment.duration.fn.asYears = function () { + return this.as('y'); }; - })('transform'); - /** - * @module hammer - */ + /************************************ + Default Locale + ************************************/ - // AMD export - if(true) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - return Hammer; - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - // commonjs export - } else if(typeof module !== 'undefined' && module.exports) { - module.exports = Hammer; - // browser export - } else { - window.Hammer = Hammer; - } - })(window); + // Set default locale, other locale will inherit from English. + moment.locale('en', { + ordinal : function (number) { + var b = number % 10, + output = (toInt(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + /* EMBED_LOCALES */ + + /************************************ + Exposing Moment + ************************************/ + + function makeGlobal(shouldDeprecate) { + /*global ender:false */ + if (typeof ender !== 'undefined') { + return; + } + oldGlobalMoment = globalScope.moment; + if (shouldDeprecate) { + globalScope.moment = deprecate( + 'Accessing Moment through the global scope is ' + + 'deprecated, and will be removed in an upcoming ' + + 'release.', + moment); + } else { + globalScope.moment = moment; + } + } + + // CommonJS module is defined + if (hasModule) { + module.exports = moment; + } else if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, module) { + if (module.config && module.config() && module.config().noGlobal === true) { + // release the global variable + globalScope.moment = oldGlobalMoment; + } + + return moment; + }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + makeGlobal(true); + } else { + makeGlobal(); + } + }).call(this); + + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(65)(module))) /***/ }, /* 54 */ @@ -30464,7 +30518,7 @@ return /******/ (function(modules) { // webpackBootstrap */ exports._zoomExtent = function(event) { // FIXME: this is a workaround because the binding of Hammer on Document makes this fire twice - if (this._zoomExtentLastTime === undefined || new Date() - this._zoomExtentLastTime > 50) { + if (this._zoomExtentLastTime === undefined || new Date() - this._zoomExtentLastTime > 200) { this._zoomExtentLastTime = new Date(); this.zoomExtent({duration:800}); event.stopPropagation(); diff --git a/dist/vis.map b/dist/vis.map index 9096a318..35ccc50b 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","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","GiveDec","Hex","Value","eval","GiveHex","Dec","parseColor","color","isValidRGB","rgb","substr","RGBToHex","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","hexToRGB","hex","replace","toUpperCase","substring","d","e","f","r","g","red","green","blue","RGBToHSV","minRGB","maxRGB","max","hue","saturation","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","found","low","high","newLow","newHigh","guess","isVisible","start","console","log","binarySearchGeneric","sidePreference","newGuess","prevValue","nextValue","easeInOutQuad","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","style","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","prototype","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","item","col","cols","getValue","update","updatedIds","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","map","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","keys","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","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","setOptions","Emitter","_setScale","scale","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","obj","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","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","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","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","getMouseX","startMouseY","getMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","delay","mouseX","mouseY","tooltipTimeout","clearTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","setTimeout","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","clientX","targetTouches","clientY","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","LN10","step1","pow","step2","step5","toPrecision","getStep","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setGroups","groups","setSelection","focus","getSelection","itemData","middle","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","minimumStep","containerHeight","customRange","current","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","slice","isMajor","now","hours","minutes","seconds","milliseconds","clone","direction","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","time","initTime","done","initStart","initEnd","changed","_applyRange","anyChanged","_cancelAnimation","newStart","newEnd","getRange","conversion","allowDragging","gesture","deltaX","deltaY","diffRange","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","initDate","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","SCALE","DAY","MILLISECOND","SECOND","MINUTE","HOUR","WEEKDAY","MONTH","YEAR","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","date","year","getLabelMinor","format","getLabelMajor","destroy","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","locale","parent","backgroundVertical","title","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","Hammer","drag","prevent_default","setCustomTime","getCustomTime","stopPropagation","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","lineOffset","master","svgElements","amountOfGroups","addGroup","graphOptions","updateGroup","removeGroup","hide","show","lineContainer","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","offsetTop","offsetLeft","ii","repositionY","labelSet","setParent","_checkIfVisible","removeFromDataSet","removeItem","_constructByEndArray","endArray","initialPosByStart","newVisibleItems","initialPosByEnd","_checkIfInvisible","repositionX","align","groupOrder","selectable","editable","updateTime","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","box","_updateUngrouped","centerContainer","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","getLabelSet","oldItemsData","getItems","_order","getGroups","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","selected","dragLeftItem","dragRightItem","itemProps","newProps","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","lastStart","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_getRelevantData","_convertXcoordinates","_getYRanges","_updateYAxis","_convertYcoordinates","_drawLineGraph","_drawBarGraphs","dataContainer","_applySampling","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedData","barCombinedDataLeft","barCombinedDataRight","ignore","intersections","_getDataIntersections","_getStackedBarYRange","combinedData","accumulated","xpos","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","_toggleAxisVisiblity","drawIcons","axisUsed","coreDistance","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","svgHeight","_catmullRom","_linear","dFill","_drawPoints","datapoints","xValue","yValue","extractedData","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","majorLines","majorTexts","minorLines","minorTexts","lineTop","lang","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","setAttribute","baseClassName","onTop","itemSetHeight","marginLeft","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","dragLeft","dragRight","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","maxPhysicsTicksPerRender","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","level","highlightColor","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","dynamicSmoothCurves","maxVelocity","minVelocity","stabilize","stabilizationIterations","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","hoverObj","controlNodesActive","navigationHammers","existing","new","animationSpeed","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","stabilized","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","mousetrap","MixinLoader","Activator","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","_findCenter","animationOptions","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","pinch","_onTap","_onDoubleTap","_onRelease","_onMouseMoveTitle","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","getTitle","isOverlappingWith","edge","connected","popup","setPosition","setText","emitEvent","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","draw","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","mainMovingStatus","supportMovingStatus","_doInAllActiveSectors","mainMoving","_doInSupportSector","_animationStep","_handleNavigation","calculationTime","maxSteps","timeRequired","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","ua","toLowerCase","requiresTimeout","iterations","toggleFreeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","dataArray","allowedToMoveX","allowedToMoveY","focusOnNode","nodePosition","easingFunction","animateView","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","active","getScale","networkConstants","fromId","toId","widthSelected","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","yLine","measureText","fillRect","mozDash","setLineDash","pattern","lineDashOffset","mozDashOffset","lineCap","dashedLine","percentage","atan2","arrow","edgeSegmentLength","fromBorderDist","distanceToBorder","fromBorderPoint","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodePositions","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","defaultIndex","DEFAULT","load","url","brokenUrl","img","Image","onload","onerror","imagelist","grouplist","dynamicEdges","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","isFixed","velocity","getDistance","globalAlpha","drawImage","textSize","getTextSize","clusterLineWidth","selectionLineWidth","roundRect","database","diameter","circle","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","maxWidth","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","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","convertEdge","dotEdge","graphEdge","graphData","dotNode","graphNode","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","attributes","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","listeners","events","args","scrollTop","scrollTopMin","_initAutoResize","component","_stopAutoResize","what","dataRange","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","_addEvent","_characterFromEvent","fromCharCode","_MAP","_KEYCODE_MAP","_stop","tag_name","tagName","contentEditable","_modifiersMatch","modifiers1","modifiers2","_resetSequences","do_not_reset","active_sequences","_sequence_levels","_inside_sequence","_getMatches","character","modifiers","combination","matches","_isModifier","seq","combo","_eventModifiers","altKey","metaKey","_fireCallback","cancelBubble","_handleCharacter","processed_sequence_callback","_handleKey","keyCode","_ignore_next_keyup","_resetSequenceTimer","_reset_timer","_getReverseMap","_REVERSE_MAP","_pickBestAction","_bindSequence","_increaseSequence","_callbackAndReset","_bindSingle","sequence_name","sequence","_SPECIAL_ALIASES","_SHIFT_MAP","_bindMultiple","combinations",8,9,13,16,17,18,20,27,32,33,34,35,36,37,38,39,40,45,46,91,93,224,106,107,109,110,111,186,187,188,189,190,191,192,219,220,221,222,"~","!","@","#","$","%","^","&","*","(",")","_","+",":","\"","<",">","?","|","command","return","escape","_direct_map","trigger","__WEBPACK_AMD_DEFINE_RESULT__","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","_d","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","month","weeks","week","days","day","hour","minute","second","millisecond","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","updateOffset","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","method","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","DATE","_overflowDayOfYear","isValid","_isValid","getTime","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","code","model","zone","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","parseTokenOrdinal","RegExp","regexpEscape","unescapeFormat","timezoneMinutesFromString","string","possibleTzMatches","tzChunk","parts","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dayOfYear","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","meridiem","SS","SSS","SSSS","Z","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","defaultFormat","relativeTimeThreshold","threshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateTzOffset","inputString","asFloat","daysAdjust","that","zoneDiff","startOf","humanize","fromNow","sod","isDST","getDay","endOf","isSame","localAdjust","_changeInProgress","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","dates","isoWeeks","toJSON","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","context","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","dispose","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Infinity","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","clusterToFit","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","repositionNodes","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_sector","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","overlappingNodes","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","overlappingEdges","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","nodeIds","getSelectedNodes","edgeIds","getSelectedEdges","idArray","RangeError","selectNodes","selectEdges","_clearManipulatorBar","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","getElementById","boundFunction","edgeBeingEdited","selectedControlNode","addNodeButton","_createAddNodeToolbar","addEdgeButton","_createAddEdgeToolbar","editButton","_editNode","_createEditEdgeToolbar","editModeButton","backButton","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","supportNodes","targetNode","targetViaNode","connectionEdge","alert","smooth","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","hammerDoc","_stopMovement","_zoomExtent","_zoomExtentLastTime","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","_setLevelDirected","parentId","parentLevel","nodeMoved","_restoreNodes","graphToggleSmoothCurves","graph_toggleSmooth","graphRepositionNodes","showValueOfRange","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodeId","gravity","gravityForce","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","nameArray","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":"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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","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","GiveDec","Hex","Value","eval","GiveHex","Dec","parseColor","color","isValidRGB","rgb","substr","RGBToHex","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","hexToRGB","hex","replace","toUpperCase","substring","d","e","f","r","g","red","green","blue","RGBToHSV","minRGB","maxRGB","max","hue","saturation","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","found","low","high","newLow","newHigh","guess","isVisible","start","console","log","binarySearchGeneric","sidePreference","newGuess","prevValue","nextValue","easeInOutQuad","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","style","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","prototype","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","item","col","cols","getValue","update","updatedIds","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","map","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","keys","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","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","setOptions","Emitter","_setScale","scale","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","obj","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","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","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","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","getMouseX","startMouseY","getMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","delay","mouseX","mouseY","tooltipTimeout","clearTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","setTimeout","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","clientX","targetTouches","clientY","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","LN10","step1","pow","step2","step5","toPrecision","getStep","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setGroups","groups","setSelection","focus","getSelection","itemData","middle","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","minimumStep","containerHeight","customRange","current","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","slice","isMajor","now","hours","minutes","seconds","milliseconds","clone","direction","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","time","initTime","done","initStart","initEnd","changed","_applyRange","anyChanged","_cancelAnimation","newStart","newEnd","getRange","conversion","allowDragging","gesture","deltaX","deltaY","diffRange","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","initDate","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","SCALE","DAY","MILLISECOND","SECOND","MINUTE","HOUR","WEEKDAY","MONTH","YEAR","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","date","year","getLabelMinor","format","getLabelMajor","destroy","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","locale","parent","backgroundVertical","title","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","Hammer","drag","prevent_default","setCustomTime","getCustomTime","stopPropagation","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","lineOffset","master","svgElements","amountOfGroups","addGroup","graphOptions","updateGroup","removeGroup","hide","show","lineContainer","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","offsetTop","offsetLeft","ii","repositionY","labelSet","setParent","_checkIfVisible","removeFromDataSet","removeItem","_constructByEndArray","endArray","initialPosByStart","newVisibleItems","initialPosByEnd","_checkIfInvisible","repositionX","align","groupOrder","selectable","editable","updateTime","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","box","_updateUngrouped","centerContainer","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","getLabelSet","oldItemsData","getItems","_order","getGroups","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","selected","dragLeftItem","dragRightItem","itemProps","newProps","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","lastStart","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_getRelevantData","_convertXcoordinates","_getYRanges","_updateYAxis","_convertYcoordinates","_drawLineGraph","_drawBarGraphs","dataContainer","_applySampling","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedData","barCombinedDataLeft","barCombinedDataRight","ignore","intersections","_getDataIntersections","_getStackedBarYRange","combinedData","accumulated","xpos","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","_toggleAxisVisiblity","drawIcons","axisUsed","coreDistance","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","svgHeight","_catmullRom","_linear","dFill","_drawPoints","datapoints","xValue","yValue","extractedData","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","majorLines","majorTexts","minorLines","minorTexts","lineTop","lang","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","setAttribute","baseClassName","onTop","itemSetHeight","marginLeft","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","dragLeft","dragRight","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","maxPhysicsTicksPerRender","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","level","highlightColor","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","dynamicSmoothCurves","maxVelocity","minVelocity","stabilize","stabilizationIterations","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","hoverObj","controlNodesActive","navigationHammers","existing","new","animationSpeed","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","stabilized","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","mousetrap","MixinLoader","Activator","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","_findCenter","animationOptions","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","pinch","_onTap","_onDoubleTap","_onRelease","_onMouseMoveTitle","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","getTitle","isOverlappingWith","edge","connected","popup","setPosition","setText","emitEvent","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","draw","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","mainMovingStatus","supportMovingStatus","_doInAllActiveSectors","mainMoving","_doInSupportSector","_animationStep","_handleNavigation","calculationTime","maxSteps","timeRequired","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","ua","toLowerCase","requiresTimeout","iterations","toggleFreeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","dataArray","allowedToMoveX","allowedToMoveY","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getScale","networkConstants","fromId","toId","widthSelected","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","yLine","measureText","fillRect","mozDash","setLineDash","pattern","lineDashOffset","mozDashOffset","lineCap","dashedLine","percentage","atan2","arrow","edgeSegmentLength","fromBorderDist","distanceToBorder","fromBorderPoint","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodePositions","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","defaultIndex","DEFAULT","load","url","brokenUrl","img","Image","onload","onerror","imagelist","grouplist","dynamicEdges","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","isFixed","velocity","getDistance","globalAlpha","drawImage","textSize","getTextSize","clusterLineWidth","selectionLineWidth","roundRect","database","diameter","circle","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","maxWidth","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","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","convertEdge","dotEdge","graphEdge","graphData","dotNode","graphNode","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","attributes","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","listeners","events","args","scrollTop","scrollTopMin","_initAutoResize","component","_stopAutoResize","what","dataRange","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","_addEvent","_characterFromEvent","fromCharCode","_MAP","_KEYCODE_MAP","_stop","tag_name","tagName","contentEditable","_modifiersMatch","modifiers1","modifiers2","_resetSequences","do_not_reset","active_sequences","_sequence_levels","_inside_sequence","_getMatches","character","modifiers","combination","matches","_isModifier","seq","combo","_eventModifiers","altKey","metaKey","_fireCallback","cancelBubble","_handleCharacter","processed_sequence_callback","_handleKey","keyCode","_ignore_next_keyup","_resetSequenceTimer","_reset_timer","_getReverseMap","_REVERSE_MAP","_pickBestAction","_bindSequence","_increaseSequence","_callbackAndReset","_bindSingle","sequence_name","sequence","_SPECIAL_ALIASES","_SHIFT_MAP","_bindMultiple","combinations",8,9,13,16,17,18,20,27,32,33,34,35,36,37,38,39,40,45,46,91,93,224,106,107,109,110,111,186,187,188,189,190,191,192,219,220,221,222,"~","!","@","#","$","%","^","&","*","(",")","_","+",":","\"","<",">","?","|","command","return","escape","_direct_map","trigger","__WEBPACK_AMD_DEFINE_RESULT__","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","VERSION","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","context","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","dispose","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Infinity","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","_d","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","month","weeks","week","days","day","hour","minute","second","millisecond","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","updateOffset","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","method","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","DATE","_overflowDayOfYear","isValid","_isValid","getTime","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","code","model","zone","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","parseTokenOrdinal","RegExp","regexpEscape","unescapeFormat","timezoneMinutesFromString","string","possibleTzMatches","tzChunk","parts","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dayOfYear","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","meridiem","SS","SSS","SSSS","Z","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","defaultFormat","relativeTimeThreshold","threshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateTzOffset","inputString","asFloat","daysAdjust","that","zoneDiff","startOf","humanize","fromNow","sod","isDST","getDay","endOf","isSame","localAdjust","_changeInProgress","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","dates","isoWeeks","toJSON","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","require","noGlobal","clusterToFit","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","repositionNodes","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_sector","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","overlappingNodes","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","overlappingEdges","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","nodeIds","getSelectedNodes","edgeIds","getSelectedEdges","idArray","RangeError","selectNodes","selectEdges","_clearManipulatorBar","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","getElementById","boundFunction","edgeBeingEdited","selectedControlNode","addNodeButton","_createAddNodeToolbar","addEdgeButton","_createAddEdgeToolbar","editButton","_editNode","_createEditEdgeToolbar","editModeButton","backButton","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","supportNodes","targetNode","targetViaNode","connectionEdge","alert","smooth","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","hammerDoc","_stopMovement","_zoomExtent","_zoomExtentLastTime","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","_setLevelDirected","parentId","parentLevel","nodeMoved","_restoreNodes","graphToggleSmoothCurves","graph_toggleSmooth","graphRepositionNodes","showValueOfRange","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodeId","gravity","gravityForce","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","nameArray","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 1333b643..81dc3687 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.4.1 - * @date 2014-09-11 + * @version 3.4.2 + * @date 2014-09-12 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,17 +22,17 @@ * License for the specific language governing permissions and limitations under * the License. */ -!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(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.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.Graph3d=i(5),e.graph3d={Camera:i(6),Filter:i(7),Point2d:i(8),Point3d:i(9),Slider:i(10),StepNumber:i(11)},e.Timeline=i(12),e.Graph2d=i(13),e.timeline={DataStep:i(14),Range:i(15),stack:i(16),TimeStep:i(17),components:{items:{Item:i(28),BackgroundItem:i(29),BoxItem:i(30),PointItem:i(31),RangeItem:i(32)},Component:i(18),CurrentTime:i(19),CustomTime:i(20),DataAxis:i(21),GraphGroup:i(22),Group:i(23),ItemSet:i(24),Legend:i(25),LineGraph:i(26),TimeAxis:i(27)}},e.Network=i(33),e.network={Edge:i(34),Groups:i(35),Images:i(36),Node:i(37),Popup:i(38),dotparser:i(39),gephiParser:i(40)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(41),e.hammer=i(42)},function(module,exports,__webpack_require__){var moment=__webpack_require__(41);exports.isNumber=function(t){return t instanceof Number||"number"==typeof t},exports.isString=function(t){return t instanceof String||"string"==typeof t},exports.isDate=function(t){if(t instanceof Date)return!0;if(exports.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},exports.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},exports.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},exports.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},exports.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;ii;i++)if(t[i]!=e[i])return!1;return!0},exports.convert=function(t,e){var i;if(void 0===t)return void 0;if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){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(exports.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(moment.isMoment(t))return new Date(t.valueOf());if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])):moment(t).toDate();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"Moment":if(exports.isNumber(t))return moment(t);if(t instanceof Date)return moment(t.valueOf());if(moment.isMoment(t))return moment(t);if(exports.isString(t))return i=ASPDateRegex.exec(t),moment(i?Number(i[1]):t);throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"ISODate":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(moment.isMoment(t))return t.toDate().toISOString();if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ISODate");case"ASPDate":if(exports.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(exports.isString(t)){i=ASPDateRegex.exec(t);var s;return s=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+e+'"')}};var ASPDateRegex=/^\/?Date\((\-?\d+)/i;exports.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":t instanceof Array?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},exports.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},exports.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},exports.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},exports.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},exports.forEach=function(t,e){var i,s;if(t instanceof Array)for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},exports.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},exports.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},exports.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},exports.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},exports.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},exports.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},exports.option={},exports.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},exports.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},exports.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},exports.option.asSize=function(t,e){return"function"==typeof t&&(t=t()),exports.isString(t)?t:exports.isNumber(t)?t+"px":e||null},exports.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},exports.GiveDec=function(Hex){var Value;return Value="A"==Hex?10:"B"==Hex?11:"C"==Hex?12:"D"==Hex?13:"E"==Hex?14:"F"==Hex?15:eval(Hex)},exports.GiveHex=function(t){var e;return e=10==t?"A":11==t?"B":12==t?"C":13==t?"D":14==t?"E":15==t?"F":""+t},exports.parseColor=function(t){var e;if(exports.isString(t)){if(exports.isValidRGB(t)){var i=t.substr(4).substr(0,t.length-5).split(",");t=exports.RGBToHex(i[0],i[1],i[2])}if(exports.isValidHex(t)){var s=exports.hexToHSV(t),o={h:s.h,s:.45*s.s,v:Math.min(1,1.05*s.v)},n={h:s.h,s:Math.min(1,1.25*s.v),v:.6*s.v},r=exports.HSVToHex(n.h,n.h,n.v),a=exports.HSVToHex(o.h,o.s,o.v);e={background:t,border:r,highlight:{background:a,border:r},hover:{background:a,border:r}}}else e={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else e={},e.background=t.background||"white",e.border=t.border||e.background,exports.isString(t.highlight)?e.highlight={border:t.highlight,background:t.highlight}:(e.highlight={},e.highlight.background=t.highlight&&t.highlight.background||e.background,e.highlight.border=t.highlight&&t.highlight.border||e.border),exports.isString(t.hover)?e.hover={border:t.hover,background:t.hover}:(e.hover={},e.hover.background=t.hover&&t.hover.background||e.background,e.hover.border=t.hover&&t.hover.border||e.border);return e},exports.hexToRGB=function(t){t=t.replace("#","").toUpperCase();var e=exports.GiveDec(t.substring(0,1)),i=exports.GiveDec(t.substring(1,2)),s=exports.GiveDec(t.substring(2,3)),o=exports.GiveDec(t.substring(3,4)),n=exports.GiveDec(t.substring(4,5)),r=exports.GiveDec(t.substring(5,6)),a=16*e+i,h=16*s+o,i=16*n+r;return{r:a,g:h,b:i}},exports.RGBToHex=function(t,e,i){var s=exports.GiveHex(Math.floor(t/16)),o=exports.GiveHex(t%16),n=exports.GiveHex(Math.floor(e/16)),r=exports.GiveHex(e%16),a=exports.GiveHex(Math.floor(i/16)),h=exports.GiveHex(i%16),d=s+o+n+r+a+h;return"#"+d},exports.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}},exports.HSVToRGB=function(t,e,i){var s,o,n,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:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},exports.HSVToHex=function(t,e,i){var s=exports.HSVToRGB(t,e,i);return exports.RGBToHex(s.r,s.g,s.b)},exports.hexToHSV=function(t){var e=exports.hexToRGB(t);return exports.RGBToHSV(e.r,e.g,e.b)},exports.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},exports.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},exports.selectiveBridgeObject=function(t,e){if("object"==typeof e){for(var i=Object.create(e),s=0;sa;)o=void 0===s?n[u][i]:n[u][i][s],n[u].isVisible(e)?h=!0:(o=r&&console.log("BinarySearch too many iterations. Aborting.")}return u},exports.binarySearchGeneric=function(t,e,i,s){var o,n,r,a,h=1e4,d=0,l=t,c=!1,p=0,u=l.length,m=p,f=u,g=Math.floor(.5*(u+p));if(0==u)g=-1;else if(1==u)r=l[g][i],g=r==e?0:-1;else{for(u-=1;0==c&&h>d;)n=l[Math.max(0,g-1)][i],r=l[g][i],a=l[Math.min(l.length-1,g+1)][i],r==e||e>n&&r>e||e>r&&a>e?(c=!0,r!=e&&("before"==s?e>n&&r>e&&(g=Math.max(0,g-1)):e>r&&a>e&&(g=Math.min(l.length-1,g+1)))):(e>r?m=Math.floor(.5*(u+p)):f=Math.floor(.5*(u+p)),o=Math.floor(.5*(u+p)),p==m&&u==f?(g=-1,c=!0):(u=f,p=m,g=Math.floor(.5*(u+p)))),d++;d>=h&&console.log("BinarySearch too many iterations. Aborting.")}return g},exports.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},exports.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){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?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")),r},e.drawBar=function(t,i,s,o,n,r,a){var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},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 s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t)}var o=i(1);s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var m=h[p];c[m]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=this,r=n._fieldId,a=function(t){var e=t[r];n._data[e]?(e=n._updateItem(t),s.push(e)):(e=n._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else if(o.isDataTable(t))for(var l=this._getColumnNames(t),c=0,p=t.getNumberOfRows();p>c;c++){for(var u={},m=0,f=l.length;f>m;m++){var g=l[m];u[g]=t.getValue(c,m)}a(u)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,m=i&&i.filter,f=[];if(void 0!=t)d=n._getItem(t,u),m&&!m(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!m||m(d))&&f.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!m||m(d))&&f.push(d));if(i&&i.order&&void 0==t&&this._sort(f,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=f.length;p>c;c++)f[c]=this._filterFields(f[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(f[c]);return s}return f},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=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],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=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(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},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,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.get=function(){var t,e,i,s=this,n=o.getType(arguments[0]);"String"==n||"Number"==n||"Array"==n?(t=arguments[0],e=arguments[1],i=arguments[2]):(e=arguments[0],i=arguments[1]);var r=o.extend({},this._options,e);this._options.filter&&e&&e.filter&&(r.filter=function(t){return s._options.filter(t)&&e.filter(t)});var a=[];return void 0!=t&&a.push(t),a.push(r),a.push(i),this._data&&this._data.get.apply(this._data,a)},s.prototype.getIds=function(t){var e;if(this._data){var i,s=this._options.filter;i=t&&t.filter?s?function(e){return s(e)&&t.filter(e)}:t.filter:s,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},s.prototype.getDataSet=function(){for(var t=this;t instanceof s;)t=t._data;return t||null},s.prototype._onEvent=function(t,e,i){var s,o,n,r,a=e&&e.items,h=this._data,d=[],l=[],c=[];if(a&&h){switch(t){case"add":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))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",this.filterLabel="time",this.legendLabel="value",this.style=s.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 l,this.eye=new h(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)}var o=i(50),n=i(3),r=i(4),a=i(1),h=i(9),d=i(8),l=i(6),c=i(7),p=i(10),u=i(11);o(s.prototype),s.prototype._setScale=function(){this.scale=new h(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!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.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)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var f=(t-p)/(m-p),g=240*f,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new u(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new h(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+i.getCurrent()+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new u(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new h(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+i.getCurrent()+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new u(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new h(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(i.getCurrent()+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new h(n,r,this.zMin)),e=this._convert3Dto2D(new h(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),m=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(m.x,m.y),g.stroke(),p=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),m=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(m.x,m.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var S=this.yLabel;S.length>0&&(l=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-l:this.xMax+l,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(S,o.x,o.y));var M=this.zLabel;M.length>0&&(d=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new h(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(M,o.x-d,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,d,l,c,p,u,m,f=this.frame.canvas,g=f.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/M/2,1),a=this._hsv2rgb(c,p,u),d=a):(u=1,a=this._hsv2rgb(c,p,u),d=this.colorAxis)):(a="gray",d=this.colorAxis),l=.5,g.lineWidth=l,g.fillStyle=a,g.strokeStyle=d,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,m,f;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(m=this.colorDot,f=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=f,i.fillStyle=m,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.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=getMouseX(t),this.startMouseY=getMouseY(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)},a.addEventListener(document,"mousemove",e.onmousemove),a.addEventListener(document,"mouseup",e.onmouseup),a.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(getMouseX(t))-this.startMouseX,i=parseFloat(getMouseY(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,o=this.startArmRotation.vertical+i/200,n=4,r=Math.sin(n/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new d(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var l=n.surfaces;if(l)for(var c=l.length-1;c>=0;c--){var p=l[c],u=p.corners,m=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,m)||this._insideTriangle(h,f))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=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",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
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(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),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-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.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)}}},getMouseX=function(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0},getMouseY=function(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0},t.exports=s},function(t,e,i){var s=i(9);Camera=function(){this.armLocation=new s,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new s,this.cameraRotation=new s(.5*Math.PI,0,0),this.calculateCameraOrientation()},Camera.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},Camera.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()},Camera.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},Camera.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},Camera.prototype.getArmLength=function(){return this.armLength},Camera.prototype.getCameraLocation=function(){return this.cameraLocation},Camera.prototype.getCameraRotation=function(){return this.cameraRotation},Camera.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=Camera},function(t,e,i){function s(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 o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.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 s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");var n=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.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)},util:{snap:null,toScreen:n._toScreen.bind(n),toGlobalScreen:n._toGlobalScreen.bind(n),toTime:n._toTime.bind(n),toGlobalTime:n._toGlobalTime.bind(n)}},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.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,i&&this.setOptions(i),e?this.setItems(e):this.redraw()}var o=(i(50),i(42),i(1)),n=i(3),r=i(4),a=i(15),h=i(43),d=i(27),l=i(19),c=i(20),p=i(24);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(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){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){var n=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.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)},util:{snap:null,toScreen:n._toScreen.bind(n),toGlobalScreen:n._toGlobalScreen.bind(n),toTime:n._toTime.bind(n),toGlobalTime:n._toGlobalTime.bind(n)}},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.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,i&&this.setOptions(i),s&&this.setGroups(s),e?this.setItems(e):this.redraw()}var o=(i(50),i(42),i(1)),n=i(3),r=i(4),a=i(15),h=i(43),d=i(27),l=i(19),c=i(20),p=i(26);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i&&("start"in this.options||"end"in this.options)){this.fit();var s="start"in this.options?o.convert(this.options.start,"Date"):null,a="end"in this.options?o.convert(this.options.end,"Date"):null;this.setWindow(s,a)}},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.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},s.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},s.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 s=0;sr?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}},t.exports=s},function(t){function e(t,e,i,s,o){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.setRange(t,e,i,s,o)}e.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},e.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.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,this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.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},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(){for(var t=""+Number(this.current).toPrecision(5),e=t.length-1;e>0;e--){if("0"!=t[e]){if("."==t[e]||","==t[e]){t=t.slice(0,e);break}break}t=t.slice(0,e)}return t},e.prototype.snap=function(){},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add("days",-3).valueOf(),this.end=i.clone().add("days",4).valueOf(),this.body=t,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("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",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 o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(44),h=i(41),d=i(18);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i){function s(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-c,i=e>l,m=i||null===o?o:r.easeInOutQuad(e,h,o,l),f=i||null===n?n:r.easeInOutQuad(e,d,n,l);u=a._applyRange(m,f),p=p||u,u&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?p&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end)}):a.animateTimer=setTimeout(s,20)}}var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,l="number"==typeof i?i:500,c=(new Date).valueOf(),p=!1;return s()}var u=this._applyRange(o,n);if(u){var m={start:new Date(this.start),end:new Date(this.end)};this.body.emitter.emit("rangechange",m),this.body.emitter.emit("rangechanged",m)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=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(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h?(s=this.start,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t){return s.conversion(this.start,this.end,t)},s.conversion=function(t,e,i){return 0!=i&&e-t!=0?{offset:t,scale:i/(e-t)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){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"))},s.prototype._onDrag=function(t){if(this.options.moveable){var e=this.options.direction;if(o(e),this.props.touch.allowDragging){var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY,s=this.props.touch.end-this.props.touch.start,n="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,r=-i/n*s;this._applyRange(this.props.touch.start+r,this.props.touch.end+r),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end)})}}},s.prototype._onDragEnd=function(){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)}))},s.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 s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/t.gesture.scale,i=this._pointerToDate(this.props.touch.center),s=parseInt(i+(this.props.touch.start-i)*e),o=parseInt(i+(this.props.touch.end-i)*e);this.setRange(s,o)}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i){var s=this.body.domProps.center.width;return e=this.conversion(s),t.x/e.scale+e.offset}var n=this.body.domProps.center.height;return e=this.conversion(n),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e){null==e&&(e=(this.start+this.end)/2);var i=e+(this.start-e)*t,s=e+(this.end-e)*t;this.setRange(i,s)},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.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,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(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&&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){var i,s;for(i=0,s=t.length;s>i;i++)t[i].top=e.axis},e.collision=function(t,e,s){return t.left-s.horizontal+ie.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale=s.SCALE.DAY,this.step=1,this.setRange(t,e,i)}var o=i(41);s.SCALE={MILLISECOND:1,SECOND:2,MINUTE:3,HOUR:4,DAY:5,WEEKDAY:6,MONTH:7,YEAR:8},s.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)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case s.SCALE.YEAR:this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case s.SCALE.MONTH:this.current.setDate(1);case s.SCALE.DAY:case s.SCALE.WEEKDAY:this.current.setHours(0);case s.SCALE.HOUR:this.current.setMinutes(0);case s.SCALE.MINUTE:this.current.setSeconds(0);case s.SCALE.SECOND:this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current=new Date(this.current.valueOf()+1e3*this.step);break;case s.SCALE.MINUTE:this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case s.SCALE.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 s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()+this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()+this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()+this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.getMilliseconds()0&&(this.step=e),this.autoScale=!1},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,r=6e4,a=1e3,h=1;1e3*e>t&&(this.scale=s.SCALE.YEAR,this.step=1e3),500*e>t&&(this.scale=s.SCALE.YEAR,this.step=500),100*e>t&&(this.scale=s.SCALE.YEAR,this.step=100),50*e>t&&(this.scale=s.SCALE.YEAR,this.step=50),10*e>t&&(this.scale=s.SCALE.YEAR,this.step=10),5*e>t&&(this.scale=s.SCALE.YEAR,this.step=5),e>t&&(this.scale=s.SCALE.YEAR,this.step=1),3*i>t&&(this.scale=s.SCALE.MONTH,this.step=3),i>t&&(this.scale=s.SCALE.MONTH,this.step=1),5*o>t&&(this.scale=s.SCALE.DAY,this.step=5),2*o>t&&(this.scale=s.SCALE.DAY,this.step=2),o>t&&(this.scale=s.SCALE.DAY,this.step=1),o/2>t&&(this.scale=s.SCALE.WEEKDAY,this.step=1),4*n>t&&(this.scale=s.SCALE.HOUR,this.step=4),n>t&&(this.scale=s.SCALE.HOUR,this.step=1),15*r>t&&(this.scale=s.SCALE.MINUTE,this.step=15),10*r>t&&(this.scale=s.SCALE.MINUTE,this.step=10),5*r>t&&(this.scale=s.SCALE.MINUTE,this.step=5),r>t&&(this.scale=s.SCALE.MINUTE,this.step=1),15*a>t&&(this.scale=s.SCALE.SECOND,this.step=15),10*a>t&&(this.scale=s.SCALE.SECOND,this.step=10),5*a>t&&(this.scale=s.SCALE.SECOND,this.step=5),a>t&&(this.scale=s.SCALE.SECOND,this.step=1),200*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=200),100*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=100),50*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=50),10*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=10),5*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=5),h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=1)}},s.prototype.snap=function(t){var e=new Date(t.valueOf());if(this.scale==s.SCALE.YEAR){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MONTH)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if(this.scale==s.SCALE.DAY){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.WEEKDAY){switch(this.step){case 5:case 2:e.setHours(12*Math.round(e.getHours()/12));break;default:e.setHours(6*Math.round(e.getHours()/6))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.HOUR){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MINUTE){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if(this.scale==s.SCALE.SECOND)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if(this.scale==s.SCALE.MILLISECOND){var o=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/o)*o)}return e},s.prototype.isMajor=function(){switch(this.scale){case s.SCALE.MILLISECOND:return 0==this.current.getMilliseconds();case s.SCALE.SECOND:return 0==this.current.getSeconds();case s.SCALE.MINUTE:return 0==this.current.getHours()&&0==this.current.getMinutes();case s.SCALE.HOUR:return 0==this.current.getHours();case s.SCALE.WEEKDAY:case s.SCALE.DAY:return 1==this.current.getDate();case s.SCALE.MONTH:return 0==this.current.getMonth();case s.SCALE.YEAR:return!1;default:return!1}},s.prototype.getLabelMinor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("SSS");case s.SCALE.SECOND:return o(t).format("s");case s.SCALE.MINUTE:return o(t).format("HH:mm");case s.SCALE.HOUR:return o(t).format("HH:mm");case s.SCALE.WEEKDAY:return o(t).format("ddd D");case s.SCALE.DAY:return o(t).format("D");case s.SCALE.MONTH:return o(t).format("MMM");case s.SCALE.YEAR:return o(t).format("YYYY");default:return""}},s.prototype.getLabelMajor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("HH:mm:ss");case s.SCALE.SECOND:return o(t).format("D MMMM HH:mm");case s.SCALE.MINUTE:case s.SCALE.HOUR:return o(t).format("ddd D MMMM");case s.SCALE.WEEKDAY:case s.SCALE.DAY:return o(t).format("MMMM YYYY");case s.SCALE.MONTH:return o(t).format("YYYY");case s.SCALE.YEAR:return"";default:return""}},t.exports=s},function(t){function e(){this.options=null,this.props=null}e.prototype.setOptions=function(t){t&&util.extend(this.options,t)},e.prototype.redraw=function(){return!1},e.prototype.destroy=function(){},e.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=e},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(18),r=i(41),a=i(45);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.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),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(42),n=i(1),r=i(18),a=i(41),h=i(45);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",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=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.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],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf()) -},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.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,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{}},this.dom={},this.range={start:0,end:0},this.options=o.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.stepPixels=25,this.stepPixelsForced=25,this.lineOffset=0,this.master=!0,this.svgElements={},this.groups={},this.amountOfGroups=0,this._create()}var o=i(1),n=i(2),r=i(18),a=i(14);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.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"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.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.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)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;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,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements)},s.prototype.show=function(){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)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;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 s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px"):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px"),t=this._redrawLabels(),1==this.options.icons&&this._redrawGroupIcons()}return t},s.prototype._redrawLabels=function(){n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var t=this.options.orientation,e=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,i=new a(this.range.start,this.range.end,e,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation]);this.step=i;var s=(this.dom.frame.offsetHeight-i.deadSpace*(this.dom.frame.offsetHeight/i.marginRange))/((i.marginRange-i.deadSpace)/i.step);this.stepPixels=s;var o=this.height/s,r=0;if(0==this.master){s=this.stepPixelsForced,r=Math.round(this.dom.frame.offsetHeight/s-o);for(var h=0;.5*r>h;h++)i.previous();o=this.height/s}else o+=.25;this.valueAtZero=i.marginEnd;var d=0,l=1;this.maxLabelSize=0;for(var c=0;l=0&&this._redrawLabel(c-2,i.getCurrent(),t,"yAxis major",this.props.majorCharHeight),this._redrawLine(c,t,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(c,t,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),l++}this.conversionFactor=0==this.master?c/(this.valueAtZero-i.current):this.dom.frame.offsetHeight/i.marginRange;var u=1==this.options.icons?this.options.iconWidth+this.options.labelOffsetX+15:this.options.labelOffsetX+15;return this.maxLabelSize>this.width-u&&1==this.options.visible?(this.width=this.maxLabelSize+u,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+u),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),!1)},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,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*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizee.axis){var c=d-e.axis;l-=c,o.forEach(h,function(t){t.top-=c})}a=l+e.item.vertical/2}else a=e.axis+e.item.vertical;a=Math.max(a,this.props.label.height);var p=this.dom.foreground;this.top=p.offsetTop,this.left=p.offsetLeft,this.width=p.offsetWidth,s=o.updateProperty(this,"height",a)||s,s=o.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||s,s=o.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||s,this.dom.background.style.height=a+"px",this.dom.foreground.style.height=a+"px",this.dom.label.style.height=a+"px";for(var u=0,m=this.visibleItems.length;m>u;u++){var f=this.visibleItems[u];f.repositionY()}return s},s.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)},s.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 s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.remove=function(t){delete this.items[t.id],t.setParent(this.itemSet);var e=this.visibleItems.indexOf(t);-1!=e&&this.visibleItems.splice(e,1)},s.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},s.prototype.order=function(){var t=o.toArray(this.items);this.orderedItems.byStart=t,this.orderedItems.byEnd=this._constructByEndArray(t),n.orderByStart(this.orderedItems.byStart),n.orderByEnd(this.orderedItems.byEnd)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0)for(n=0;n=0&&!this._checkIfInvisible(t.byStart[n],r,i);n--);for(n=s+1;n=0&&!this._checkIfInvisible(t.byEnd[n],r,i);n--);for(n=a+1;ne;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.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="itemset"+(h?" 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 c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},f=0,g=t.axis+t.item.vertical;return n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,g),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==o?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},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[m];return i||null},s.prototype._updateUngrouped=function(){var t=this.groups[m];if(this.groupsData)t&&(t.hide(),delete this.groups[m]);else if(!t){var e=null,i=null;t=new d(e,i,this),this.groups[m]=t;for(var s in this.items)this.items.hasOwnProperty(s)&&t.add(this.items[s]);t.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=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(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.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 s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change")},s.prototype.getGroups=function(){return this.groupsData},s.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)})},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=i.type||e.options.type||(i.end?"range":"box"),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change")},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change"))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==m)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new d(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change")},s.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")},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.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},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this.groupsData?t.data.group:m,i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this.groupsData?t.data.group:m,n=this.groups[o];n&&n.add(t)}},s.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);var i=this.groupsData?t.data.group:m,s=this.groups[i];s&&s.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:this.getSelection()}),t.stopPropagation()}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.body.util.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l={start:i?i(d):d,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(h+this.props.width/5);l.end=i?i(c):c}l[this.itemsData._fieldId]=n.randomUUID();var p=s.groupFromTarget(t);p&&(l.group=p.groupId),this.options.onAdd(l,function(t){t&&e.itemsData.add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=e.indexOf(i.id);-1==o?e.push(i.id):e.splice(o,1),this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()}),t.stopPropagation()}}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.groupFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-group"))return e["timeline-group"];e=e.parentNode}return null},s.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null -},t.exports=s},function(t,e,i){function s(t,e,i,s){this.body=t,this.defaultOptions={enabled:!0,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-left"}},this.side=i,this.options=o.extend({},this.defaultOptions),this.linegraphOptions=s,this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.setOptions(e)}var o=i(1),n=i(2),r=i(18);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.className="legend",this.dom.frame.style.position="absolute",this.dom.frame.style.top="10px",this.dom.frame.style.display="block",this.dom.textArea=document.createElement("div"),this.dom.textArea.className="legendText",this.dom.textArea.style.position="relative",this.dom.textArea.style.top="0px",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.width=this.options.iconSize+5+"px",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setOptions=function(t){var e=["enabled","orientation","icons","left","right"];o.selectiveDeepExtend(e,this.options,t)},s.prototype.redraw=function(){var t=0;for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||t++);if(0==this.options[this.side].visible||0==this.amountOfGroups||0==this.options.enabled||0==t)this.hide();else{this.show(),"top-left"==this.options[this.side].position||"bottom-left"==this.options[this.side].position?(this.dom.frame.style.left="4px",this.dom.frame.style.textAlign="left",this.dom.textArea.style.textAlign="left",this.dom.textArea.style.left=this.options.iconSize+15+"px",this.dom.textArea.style.right="",this.svg.style.left="0px",this.svg.style.right=""):(this.dom.frame.style.right="4px",this.dom.frame.style.textAlign="right",this.dom.textArea.style.textAlign="right",this.dom.textArea.style.right=this.options.iconSize+15+"px",this.dom.textArea.style.left="",this.svg.style.right="0px",this.svg.style.left=""),"top-left"==this.options[this.side].position||"top-right"==this.options[this.side].position?(this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.bottom=""):(this.dom.frame.style.bottom=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.top=""),0==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+"px",this.dom.textArea.style.right="",this.dom.textArea.style.left="",this.svg.style.width="0px"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+"px",this.drawLegendIcons());var i="";for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||(i+=this.groups[e].content+"
"));this.dom.textArea.innerHTML=i,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+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,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.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,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=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){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.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.width),i._updateGraph.apply(i)}),this._create(),this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(18),d=i(21),l=i(22),c=i(25),p="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",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 c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];o.selectiveDeepExtend(e,this.options,t),o.mergeOptions(this.options,t,"catmullRom"),o.mergeOptions(this.options,t,"drawPoints"),o.mergeOptions(this.options,t,"shaded"),o.mergeOptions(this.options,t,"legend"),t.catmullRom&&"object"==typeof t.catmullRom&&t.catmullRom.parametrization&&("uniform"==t.catmullRom.parametrization?this.options.catmullRom.alpha=0:"chordal"==t.catmullRom.parametrization?this.options.catmullRom.alpha=1:(this.options.catmullRom.parametrization="centripetal",this.options.catmullRom.alpha=.5)),this.yAxisLeft&&void 0!==t.dataAxis&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&void 0!==t.legend&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(p)&&this.groups[p].setOptions(t)}this.dom.frame&&this._updateGraph()},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setItems=function(t){var e,i=this,s=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(s&&(o.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;o.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}this._updateUngrouped(),this._updateGraph(),this.redraw()},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(o.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 s=this.id;o.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._onUpdate()},s.prototype._onUpdate=function(){this._updateUngrouped(),this._updateAllGroupData(),this._updateGraph(),this.redraw()},s.prototype._onAdd=function(t){this._onUpdate(t)},s.prototype._onRemove=function(t){this._onUpdate(t)},s.prototype._onUpdateGroups=function(t){for(var e=0;e0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a,h=[],d=[];if(t.length>0){for(n=0;n0)if(o=this.groups[t[n]],"line"==o.options.style||"stack"!=o.options.barChart.handleOverlap){var l=s[0].y,c=s[0].y;for(r=0;rs[r].y?s[r].y:l,c=c0&&(h.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,h),i.__barchartLeft=this._getStackedBarYRange(p,h),i.__barchartLeft.yAxisOrientation="left",t.push("__barchartLeft")),d.length>0&&(d.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,d),i.__barchartRight=this._getStackedBarYRange(p,d),i.__barchartRight.yAxisOrientation="right",t.push("__barchartRight"))}},s.prototype._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=o0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&(e.hide(),i=!0):e.dom.frame.parentNode||(e.show(),i=!0),i},s.prototype._drawBarGraphs=function(t,e){var i,s,o,r,a,h,d=[],l={},c=0;for(a=0;a0&&(i=Math.min(i,Math.abs(d[a-1].x-s))),o=this._getSafeDrawData(i,r,p);else{var m=a+(l[s].amount-l[s].resolved),f=a-(l[s].resolved+1);m0&&(i=Math.min(i,Math.abs(d[f].x-s))),o=this._getSafeDrawData(i,r,p),l[s].resolved+=1,"stack"==r.options.barChart.handleOverlap?(u=l[s].accumulated,l[s].accumulated+=r.zeroPosition-d[a].y):"sideBySide"==r.options.barChart.handleOverlap&&(o.width=o.width/l[s].amount,o.offset+=l[s].resolved*o.width-.5*o.width*(l[s].amount+1),"left"==r.options.barChart.align?o.offset-=.5*o.width:"right"==r.options.barChart.align&&(o.offset+=.5*o.width))}n.drawBar(d[a].x+o.offset,d[a].y-u,o.width,r.zeroPosition-d[a].y,r.className+" bar",this.svgElements,this.svg),1==r.options.drawPoints.enabled&&n.drawPoint(d[a].x+o.offset,d[a].y-u,r,this.svgElements,this.svg)}},s.prototype._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s.prototype._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.prototype._drawLineGraph=function(t,e){if(null!=t&&t.length>0){var i,s,o=Number(this.svg.style.height.replace("px",""));if(i=n.getSVGElement("path",this.svgElements,this.svg),i.setAttributeNS(null,"class",e.className),s=1==e.options.catmullRom.enabled?this._catmullRom(t,e):this._linear(t),1==e.options.shaded.enabled){var r,a=n.getSVGElement("path",this.svgElements,this.svg);r="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+s+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+o+" "+s+"L"+t[t.length-1].x+","+o,a.setAttributeNS(null,"class",e.className+" fill"),a.setAttributeNS(null,"d",r)}i.setAttributeNS(null,"d","M"+s),1==e.options.drawPoints.enabled&&this._drawPoints(t,e,this.svgElements,this.svg)}},s.prototype._drawPoints=function(t,e,i,s,o){void 0===o&&(o=0);for(var r=0;rl;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s.prototype._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,M=0;S-1>M;M++)s=0==M?t[0]:t[M-1],o=t[M],n=t[M+1],r=S>M+2?t[M+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s.prototype._linear=function(t){for(var e="",i=0;id;){d++;var l=n.getCurrent(),c=this.body.util.toScreen(l),p=n.isMajor();this.options.showMinorLabels&&this._repaintMinorText(c,n.getLabelMinor(),t),p&&this.options.showMajorLabels?(c>0&&(void 0==h&&(h=c),this._repaintMajorText(c,n.getLabelMajor(),t)),this._repaintMajorLine(c,t)):this._repaintMinorLine(c,t),n.next()}if(this.options.showMajorLabels){var u=this.body.util.toTime(0),m=n.getLabelMajor(u),f=m.length*(this.props.majorCharWidth||10)+10;(void 0==h||h>f)&&this._repaintMajorText(0,m,t)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i){var s=this.dom.redundant.minorTexts.shift();if(!s){var o=document.createTextNode("");s=document.createElement("div"),s.appendChild(o),s.className="text minor",this.dom.foreground.appendChild(s)}this.dom.minorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?this.props.majorLabelHeight+"px":"0",s.style.left=t+"px"},s.prototype._repaintMajorText=function(t,e,i){var s=this.dom.redundant.majorTexts.shift();if(!s){var o=document.createTextNode(e);s=document.createElement("div"),s.className="text major",s.appendChild(o),this.dom.foreground.appendChild(s)}this.dom.majorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?"0":this.props.minorLabelHeight+"px",s.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e){var i=this.dom.redundant.minorLines.shift();i||(i=document.createElement("div"),i.className="grid vertical minor",this.dom.background.appendChild(i)),this.dom.minorLines.push(i);var s=this.props;i.style.top="top"==e?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",i.style.height=s.minorLineHeight+"px",i.style.left=t-s.minorLineWidth/2+"px"},s.prototype._repaintMajorLine=function(t,e){var i=this.dom.redundant.majorLines.shift();i||(i=document.createElement("DIV"),i.className="grid vertical major",this.dom.background.appendChild(i)),this.dom.majorLines.push(i);var s=this.props;i.style.top="top"==e?"0":this.body.domProps.top.height+"px",i.style.left=t-s.majorLineWidth/2+"px",i.style.height=s.majorLineHeight+"px"},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor 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="text minor 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},s.prototype.snap=function(t){return this.step.snap(t)},t.exports=s},function(t,e,i){function s(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 o=i(42);s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).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)},s.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;if(e instanceof Element)t.innerHTML="",t.appendChild(e);else{if(void 0==e)throw new Error('Property "content" missing in item '+this.data.id);t.innerHTML=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0)for(var e=0;et.start},s.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="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.background;if(!e)throw new Error("Cannot redraw time axis: 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);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" 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}},s.prototype.show=n.prototype.show,s.prototype.hide=n.prototype.hide,s.prototype.repositionX=n.prototype.repositionX,s.prototype.repositionY=function(){var t="top"===this.options.orientation;this.dom.content.style.top=t?"":"0",this.dom.content.style.bottom=t?"0":""},t.exports=s},function(t,e,i){function s(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);o.call(this,t,e,i)}var o=i(28);s.prototype=new o(null,null,null),s.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},s.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="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 time axis: 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);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" 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=this.dom.box.offsetHeight,this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?Math.max(-s,0):0>s?Math.min(-s,o-s-this.props.content.width-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),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)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),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=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=.5*this.renderTimestep,this.maxPhysicsTicksPerRender=3,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null},this.defaultOptions={nodes:{mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},borderColor:"#2B7CE9",backgroundColor:"#97C2FC",highlightColor:"#D2E5FF",group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,theta:1/.6,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02}},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},dynamicSmoothCurves:!0,maxVelocity:30,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0},this.constants=a.extend({},this.defaultOptions),this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],"new":[]},this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0;var o=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){o._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulation=!1,this.cachedFunctions={},this.stabilized=!1,this.stabilizationIterations=null,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){o._addNodes(e.items),o.start()},update:function(t,e){o._updateNodes(e.items),o.start()},remove:function(t,e){o._removeNodes(e.items),o.start()}},this.edgesListeners={add:function(t,e){o._addEdges(e.items),o.start()},update:function(t,e){o._updateEdges(e.items),o.start()},remove:function(t,e){o._removeEdges(e.items),o.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent(void 0,!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(50),n=i(42),r=i(51),a=i(1),h=i(44),d=i(3),l=i(4),c=i(39),p=i(40),u=i(35),m=i(36),f=i(37),g=i(34),v=i(38),y=i(48),b=i(49),_=i(46);i(47),o(s.prototype),s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;et.x&&(s=t.x),ot.y&&(e=t.y),i=this.constants.clustering.initialMaxNodes?49.07548/(n+142.05338)+91444e-8:12.662/(n+7.4147)+.0964822:1==this.constants.clustering.enabled&&n>=this.constants.clustering.initialMaxNodes?77.5271985/(n+187.266146)+476710517e-13:30.5062972/(n+19.93597763)+.08413486;var r=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);s*=r}else{var a=1.1*(Math.abs(o.minX)+Math.abs(o.maxX)),h=1.1*(Math.abs(o.minY)+Math.abs(o.maxY)),d=this.frame.canvas.clientWidth/a,l=this.frame.canvas.clientHeight/h;s=l>=d?d:l}s>1&&(s=1);var c=this._findCenter(o);if(0==i){var p={position:c,scale:s,animation:t};this.moveTo(p),this.moving=!0,this.start()}else c.x*=s,c.y*=s,c.x-=.5*this.frame.canvas.clientWidth,c.y-=.5*this.frame.canvas.clientHeight,this._setScale(s),this._setTranslation(-c.x,-c.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this.initializing=!0,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 i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover))),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color);this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.')}this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._createKeyBinds(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,this.start()},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),!this.frame.canvas.getContext){var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}var e=this;this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",e._onTap.bind(e)),this.hammer.on("doubletap",e._onDoubleTap.bind(e)),this.hammer.on("hold",e._onHold.bind(e)),this.hammer.on("pinch",e._onPinch.bind(e)),this.hammer.on("touch",e._onTouch.bind(e)),this.hammer.on("dragstart",e._onDragStart.bind(e)),this.hammer.on("drag",e._onDrag.bind(e)),this.hammer.on("dragend",e._onDragEnd.bind(e)),this.hammer.on("release",e._onRelease.bind(e)),this.hammer.on("mousewheel",e._onMouseWheel.bind(e)),this.hammer.on("DOMMouseScroll",e._onMouseWheel.bind(e)),this.hammer.on("mousemove",e._onMouseMoveTitle.bind(e)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;this.mousetrap=r,this.mousetrap.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.mousetrap.bind("up",this._moveUp.bind(t),"keydown"),this.mousetrap.bind("up",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("down",this._moveDown.bind(t),"keydown"),this.mousetrap.bind("down",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("left",this._moveLeft.bind(t),"keydown"),this.mousetrap.bind("left",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("right",this._moveRight.bind(t),"keydown"),this.mousetrap.bind("right",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("=",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("=",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("-",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("-",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("[",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("[",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("]",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("]",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pageup",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("pageup",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.mousetrap.bind("escape",this._createManipulatorBar.bind(t)),this.mousetrap.bind("del",this._deleteSelected.bind(t)))},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this._handleTouch(this.drag.pointer)},s.prototype._onDragStart=function(){this._handleDragStart()},s.prototype._handleDragStart=function(){var t=this.drag,e=this._getNodeAt(t.pointer);if(t.dragging=!0,t.selection=[],t.translation=this._getTranslation(),t.nodeId=null,null!=e){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1);for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,t.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw()},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i);var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof f&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj;if(void 0==this.popupObj){var o=this.nodes;for(e in o)if(o.hasOwnProperty(e)){var n=o[e];if(void 0!==n.getTitle()&&n.isOverlappingWith(i)){this.popupObj=n;break}}}if(void 0===this.popupObj){var r=this.edges;for(e in r)if(r.hasOwnProperty(e)){var a=r[e];if(a.connected&&void 0!==a.getTitle()&&a.isOverlappingWith(i)){this.popupObj=a;break}}}if(this.popupObj){if(this.popupObj!=s){var h=this;h.popup||(h.popup=new v(h.frame,h.constants.tooltip)),h.popup.setPosition(t.x-3,t.y-3),h.popup.setText(h.popupObj.getTitle()),h.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth&&(this.frame.canvas.width=this.frame.canvas.clientWidth,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight&&(this.frame.canvas.height=this.frame.canvas.clientHeight,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width,height:this.frame.canvas.height})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(t instanceof Array)this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new f(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t){for(var e=this.nodes,i=this.nodesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n],a=i.get(n);r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),e[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._reconnectEdges(),this._updateValueRange(e)},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(t instanceof Array)this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var o=t[e].getValue();void 0!==o&&(i=void 0===i?o:Math.min(o,i),s=void 0===s?o:Math.max(o,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._redraw=function(){var t=this.frame.canvas.getContext("2d"),e=this.frame.canvas.width,i=this.frame.canvas.height;t.clearRect(0,0,e,i),t.save(),t.translate(this.translation.x,this.translation.y),t.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},this._doInAllSectors("_drawAllSectorNodes",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",t,!1),1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",t),t.restore() -},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._physicsTick=function(){if(!this.freezeSimulation&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s0){var i=this,s={iterations:i.stabilizationIterations};i.stabilizationIterations=0,setTimeout(function(){i.emit("stabilized",s)},0)}},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.toggleFreeze=function(){0==this.freezeSimulation?this.freezeSimulation=!0:(this.freezeSimulation=!1,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new f({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.focusOnNode=function(t,e){if(this.nodes.hasOwnProperty(t)){void 0===e&&(e={});var i={x:this.nodes[t].x,y:this.nodes[t].y};e.position=i,this.moveTo(e)}else console.log("This nodeId cannot be found.")},s.prototype.moveTo=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._getScale()),void 0===t.position&&(t.position=this._getTranslation()),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))},s.prototype.animateView=function(t){if(void 0===t)return void(t={});0!=this.easingTime&&this._transitionRedraw(1),this.sourceScale=this._getScale(),this.sourceTranslation=this._getTranslation(),this.targetScale=t.scale,this._setScale(this.targetScale);var e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.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?(this._setScale(this.targetScale),this._setTranslation(this.targetTranslation.x,this.targetTranslation.y),this._redraw()):(this.animationSpeed=1/(this.renderRefreshRate*t.animation.duration*.001)||1/this.renderRefreshRate,this.animationEasingFunction=t.animation.easingFunction,this._classicRedraw=this._redraw,this._redraw=this._transitionRedraw,this.moving=!0,this.start())},s.prototype._transitionRedraw=function(t){this.easingTime=t||this.easingTime+this.animationSpeed,this.easingTime+=this.animationSpeed;var e=a.easingFunctions[this.animationEasingFunction](this.easingTime);this._setScale(this.sourceScale+(this.targetScale-this.sourceScale)*e),this._setTranslation(this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e),this._classicRedraw(),this.moving=!0,this.easingTime>=1&&(this.easingTime=0,this._redraw=this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},t.exports=s},function(t,e,i){function s(t,e,i){if(!e)throw"No network provided";var s=["edges","physics"],n=o.selectiveBridgeObject(s,i);this.options=n.edges,this.physics=n.physics,this.options.smoothCurves=i.smoothCurves,this.network=e,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.title=void 0,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.value=void 0,this.selected=!1,this.hover=!1,this.from=null,this.to=null,this.via=null,this.originalFromId=[],this.originalToId=[],this.connected=!1,this.widthFixed=!1,this.lengthFixed=!1,this.setProperties(t),this.controlNodesEnabled=!1,this.controlNodes={from:null,to:null,positions:{}},this.connectedNode=null}var o=i(1),n=i(37);s.prototype.setProperties=function(t){if(t){var e=["style","fontSize","fontFace","fontColor","fontFill","width","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","inheritColor"];switch(o.selectiveDeepExtend(e,this.options,t),void 0!==t.from&&(this.fromId=t.from),void 0!==t.to&&(this.toId=t.to),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.value&&(this.value=t.value),void 0!==t.length&&(this.physics.springLength=t.length),void 0!==t.color&&(this.options.inheritColor=!1,o.isString(t.color)?(this.options.color.color=t.color,this.options.color.highlight=t.color):(void 0!==t.color.color&&(this.options.color.color=t.color.color),void 0!==t.color.highlight&&(this.options.color.highlight=t.color.highlight),void 0!==t.color.hover&&(this.options.color.hover=t.color.hover))),this.connect(),this.widthFixed=this.widthFixed||void 0!==t.width,this.lengthFixed=this.lengthFixed||void 0!==t.length,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.options.style){case"line":this.draw=this._drawLine;break;case"arrow":this.draw=this._drawArrow;break;case"arrow-center":this.draw=this._drawArrowCenter;break;case"dash-line":this.draw=this._drawDashLine;break;default:this.draw=this._drawLine}}},s.prototype.connect=function(){this.disconnect(),this.from=this.network.nodes[this.fromId]||null,this.to=this.network.nodes[this.toId]||null,this.connected=this.from&&this.to,this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this))},s.prototype.disconnect=function(){this.from&&(this.from.detachEdge(this),this.from=null),this.to&&(this.to.detachEdge(this),this.to=null),this.connected=!1},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.getValue=function(){return this.value},s.prototype.setValueRange=function(t,e){if(!this.widthFixed&&void 0!==this.value){var i=(this.options.widthMax-this.options.widthMin)/(e-t);this.options.width=(this.value-t)*i+this.options.widthMin,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier}},s.prototype.draw=function(){throw"Method draw not initialized in edge"},s.prototype.isOverlappingWith=function(t){if(this.connected){var e=10,i=this.from.x,s=this.from.y,o=this.to.x,n=this.to.y,r=t.left,a=t.top,h=this._getDistanceToEdge(i,s,o,n,r,a);return e>h}return!1},s.prototype._getColor=function(){var t=this.options.color;return"to"==this.options.inheritColor?t={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:this.to.options.color.border}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(t={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:this.from.options.color.border}),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)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"==s&&(t=i*n>o?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*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?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*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,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*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(o[d]).width;h=l>h?l:h}var c=this.options.fontSize*n,p=i-h/2,u=s-c/2;t.fillRect(p,u,h,c)}t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle";for(var d=0;n>d;d++)t.fillText(o[d],i,a),a+=r}},s.prototype._drawDashLine=function(t){t.strokeStyle=1==this.selected?this.options.color.highlight:1==this.hover?this.options.color.hover:this.options.color.color,t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.mozDash||void 0!==t.setLineDash){var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],"undefined"!=typeof t.setLineDash?(t.setLineDash(i),t.lineDashOffset=0):(t.mozDash=i,t.mozDashOffset=0),e=this._line(t),"undefined"!=typeof t.setLineDash?(t.setLineDash([0]),t.lineDashOffset=0):(t.mozDash=[0],t.mozDashOffset=0)}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(1==this.selected?(t.strokeStyle=this.options.color.highlight,t.fillStyle=this.options.color.highlight):1==this.hover?(t.strokeStyle=this.options.color.hover,t.fillStyle=this.options.color.hover):(t.strokeStyle=this.options.color.color,t.fillStyle=this.options.color.color),t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._drawArrow=function(t){1==this.selected?(t.strokeStyle=this.options.color.highlight,t.fillStyle=this.options.color.highlight):1==this.hover?(t.strokeStyle=this.options.color.hover,t.fillStyle=this.options.color.hover):(t.strokeStyle=this.options.color.color,t.fillStyle=this.options.color.color),t.lineWidth=this._getLineWidth();var e,i;if(this.from!=this.to){e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var s,o=this.to.x-this.from.x,n=this.to.y-this.from.y,r=Math.sqrt(o*o+n*n),a=this.from.distanceToBorder(t,e+Math.PI),h=(r-a)/r,d=h*this.from.x+(1-h)*this.to.x,l=h*this.from.y+(1-h)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?s=this.via:1==this.options.smoothCurves.enabled&&(s=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=s.x&&(e=Math.atan2(this.to.y-s.y,this.to.x-s.x),o=this.to.x-s.x,n=this.to.y-s.y,r=Math.sqrt(o*o+n*n));var c,p,u=this.to.distanceToBorder(t,e),m=(r-u)/r;if(1==this.options.smoothCurves.enabled&&null!=s.x?(c=(1-m)*s.x+m*this.to.x,p=(1-m)*s.y+m*this.to.y):(c=(1-m)*this.from.x+m*this.to.x,p=(1-m)*this.from.y+m*this.to.y),t.beginPath(),t.moveTo(d,l),1==this.options.smoothCurves.enabled&&null!=s.x?t.quadraticCurveTo(s.x,s.y,c,p):t.lineTo(c,p),t.stroke(),i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(c,p,e,i),t.fill(),t.stroke(),this.label){var f;if(1==this.options.smoothCurves.enabled&&null!=s){var g=.5*(.5*(this.from.x+s.x)+.5*(this.to.x+s.x)),v=.5*(.5*(this.from.y+s.y)+.5*(this.to.y+s.y));f={x:g,y:v}}else f=this._pointOnLine(.5);this._label(t,this.label,f.x,f.y)}}else{var y,b,_,x=this.from,w=.25*Math.max(100,this.physics.springLength);x.width||x.resize(t),x.width>x.height?(y=x.x+.5*x.width,b=x.y-w,_={x:y,y:x.y,angle:.9*Math.PI}):(y=x.x+w,b=x.y-.5*x.height,_={x:x.x,y:b,angle:.6*Math.PI}),t.beginPath(),t.arc(y,b,w,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(_.x,_.y,_.angle,i),t.fill(),t.stroke(),this.label&&(f=this._pointOnCircle(y,b,w,.5),this._label(t,this.label,f.x,f.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){if(this.from!=this.to){if(1==this.options.smoothCurves.enabled){var r,a;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)r=this.via.x,a=this.via.y;else{var h=this._getViaCoordinates();r=h.x,a=h.y}var d,l,c,p,u,m,f,g=1e9;for(l=0;10>l;l++)c=.1*l,p=Math.pow(1-c,2)*t+2*c*(1-c)*r+Math.pow(c,2)*i,u=Math.pow(1-c,2)*e+2*c*(1-c)*a+Math.pow(c,2)*s,l>0&&(d=this._getDistanceToLine(m,f,p,u,o,n),g=g>d?d:g),m=p,f=u;return g}return this._getDistanceToLine(t,e,i,s,o,n)}var p,u,v,y,b=.25*this.physics.springLength,_=this.from;return _.width>_.height?(p=_.x+.5*_.width,u=_.y-b):(p=_.x+b,u=_.y-.5*_.height),v=p-o,y=u-n,Math.abs(Math.sqrt(v*v+y*y)-b)},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to&&(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y))},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:8},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}0==this.controlNodes.from.selected&&0==this.controlNodes.to.selected&&(this.controlNodes.positions=this.getControlNodePositions(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y,this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected&&(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()),1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodePositions=function(t){var e,i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n,h=a*this.from.x+(1-a)*this.to.x,d=a*this.from.y+(1-a)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?e=this.via:1==this.options.smoothCurves.enabled&&(e=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=e.x&&(i=Math.atan2(this.to.y-e.y,this.to.x-e.x),s=this.to.x-e.x,o=this.to.y-e.y,n=Math.sqrt(s*s+o*o));var l,c,p=this.to.distanceToBorder(t,i),u=(n-p)/n;return 1==this.options.smoothCurves.enabled&&null!=e.x?(l=(1-u)*e.x+u*this.to.x,c=(1-u)*e.y+u*this.to.y):(l=(1-u)*this.from.x+u*this.to.x,c=(1-u)*this.from.y+u*this.to.y),{from:{x:h,y:d},to:{x:l,y:c}}},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}var o=i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e.color&&(e.color=o.parseColor(e.color)),e},t.exports=s},function(t){function e(){this.images={},this.callback=void 0}e.prototype.setOnloadCallback=function(t){this.callback=t},e.prototype.load=function(t,e){var i=this.images[t];if(void 0==i){var s=this;i=new Image,this.images[t]=i,i.onload=function(){s.callback&&s.callback(this)},i.onerror=function(){this.src=e,s.callback&&s.callback(this)},i.src=t}return i},t.exports=e},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.fontDrawThreshold=3,this.id=void 0,this.x=null,this.y=null,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.dynamicEdgesLength=0,this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&(this.edges.splice(e,1),this.dynamicEdges.splice(e,1)),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","group","mass"];if(o.selectiveDeepExtend(i,this.options,t),this.originalLabel=void 0,void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof this.options.group||"string"==typeof this.options.group&&""!=this.options.group){var s=this.grouplist.get(this.options.group);for(var n in s)s.hasOwnProperty(n)&&(this.options[n]=s[n])}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(this.xFixed=this.xFixed||void 0!==t.x&&!t.allowedToMoveX,this.yFixed=this.yFixed||void 0!==t.y&&!t.allowedToMoveY,this.radiusFixed=this.radiusFixed||void 0!==t.radius,"image"==this.options.shape&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape; -break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.discreteStep=function(t){if(!this.xFixed){var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(!this.yFixed){var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.xFixed)this.fx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.options.radius=(this.options.radiusMin+this.options.radiusMax)/2;else{var i=(this.options.radiusMax-this.options.radiusMin)/(e-t);this.options.radius=(this.value-t)*i+this.options.radiusMin}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(){throw"Draw method not initialized for node"},s.prototype.resize=function(){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.options.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.options.radius||this.imageObj.width,e=this.options.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e;if(0!=this.imageObj.width){if(this.clusterSize>1){var i=this.clusterSize>1?10:0;i*=this.networkScaleInv,i=Math.min(.2*this.width,i),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-i,this.top-i,this.width+2*i,this.height+2*i)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),e=this.y+this.height/2}else e=this.y;this._label(t,this.label,this.x,e,void 0,"top")},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(this.x,this.y,this.options.radius+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(){if(!this.width){this.options.radius=this.baseRadiusValue;var t=2*this.options.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.label&&this._label(t,this.label,this.x,this.y+this.height/2,void 0,"top",!0)},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y)},s.prototype._label=function(t,e,i,s,o,n,r){if(e&&Number(this.options.fontSize)*this.networkScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace,t.textAlign=o||"center",t.textBaseline=n||"middle";var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;if(1==r&&(l=s+(1-h)/(2*d)),void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){for(var c=t.measureText(a[0]).width,p=1;h>p;p++){var u=t.measureText(a[p]).width;c=u>c?u:c}var m=this.options.fontSize*h,f=i-c/2,g=s-m/2;t.fillStyle=this.options.fontFill,t.fillRect(f,g,c,m)}t.fillStyle=this.options.fontColor||"black";for(var p=0;h>p;p++)t.fillText(a[p],i,l),l+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;for(var e=this.label.split("\n"),i=(Number(this.options.fontSize)+4)*e.length,s=0,o=0,n=e.length;n>o;o++)s=Math.max(s,t.measureText(e[o]).width);return{width:s,height:i}}return{width:0,height:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=a(o.attr,t.node))),i=n.length-1;i>=0;i--){var h=n[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(o)&&h.nodes.push(o)}e.attr&&(o.attr=a(o.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function c(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=a({},t.edge)),n.attr=a(n.attr||{},o),n}function p(){for(k=C.NULL,L="";" "==O||" "==O||"\n"==O||"\r"==O;)o();do{var t=!1;if("#"==O){for(var e=T-1;" "==E.charAt(e)||" "==E.charAt(e);)e--;if("\n"==E.charAt(e)||""==E.charAt(e)){for(;""!=O&&"\n"!=O;)o();t=!0}}if("/"==O&&"/"==n()){for(;""!=O&&"\n"!=O;)o();t=!0}if("/"==O&&"*"==n()){for(;""!=O;){if("*"==O&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==O||" "==O||"\n"==O||"\r"==O;)o()}while(t);if(""==O)return void(k=C.DELIMITER);var i=O+n();if(D[i])return k=C.DELIMITER,L=i,o(),void o();if(D[O])return k=C.DELIMITER,L=O,void o();if(r(O)||"-"==O){for(L+=O,o();r(O);)L+=O,o();return"false"==L?L=!1:"true"==L?L=!0:isNaN(Number(L))||(L=Number(L)),void(k=C.IDENTIFIER)}if('"'==O){for(o();""!=O&&('"'!=O||'"'==O&&'"'==n());)L+=O,'"'==O&&o(),o();if('"'!=O)throw x('End of string " expected');return o(),void(k=C.IDENTIFIER)}for(k=C.UNKNOWN;""!=O;)L+=O,o();throw new SyntaxError('Syntax error in part "'+w(L,30)+'"')}function u(){var t={};if(s(),p(),"strict"==L&&(t.strict=!0,p()),("graph"==L||"digraph"==L)&&(t.type=L,p()),k==C.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),m(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==L&&"}"!=L;)f(t),";"==L&&p()}function f(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(k!=C.IDENTIFIER)throw x("Identifier expected");var s=L;if(p(),"="==L){if(p(),k!=C.IDENTIFIER)throw x("Identifier expected");t[s]=L,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==L&&(e={},e.type="subgraph",p(),k==C.IDENTIFIER&&(e.id=L,p())),"{"==L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=L)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 v(t){return"node"==L?(p(),t.node=_(),"node"):"edge"==L?(p(),t.edge=_(),"edge"):"graph"==L?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==L||"--"==L;){var i,s=L;p();var o=g(t);if(o)i=o;else{if(k!=C.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==L;){for(p(),t={};""!==L&&"]"!=L;){if(k!=C.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),k!=C.IDENTIFIER)throw x("Attribute value expected");var i=L;h(t,e,i),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(L,30)+'" (char '+T+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){t instanceof Array?t.forEach(function(t){e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}):e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}function M(t){function e(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e}var s=i(t),o={nodes:[],edges:[],options:{}};return s.nodes&&s.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),o.nodes.push(e)}),s.edges&&s.edges.forEach(function(t){var i,s;i=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var i=e(t);o.edges.push(i)}),S(i,s,function(i,s){var n=c(o,i.id,s.id,t.type,t.attr),r=e(n);o.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var i=e(t);o.edges.push(i)})}),s.attr&&(o.options=s.attr),o}var C={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},D={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},E="",T=0,O="",L="",k=C.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=M},function(t,e){function i(t,e){var i=[],s=[];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 o=t.edges,n=t.nodes,r=0;r=o&&(o=864e5),i=new Date(i.valueOf()-.05*o),s=new Date(s.valueOf()+.05*o)}if(null!==i||null!==s){var n=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(i,s,n)}},s.prototype.setWindow=function(t,e,i){var s=i&&void 0!==i.animate?i.animate:!0;if(1==arguments.length){var o=arguments[0];this.range.setRange(o.start,o.end,s)}else this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var d=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var l=i.root.width-i.left.width-i.right.width-n;i.center.width=l,i.centerContainer.width=l,i.top.width=l,i.bottom.width=l,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.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)),s.center.style.left="0",s.center.style.top=c+"px",s.left.style.left="0",s.left.style.top=c+"px",s.right.style.left="0",s.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",u=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=p,s.shadowBottom.style.visibility=u,s.shadowTopLeft.style.visibility=p,s.shadowBottomLeft.style.visibility=u,s.shadowTopRight.style.visibility=p,s.shadowBottomRight.style.visibility=u,this.components.forEach(function(e){t=e.redraw()||t}),t&&this.redraw()}},s.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.") -},s.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},s.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},s.prototype._toTime=function(t){var e=this.range.conversion(this.props.center.width);return new Date(t/e.scale+e.offset)},s.prototype._toGlobalTime=function(t){var e=this.range.conversion(this.props.root.width);return new Date(t/e.scale+e.offset)},s.prototype._toScreen=function(t){var e=this.range.conversion(this.props.center.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._toGlobalScreen=function(t){var e=this.range.conversion(this.props.root.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},s.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){return 1!=t.options.autoResize?void t._stopAutoResize():void(t.dom.root&&(t.dom.root.offsetWidth!=t.props.lastWidth||t.dom.root.offsetHeight!=t.props.lastHeight)&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.emit("change")))},r.addEventListener(window,"resize",this._onResize),this.watchTimer=setInterval(this._onResize,1e3)},s.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),r.removeEventListener(window,"resize",this._onResize),this._onResize=null},s.prototype._onTouch=function(){this.touch.allowDragging=!0},s.prototype._onPinch=function(){this.touch.allowDragging=!1},s.prototype._onDragStart=function(){this.touch.initialScrollTop=this.props.scrollTop},s.prototype._onDrag=function(t){if(this.touch.allowDragging){var e=t.gesture.deltaY,i=this._getScrollTop(),s=this._setScrollTop(this.touch.initialScrollTop+e);s!=i&&this.redraw()}},s.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},s.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("bottom"==this.options.orientation&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTops;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,m=e+(s-r/2),f=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,m),this.bezierCurveTo(l,m+d,p+h,f,p,f),this.bezierCurveTo(p-h,f,t,m+d,t,m),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t,e,i){var s=i(60),o=i(54),n=i(55),r=i(56),a=i(57),h=i(58),d=i(59);e._loadMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])},e._clearMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=void 0)},e._loadPhysicsSystem=function(){this._loadMixin(s),this._loadSelectedForceSolver(),1==this.constants.configurePhysics&&this._loadPhysicsConfiguration()},e._loadClusterSystem=function(){this.clusterSession=0,this.hubThreshold=5,this._loadMixin(o)},e._loadSectorSystem=function(){this.sectors={},this.activeSector=["default"],this.sectors.active={},this.sectors.active["default"]={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.sectors.frozen={},this.sectors.support={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.nodeIndices=this.sectors.active["default"].nodeIndices,this._loadMixin(n)},e._loadSelectionSystem=function(){this.selectionObj={nodes:{},edges:{}},this._loadMixin(r)},e._loadManipulationSystem=function(){this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.constants.dataManipulation.enabled?(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="network-manipulationDiv",this.manipulationDiv.id="network-manipulationDiv",this.manipulationDiv.style.display=1==this.editMode?"block":"none",this.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="network-manipulation-editMode",this.editModeDiv.id="network-manipulation-editMode",this.editModeDiv.style.display=1==this.editMode?"none":"block",this.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="network-manipulation-closeDiv",this.closeDiv.id="network-manipulation-closeDiv",this.closeDiv.style.display=this.manipulationDiv.style.display,this.frame.appendChild(this.closeDiv)),this._loadMixin(a),this._createManipulatorBar()):void 0!==this.manipulationDiv&&(this._createManipulatorBar(),this.containerElement.removeChild(this.manipulationDiv),this.containerElement.removeChild(this.editModeDiv),this.containerElement.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._clearMixin(a))},e._loadNavigationControls=function(){this._loadMixin(h),this._cleanNavigation(),1==this.constants.navigation.enabled&&this._loadNavigationElements()},e._loadHierarchySystem=function(){this._loadMixin(d)}},function(t,e,i){function s(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay,{prevent_default:!1}),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["touch","pinch","doubletap","hold","dragstart","drag","dragend","mousewheel","DOMMouseScroll"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.windowHammer=a(window,{prevent_default:!1}),this.windowHammer.on("tap",function(i){o(i.target,t)||e.deactivate()}),this.escListener=this.deactivate.bind(this)}function o(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var n=i(51),r=i(50),a=i(42),h=i(1);r(s.prototype),s.current=null,s.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.windowHammer=null},s.prototype.activate=function(){s.current&&s.current.deactivate(),s.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),n.bind("esc",this.escListener)},s.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),n.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},s.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=s},function(t){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t){function e(t,e,i){return t.addEventListener?t.addEventListener(e,i,!1):void t.attachEvent("on"+e,i)}function i(t){return"keypress"==t.type?String.fromCharCode(t.which):_[t.which]?_[t.which]:x[t.which]?x[t.which]:String.fromCharCode(t.which).toLowerCase()}function s(t){var e=t.target||t.srcElement,i=e.tagName;return(" "+e.className+" ").indexOf(" mousetrap ")>-1?!1:"INPUT"==i||"SELECT"==i||"TEXTAREA"==i||e.contentEditable&&"true"==e.contentEditable}function o(t,e){return t.sort().join(",")===e.sort().join(",")}function n(t){t=t||{};var e,i=!1;for(e in D)t[e]?i=!0:D[e]=0;i||(T=!1)}function r(t,e,i,s,n){var r,a,h=[];if(!M[t])return[];for("keyup"==i&&c(t)&&(e=[t]),r=0;r95&&112>t||_.hasOwnProperty(t)&&(y[_[t]]=t)}return y}function m(t,e,i){return i||(i=u()[t]?"keydown":"keypress"),"keypress"==i&&e.length&&(i="keydown"),i}function f(t,e,s,o){D[t]=0,o||(o=m(e[0],[]));var r,a=function(){T=o,++D[t],p()},d=function(t){h(s,t),"keyup"!==o&&(E=i(t)),setTimeout(n,10)};for(r=0;r1)return f(t,d,e,i);for(h="+"===t?["+"]:t.split("+"),n=0;n":".","?":"/","|":"\\"},S={option:"alt",command:"meta","return":"enter",escape:"esc"},M={},C={},D={},E=!1,T=!1,O=1;20>O;++O)_[111+O]="f"+O;for(O=0;9>=O;++O)_[O+96]=O;e(document,"keypress",l),e(document,"keydown",l),e(document,"keyup",l);var L={bind:function(t,e,i){return v(t instanceof Array?t:[t],e,i),C[t+":"+i]=e,this},unbind:function(t,e){return C[t+":"+e]&&(delete C[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return C[t+":"+e](),this},reset:function(){return M={},C={},this}};t.exports=L},function(t,e,i){var s;(function(t,o){(function(n){function r(t,e,i){switch(arguments.length){case 2:return null!=t?t:e;case 3:return null!=t?t:null!=e?e:i;default:throw new Error("Implement me")}}function a(t,e){return Le.call(t,e)}function h(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(t){Me.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function l(t,e){var i=!0;return v(function(){return i&&(d(t),i=!1),e.apply(this,arguments)},e)}function c(t,e){xi[t]||(d(e),xi[t]=!0)}function p(t,e){return function(i){return _(t.call(this,i),e)}}function u(t,e){return function(i){return this.localeData().ordinal(t.call(this,i),e)}}function m(){}function f(t,e){e!==!1&&P(t),y(this,t),this._d=new Date(+t._d)}function g(t){var e=O(t),i=e.year||0,s=e.quarter||0,o=e.month||0,n=e.week||0,r=e.day||0,a=e.hour||0,h=e.minute||0,d=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*d+6e4*h+36e5*a,this._days=+r+7*n,this._months=+o+3*s+12*i,this._data={},this._locale=Me.localeData(),this._bubble()}function v(t,e){for(var i in e)a(e,i)&&(t[i]=e[i]);return a(e,"toString")&&(t.toString=e.toString),a(e,"valueOf")&&(t.valueOf=e.valueOf),t}function y(t,e){var i,s,o;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=e._pf),"undefined"!=typeof e._locale&&(t._locale=e._locale),He.length>0)for(i in He)s=He[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function b(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&k(t[s])!==k(e[s]))&&r++;return r+n}function T(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=mi[t]||fi[e]||e}return t}function O(t){var e,i,s={};for(i in t)a(t,i)&&(e=T(i),e&&(s[e]=t[i]));return s}function L(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}Me[t]=function(s,o){var r,a,h=Me._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=Me().utc().set(i,t);return h.call(Me._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function k(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function N(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function I(t,e,i){return pe(Me([t,11,31+e-i]),e,i).week}function A(t){return z(t)?366:365}function z(t){return t%4===0&&t%100!==0||t%400===0}function P(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[Ne]<0||t._a[Ne]>11?Ne:t._a[Ie]<1||t._a[Ie]>N(t._a[ke],t._a[Ne])?Ie:t._a[Ae]<0||t._a[Ae]>23?Ae:t._a[ze]<0||t._a[ze]>59?ze:t._a[Pe]<0||t._a[Pe]>59?Pe:t._a[Re]<0||t._a[Re]>999?Re:-1,t._pf._overflowDayOfYear&&(ke>e||e>Ie)&&(e=Ie),t._pf.overflow=e)}function R(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function F(t){return t?t.toLowerCase().replace("_","-"):t}function H(t){for(var e,i,s,o,n=0;n0;){if(s=Y(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function Y(t){var e=null;if(!Fe[t]&&Ye)try{e=Me.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Me.locale(e)}catch(i){}return Fe[t]}function B(t,e){return e._isUTC?Me(t).zone(e._offset||0):Me(t).local()}function W(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function G(t){var e,i,s=t.match(je);for(e=0,i=s.length;i>e;e++)s[e]=_i[s[e]]?_i[s[e]]:W(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function j(t,e){return t.isValid()?(e=U(e,t.localeData()),gi[e]||(gi[e]=G(e)),gi[e](t)):t.localeData().invalidDate()}function U(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Ue.lastIndex=0;s>=0&&Ue.test(t);)t=t.replace(Ue,i),Ue.lastIndex=0,s-=1;return t}function V(t,e){var i,s=e._strict;switch(t){case"Q":return ii;case"DDDD":return oi;case"YYYY":case"GGGG":case"gggg":return s?ni:Ze;case"Y":case"G":case"g":return ai;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?ri:qe;case"S":if(s)return ii;case"SS":if(s)return si;case"SSS":if(s)return oi;case"DDD":return Xe;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Qe;case"a":case"A":return e._locale._meridiemParse;case"X":return ti;case"Z":case"ZZ":return $e;case"T":return Je;case"SSSS":return Ke;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?si:Ve;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Ve;case"Do":return ei;default:return i=new RegExp(ee(te(t.replace("\\","")),"i"))}}function X(t){t=t||"";var e=t.match($e)||[],i=e[e.length-1]||[],s=(i+"").match(pi)||["-",0,0],o=+(60*s[1])+k(s[2]);return"+"===s[0]?-o:o}function Z(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[Ne]=3*(k(e)-1));break;case"M":case"MM":null!=e&&(o[Ne]=k(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e),null!=s?o[Ne]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ie]=k(e));break;case"Do":null!=e&&(o[Ie]=k(parseInt(e,10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=k(e));break;case"YY":o[ke]=Me.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[ke]=k(e);break;case"a":case"A":i._isPm=i._locale.isPM(e);break;case"H":case"HH":case"h":case"hh":o[Ae]=k(e);break;case"m":case"mm":o[ze]=k(e);break;case"s":case"ss":o[Pe]=k(e);break;case"S":case"SS":case"SSS":case"SSSS":o[Re]=k(1e3*("0."+e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=X(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=k(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=Me.parseTwoDigitYear(e)}}function q(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[ke],pe(Me(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[ke],pe(Me(),n,a).year),s=r(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),h=ue(i,s,o,a,n),t._a[ke]=h.year,t._dayOfYear=h.dayOfYear}function K(t){var e,i,s,o,n=[];if(!t._d){for(s=$(t),t._w&&null==t._a[Ie]&&null==t._a[Ne]&&q(t),t._dayOfYear&&(o=r(t._a[ke],s[ke]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=he(o,0,t._dayOfYear),t._a[Ne]=i.getUTCMonth(),t._a[Ie]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];t._d=(t._useUTC?he:ae).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()+t._tzm)}}function Q(t){var e;t._d||(e=O(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],K(t))}function $(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function J(t){if(t._f===Me.ISO_8601)return void se(t);t._a=[],t._pf.empty=!0;var e,i,s,o,n,r=""+t._i,a=r.length,h=0;for(s=U(t._f,t._locale).match(je)||[],e=0;e0&&t._pf.unusedInput.push(n),r=r.slice(r.indexOf(i)+i.length),h+=i.length),_i[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),Z(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=a-h,r.length>0&&t._pf.unusedInput.push(r),t._isPm&&t._a[Ae]<12&&(t._a[Ae]+=12),t._isPm===!1&&12===t._a[Ae]&&(t._a[Ae]=0),K(t),P(t)}function te(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function ee(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ie(t){var e,i,s,o,n;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;on)&&(s=n,i=e));v(t,i||e)}function se(t){var e,i,s=t._i,o=hi.exec(s);if(o){for(t._pf.iso=!0,e=0,i=li.length;i>e;e++)if(li[e][1].exec(s)){t._f=li[e][0]+(o[6]||" ");break}for(e=0,i=ci.length;i>e;e++)if(ci[e][1].exec(s)){t._f+=ci[e][0];break}s.match($e)&&(t._f+="Z"),J(t)}else t._isValid=!1}function oe(t){se(t),t._isValid===!1&&(delete t._isValid,Me.createFromInputFallback(t))}function ne(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function he(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function de(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function le(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ce(t,e,i){var s=Me.duration(t).abs(),o=Oe(s.as("s")),n=Oe(s.as("m")),r=Oe(s.as("h")),a=Oe(s.as("d")),h=Oe(s.as("M")),d=Oe(s.as("y")),l=o0,l[4]=i,le.apply({},l)}function pe(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Me(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function ue(t,e,i,s,o){var n,r,a=he(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:A(t-1)+r}}function me(t){var e=t._i,i=t._f;return t._locale=t._locale||Me.localeData(t._l),null===e||i===n&&""===e?Me.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),Me.isMoment(e)?new f(e,!0):(i?C(i)?ie(t):J(t):re(t),new f(t)))}function fe(t,e){var i,s;if(1===e.length&&C(e[0])&&(e=e[0]),!e.length)return Me();for(i=e[0],s=1;s=0?"+":"-";return e+_(Math.abs(t),6)},gg:function(){return _(this.weekYear()%100,2)},gggg:function(){return _(this.weekYear(),4)},ggggg:function(){return _(this.weekYear(),5)},GG:function(){return _(this.isoWeekYear()%100,2)},GGGG:function(){return _(this.isoWeekYear(),4)},GGGGG:function(){return _(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return k(this.milliseconds()/100)},SS:function(){return _(k(this.milliseconds()/10),2)},SSS:function(){return _(this.milliseconds(),3)},SSSS:function(){return _(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+":"+_(k(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+_(k(t)%60,2)},z:function(){return this.zoneAbbr() -},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},xi={},wi=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];yi.length;)De=yi.pop(),_i[De+"o"]=u(_i[De],De);for(;bi.length;)De=bi.pop(),_i[De+De]=p(_i[De],2);_i.DDDD=p(_i.DDD,3),v(m.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,i,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(i=Me.utc([2e3,e]),s="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=Me([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(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},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var i=this._calendar[t];return"function"==typeof i?i.apply(e):i},_relativeTime:{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"},relativeTime:function(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return pe(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),Me=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._i=t,o._f=e,o._l=i,o._strict=s,o._isUTC=!1,o._pf=h(),me(o)},Me.suppressDeprecationWarnings=!1,Me.createFromInputFallback=l("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)}),Me.min=function(){var t=[].slice.call(arguments,0);return fe("isBefore",t)},Me.max=function(){var t=[].slice.call(arguments,0);return fe("isAfter",t)},Me.utc=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=e,o._strict=s,o._pf=h(),me(o).utc()},Me.unix=function(t){return Me(1e3*t)},Me.duration=function(t,e){var i,s,o,n,r=t,h=null;return Me.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=We.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:k(h[Ie])*i,h:k(h[Ae])*i,m:k(h[ze])*i,s:k(h[Pe])*i,ms:k(h[Re])*i}):(h=Ge.exec(t))?(i="-"===h[1]?-1:1,o=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},r={y:o(h[2]),M:o(h[3]),d:o(h[4]),h:o(h[5]),m:o(h[6]),s:o(h[7]),w:o(h[8])}):"object"==typeof r&&("from"in r||"to"in r)&&(n=w(Me(r.from),Me(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new g(r),Me.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},Me.version=Ee,Me.defaultFormat=di,Me.ISO_8601=function(){},Me.momentProperties=He,Me.updateOffset=function(){},Me.relativeTimeThreshold=function(t,e){return vi[t]===n?!1:e===n?vi[t]:(vi[t]=e,!0)},Me.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return Me.locale(t,e)}),Me.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?Me.defineLocale(t,e):Me.localeData(t),i&&(Me.duration._locale=Me._locale=i)),Me._locale._abbr},Me.defineLocale=function(t,e){return null!==e?(e.abbr=t,Fe[t]||(Fe[t]=new m),Fe[t].set(e),Me.locale(t),Fe[t]):(delete Fe[t],null)},Me.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return Me.localeData(t)}),Me.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Me._locale;if(!C(t)){if(e=Y(t))return e;t=[t]}return H(t)},Me.isMoment=function(t){return t instanceof f||null!=t&&a(t,"_isAMomentObject")},Me.isDuration=function(t){return t instanceof g};for(De=wi.length-1;De>=0;--De)L(wi[De]);Me.normalizeUnits=function(t){return T(t)},Me.invalid=function(t){var e=Me.utc(0/0);return null!=t?v(e._pf,t):e._pf.userInvalidated=!0,e},Me.parseZone=function(){return Me.apply(null,arguments).parseZone()},Me.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)},v(Me.fn=f.prototype,{clone:function(){return Me(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=Me(this).utc();return 00:!1},parsingFlags:function(){return v({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.zone(0,t)},local:function(t){return this._isUTC&&(this.zone(0,t),this._isUTC=!1,t&&this.add(this._dateTzOffset(),"m")),this},format:function(t){var e=j(this,t||Me.defaultFormat);return this.localeData().postformat(e)},add:S(1,"add"),subtract:S(-1,"subtract"),diff:function(t,e,i){var s,o,n,r=B(t,this),a=6e4*(this.zone()-r.zone());return e=T(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+r.daysInMonth()),o=12*(this.year()-r.year())+(this.month()-r.month()),n=this-Me(this).startOf("month")-(r-Me(r).startOf("month")),n-=6e4*(this.zone()-Me(this).startOf("month").zone()-(r.zone()-Me(r).startOf("month").zone())),o+=n/s,"year"===e&&(o/=12)):(s=this-r,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-a)/864e5:"week"===e?(s-a)/6048e5:s),i?o:b(o)},from:function(t,e){return Me.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(Me(),t)},calendar:function(t){var e=t||Me(),i=B(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this))},isLeapYear:function(){return z(this.year())},isDST:function(){return this.zone()+t):+this.clone().startOf(e)>+Me(t).startOf(e)},isBefore:function(t,e){return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Me.isMoment(t)?t:Me(t),+t>+this):+this.clone().startOf(e)<+Me(t).startOf(e)},isSame:function(t,e){return e=T(e||"millisecond"),"millisecond"===e?(t=Me.isMoment(t)?t:Me(t),+this===+t):+this.clone().startOf(e)===+B(t,this).startOf(e)},min:l("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(t){return t=Me.apply(null,arguments),this>t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=Me.apply(null,arguments),t>this?this:t}),zone:function(t,e){var i,s=this._offset||0;return null==t?this._isUTC?s:this._dateTzOffset():("string"==typeof t&&(t=X(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateTzOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.subtract(i,"m"),s!==t&&(!e||this._changeInProgress?M(this,Me.duration(s-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Me.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(t){return t=t?Me(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return N(this.year(),this.month())},dayOfYear:function(t){var e=Oe((Me(this).startOf("day")-Me(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=pe(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=pe(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=pe(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return I(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return I(this.year(),t.dow,t.doy)},get:function(t){return t=T(t),this[t]()},set:function(t,e){return t=T(t),"function"==typeof this[t]&&this[t](e),this},locale:function(t){var e;return t===n?this._locale._abbr:(e=Me.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Use moment().localeData() instead.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),Me.fn.millisecond=Me.fn.milliseconds=be("Milliseconds",!1),Me.fn.second=Me.fn.seconds=be("Seconds",!1),Me.fn.minute=Me.fn.minutes=be("Minutes",!1),Me.fn.hour=Me.fn.hours=be("Hours",!0),Me.fn.date=be("Date",!0),Me.fn.dates=l("dates accessor is deprecated. Use date instead.",be("Date",!0)),Me.fn.year=be("FullYear",!0),Me.fn.years=l("years accessor is deprecated. Use year instead.",be("FullYear",!0)),Me.fn.days=Me.fn.day,Me.fn.months=Me.fn.month,Me.fn.weeks=Me.fn.week,Me.fn.isoWeeks=Me.fn.isoWeek,Me.fn.quarters=Me.fn.quarter,Me.fn.toJSON=Me.fn.toISOString,v(Me.duration.fn=g.prototype,{_bubble:function(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;r.milliseconds=s%1e3,t=b(s/1e3),r.seconds=t%60,e=b(t/60),r.minutes=e%60,i=b(e/60),r.hours=i%24,o+=b(i/24),a=b(_e(o)),o-=b(xe(a)),n+=b(o/30),o%=30,a+=b(n/12),n%=12,r.days=o,r.months=n,r.years=a},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return b(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12)},humanize:function(t){var e=ce(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=Me.duration(t,e);return this._milliseconds+=i._milliseconds,this._days+=i._days,this._months+=i._months,this._bubble(),this},subtract:function(t,e){var i=Me.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=T(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=T(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*_e(e),"month"===t?i:i/12;switch(e=this._days+xe(this._months/12),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t)}},lang:Me.fn.lang,locale:Me.fn.locale,toIsoString:l("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),i=Math.abs(this.days()),s=Math.abs(this.hours()),o=Math.abs(this.minutes()),n=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"},localeData:function(){return this._locale}}),Me.duration.fn.toString=Me.duration.fn.toISOString;for(De in ui)a(ui,De)&&we(De.toLowerCase());Me.duration.fn.asMilliseconds=function(){return this.as("ms")},Me.duration.fn.asSeconds=function(){return this.as("s")},Me.duration.fn.asMinutes=function(){return this.as("m")},Me.duration.fn.asHours=function(){return this.as("h")},Me.duration.fn.asDays=function(){return this.as("d")},Me.duration.fn.asWeeks=function(){return this.as("weeks")},Me.duration.fn.asMonths=function(){return this.as("M")},Me.duration.fn.asYears=function(){return this.as("y")},Me.locale("en",{ordinal:function(t){var e=t%10,i=1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),Ye?o.exports=Me:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(Te.moment=Ce),Me}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(65)(t))},function(t,e,i){var s;!function(o,n){"use strict";function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){M.register(t)}),w.onTouch(a.DOCUMENT,v,M.detect),w.onTouch(a.DOCUMENT,y,M.detect),a.READY=!0)}var a=function C(t,e){return new C.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",m=a.POINTER_TOUCH="touch",f=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(M,d),a&&(d.changedLength=h,d.eventType=a,s.call(M,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(M,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return S.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=m;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(f,s)&&(o=f),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return M.stopDetect()}}}},S=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[m]=i===(e.MSPOINTER_TYPE_TOUCH||m),s[f]=i===(e.MSPOINTER_TYPE_PEN||f),s[t]},reset:function(){this.pointers={}}},M=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?M.startDetect(i,t):t.eventType==_&&M.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=M.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=M.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=M.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=M.current,h=M.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),this.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e) -}},e._openClusters=function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e)for(c=0;l>c;c++)if(p=this.edges[d[c]],void 0!==p){var u=this.nodes[p.fromId==t.id?p.toId:p.fromId];u.dynamicEdges.length<=this.hubThreshold+s&&u.id!=t.id&&this._addToCluster(t,u,e)}}},e._addToCluster=function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdgesLength),t+=n.dynamicEdgesLength,e+=Math.pow(n.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new Node({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=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},e._selectionIsEmpty=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},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ee;e++){s=t[e];var o=this.nodes[s];if(!o)throw new RangeError('Node with id "'+s+'" not found');this._selectObject(o,!0,!0)}console.log("setSelection is deprecated. Please use selectNodes instead."),this.redraw()},e.selectNodes=function(t,e){var i,s,o;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),i=0,s=t.length;s>i;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,highlightEdges)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(37),n=i(34);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild)},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=document.getElementById("network-manipulationDiv"),e=document.getElementById("network-manipulation-closeDiv"),i=document.getElementById("network-manipulation-editMode");1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDiv.innerHTML=""+t.addNode+"
"+t.addEdge+"",1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDiv.innerHTML+="
"+t.editNode+"":1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDiv.innerHTML+="
"+t.editEdge+""),0==this._selectionIsEmpty()&&(this.manipulationDiv.innerHTML+="
"+t.del+"");var e=document.getElementById("network-manipulate-addNode");e.onclick=this._createAddNodeToolbar.bind(this);var i=document.getElementById("network-manipulate-connectNode");if(i.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit){var s=document.getElementById("network-manipulate-editNode");s.onclick=this._editNode.bind(this)}else if(1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()){var s=document.getElementById("network-manipulate-editEdge");s.onclick=this._createEditEdgeToolbar.bind(this)}if(0==this._selectionIsEmpty()){var o=document.getElementById("network-manipulate-delete");o.onclick=this._deleteSelected.bind(this)}var n=document.getElementById("network-manipulation-closeDiv");n.onclick=this._toggleEditMode.bind(this),this.boundFunction=this._createManipulatorBar.bind(this),this.on("select",this.boundFunction)}else{this.editModeDiv.innerHTML=""+t.edit+"";var r=document.getElementById("network-manipulate-editModeButton");r.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.addDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._addNode.bind(this),this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0;var t=this.constants.locales[this.constants.locale];this.boundFunction&&this.off("select",this.boundFunction),this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDiv.innerHTML=""+t.back+"
"+t.edgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._handleConnect.bind(this),this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._handleOnRelease=this._handleOnRelease,this._handleTouch=this._handleConnect,this._handleOnRelease=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.editEdgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._handleOnRelease=this._handleOnRelease,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._handleOnRelease=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulation=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!=e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulation=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e,i,s,r,a=this._getNodeAt(t);null!=a&&(a.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._selectObject(a,!1),e=this.sectors.support.nodes,e.targetNode=i=new o({id:"targetNode"},{},{},this.constants),i.x=a.x,i.y=a.y,e.targetViaNode=s=new o({id:"targetViaNode"},{},{},this.constants),s.x=a.x,s.y=a.y,s.parentEdgeId="connectionEdge",this.edges.connectionEdge=r=new n({id:"connectionEdge",from:a.id,to:i.id},this,this.constants),r.from=a,r.connected=!0,r.smooth=!0,r.selected=!0,r.to=i,r.via=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.sectors.support.nodes;i.targetNode.x=this._XconvertDOMtoCanvas(e.x),i.targetNode.y=this._YconvertDOMtoCanvas(e.y),i.targetViaNode.x=.5*(this._XconvertDOMtoCanvas(e.x)+this.edges.connectionEdge.from.x),i.targetViaNode.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()))}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var e=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var i=this._getNodeAt(t);null!=i&&(i.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(e,i.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start() -}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(!(this.triggerFunctions.del.length=2))throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(42));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t50)&&(this._zoomExtentLastTime=new Date,this.zoomExtent({duration:800}),t.stopPropagation())},e._stopMovement=function(){this._xStopMoving(),this._yStopMoving(),this._stopZoom()},e._moveUp=function(t){this.yIncrement=this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._moveDown=function(t){this.yIncrement=-this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._moveLeft=function(t){this.xIncrement=this.constants.keyboard.speed.x,this.start(),t.preventDefault()},e._moveRight=function(t){this.xIncrement=-this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._zoomIn=function(t){this.zoomIncrement=this.constants.keyboard.speed.zoom,this.start(),t.preventDefault()},e._zoomOut=function(t){this.zoomIncrement=-this.constants.keyboard.speed.zoom,this.start(),t.preventDefault()},e._stopZoom=function(t){this.zoomIncrement=0,t&&t.preventDefault()},e._yStopMoving=function(t){this.yIncrement=0,t&&t.preventDefault()},e._xStopMoving=function(t){this.xIncrement=0,t&&t.preventDefault()}},function(t,e){e._resetLevels=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];0==e.preassignedLevel&&(e.level=-1,e.hierarchyEnumerated=!1)}},e._setupHierarchicalLayout=function(){if(1==this.constants.hierarchicalLayout.enabled&&this.nodeIndices.length>0){"RL"==this.constants.hierarchicalLayout.direction||"DU"==this.constants.hierarchicalLayout.direction?this.constants.hierarchicalLayout.levelSeparation*=-1:this.constants.hierarchicalLayout.levelSeparation=Math.abs(this.constants.hierarchicalLayout.levelSeparation),"RL"==this.constants.hierarchicalLayout.direction||"LR"==this.constants.hierarchicalLayout.direction?1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="vertical"):1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="horizontal");var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s=0;s1&&o.hierarchyEnumerated===!1&&this._setLevelDirected(o.level,o.edges,o.id)}},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");t.style.background=1==this.constants.smoothCurves.enabled?"#A4FF56":"#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.resolve=e,e.keys=function(){return[]},t.exports=e},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,m=4/3,f=this.constants.physics.repulsion.nodeDistance,g=f;for(d=0;di&&(r=.5*g>i?1:v*i+m,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=i,s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.theta){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(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);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),m=.5*u,f=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-m,maxX:f+m,minY:g-m,maxY:g+m},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=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")},e._placeInRegion=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)}},e._splitBranch=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)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=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()}},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); +!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(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.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.Graph3d=i(5),e.graph3d={Camera:i(6),Filter:i(7),Point2d:i(8),Point3d:i(9),Slider:i(10),StepNumber:i(11)},e.Timeline=i(12),e.Graph2d=i(13),e.timeline={DataStep:i(14),Range:i(15),stack:i(16),TimeStep:i(17),components:{items:{Item:i(28),BackgroundItem:i(29),BoxItem:i(30),PointItem:i(31),RangeItem:i(32)},Component:i(18),CurrentTime:i(19),CustomTime:i(20),DataAxis:i(21),GraphGroup:i(22),Group:i(23),ItemSet:i(24),Legend:i(25),LineGraph:i(26),TimeAxis:i(27)}},e.Network=i(33),e.network={Edge:i(34),Groups:i(35),Images:i(36),Node:i(37),Popup:i(38),dotparser:i(39),gephiParser:i(40)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(41),e.hammer=i(42)},function(module,exports,__webpack_require__){var moment=__webpack_require__(41);exports.isNumber=function(t){return t instanceof Number||"number"==typeof t},exports.isString=function(t){return t instanceof String||"string"==typeof t},exports.isDate=function(t){if(t instanceof Date)return!0;if(exports.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},exports.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},exports.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},exports.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},exports.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;ii;i++)if(t[i]!=e[i])return!1;return!0},exports.convert=function(t,e){var i;if(void 0===t)return void 0;if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){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(exports.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(moment.isMoment(t))return new Date(t.valueOf());if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])):moment(t).toDate();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"Moment":if(exports.isNumber(t))return moment(t);if(t instanceof Date)return moment(t.valueOf());if(moment.isMoment(t))return moment(t);if(exports.isString(t))return i=ASPDateRegex.exec(t),moment(i?Number(i[1]):t);throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"ISODate":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(moment.isMoment(t))return t.toDate().toISOString();if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ISODate");case"ASPDate":if(exports.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(exports.isString(t)){i=ASPDateRegex.exec(t);var s;return s=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+e+'"')}};var ASPDateRegex=/^\/?Date\((\-?\d+)/i;exports.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":t instanceof Array?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},exports.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},exports.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},exports.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},exports.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},exports.forEach=function(t,e){var i,s;if(t instanceof Array)for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},exports.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},exports.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},exports.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},exports.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},exports.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},exports.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},exports.option={},exports.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},exports.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},exports.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},exports.option.asSize=function(t,e){return"function"==typeof t&&(t=t()),exports.isString(t)?t:exports.isNumber(t)?t+"px":e||null},exports.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},exports.GiveDec=function(Hex){var Value;return Value="A"==Hex?10:"B"==Hex?11:"C"==Hex?12:"D"==Hex?13:"E"==Hex?14:"F"==Hex?15:eval(Hex)},exports.GiveHex=function(t){var e;return e=10==t?"A":11==t?"B":12==t?"C":13==t?"D":14==t?"E":15==t?"F":""+t},exports.parseColor=function(t){var e;if(exports.isString(t)){if(exports.isValidRGB(t)){var i=t.substr(4).substr(0,t.length-5).split(",");t=exports.RGBToHex(i[0],i[1],i[2])}if(exports.isValidHex(t)){var s=exports.hexToHSV(t),o={h:s.h,s:.45*s.s,v:Math.min(1,1.05*s.v)},n={h:s.h,s:Math.min(1,1.25*s.v),v:.6*s.v},r=exports.HSVToHex(n.h,n.h,n.v),a=exports.HSVToHex(o.h,o.s,o.v);e={background:t,border:r,highlight:{background:a,border:r},hover:{background:a,border:r}}}else e={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else e={},e.background=t.background||"white",e.border=t.border||e.background,exports.isString(t.highlight)?e.highlight={border:t.highlight,background:t.highlight}:(e.highlight={},e.highlight.background=t.highlight&&t.highlight.background||e.background,e.highlight.border=t.highlight&&t.highlight.border||e.border),exports.isString(t.hover)?e.hover={border:t.hover,background:t.hover}:(e.hover={},e.hover.background=t.hover&&t.hover.background||e.background,e.hover.border=t.hover&&t.hover.border||e.border);return e},exports.hexToRGB=function(t){t=t.replace("#","").toUpperCase();var e=exports.GiveDec(t.substring(0,1)),i=exports.GiveDec(t.substring(1,2)),s=exports.GiveDec(t.substring(2,3)),o=exports.GiveDec(t.substring(3,4)),n=exports.GiveDec(t.substring(4,5)),r=exports.GiveDec(t.substring(5,6)),a=16*e+i,h=16*s+o,i=16*n+r;return{r:a,g:h,b:i}},exports.RGBToHex=function(t,e,i){var s=exports.GiveHex(Math.floor(t/16)),o=exports.GiveHex(t%16),n=exports.GiveHex(Math.floor(e/16)),r=exports.GiveHex(e%16),a=exports.GiveHex(Math.floor(i/16)),h=exports.GiveHex(i%16),d=s+o+n+r+a+h;return"#"+d},exports.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}},exports.HSVToRGB=function(t,e,i){var s,o,n,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:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},exports.HSVToHex=function(t,e,i){var s=exports.HSVToRGB(t,e,i);return exports.RGBToHex(s.r,s.g,s.b)},exports.hexToHSV=function(t){var e=exports.hexToRGB(t);return exports.RGBToHSV(e.r,e.g,e.b)},exports.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},exports.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},exports.selectiveBridgeObject=function(t,e){if("object"==typeof e){for(var i=Object.create(e),s=0;sa;)o=void 0===s?n[u][i]:n[u][i][s],n[u].isVisible(e)?h=!0:(o=r&&console.log("BinarySearch too many iterations. Aborting.")}return u},exports.binarySearchGeneric=function(t,e,i,s){var o,n,r,a,h=1e4,d=0,l=t,c=!1,p=0,u=l.length,f=p,m=u,g=Math.floor(.5*(u+p));if(0==u)g=-1;else if(1==u)r=l[g][i],g=r==e?0:-1;else{for(u-=1;0==c&&h>d;)n=l[Math.max(0,g-1)][i],r=l[g][i],a=l[Math.min(l.length-1,g+1)][i],r==e||e>n&&r>e||e>r&&a>e?(c=!0,r!=e&&("before"==s?e>n&&r>e&&(g=Math.max(0,g-1)):e>r&&a>e&&(g=Math.min(l.length-1,g+1)))):(e>r?f=Math.floor(.5*(u+p)):m=Math.floor(.5*(u+p)),o=Math.floor(.5*(u+p)),p==f&&u==m?(g=-1,c=!0):(u=m,p=f,g=Math.floor(.5*(u+p)))),d++;d>=h&&console.log("BinarySearch too many iterations. Aborting.")}return g},exports.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},exports.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){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?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")),r},e.drawBar=function(t,i,s,o,n,r,a){var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},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 s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t)}var o=i(1);s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var f=h[p];c[f]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=this,r=n._fieldId,a=function(t){var e=t[r];n._data[e]?(e=n._updateItem(t),s.push(e)):(e=n._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else if(o.isDataTable(t))for(var l=this._getColumnNames(t),c=0,p=t.getNumberOfRows();p>c;c++){for(var u={},f=0,m=l.length;m>f;f++){var g=l[f];u[g]=t.getValue(c,f)}a(u)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,f=i&&i.filter,m=[];if(void 0!=t)d=n._getItem(t,u),f&&!f(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!f||f(d))&&m.push(d));if(i&&i.order&&void 0==t&&this._sort(m,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=m.length;p>c;c++)m[c]=this._filterFields(m[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(m[c]);return s}return m},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=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],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=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(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},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,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.get=function(){var t,e,i,s=this,n=o.getType(arguments[0]);"String"==n||"Number"==n||"Array"==n?(t=arguments[0],e=arguments[1],i=arguments[2]):(e=arguments[0],i=arguments[1]);var r=o.extend({},this._options,e);this._options.filter&&e&&e.filter&&(r.filter=function(t){return s._options.filter(t)&&e.filter(t)});var a=[];return void 0!=t&&a.push(t),a.push(r),a.push(i),this._data&&this._data.get.apply(this._data,a)},s.prototype.getIds=function(t){var e;if(this._data){var i,s=this._options.filter;i=t&&t.filter?s?function(e){return s(e)&&t.filter(e)}:t.filter:s,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},s.prototype.getDataSet=function(){for(var t=this;t instanceof s;)t=t._data;return t||null},s.prototype._onEvent=function(t,e,i){var s,o,n,r,a=e&&e.items,h=this._data,d=[],l=[],c=[];if(a&&h){switch(t){case"add":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))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",this.filterLabel="time",this.legendLabel="value",this.style=s.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 l,this.eye=new h(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)}var o=i(50),n=i(3),r=i(4),a=i(1),h=i(9),d=i(8),l=i(6),c=i(7),p=i(10),u=i(11);o(s.prototype),s.prototype._setScale=function(){this.scale=new h(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!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.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)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(f-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new u(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new h(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+i.getCurrent()+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new u(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new h(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+i.getCurrent()+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new u(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new h(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(i.getCurrent()+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new h(n,r,this.zMin)),e=this._convert3Dto2D(new h(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),f=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(f.x,f.y),g.stroke(),p=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),f=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(f.x,f.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var S=this.yLabel;S.length>0&&(l=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-l:this.xMax+l,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(S,o.x,o.y));var M=this.zLabel;M.length>0&&(d=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new h(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(M,o.x-d,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,d,l,c,p,u,f,m=this.frame.canvas,g=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/M/2,1),a=this._hsv2rgb(c,p,u),d=a):(u=1,a=this._hsv2rgb(c,p,u),d=this.colorAxis)):(a="gray",d=this.colorAxis),l=.5,g.lineWidth=l,g.fillStyle=a,g.strokeStyle=d,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,f,m;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(u,1,1),m=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(u,1,1),m=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.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=getMouseX(t),this.startMouseY=getMouseY(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)},a.addEventListener(document,"mousemove",e.onmousemove),a.addEventListener(document,"mouseup",e.onmouseup),a.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(getMouseX(t))-this.startMouseX,i=parseFloat(getMouseY(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,o=this.startArmRotation.vertical+i/200,n=4,r=Math.sin(n/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new d(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var l=n.surfaces;if(l)for(var c=l.length-1;c>=0;c--){var p=l[c],u=p.corners,f=[u[0].screen,u[1].screen,u[2].screen],m=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=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",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
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(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),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-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.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)}}},getMouseX=function(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0},getMouseY=function(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0},t.exports=s},function(t,e,i){var s=i(9);Camera=function(){this.armLocation=new s,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new s,this.cameraRotation=new s(.5*Math.PI,0,0),this.calculateCameraOrientation()},Camera.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},Camera.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()},Camera.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},Camera.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},Camera.prototype.getArmLength=function(){return this.armLength},Camera.prototype.getCameraLocation=function(){return this.cameraLocation},Camera.prototype.getCameraRotation=function(){return this.cameraRotation},Camera.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=Camera},function(t,e,i){function s(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 o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.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 s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");var n=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.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)},util:{snap:null,toScreen:n._toScreen.bind(n),toGlobalScreen:n._toGlobalScreen.bind(n),toTime:n._toTime.bind(n),toGlobalTime:n._toGlobalTime.bind(n)}},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.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,i&&this.setOptions(i),e?this.setItems(e):this.redraw()}var o=(i(50),i(42),i(1)),n=i(3),r=i(4),a=i(15),h=i(43),d=i(27),l=i(19),c=i(20),p=i(24);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(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){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){var n=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.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)},util:{snap:null,toScreen:n._toScreen.bind(n),toGlobalScreen:n._toGlobalScreen.bind(n),toTime:n._toTime.bind(n),toGlobalTime:n._toGlobalTime.bind(n)}},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.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,i&&this.setOptions(i),s&&this.setGroups(s),e?this.setItems(e):this.redraw()}var o=(i(50),i(42),i(1)),n=i(3),r=i(4),a=i(15),h=i(43),d=i(27),l=i(19),c=i(20),p=i(26);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i&&("start"in this.options||"end"in this.options)){this.fit();var s="start"in this.options?o.convert(this.options.start,"Date"):null,a="end"in this.options?o.convert(this.options.end,"Date"):null;this.setWindow(s,a)}},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.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},s.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},s.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 s=0;sr?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}},t.exports=s},function(t){function e(t,e,i,s,o){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.setRange(t,e,i,s,o)}e.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},e.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.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,this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.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},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(){for(var t=""+Number(this.current).toPrecision(5),e=t.length-1;e>0;e--){if("0"!=t[e]){if("."==t[e]||","==t[e]){t=t.slice(0,e);break}break}t=t.slice(0,e)}return t},e.prototype.snap=function(){},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add("days",-3).valueOf(),this.end=i.clone().add("days",4).valueOf(),this.body=t,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("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",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 o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(44),h=i(41),d=i(18);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i){function s(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-c,i=e>l,f=i||null===o?o:r.easeInOutQuad(e,h,o,l),m=i||null===n?n:r.easeInOutQuad(e,d,n,l);u=a._applyRange(f,m),p=p||u,u&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?p&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end)}):a.animateTimer=setTimeout(s,20)}}var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,l="number"==typeof i?i:500,c=(new Date).valueOf(),p=!1;return s()}var u=this._applyRange(o,n);if(u){var f={start:new Date(this.start),end:new Date(this.end)};this.body.emitter.emit("rangechange",f),this.body.emitter.emit("rangechanged",f)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=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(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h?(s=this.start,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t){return s.conversion(this.start,this.end,t)},s.conversion=function(t,e,i){return 0!=i&&e-t!=0?{offset:t,scale:i/(e-t)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){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"))},s.prototype._onDrag=function(t){if(this.options.moveable){var e=this.options.direction;if(o(e),this.props.touch.allowDragging){var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY,s=this.props.touch.end-this.props.touch.start,n="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,r=-i/n*s;this._applyRange(this.props.touch.start+r,this.props.touch.end+r),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end)})}}},s.prototype._onDragEnd=function(){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)}))},s.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 s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/t.gesture.scale,i=this._pointerToDate(this.props.touch.center),s=parseInt(i+(this.props.touch.start-i)*e),o=parseInt(i+(this.props.touch.end-i)*e);this.setRange(s,o)}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i){var s=this.body.domProps.center.width;return e=this.conversion(s),t.x/e.scale+e.offset}var n=this.body.domProps.center.height;return e=this.conversion(n),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e){null==e&&(e=(this.start+this.end)/2);var i=e+(this.start-e)*t,s=e+(this.end-e)*t;this.setRange(i,s)},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.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,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(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&&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){var i,s;for(i=0,s=t.length;s>i;i++)t[i].top=e.axis},e.collision=function(t,e,s){return t.left-s.horizontal+ie.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale=s.SCALE.DAY,this.step=1,this.setRange(t,e,i)}var o=i(41);s.SCALE={MILLISECOND:1,SECOND:2,MINUTE:3,HOUR:4,DAY:5,WEEKDAY:6,MONTH:7,YEAR:8},s.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)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case s.SCALE.YEAR:this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case s.SCALE.MONTH:this.current.setDate(1);case s.SCALE.DAY:case s.SCALE.WEEKDAY:this.current.setHours(0);case s.SCALE.HOUR:this.current.setMinutes(0);case s.SCALE.MINUTE:this.current.setSeconds(0);case s.SCALE.SECOND:this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current=new Date(this.current.valueOf()+1e3*this.step);break;case s.SCALE.MINUTE:this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case s.SCALE.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 s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()+this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()+this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()+this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.getMilliseconds()0&&(this.step=e),this.autoScale=!1},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,r=6e4,a=1e3,h=1;1e3*e>t&&(this.scale=s.SCALE.YEAR,this.step=1e3),500*e>t&&(this.scale=s.SCALE.YEAR,this.step=500),100*e>t&&(this.scale=s.SCALE.YEAR,this.step=100),50*e>t&&(this.scale=s.SCALE.YEAR,this.step=50),10*e>t&&(this.scale=s.SCALE.YEAR,this.step=10),5*e>t&&(this.scale=s.SCALE.YEAR,this.step=5),e>t&&(this.scale=s.SCALE.YEAR,this.step=1),3*i>t&&(this.scale=s.SCALE.MONTH,this.step=3),i>t&&(this.scale=s.SCALE.MONTH,this.step=1),5*o>t&&(this.scale=s.SCALE.DAY,this.step=5),2*o>t&&(this.scale=s.SCALE.DAY,this.step=2),o>t&&(this.scale=s.SCALE.DAY,this.step=1),o/2>t&&(this.scale=s.SCALE.WEEKDAY,this.step=1),4*n>t&&(this.scale=s.SCALE.HOUR,this.step=4),n>t&&(this.scale=s.SCALE.HOUR,this.step=1),15*r>t&&(this.scale=s.SCALE.MINUTE,this.step=15),10*r>t&&(this.scale=s.SCALE.MINUTE,this.step=10),5*r>t&&(this.scale=s.SCALE.MINUTE,this.step=5),r>t&&(this.scale=s.SCALE.MINUTE,this.step=1),15*a>t&&(this.scale=s.SCALE.SECOND,this.step=15),10*a>t&&(this.scale=s.SCALE.SECOND,this.step=10),5*a>t&&(this.scale=s.SCALE.SECOND,this.step=5),a>t&&(this.scale=s.SCALE.SECOND,this.step=1),200*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=200),100*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=100),50*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=50),10*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=10),5*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=5),h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=1)}},s.prototype.snap=function(t){var e=new Date(t.valueOf());if(this.scale==s.SCALE.YEAR){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MONTH)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if(this.scale==s.SCALE.DAY){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.WEEKDAY){switch(this.step){case 5:case 2:e.setHours(12*Math.round(e.getHours()/12));break;default:e.setHours(6*Math.round(e.getHours()/6))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.HOUR){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MINUTE){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if(this.scale==s.SCALE.SECOND)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if(this.scale==s.SCALE.MILLISECOND){var o=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/o)*o)}return e},s.prototype.isMajor=function(){switch(this.scale){case s.SCALE.MILLISECOND:return 0==this.current.getMilliseconds();case s.SCALE.SECOND:return 0==this.current.getSeconds();case s.SCALE.MINUTE:return 0==this.current.getHours()&&0==this.current.getMinutes();case s.SCALE.HOUR:return 0==this.current.getHours();case s.SCALE.WEEKDAY:case s.SCALE.DAY:return 1==this.current.getDate();case s.SCALE.MONTH:return 0==this.current.getMonth();case s.SCALE.YEAR:return!1;default:return!1}},s.prototype.getLabelMinor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("SSS");case s.SCALE.SECOND:return o(t).format("s");case s.SCALE.MINUTE:return o(t).format("HH:mm");case s.SCALE.HOUR:return o(t).format("HH:mm");case s.SCALE.WEEKDAY:return o(t).format("ddd D");case s.SCALE.DAY:return o(t).format("D");case s.SCALE.MONTH:return o(t).format("MMM");case s.SCALE.YEAR:return o(t).format("YYYY");default:return""}},s.prototype.getLabelMajor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("HH:mm:ss");case s.SCALE.SECOND:return o(t).format("D MMMM HH:mm");case s.SCALE.MINUTE:case s.SCALE.HOUR:return o(t).format("ddd D MMMM");case s.SCALE.WEEKDAY:case s.SCALE.DAY:return o(t).format("MMMM YYYY");case s.SCALE.MONTH:return o(t).format("YYYY");case s.SCALE.YEAR:return"";default:return""}},t.exports=s},function(t){function e(){this.options=null,this.props=null}e.prototype.setOptions=function(t){t&&util.extend(this.options,t)},e.prototype.redraw=function(){return!1},e.prototype.destroy=function(){},e.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=e},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(18),r=i(41),a=i(45);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.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),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(42),n=i(1),r=i(18),a=i(41),h=i(45);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",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=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.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],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf()) +},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.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,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{}},this.dom={},this.range={start:0,end:0},this.options=o.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.stepPixels=25,this.stepPixelsForced=25,this.lineOffset=0,this.master=!0,this.svgElements={},this.groups={},this.amountOfGroups=0,this._create()}var o=i(1),n=i(2),r=i(18),a=i(14);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.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"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.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.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)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;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,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements)},s.prototype.show=function(){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)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;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 s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px"):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px"),t=this._redrawLabels(),1==this.options.icons&&this._redrawGroupIcons()}return t},s.prototype._redrawLabels=function(){n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var t=this.options.orientation,e=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,i=new a(this.range.start,this.range.end,e,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation]);this.step=i;var s=(this.dom.frame.offsetHeight-i.deadSpace*(this.dom.frame.offsetHeight/i.marginRange))/((i.marginRange-i.deadSpace)/i.step);this.stepPixels=s;var o=this.height/s,r=0;if(0==this.master){s=this.stepPixelsForced,r=Math.round(this.dom.frame.offsetHeight/s-o);for(var h=0;.5*r>h;h++)i.previous();o=this.height/s}else o+=.25;this.valueAtZero=i.marginEnd;var d=0,l=1;this.maxLabelSize=0;for(var c=0;l=0&&this._redrawLabel(c-2,i.getCurrent(),t,"yAxis major",this.props.majorCharHeight),this._redrawLine(c,t,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(c,t,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),l++}this.conversionFactor=0==this.master?c/(this.valueAtZero-i.current):this.dom.frame.offsetHeight/i.marginRange;var u=1==this.options.icons?this.options.iconWidth+this.options.labelOffsetX+15:this.options.labelOffsetX+15;return this.maxLabelSize>this.width-u&&1==this.options.visible?(this.width=this.maxLabelSize+u,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+u),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),!1)},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,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*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizee.axis){var c=d-e.axis;l-=c,o.forEach(h,function(t){t.top-=c})}a=l+e.item.vertical/2}else a=e.axis+e.item.vertical;a=Math.max(a,this.props.label.height);var p=this.dom.foreground;this.top=p.offsetTop,this.left=p.offsetLeft,this.width=p.offsetWidth,s=o.updateProperty(this,"height",a)||s,s=o.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||s,s=o.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||s,this.dom.background.style.height=a+"px",this.dom.foreground.style.height=a+"px",this.dom.label.style.height=a+"px";for(var u=0,f=this.visibleItems.length;f>u;u++){var m=this.visibleItems[u];m.repositionY()}return s},s.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)},s.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 s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.remove=function(t){delete this.items[t.id],t.setParent(this.itemSet);var e=this.visibleItems.indexOf(t);-1!=e&&this.visibleItems.splice(e,1)},s.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},s.prototype.order=function(){var t=o.toArray(this.items);this.orderedItems.byStart=t,this.orderedItems.byEnd=this._constructByEndArray(t),n.orderByStart(this.orderedItems.byStart),n.orderByEnd(this.orderedItems.byEnd)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0)for(n=0;n=0&&!this._checkIfInvisible(t.byStart[n],r,i);n--);for(n=s+1;n=0&&!this._checkIfInvisible(t.byEnd[n],r,i);n--);for(n=a+1;ne;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.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="itemset"+(h?" 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 c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,g=t.axis+t.item.vertical;return n.forEach(this.groups,function(t){var i=t==p?u:f,s=t.redraw(e,i,c);r=s||r,m+=t.height}),m=Math.max(m,g),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==o?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},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[f];return i||null},s.prototype._updateUngrouped=function(){var t=this.groups[f];if(this.groupsData)t&&(t.hide(),delete this.groups[f]);else if(!t){var e=null,i=null;t=new d(e,i,this),this.groups[f]=t;for(var s in this.items)this.items.hasOwnProperty(s)&&t.add(this.items[s]);t.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=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(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.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 s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change")},s.prototype.getGroups=function(){return this.groupsData},s.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)})},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=i.type||e.options.type||(i.end?"range":"box"),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change")},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change"))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==f)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new d(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change")},s.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")},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.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},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this.groupsData?t.data.group:f,i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this.groupsData?t.data.group:f,n=this.groups[o];n&&n.add(t)}},s.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);var i=this.groupsData?t.data.group:f,s=this.groups[i];s&&s.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:this.getSelection()}),t.stopPropagation()}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.body.util.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l={start:i?i(d):d,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(h+this.props.width/5);l.end=i?i(c):c}l[this.itemsData._fieldId]=n.randomUUID();var p=s.groupFromTarget(t);p&&(l.group=p.groupId),this.options.onAdd(l,function(t){t&&e.itemsData.add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=e.indexOf(i.id);-1==o?e.push(i.id):e.splice(o,1),this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()}),t.stopPropagation()}}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.groupFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-group"))return e["timeline-group"];e=e.parentNode}return null},s.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null +},t.exports=s},function(t,e,i){function s(t,e,i,s){this.body=t,this.defaultOptions={enabled:!0,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-left"}},this.side=i,this.options=o.extend({},this.defaultOptions),this.linegraphOptions=s,this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.setOptions(e)}var o=i(1),n=i(2),r=i(18);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.className="legend",this.dom.frame.style.position="absolute",this.dom.frame.style.top="10px",this.dom.frame.style.display="block",this.dom.textArea=document.createElement("div"),this.dom.textArea.className="legendText",this.dom.textArea.style.position="relative",this.dom.textArea.style.top="0px",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.width=this.options.iconSize+5+"px",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setOptions=function(t){var e=["enabled","orientation","icons","left","right"];o.selectiveDeepExtend(e,this.options,t)},s.prototype.redraw=function(){var t=0;for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||t++);if(0==this.options[this.side].visible||0==this.amountOfGroups||0==this.options.enabled||0==t)this.hide();else{this.show(),"top-left"==this.options[this.side].position||"bottom-left"==this.options[this.side].position?(this.dom.frame.style.left="4px",this.dom.frame.style.textAlign="left",this.dom.textArea.style.textAlign="left",this.dom.textArea.style.left=this.options.iconSize+15+"px",this.dom.textArea.style.right="",this.svg.style.left="0px",this.svg.style.right=""):(this.dom.frame.style.right="4px",this.dom.frame.style.textAlign="right",this.dom.textArea.style.textAlign="right",this.dom.textArea.style.right=this.options.iconSize+15+"px",this.dom.textArea.style.left="",this.svg.style.right="0px",this.svg.style.left=""),"top-left"==this.options[this.side].position||"top-right"==this.options[this.side].position?(this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.bottom=""):(this.dom.frame.style.bottom=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.top=""),0==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+"px",this.dom.textArea.style.right="",this.dom.textArea.style.left="",this.svg.style.width="0px"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+"px",this.drawLegendIcons());var i="";for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||(i+=this.groups[e].content+"
"));this.dom.textArea.innerHTML=i,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+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,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.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,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=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){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.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.width),i._updateGraph.apply(i)}),this._create(),this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(18),d=i(21),l=i(22),c=i(25),p="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",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 c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];o.selectiveDeepExtend(e,this.options,t),o.mergeOptions(this.options,t,"catmullRom"),o.mergeOptions(this.options,t,"drawPoints"),o.mergeOptions(this.options,t,"shaded"),o.mergeOptions(this.options,t,"legend"),t.catmullRom&&"object"==typeof t.catmullRom&&t.catmullRom.parametrization&&("uniform"==t.catmullRom.parametrization?this.options.catmullRom.alpha=0:"chordal"==t.catmullRom.parametrization?this.options.catmullRom.alpha=1:(this.options.catmullRom.parametrization="centripetal",this.options.catmullRom.alpha=.5)),this.yAxisLeft&&void 0!==t.dataAxis&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&void 0!==t.legend&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(p)&&this.groups[p].setOptions(t)}this.dom.frame&&this._updateGraph()},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setItems=function(t){var e,i=this,s=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(s&&(o.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;o.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}this._updateUngrouped(),this._updateGraph(),this.redraw()},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(o.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 s=this.id;o.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._onUpdate()},s.prototype._onUpdate=function(){this._updateUngrouped(),this._updateAllGroupData(),this._updateGraph(),this.redraw()},s.prototype._onAdd=function(t){this._onUpdate(t)},s.prototype._onRemove=function(t){this._onUpdate(t)},s.prototype._onUpdateGroups=function(t){for(var e=0;e0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a,h=[],d=[];if(t.length>0){for(n=0;n0)if(o=this.groups[t[n]],"line"==o.options.style||"stack"!=o.options.barChart.handleOverlap){var l=s[0].y,c=s[0].y;for(r=0;rs[r].y?s[r].y:l,c=c0&&(h.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,h),i.__barchartLeft=this._getStackedBarYRange(p,h),i.__barchartLeft.yAxisOrientation="left",t.push("__barchartLeft")),d.length>0&&(d.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,d),i.__barchartRight=this._getStackedBarYRange(p,d),i.__barchartRight.yAxisOrientation="right",t.push("__barchartRight"))}},s.prototype._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=o0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&(e.hide(),i=!0):e.dom.frame.parentNode||(e.show(),i=!0),i},s.prototype._drawBarGraphs=function(t,e){var i,s,o,r,a,h,d=[],l={},c=0;for(a=0;a0&&(i=Math.min(i,Math.abs(d[a-1].x-s))),o=this._getSafeDrawData(i,r,p);else{var f=a+(l[s].amount-l[s].resolved),m=a-(l[s].resolved+1);f0&&(i=Math.min(i,Math.abs(d[m].x-s))),o=this._getSafeDrawData(i,r,p),l[s].resolved+=1,"stack"==r.options.barChart.handleOverlap?(u=l[s].accumulated,l[s].accumulated+=r.zeroPosition-d[a].y):"sideBySide"==r.options.barChart.handleOverlap&&(o.width=o.width/l[s].amount,o.offset+=l[s].resolved*o.width-.5*o.width*(l[s].amount+1),"left"==r.options.barChart.align?o.offset-=.5*o.width:"right"==r.options.barChart.align&&(o.offset+=.5*o.width))}n.drawBar(d[a].x+o.offset,d[a].y-u,o.width,r.zeroPosition-d[a].y,r.className+" bar",this.svgElements,this.svg),1==r.options.drawPoints.enabled&&n.drawPoint(d[a].x+o.offset,d[a].y-u,r,this.svgElements,this.svg)}},s.prototype._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s.prototype._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.prototype._drawLineGraph=function(t,e){if(null!=t&&t.length>0){var i,s,o=Number(this.svg.style.height.replace("px",""));if(i=n.getSVGElement("path",this.svgElements,this.svg),i.setAttributeNS(null,"class",e.className),s=1==e.options.catmullRom.enabled?this._catmullRom(t,e):this._linear(t),1==e.options.shaded.enabled){var r,a=n.getSVGElement("path",this.svgElements,this.svg);r="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+s+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+o+" "+s+"L"+t[t.length-1].x+","+o,a.setAttributeNS(null,"class",e.className+" fill"),a.setAttributeNS(null,"d",r)}i.setAttributeNS(null,"d","M"+s),1==e.options.drawPoints.enabled&&this._drawPoints(t,e,this.svgElements,this.svg)}},s.prototype._drawPoints=function(t,e,i,s,o){void 0===o&&(o=0);for(var r=0;rl;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s.prototype._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,f,m,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,M=0;S-1>M;M++)s=0==M?t[0]:t[M-1],o=t[M],n=t[M+1],r=S>M+2?t[M+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,f=3*x*(x+v),f>0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={x:(-b*s.x+p*o.x+_*n.x)*f,y:(-b*s.y+p*o.y+_*n.y)*f},h={x:(y*o.x+u*n.x-b*r.x)*m,y:(y*o.y+u*n.y-b*r.y)*m},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s.prototype._linear=function(t){for(var e="",i=0;id;){d++;var l=n.getCurrent(),c=this.body.util.toScreen(l),p=n.isMajor();this.options.showMinorLabels&&this._repaintMinorText(c,n.getLabelMinor(),t),p&&this.options.showMajorLabels?(c>0&&(void 0==h&&(h=c),this._repaintMajorText(c,n.getLabelMajor(),t)),this._repaintMajorLine(c,t)):this._repaintMinorLine(c,t),n.next()}if(this.options.showMajorLabels){var u=this.body.util.toTime(0),f=n.getLabelMajor(u),m=f.length*(this.props.majorCharWidth||10)+10;(void 0==h||h>m)&&this._repaintMajorText(0,f,t)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i){var s=this.dom.redundant.minorTexts.shift();if(!s){var o=document.createTextNode("");s=document.createElement("div"),s.appendChild(o),s.className="text minor",this.dom.foreground.appendChild(s)}this.dom.minorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?this.props.majorLabelHeight+"px":"0",s.style.left=t+"px"},s.prototype._repaintMajorText=function(t,e,i){var s=this.dom.redundant.majorTexts.shift();if(!s){var o=document.createTextNode(e);s=document.createElement("div"),s.className="text major",s.appendChild(o),this.dom.foreground.appendChild(s)}this.dom.majorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?"0":this.props.minorLabelHeight+"px",s.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e){var i=this.dom.redundant.minorLines.shift();i||(i=document.createElement("div"),i.className="grid vertical minor",this.dom.background.appendChild(i)),this.dom.minorLines.push(i);var s=this.props;i.style.top="top"==e?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",i.style.height=s.minorLineHeight+"px",i.style.left=t-s.minorLineWidth/2+"px"},s.prototype._repaintMajorLine=function(t,e){var i=this.dom.redundant.majorLines.shift();i||(i=document.createElement("DIV"),i.className="grid vertical major",this.dom.background.appendChild(i)),this.dom.majorLines.push(i);var s=this.props;i.style.top="top"==e?"0":this.body.domProps.top.height+"px",i.style.left=t-s.majorLineWidth/2+"px",i.style.height=s.majorLineHeight+"px"},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor 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="text minor 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},s.prototype.snap=function(t){return this.step.snap(t)},t.exports=s},function(t,e,i){function s(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 o=i(42);s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).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)},s.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;if(e instanceof Element)t.innerHTML="",t.appendChild(e);else{if(void 0==e)throw new Error('Property "content" missing in item '+this.data.id);t.innerHTML=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0)for(var e=0;et.start},s.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="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.background;if(!e)throw new Error("Cannot redraw time axis: 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);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" 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}},s.prototype.show=n.prototype.show,s.prototype.hide=n.prototype.hide,s.prototype.repositionX=n.prototype.repositionX,s.prototype.repositionY=function(){var t="top"===this.options.orientation;this.dom.content.style.top=t?"":"0",this.dom.content.style.bottom=t?"0":""},t.exports=s},function(t,e,i){function s(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);o.call(this,t,e,i)}var o=i(28);s.prototype=new o(null,null,null),s.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},s.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="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 time axis: 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);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" 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=this.dom.box.offsetHeight,this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?Math.max(-s,0):0>s?Math.min(-s,o-s-this.props.content.width-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),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)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),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=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=.5*this.renderTimestep,this.maxPhysicsTicksPerRender=3,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null},this.defaultOptions={nodes:{mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},borderColor:"#2B7CE9",backgroundColor:"#97C2FC",highlightColor:"#D2E5FF",group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,theta:1/.6,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02}},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},dynamicSmoothCurves:!0,maxVelocity:30,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0},this.constants=a.extend({},this.defaultOptions),this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],"new":[]},this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null;var o=this;this.groups=new u,this.images=new f,this.images.setOnloadCallback(function(){o._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulation=!1,this.cachedFunctions={},this.stabilized=!1,this.stabilizationIterations=null,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){o._addNodes(e.items),o.start()},update:function(t,e){o._updateNodes(e.items),o.start()},remove:function(t,e){o._removeNodes(e.items),o.start()}},this.edgesListeners={add:function(t,e){o._addEdges(e.items),o.start()},update:function(t,e){o._updateEdges(e.items),o.start()},remove:function(t,e){o._removeEdges(e.items),o.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent(void 0,!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(50),n=i(42),r=i(51),a=i(1),h=i(44),d=i(3),l=i(4),c=i(39),p=i(40),u=i(35),f=i(36),m=i(37),g=i(34),v=i(38),y=i(48),b=i(49),_=i(46);i(47),o(s.prototype),s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;et.x&&(s=t.x),ot.y&&(e=t.y),i=this.constants.clustering.initialMaxNodes?49.07548/(n+142.05338)+91444e-8:12.662/(n+7.4147)+.0964822:1==this.constants.clustering.enabled&&n>=this.constants.clustering.initialMaxNodes?77.5271985/(n+187.266146)+476710517e-13:30.5062972/(n+19.93597763)+.08413486;var r=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);s*=r}else{var a=1.1*(Math.abs(o.minX)+Math.abs(o.maxX)),h=1.1*(Math.abs(o.minY)+Math.abs(o.maxY)),d=this.frame.canvas.clientWidth/a,l=this.frame.canvas.clientHeight/h;s=l>=d?d:l}s>1&&(s=1);var c=this._findCenter(o);if(0==i){var p={position:c,scale:s,animation:t};this.moveTo(p),this.moving=!0,this.start()}else c.x*=s,c.y*=s,c.x-=.5*this.frame.canvas.clientWidth,c.y-=.5*this.frame.canvas.clientHeight,this._setScale(s),this._setTranslation(-c.x,-c.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this.initializing=!0,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 i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover))),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color);this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.')}this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._createKeyBinds(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,this.start()},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),!this.frame.canvas.getContext){var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}var e=this;this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",e._onTap.bind(e)),this.hammer.on("doubletap",e._onDoubleTap.bind(e)),this.hammer.on("hold",e._onHold.bind(e)),this.hammer.on("pinch",e._onPinch.bind(e)),this.hammer.on("touch",e._onTouch.bind(e)),this.hammer.on("dragstart",e._onDragStart.bind(e)),this.hammer.on("drag",e._onDrag.bind(e)),this.hammer.on("dragend",e._onDragEnd.bind(e)),this.hammer.on("release",e._onRelease.bind(e)),this.hammer.on("mousewheel",e._onMouseWheel.bind(e)),this.hammer.on("DOMMouseScroll",e._onMouseWheel.bind(e)),this.hammer.on("mousemove",e._onMouseMoveTitle.bind(e)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;this.mousetrap=r,this.mousetrap.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.mousetrap.bind("up",this._moveUp.bind(t),"keydown"),this.mousetrap.bind("up",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("down",this._moveDown.bind(t),"keydown"),this.mousetrap.bind("down",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("left",this._moveLeft.bind(t),"keydown"),this.mousetrap.bind("left",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("right",this._moveRight.bind(t),"keydown"),this.mousetrap.bind("right",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("=",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("=",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("-",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("-",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("[",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("[",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("]",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("]",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pageup",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("pageup",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.mousetrap.bind("escape",this._createManipulatorBar.bind(t)),this.mousetrap.bind("del",this._deleteSelected.bind(t)))},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this._handleTouch(this.drag.pointer)},s.prototype._onDragStart=function(){this._handleDragStart()},s.prototype._handleDragStart=function(){var t=this.drag,e=this._getNodeAt(t.pointer);if(t.dragging=!0,t.selection=[],t.translation=this._getTranslation(),t.nodeId=null,null!=e){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1);for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,t.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw()},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i);var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof m&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj;if(void 0==this.popupObj){var o=this.nodes;for(e in o)if(o.hasOwnProperty(e)){var n=o[e];if(void 0!==n.getTitle()&&n.isOverlappingWith(i)){this.popupObj=n;break}}}if(void 0===this.popupObj){var r=this.edges;for(e in r)if(r.hasOwnProperty(e)){var a=r[e];if(a.connected&&void 0!==a.getTitle()&&a.isOverlappingWith(i)){this.popupObj=a;break}}}if(this.popupObj){if(this.popupObj!=s){var h=this;h.popup||(h.popup=new v(h.frame,h.constants.tooltip)),h.popup.setPosition(t.x-3,t.y-3),h.popup.setText(h.popupObj.getTitle()),h.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth&&(this.frame.canvas.width=this.frame.canvas.clientWidth,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight&&(this.frame.canvas.height=this.frame.canvas.clientHeight,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width,height:this.frame.canvas.height})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(t instanceof Array)this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new m(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t){for(var e=this.nodes,i=this.nodesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n],a=i.get(n);r?r.setProperties(a,this.constants):(r=new m(properties,this.images,this.groups,this.constants),e[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._reconnectEdges(),this._updateValueRange(e)},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(t instanceof Array)this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var o=t[e].getValue();void 0!==o&&(i=void 0===i?o:Math.min(o,i),s=void 0===s?o:Math.max(o,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._redraw=function(){var t=this.frame.canvas.getContext("2d"),e=this.frame.canvas.width,i=this.frame.canvas.height;t.clearRect(0,0,e,i),t.save(),t.translate(this.translation.x,this.translation.y),t.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},this._doInAllSectors("_drawAllSectorNodes",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",t,!1),1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",t),t.restore() +},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._physicsTick=function(){if(!this.freezeSimulation&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s0){var i=this,s={iterations:i.stabilizationIterations};i.stabilizationIterations=0,setTimeout(function(){i.emit("stabilized",s)},0)}},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.toggleFreeze=function(){0==this.freezeSimulation?this.freezeSimulation=!0:(this.freezeSimulation=!1,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new m({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.focusOnNode=function(t,e){if(this.nodes.hasOwnProperty(t)){void 0===e&&(e={});var i={x:this.nodes[t].x,y:this.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("This nodeId cannot be found.")},s.prototype.moveTo=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._getScale()),void 0===t.position&&(t.position=this._getTranslation()),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))},s.prototype.animateView=function(t){if(void 0===t)return void(t={});this.releaseNode(),1==t.locked&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(1),this.sourceScale=this._getScale(),this.sourceTranslation=this._getTranslation(),this.targetScale=t.scale,this._setScale(this.targetScale);var e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.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?null!=this.lockedOnNodeId?(this._classicRedraw=this._redraw,this._redraw=this._lockedRedraw):(this._setScale(this.targetScale),this._setTranslation(this.targetTranslation.x,this.targetTranslation.y),this._redraw()):(this.animationSpeed=1/(this.renderRefreshRate*t.animation.duration*.001)||1/this.renderRefreshRate,this.animationEasingFunction=t.animation.easingFunction,this._classicRedraw=this._redraw,this._redraw=this._transitionRedraw,this._redraw(),this.moving=!0,this.start())},s.prototype._lockedRedraw=function(){var t={x:this.nodes[this.lockedOnNodeId].x,y:this.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},s=this._getTranslation(),o={x:s.x+i.x*this.scale+this.lockedOnNodeOffset.x,y:s.y+i.y*this.scale+this.lockedOnNodeOffset.y};this._setTranslation(o.x,o.y),this._classicRedraw()},s.prototype.releaseNode=function(){null!=this.lockedOnNodeId&&(this._redraw=this._classicRedraw,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null)},s.prototype._transitionRedraw=function(t){this.easingTime=t||this.easingTime+this.animationSpeed,this.easingTime+=this.animationSpeed;var e=a.easingFunctions[this.animationEasingFunction](this.easingTime);this._setScale(this.sourceScale+(this.targetScale-this.sourceScale)*e),this._setTranslation(this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e),this._classicRedraw(),this.moving=!0,this.easingTime>=1&&(this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},t.exports=s},function(t,e,i){function s(t,e,i){if(!e)throw"No network provided";var s=["edges","physics"],n=o.selectiveBridgeObject(s,i);this.options=n.edges,this.physics=n.physics,this.options.smoothCurves=i.smoothCurves,this.network=e,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.title=void 0,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.value=void 0,this.selected=!1,this.hover=!1,this.from=null,this.to=null,this.via=null,this.originalFromId=[],this.originalToId=[],this.connected=!1,this.widthFixed=!1,this.lengthFixed=!1,this.setProperties(t),this.controlNodesEnabled=!1,this.controlNodes={from:null,to:null,positions:{}},this.connectedNode=null}var o=i(1),n=i(37);s.prototype.setProperties=function(t){if(t){var e=["style","fontSize","fontFace","fontColor","fontFill","width","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","inheritColor"];switch(o.selectiveDeepExtend(e,this.options,t),void 0!==t.from&&(this.fromId=t.from),void 0!==t.to&&(this.toId=t.to),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.value&&(this.value=t.value),void 0!==t.length&&(this.physics.springLength=t.length),void 0!==t.color&&(this.options.inheritColor=!1,o.isString(t.color)?(this.options.color.color=t.color,this.options.color.highlight=t.color):(void 0!==t.color.color&&(this.options.color.color=t.color.color),void 0!==t.color.highlight&&(this.options.color.highlight=t.color.highlight),void 0!==t.color.hover&&(this.options.color.hover=t.color.hover))),this.connect(),this.widthFixed=this.widthFixed||void 0!==t.width,this.lengthFixed=this.lengthFixed||void 0!==t.length,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.options.style){case"line":this.draw=this._drawLine;break;case"arrow":this.draw=this._drawArrow;break;case"arrow-center":this.draw=this._drawArrowCenter;break;case"dash-line":this.draw=this._drawDashLine;break;default:this.draw=this._drawLine}}},s.prototype.connect=function(){this.disconnect(),this.from=this.network.nodes[this.fromId]||null,this.to=this.network.nodes[this.toId]||null,this.connected=this.from&&this.to,this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this))},s.prototype.disconnect=function(){this.from&&(this.from.detachEdge(this),this.from=null),this.to&&(this.to.detachEdge(this),this.to=null),this.connected=!1},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.getValue=function(){return this.value},s.prototype.setValueRange=function(t,e){if(!this.widthFixed&&void 0!==this.value){var i=(this.options.widthMax-this.options.widthMin)/(e-t);this.options.width=(this.value-t)*i+this.options.widthMin,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier}},s.prototype.draw=function(){throw"Method draw not initialized in edge"},s.prototype.isOverlappingWith=function(t){if(this.connected){var e=10,i=this.from.x,s=this.from.y,o=this.to.x,n=this.to.y,r=t.left,a=t.top,h=this._getDistanceToEdge(i,s,o,n,r,a);return e>h}return!1},s.prototype._getColor=function(){var t=this.options.color;return"to"==this.options.inheritColor?t={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:this.to.options.color.border}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(t={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:this.from.options.color.border}),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)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"==s&&(t=i*n>o?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*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?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*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,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*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(o[d]).width;h=l>h?l:h}var c=this.options.fontSize*n,p=i-h/2,u=s-c/2;t.fillRect(p,u,h,c)}t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle";for(var d=0;n>d;d++)t.fillText(o[d],i,a),a+=r}},s.prototype._drawDashLine=function(t){t.strokeStyle=1==this.selected?this.options.color.highlight:1==this.hover?this.options.color.hover:this.options.color.color,t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.mozDash||void 0!==t.setLineDash){var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],"undefined"!=typeof t.setLineDash?(t.setLineDash(i),t.lineDashOffset=0):(t.mozDash=i,t.mozDashOffset=0),e=this._line(t),"undefined"!=typeof t.setLineDash?(t.setLineDash([0]),t.lineDashOffset=0):(t.mozDash=[0],t.mozDashOffset=0)}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(1==this.selected?(t.strokeStyle=this.options.color.highlight,t.fillStyle=this.options.color.highlight):1==this.hover?(t.strokeStyle=this.options.color.hover,t.fillStyle=this.options.color.hover):(t.strokeStyle=this.options.color.color,t.fillStyle=this.options.color.color),t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._drawArrow=function(t){1==this.selected?(t.strokeStyle=this.options.color.highlight,t.fillStyle=this.options.color.highlight):1==this.hover?(t.strokeStyle=this.options.color.hover,t.fillStyle=this.options.color.hover):(t.strokeStyle=this.options.color.color,t.fillStyle=this.options.color.color),t.lineWidth=this._getLineWidth();var e,i;if(this.from!=this.to){e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var s,o=this.to.x-this.from.x,n=this.to.y-this.from.y,r=Math.sqrt(o*o+n*n),a=this.from.distanceToBorder(t,e+Math.PI),h=(r-a)/r,d=h*this.from.x+(1-h)*this.to.x,l=h*this.from.y+(1-h)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?s=this.via:1==this.options.smoothCurves.enabled&&(s=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=s.x&&(e=Math.atan2(this.to.y-s.y,this.to.x-s.x),o=this.to.x-s.x,n=this.to.y-s.y,r=Math.sqrt(o*o+n*n));var c,p,u=this.to.distanceToBorder(t,e),f=(r-u)/r;if(1==this.options.smoothCurves.enabled&&null!=s.x?(c=(1-f)*s.x+f*this.to.x,p=(1-f)*s.y+f*this.to.y):(c=(1-f)*this.from.x+f*this.to.x,p=(1-f)*this.from.y+f*this.to.y),t.beginPath(),t.moveTo(d,l),1==this.options.smoothCurves.enabled&&null!=s.x?t.quadraticCurveTo(s.x,s.y,c,p):t.lineTo(c,p),t.stroke(),i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(c,p,e,i),t.fill(),t.stroke(),this.label){var m;if(1==this.options.smoothCurves.enabled&&null!=s){var g=.5*(.5*(this.from.x+s.x)+.5*(this.to.x+s.x)),v=.5*(.5*(this.from.y+s.y)+.5*(this.to.y+s.y));m={x:g,y:v}}else m=this._pointOnLine(.5);this._label(t,this.label,m.x,m.y)}}else{var y,b,_,x=this.from,w=.25*Math.max(100,this.physics.springLength);x.width||x.resize(t),x.width>x.height?(y=x.x+.5*x.width,b=x.y-w,_={x:y,y:x.y,angle:.9*Math.PI}):(y=x.x+w,b=x.y-.5*x.height,_={x:x.x,y:b,angle:.6*Math.PI}),t.beginPath(),t.arc(y,b,w,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(_.x,_.y,_.angle,i),t.fill(),t.stroke(),this.label&&(m=this._pointOnCircle(y,b,w,.5),this._label(t,this.label,m.x,m.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){if(this.from!=this.to){if(1==this.options.smoothCurves.enabled){var r,a;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)r=this.via.x,a=this.via.y;else{var h=this._getViaCoordinates();r=h.x,a=h.y}var d,l,c,p,u,f,m,g=1e9;for(l=0;10>l;l++)c=.1*l,p=Math.pow(1-c,2)*t+2*c*(1-c)*r+Math.pow(c,2)*i,u=Math.pow(1-c,2)*e+2*c*(1-c)*a+Math.pow(c,2)*s,l>0&&(d=this._getDistanceToLine(f,m,p,u,o,n),g=g>d?d:g),f=p,m=u;return g}return this._getDistanceToLine(t,e,i,s,o,n)}var p,u,v,y,b=.25*this.physics.springLength,_=this.from;return _.width>_.height?(p=_.x+.5*_.width,u=_.y-b):(p=_.x+b,u=_.y-.5*_.height),v=p-o,y=u-n,Math.abs(Math.sqrt(v*v+y*y)-b)},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to&&(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y))},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:8},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}0==this.controlNodes.from.selected&&0==this.controlNodes.to.selected&&(this.controlNodes.positions=this.getControlNodePositions(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y,this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected&&(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()),1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodePositions=function(t){var e,i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n,h=a*this.from.x+(1-a)*this.to.x,d=a*this.from.y+(1-a)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?e=this.via:1==this.options.smoothCurves.enabled&&(e=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=e.x&&(i=Math.atan2(this.to.y-e.y,this.to.x-e.x),s=this.to.x-e.x,o=this.to.y-e.y,n=Math.sqrt(s*s+o*o));var l,c,p=this.to.distanceToBorder(t,i),u=(n-p)/n;return 1==this.options.smoothCurves.enabled&&null!=e.x?(l=(1-u)*e.x+u*this.to.x,c=(1-u)*e.y+u*this.to.y):(l=(1-u)*this.from.x+u*this.to.x,c=(1-u)*this.from.y+u*this.to.y),{from:{x:h,y:d},to:{x:l,y:c}}},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}var o=i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e.color&&(e.color=o.parseColor(e.color)),e},t.exports=s},function(t){function e(){this.images={},this.callback=void 0}e.prototype.setOnloadCallback=function(t){this.callback=t},e.prototype.load=function(t,e){var i=this.images[t];if(void 0==i){var s=this;i=new Image,this.images[t]=i,i.onload=function(){s.callback&&s.callback(this)},i.onerror=function(){this.src=e,s.callback&&s.callback(this)},i.src=t}return i},t.exports=e},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.fontDrawThreshold=3,this.id=void 0,this.x=null,this.y=null,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.dynamicEdgesLength=0,this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&(this.edges.splice(e,1),this.dynamicEdges.splice(e,1)),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","group","mass"];if(o.selectiveDeepExtend(i,this.options,t),this.originalLabel=void 0,void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof this.options.group||"string"==typeof this.options.group&&""!=this.options.group){var s=this.grouplist.get(this.options.group);for(var n in s)s.hasOwnProperty(n)&&(this.options[n]=s[n])}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(this.xFixed=this.xFixed||void 0!==t.x&&!t.allowedToMoveX,this.yFixed=this.yFixed||void 0!==t.y&&!t.allowedToMoveY,this.radiusFixed=this.radiusFixed||void 0!==t.radius,"image"==this.options.shape&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase; +break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.discreteStep=function(t){if(!this.xFixed){var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(!this.yFixed){var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.xFixed)this.fx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.options.radius=(this.options.radiusMin+this.options.radiusMax)/2;else{var i=(this.options.radiusMax-this.options.radiusMin)/(e-t);this.options.radius=(this.value-t)*i+this.options.radiusMin}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(){throw"Draw method not initialized for node"},s.prototype.resize=function(){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.options.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.options.radius||this.imageObj.width,e=this.options.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e;if(0!=this.imageObj.width){if(this.clusterSize>1){var i=this.clusterSize>1?10:0;i*=this.networkScaleInv,i=Math.min(.2*this.width,i),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-i,this.top-i,this.width+2*i,this.height+2*i)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),e=this.y+this.height/2}else e=this.y;this._label(t,this.label,this.x,e,void 0,"top")},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(this.x,this.y,this.options.radius+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(){if(!this.width){this.options.radius=this.baseRadiusValue;var t=2*this.options.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.label&&this._label(t,this.label,this.x,this.y+this.height/2,void 0,"top",!0)},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y)},s.prototype._label=function(t,e,i,s,o,n,r){if(e&&Number(this.options.fontSize)*this.networkScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace,t.textAlign=o||"center",t.textBaseline=n||"middle";var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;if(1==r&&(l=s+(1-h)/(2*d)),void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){for(var c=t.measureText(a[0]).width,p=1;h>p;p++){var u=t.measureText(a[p]).width;c=u>c?u:c}var f=this.options.fontSize*h,m=i-c/2,g=s-f/2;"top"==t.textBaseline&&(g+=.5*d),t.fillStyle=this.options.fontFill,t.fillRect(m,g,c,f)}t.fillStyle=this.options.fontColor||"black";for(var p=0;h>p;p++)t.fillText(a[p],i,l),l+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;for(var e=this.label.split("\n"),i=(Number(this.options.fontSize)+4)*e.length,s=0,o=0,n=e.length;n>o;o++)s=Math.max(s,t.measureText(e[o]).width);return{width:s,height:i}}return{width:0,height:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=a(o.attr,t.node))),i=n.length-1;i>=0;i--){var h=n[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(o)&&h.nodes.push(o)}e.attr&&(o.attr=a(o.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function c(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=a({},t.edge)),n.attr=a(n.attr||{},o),n}function p(){for(k=C.NULL,L="";" "==O||" "==O||"\n"==O||"\r"==O;)o();do{var t=!1;if("#"==O){for(var e=T-1;" "==E.charAt(e)||" "==E.charAt(e);)e--;if("\n"==E.charAt(e)||""==E.charAt(e)){for(;""!=O&&"\n"!=O;)o();t=!0}}if("/"==O&&"/"==n()){for(;""!=O&&"\n"!=O;)o();t=!0}if("/"==O&&"*"==n()){for(;""!=O;){if("*"==O&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==O||" "==O||"\n"==O||"\r"==O;)o()}while(t);if(""==O)return void(k=C.DELIMITER);var i=O+n();if(D[i])return k=C.DELIMITER,L=i,o(),void o();if(D[O])return k=C.DELIMITER,L=O,void o();if(r(O)||"-"==O){for(L+=O,o();r(O);)L+=O,o();return"false"==L?L=!1:"true"==L?L=!0:isNaN(Number(L))||(L=Number(L)),void(k=C.IDENTIFIER)}if('"'==O){for(o();""!=O&&('"'!=O||'"'==O&&'"'==n());)L+=O,'"'==O&&o(),o();if('"'!=O)throw x('End of string " expected');return o(),void(k=C.IDENTIFIER)}for(k=C.UNKNOWN;""!=O;)L+=O,o();throw new SyntaxError('Syntax error in part "'+w(L,30)+'"')}function u(){var t={};if(s(),p(),"strict"==L&&(t.strict=!0,p()),("graph"==L||"digraph"==L)&&(t.type=L,p()),k==C.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),f(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==L&&"}"!=L;)m(t),";"==L&&p()}function m(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(k!=C.IDENTIFIER)throw x("Identifier expected");var s=L;if(p(),"="==L){if(p(),k!=C.IDENTIFIER)throw x("Identifier expected");t[s]=L,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==L&&(e={},e.type="subgraph",p(),k==C.IDENTIFIER&&(e.id=L,p())),"{"==L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=L)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 v(t){return"node"==L?(p(),t.node=_(),"node"):"edge"==L?(p(),t.edge=_(),"edge"):"graph"==L?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==L||"--"==L;){var i,s=L;p();var o=g(t);if(o)i=o;else{if(k!=C.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==L;){for(p(),t={};""!==L&&"]"!=L;){if(k!=C.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),k!=C.IDENTIFIER)throw x("Attribute value expected");var i=L;h(t,e,i),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(L,30)+'" (char '+T+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){t instanceof Array?t.forEach(function(t){e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}):e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}function M(t){function e(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e}var s=i(t),o={nodes:[],edges:[],options:{}};return s.nodes&&s.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),o.nodes.push(e)}),s.edges&&s.edges.forEach(function(t){var i,s;i=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var i=e(t);o.edges.push(i)}),S(i,s,function(i,s){var n=c(o,i.id,s.id,t.type,t.attr),r=e(n);o.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var i=e(t);o.edges.push(i)})}),s.attr&&(o.options=s.attr),o}var C={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},D={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},E="",T=0,O="",L="",k=C.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=M},function(t,e){function i(t,e){var i=[],s=[];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 o=t.edges,n=t.nodes,r=0;r=o&&(o=864e5),i=new Date(i.valueOf()-.05*o),s=new Date(s.valueOf()+.05*o)}if(null!==i||null!==s){var n=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(i,s,n)}},s.prototype.setWindow=function(t,e,i){var s=i&&void 0!==i.animate?i.animate:!0;if(1==arguments.length){var o=arguments[0];this.range.setRange(o.start,o.end,s)}else this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var d=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var l=i.root.width-i.left.width-i.right.width-n;i.center.width=l,i.centerContainer.width=l,i.top.width=l,i.bottom.width=l,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.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)),s.center.style.left="0",s.center.style.top=c+"px",s.left.style.left="0",s.left.style.top=c+"px",s.right.style.left="0",s.right.style.top=c+"px"; +var p=0==this.props.scrollTop?"hidden":"",u=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=p,s.shadowBottom.style.visibility=u,s.shadowTopLeft.style.visibility=p,s.shadowBottomLeft.style.visibility=u,s.shadowTopRight.style.visibility=p,s.shadowBottomRight.style.visibility=u,this.components.forEach(function(e){t=e.redraw()||t}),t&&this.redraw()}},s.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},s.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},s.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},s.prototype._toTime=function(t){var e=this.range.conversion(this.props.center.width);return new Date(t/e.scale+e.offset)},s.prototype._toGlobalTime=function(t){var e=this.range.conversion(this.props.root.width);return new Date(t/e.scale+e.offset)},s.prototype._toScreen=function(t){var e=this.range.conversion(this.props.center.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._toGlobalScreen=function(t){var e=this.range.conversion(this.props.root.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},s.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){return 1!=t.options.autoResize?void t._stopAutoResize():void(t.dom.root&&(t.dom.root.offsetWidth!=t.props.lastWidth||t.dom.root.offsetHeight!=t.props.lastHeight)&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.emit("change")))},r.addEventListener(window,"resize",this._onResize),this.watchTimer=setInterval(this._onResize,1e3)},s.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),r.removeEventListener(window,"resize",this._onResize),this._onResize=null},s.prototype._onTouch=function(){this.touch.allowDragging=!0},s.prototype._onPinch=function(){this.touch.allowDragging=!1},s.prototype._onDragStart=function(){this.touch.initialScrollTop=this.props.scrollTop},s.prototype._onDrag=function(t){if(this.touch.allowDragging){var e=t.gesture.deltaY,i=this._getScrollTop(),s=this._setScrollTop(this.touch.initialScrollTop+e);s!=i&&this.redraw()}},s.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},s.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("bottom"==this.options.orientation&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTops;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,f=e+(s-r/2),m=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,f),this.bezierCurveTo(l,f+d,p+h,m,p,m),this.bezierCurveTo(p-h,m,t,f+d,t,f),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t,e,i){var s=i(60),o=i(54),n=i(55),r=i(56),a=i(57),h=i(58),d=i(59);e._loadMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])},e._clearMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=void 0)},e._loadPhysicsSystem=function(){this._loadMixin(s),this._loadSelectedForceSolver(),1==this.constants.configurePhysics&&this._loadPhysicsConfiguration()},e._loadClusterSystem=function(){this.clusterSession=0,this.hubThreshold=5,this._loadMixin(o)},e._loadSectorSystem=function(){this.sectors={},this.activeSector=["default"],this.sectors.active={},this.sectors.active["default"]={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.sectors.frozen={},this.sectors.support={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.nodeIndices=this.sectors.active["default"].nodeIndices,this._loadMixin(n)},e._loadSelectionSystem=function(){this.selectionObj={nodes:{},edges:{}},this._loadMixin(r)},e._loadManipulationSystem=function(){this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.constants.dataManipulation.enabled?(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="network-manipulationDiv",this.manipulationDiv.id="network-manipulationDiv",this.manipulationDiv.style.display=1==this.editMode?"block":"none",this.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="network-manipulation-editMode",this.editModeDiv.id="network-manipulation-editMode",this.editModeDiv.style.display=1==this.editMode?"none":"block",this.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="network-manipulation-closeDiv",this.closeDiv.id="network-manipulation-closeDiv",this.closeDiv.style.display=this.manipulationDiv.style.display,this.frame.appendChild(this.closeDiv)),this._loadMixin(a),this._createManipulatorBar()):void 0!==this.manipulationDiv&&(this._createManipulatorBar(),this.frame.removeChild(this.manipulationDiv),this.frame.removeChild(this.editModeDiv),this.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._clearMixin(a))},e._loadNavigationControls=function(){this._loadMixin(h),this._cleanNavigation(),1==this.constants.navigation.enabled&&this._loadNavigationElements()},e._loadHierarchySystem=function(){this._loadMixin(d)}},function(t,e,i){function s(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay,{prevent_default:!1}),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["touch","pinch","doubletap","hold","dragstart","drag","dragend","mousewheel","DOMMouseScroll"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.windowHammer=a(window,{prevent_default:!1}),this.windowHammer.on("tap",function(i){o(i.target,t)||e.deactivate()}),this.escListener=this.deactivate.bind(this)}function o(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var n=i(51),r=i(50),a=i(42),h=i(1);r(s.prototype),s.current=null,s.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.windowHammer=null},s.prototype.activate=function(){s.current&&s.current.deactivate(),s.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),n.bind("esc",this.escListener)},s.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),n.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},s.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=s},function(t){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t){function e(t,e,i){return t.addEventListener?t.addEventListener(e,i,!1):void t.attachEvent("on"+e,i)}function i(t){return"keypress"==t.type?String.fromCharCode(t.which):_[t.which]?_[t.which]:x[t.which]?x[t.which]:String.fromCharCode(t.which).toLowerCase()}function s(t){var e=t.target||t.srcElement,i=e.tagName;return(" "+e.className+" ").indexOf(" mousetrap ")>-1?!1:"INPUT"==i||"SELECT"==i||"TEXTAREA"==i||e.contentEditable&&"true"==e.contentEditable}function o(t,e){return t.sort().join(",")===e.sort().join(",")}function n(t){t=t||{};var e,i=!1;for(e in D)t[e]?i=!0:D[e]=0;i||(T=!1)}function r(t,e,i,s,n){var r,a,h=[];if(!M[t])return[];for("keyup"==i&&c(t)&&(e=[t]),r=0;r95&&112>t||_.hasOwnProperty(t)&&(y[_[t]]=t)}return y}function f(t,e,i){return i||(i=u()[t]?"keydown":"keypress"),"keypress"==i&&e.length&&(i="keydown"),i}function m(t,e,s,o){D[t]=0,o||(o=f(e[0],[]));var r,a=function(){T=o,++D[t],p()},d=function(t){h(s,t),"keyup"!==o&&(E=i(t)),setTimeout(n,10)};for(r=0;r1)return m(t,d,e,i);for(h="+"===t?["+"]:t.split("+"),n=0;n":".","?":"/","|":"\\"},S={option:"alt",command:"meta","return":"enter",escape:"esc"},M={},C={},D={},E=!1,T=!1,O=1;20>O;++O)_[111+O]="f"+O;for(O=0;9>=O;++O)_[O+96]=O;e(document,"keypress",l),e(document,"keydown",l),e(document,"keyup",l);var L={bind:function(t,e,i){return v(t instanceof Array?t:[t],e,i),C[t+":"+i]=e,this},unbind:function(t,e){return C[t+":"+e]&&(delete C[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return C[t+":"+e](),this},reset:function(){return M={},C={},this}};t.exports=L},function(t,e,i){var s;!function(o,n){"use strict";function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){M.register(t)}),w.onTouch(a.DOCUMENT,v,M.detect),w.onTouch(a.DOCUMENT,y,M.detect),a.READY=!0)}var a=function C(t,e){return new C.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",f=a.POINTER_TOUCH="touch",m=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(M,d),a&&(d.changedLength=h,d.eventType=a,s.call(M,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(M,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return S.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=f;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(m,s)&&(o=m),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return M.stopDetect()}}}},S=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[f]=i===(e.MSPOINTER_TYPE_TOUCH||f),s[m]=i===(e.MSPOINTER_TYPE_PEN||m),s[t]},reset:function(){this.pointers={}}},M=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?M.startDetect(i,t):t.eventType==_&&M.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=M.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=M.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=M.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=M.current,h=M.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e,i){var s;(function(t,o){(function(n){function r(t,e,i){switch(arguments.length){case 2:return null!=t?t:e;case 3:return null!=t?t:null!=e?e:i;default:throw new Error("Implement me")}}function a(t,e){return Le.call(t,e)}function h(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(t){Me.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function l(t,e){var i=!0;return v(function(){return i&&(d(t),i=!1),e.apply(this,arguments)},e)}function c(t,e){xi[t]||(d(e),xi[t]=!0)}function p(t,e){return function(i){return _(t.call(this,i),e)}}function u(t,e){return function(i){return this.localeData().ordinal(t.call(this,i),e)}}function f(){}function m(t,e){e!==!1&&P(t),y(this,t),this._d=new Date(+t._d)}function g(t){var e=O(t),i=e.year||0,s=e.quarter||0,o=e.month||0,n=e.week||0,r=e.day||0,a=e.hour||0,h=e.minute||0,d=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*d+6e4*h+36e5*a,this._days=+r+7*n,this._months=+o+3*s+12*i,this._data={},this._locale=Me.localeData(),this._bubble()}function v(t,e){for(var i in e)a(e,i)&&(t[i]=e[i]);return a(e,"toString")&&(t.toString=e.toString),a(e,"valueOf")&&(t.valueOf=e.valueOf),t}function y(t,e){var i,s,o;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=e._pf),"undefined"!=typeof e._locale&&(t._locale=e._locale),He.length>0)for(i in He)s=He[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function b(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&k(t[s])!==k(e[s]))&&r++;return r+n}function T(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=fi[t]||mi[e]||e}return t}function O(t){var e,i,s={};for(i in t)a(t,i)&&(e=T(i),e&&(s[e]=t[i]));return s}function L(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}Me[t]=function(s,o){var r,a,h=Me._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=Me().utc().set(i,t);return h.call(Me._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function k(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function N(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function I(t,e,i){return pe(Me([t,11,31+e-i]),e,i).week}function A(t){return z(t)?366:365}function z(t){return t%4===0&&t%100!==0||t%400===0}function P(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[Ne]<0||t._a[Ne]>11?Ne:t._a[Ie]<1||t._a[Ie]>N(t._a[ke],t._a[Ne])?Ie:t._a[Ae]<0||t._a[Ae]>23?Ae:t._a[ze]<0||t._a[ze]>59?ze:t._a[Pe]<0||t._a[Pe]>59?Pe:t._a[Re]<0||t._a[Re]>999?Re:-1,t._pf._overflowDayOfYear&&(ke>e||e>Ie)&&(e=Ie),t._pf.overflow=e)}function R(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function F(t){return t?t.toLowerCase().replace("_","-"):t}function H(t){for(var e,i,s,o,n=0;n0;){if(s=Y(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function Y(t){var e=null;if(!Fe[t]&&Ye)try{e=Me.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Me.locale(e)}catch(i){}return Fe[t]}function B(t,e){return e._isUTC?Me(t).zone(e._offset||0):Me(t).local()}function W(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function G(t){var e,i,s=t.match(je);for(e=0,i=s.length;i>e;e++)s[e]=_i[s[e]]?_i[s[e]]:W(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function j(t,e){return t.isValid()?(e=U(e,t.localeData()),gi[e]||(gi[e]=G(e)),gi[e](t)):t.localeData().invalidDate()}function U(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Ue.lastIndex=0;s>=0&&Ue.test(t);)t=t.replace(Ue,i),Ue.lastIndex=0,s-=1;return t}function V(t,e){var i,s=e._strict;switch(t){case"Q":return ii;case"DDDD":return oi;case"YYYY":case"GGGG":case"gggg":return s?ni:Ze;case"Y":case"G":case"g":return ai;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?ri:qe;case"S":if(s)return ii;case"SS":if(s)return si;case"SSS":if(s)return oi;case"DDD":return Xe;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Qe;case"a":case"A":return e._locale._meridiemParse;case"X":return ti;case"Z":case"ZZ":return $e;case"T":return Je;case"SSSS":return Ke;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?si:Ve;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Ve;case"Do":return ei;default:return i=new RegExp(ee(te(t.replace("\\","")),"i"))}}function X(t){t=t||"";var e=t.match($e)||[],i=e[e.length-1]||[],s=(i+"").match(pi)||["-",0,0],o=+(60*s[1])+k(s[2]);return"+"===s[0]?-o:o}function Z(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[Ne]=3*(k(e)-1));break;case"M":case"MM":null!=e&&(o[Ne]=k(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e),null!=s?o[Ne]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ie]=k(e));break;case"Do":null!=e&&(o[Ie]=k(parseInt(e,10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=k(e));break;case"YY":o[ke]=Me.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[ke]=k(e);break;case"a":case"A":i._isPm=i._locale.isPM(e);break;case"H":case"HH":case"h":case"hh":o[Ae]=k(e);break;case"m":case"mm":o[ze]=k(e);break;case"s":case"ss":o[Pe]=k(e);break;case"S":case"SS":case"SSS":case"SSSS":o[Re]=k(1e3*("0."+e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=X(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=k(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=Me.parseTwoDigitYear(e)}}function q(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[ke],pe(Me(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[ke],pe(Me(),n,a).year),s=r(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),h=ue(i,s,o,a,n),t._a[ke]=h.year,t._dayOfYear=h.dayOfYear}function K(t){var e,i,s,o,n=[];if(!t._d){for(s=$(t),t._w&&null==t._a[Ie]&&null==t._a[Ne]&&q(t),t._dayOfYear&&(o=r(t._a[ke],s[ke]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=he(o,0,t._dayOfYear),t._a[Ne]=i.getUTCMonth(),t._a[Ie]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];t._d=(t._useUTC?he:ae).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()+t._tzm)}}function Q(t){var e;t._d||(e=O(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],K(t))}function $(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function J(t){if(t._f===Me.ISO_8601)return void se(t);t._a=[],t._pf.empty=!0;var e,i,s,o,n,r=""+t._i,a=r.length,h=0;for(s=U(t._f,t._locale).match(je)||[],e=0;e0&&t._pf.unusedInput.push(n),r=r.slice(r.indexOf(i)+i.length),h+=i.length),_i[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),Z(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=a-h,r.length>0&&t._pf.unusedInput.push(r),t._isPm&&t._a[Ae]<12&&(t._a[Ae]+=12),t._isPm===!1&&12===t._a[Ae]&&(t._a[Ae]=0),K(t),P(t)}function te(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function ee(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ie(t){var e,i,s,o,n;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;on)&&(s=n,i=e));v(t,i||e)}function se(t){var e,i,s=t._i,o=hi.exec(s);if(o){for(t._pf.iso=!0,e=0,i=li.length;i>e;e++)if(li[e][1].exec(s)){t._f=li[e][0]+(o[6]||" ");break}for(e=0,i=ci.length;i>e;e++)if(ci[e][1].exec(s)){t._f+=ci[e][0];break}s.match($e)&&(t._f+="Z"),J(t)}else t._isValid=!1}function oe(t){se(t),t._isValid===!1&&(delete t._isValid,Me.createFromInputFallback(t))}function ne(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function he(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function de(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function le(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ce(t,e,i){var s=Me.duration(t).abs(),o=Oe(s.as("s")),n=Oe(s.as("m")),r=Oe(s.as("h")),a=Oe(s.as("d")),h=Oe(s.as("M")),d=Oe(s.as("y")),l=o0,l[4]=i,le.apply({},l)}function pe(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Me(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function ue(t,e,i,s,o){var n,r,a=he(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:A(t-1)+r}}function fe(t){var e=t._i,i=t._f;return t._locale=t._locale||Me.localeData(t._l),null===e||i===n&&""===e?Me.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),Me.isMoment(e)?new m(e,!0):(i?C(i)?ie(t):J(t):re(t),new m(t)))}function me(t,e){var i,s;if(1===e.length&&C(e[0])&&(e=e[0]),!e.length)return Me();for(i=e[0],s=1;s=0?"+":"-";return e+_(Math.abs(t),6)},gg:function(){return _(this.weekYear()%100,2)},gggg:function(){return _(this.weekYear(),4)},ggggg:function(){return _(this.weekYear(),5)},GG:function(){return _(this.isoWeekYear()%100,2)},GGGG:function(){return _(this.isoWeekYear(),4)},GGGGG:function(){return _(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return k(this.milliseconds()/100)},SS:function(){return _(k(this.milliseconds()/10),2)},SSS:function(){return _(this.milliseconds(),3)},SSSS:function(){return _(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+":"+_(k(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+_(k(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},xi={},wi=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];yi.length;)De=yi.pop(),_i[De+"o"]=u(_i[De],De);for(;bi.length;)De=bi.pop(),_i[De+De]=p(_i[De],2);_i.DDDD=p(_i.DDD,3),v(f.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,i,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(i=Me.utc([2e3,e]),s="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=Me([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(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},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var i=this._calendar[t];return"function"==typeof i?i.apply(e):i},_relativeTime:{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"},relativeTime:function(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return pe(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),Me=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._i=t,o._f=e,o._l=i,o._strict=s,o._isUTC=!1,o._pf=h(),fe(o)},Me.suppressDeprecationWarnings=!1,Me.createFromInputFallback=l("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)}),Me.min=function(){var t=[].slice.call(arguments,0);return me("isBefore",t)},Me.max=function(){var t=[].slice.call(arguments,0);return me("isAfter",t)},Me.utc=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=e,o._strict=s,o._pf=h(),fe(o).utc()},Me.unix=function(t){return Me(1e3*t)},Me.duration=function(t,e){var i,s,o,n,r=t,h=null;return Me.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=We.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:k(h[Ie])*i,h:k(h[Ae])*i,m:k(h[ze])*i,s:k(h[Pe])*i,ms:k(h[Re])*i}):(h=Ge.exec(t))?(i="-"===h[1]?-1:1,o=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},r={y:o(h[2]),M:o(h[3]),d:o(h[4]),h:o(h[5]),m:o(h[6]),s:o(h[7]),w:o(h[8])}):"object"==typeof r&&("from"in r||"to"in r)&&(n=w(Me(r.from),Me(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new g(r),Me.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},Me.version=Ee,Me.defaultFormat=di,Me.ISO_8601=function(){},Me.momentProperties=He,Me.updateOffset=function(){},Me.relativeTimeThreshold=function(t,e){return vi[t]===n?!1:e===n?vi[t]:(vi[t]=e,!0)},Me.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return Me.locale(t,e)}),Me.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?Me.defineLocale(t,e):Me.localeData(t),i&&(Me.duration._locale=Me._locale=i)),Me._locale._abbr},Me.defineLocale=function(t,e){return null!==e?(e.abbr=t,Fe[t]||(Fe[t]=new f),Fe[t].set(e),Me.locale(t),Fe[t]):(delete Fe[t],null)},Me.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return Me.localeData(t)}),Me.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Me._locale;if(!C(t)){if(e=Y(t))return e;t=[t]}return H(t)},Me.isMoment=function(t){return t instanceof m||null!=t&&a(t,"_isAMomentObject")},Me.isDuration=function(t){return t instanceof g};for(De=wi.length-1;De>=0;--De)L(wi[De]);Me.normalizeUnits=function(t){return T(t)},Me.invalid=function(t){var e=Me.utc(0/0);return null!=t?v(e._pf,t):e._pf.userInvalidated=!0,e},Me.parseZone=function(){return Me.apply(null,arguments).parseZone()},Me.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)},v(Me.fn=m.prototype,{clone:function(){return Me(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=Me(this).utc();return 00:!1},parsingFlags:function(){return v({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.zone(0,t)},local:function(t){return this._isUTC&&(this.zone(0,t),this._isUTC=!1,t&&this.add(this._dateTzOffset(),"m")),this},format:function(t){var e=j(this,t||Me.defaultFormat);return this.localeData().postformat(e)},add:S(1,"add"),subtract:S(-1,"subtract"),diff:function(t,e,i){var s,o,n,r=B(t,this),a=6e4*(this.zone()-r.zone());return e=T(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+r.daysInMonth()),o=12*(this.year()-r.year())+(this.month()-r.month()),n=this-Me(this).startOf("month")-(r-Me(r).startOf("month")),n-=6e4*(this.zone()-Me(this).startOf("month").zone()-(r.zone()-Me(r).startOf("month").zone())),o+=n/s,"year"===e&&(o/=12)):(s=this-r,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-a)/864e5:"week"===e?(s-a)/6048e5:s),i?o:b(o)},from:function(t,e){return Me.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(Me(),t)},calendar:function(t){var e=t||Me(),i=B(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this))},isLeapYear:function(){return z(this.year())},isDST:function(){return this.zone()+t):+this.clone().startOf(e)>+Me(t).startOf(e)},isBefore:function(t,e){return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Me.isMoment(t)?t:Me(t),+t>+this):+this.clone().startOf(e)<+Me(t).startOf(e)},isSame:function(t,e){return e=T(e||"millisecond"),"millisecond"===e?(t=Me.isMoment(t)?t:Me(t),+this===+t):+this.clone().startOf(e)===+B(t,this).startOf(e)},min:l("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(t){return t=Me.apply(null,arguments),this>t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=Me.apply(null,arguments),t>this?this:t}),zone:function(t,e){var i,s=this._offset||0;return null==t?this._isUTC?s:this._dateTzOffset():("string"==typeof t&&(t=X(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateTzOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.subtract(i,"m"),s!==t&&(!e||this._changeInProgress?M(this,Me.duration(s-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Me.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(t){return t=t?Me(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return N(this.year(),this.month())},dayOfYear:function(t){var e=Oe((Me(this).startOf("day")-Me(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=pe(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=pe(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=pe(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return I(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return I(this.year(),t.dow,t.doy)},get:function(t){return t=T(t),this[t]()},set:function(t,e){return t=T(t),"function"==typeof this[t]&&this[t](e),this},locale:function(t){var e;return t===n?this._locale._abbr:(e=Me.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Use moment().localeData() instead.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),Me.fn.millisecond=Me.fn.milliseconds=be("Milliseconds",!1),Me.fn.second=Me.fn.seconds=be("Seconds",!1),Me.fn.minute=Me.fn.minutes=be("Minutes",!1),Me.fn.hour=Me.fn.hours=be("Hours",!0),Me.fn.date=be("Date",!0),Me.fn.dates=l("dates accessor is deprecated. Use date instead.",be("Date",!0)),Me.fn.year=be("FullYear",!0),Me.fn.years=l("years accessor is deprecated. Use year instead.",be("FullYear",!0)),Me.fn.days=Me.fn.day,Me.fn.months=Me.fn.month,Me.fn.weeks=Me.fn.week,Me.fn.isoWeeks=Me.fn.isoWeek,Me.fn.quarters=Me.fn.quarter,Me.fn.toJSON=Me.fn.toISOString,v(Me.duration.fn=g.prototype,{_bubble:function(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;r.milliseconds=s%1e3,t=b(s/1e3),r.seconds=t%60,e=b(t/60),r.minutes=e%60,i=b(e/60),r.hours=i%24,o+=b(i/24),a=b(_e(o)),o-=b(xe(a)),n+=b(o/30),o%=30,a+=b(n/12),n%=12,r.days=o,r.months=n,r.years=a},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return b(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12)},humanize:function(t){var e=ce(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=Me.duration(t,e);return this._milliseconds+=i._milliseconds,this._days+=i._days,this._months+=i._months,this._bubble(),this},subtract:function(t,e){var i=Me.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=T(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=T(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*_e(e),"month"===t?i:i/12;switch(e=this._days+xe(this._months/12),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t)}},lang:Me.fn.lang,locale:Me.fn.locale,toIsoString:l("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),i=Math.abs(this.days()),s=Math.abs(this.hours()),o=Math.abs(this.minutes()),n=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"},localeData:function(){return this._locale}}),Me.duration.fn.toString=Me.duration.fn.toISOString;for(De in ui)a(ui,De)&&we(De.toLowerCase());Me.duration.fn.asMilliseconds=function(){return this.as("ms")},Me.duration.fn.asSeconds=function(){return this.as("s")},Me.duration.fn.asMinutes=function(){return this.as("m")},Me.duration.fn.asHours=function(){return this.as("h")},Me.duration.fn.asDays=function(){return this.as("d")},Me.duration.fn.asWeeks=function(){return this.as("weeks")},Me.duration.fn.asMonths=function(){return this.as("M")},Me.duration.fn.asYears=function(){return this.as("y")},Me.locale("en",{ordinal:function(t){var e=t%10,i=1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),Ye?o.exports=Me:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(Te.moment=Ce),Me}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(65)(t))},function(t,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),this.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start() +},e._openClustersBySize=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e)for(c=0;l>c;c++)if(p=this.edges[d[c]],void 0!==p){var u=this.nodes[p.fromId==t.id?p.toId:p.fromId];u.dynamicEdges.length<=this.hubThreshold+s&&u.id!=t.id&&this._addToCluster(t,u,e)}}},e._addToCluster=function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdgesLength),t+=n.dynamicEdgesLength,e+=Math.pow(n.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new Node({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=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},e._selectionIsEmpty=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},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ee;e++){s=t[e];var o=this.nodes[s];if(!o)throw new RangeError('Node with id "'+s+'" not found');this._selectObject(o,!0,!0)}console.log("setSelection is deprecated. Please use selectNodes instead."),this.redraw()},e.selectNodes=function(t,e){var i,s,o;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),i=0,s=t.length;s>i;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,highlightEdges)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(37),n=i(34);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild)},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=document.getElementById("network-manipulationDiv"),e=document.getElementById("network-manipulation-closeDiv"),i=document.getElementById("network-manipulation-editMode");1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDiv.innerHTML=""+t.addNode+"
"+t.addEdge+"",1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDiv.innerHTML+="
"+t.editNode+"":1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDiv.innerHTML+="
"+t.editEdge+""),0==this._selectionIsEmpty()&&(this.manipulationDiv.innerHTML+="
"+t.del+"");var e=document.getElementById("network-manipulate-addNode");e.onclick=this._createAddNodeToolbar.bind(this);var i=document.getElementById("network-manipulate-connectNode");if(i.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit){var s=document.getElementById("network-manipulate-editNode");s.onclick=this._editNode.bind(this)}else if(1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()){var s=document.getElementById("network-manipulate-editEdge");s.onclick=this._createEditEdgeToolbar.bind(this)}if(0==this._selectionIsEmpty()){var o=document.getElementById("network-manipulate-delete");o.onclick=this._deleteSelected.bind(this)}var n=document.getElementById("network-manipulation-closeDiv");n.onclick=this._toggleEditMode.bind(this),this.boundFunction=this._createManipulatorBar.bind(this),this.on("select",this.boundFunction)}else{this.editModeDiv.innerHTML=""+t.edit+"";var r=document.getElementById("network-manipulate-editModeButton");r.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.addDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._addNode.bind(this),this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0;var t=this.constants.locales[this.constants.locale];this.boundFunction&&this.off("select",this.boundFunction),this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDiv.innerHTML=""+t.back+"
"+t.edgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._handleConnect.bind(this),this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._handleOnRelease=this._handleOnRelease,this._handleTouch=this._handleConnect,this._handleOnRelease=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.editEdgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._handleOnRelease=this._handleOnRelease,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._handleOnRelease=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulation=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!=e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulation=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e,i,s,r,a=this._getNodeAt(t);null!=a&&(a.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._selectObject(a,!1),e=this.sectors.support.nodes,e.targetNode=i=new o({id:"targetNode"},{},{},this.constants),i.x=a.x,i.y=a.y,e.targetViaNode=s=new o({id:"targetViaNode"},{},{},this.constants),s.x=a.x,s.y=a.y,s.parentEdgeId="connectionEdge",this.edges.connectionEdge=r=new n({id:"connectionEdge",from:a.id,to:i.id},this,this.constants),r.from=a,r.connected=!0,r.smooth=!0,r.selected=!0,r.to=i,r.via=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.sectors.support.nodes;i.targetNode.x=this._XconvertDOMtoCanvas(e.x),i.targetNode.y=this._YconvertDOMtoCanvas(e.y),i.targetViaNode.x=.5*(this._XconvertDOMtoCanvas(e.x)+this.edges.connectionEdge.from.x),i.targetViaNode.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()))}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var e=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var i=this._getNodeAt(t);null!=i&&(i.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(e,i.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e}; +if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(!(this.triggerFunctions.del.length=2))throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(42));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t200)&&(this._zoomExtentLastTime=new Date,this.zoomExtent({duration:800}),t.stopPropagation())},e._stopMovement=function(){this._xStopMoving(),this._yStopMoving(),this._stopZoom()},e._moveUp=function(t){this.yIncrement=this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._moveDown=function(t){this.yIncrement=-this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._moveLeft=function(t){this.xIncrement=this.constants.keyboard.speed.x,this.start(),t.preventDefault()},e._moveRight=function(t){this.xIncrement=-this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._zoomIn=function(t){this.zoomIncrement=this.constants.keyboard.speed.zoom,this.start(),t.preventDefault()},e._zoomOut=function(t){this.zoomIncrement=-this.constants.keyboard.speed.zoom,this.start(),t.preventDefault()},e._stopZoom=function(t){this.zoomIncrement=0,t&&t.preventDefault()},e._yStopMoving=function(t){this.yIncrement=0,t&&t.preventDefault()},e._xStopMoving=function(t){this.xIncrement=0,t&&t.preventDefault()}},function(t,e){e._resetLevels=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];0==e.preassignedLevel&&(e.level=-1,e.hierarchyEnumerated=!1)}},e._setupHierarchicalLayout=function(){if(1==this.constants.hierarchicalLayout.enabled&&this.nodeIndices.length>0){"RL"==this.constants.hierarchicalLayout.direction||"DU"==this.constants.hierarchicalLayout.direction?this.constants.hierarchicalLayout.levelSeparation*=-1:this.constants.hierarchicalLayout.levelSeparation=Math.abs(this.constants.hierarchicalLayout.levelSeparation),"RL"==this.constants.hierarchicalLayout.direction||"LR"==this.constants.hierarchicalLayout.direction?1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="vertical"):1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="horizontal");var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s=0;s1&&o.hierarchyEnumerated===!1&&this._setLevelDirected(o.level,o.edges,o.id)}},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");t.style.background=1==this.constants.smoothCurves.enabled?"#A4FF56":"#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.resolve=e,e.keys=function(){return[]},t.exports=e},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,f=4/3,m=this.constants.physics.repulsion.nodeDistance,g=m;for(d=0;di&&(r=.5*g>i?1:v*i+f,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=i,s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.theta){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(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);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),f=.5*u,m=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:g-f,maxY:g+f},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=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")},e._placeInRegion=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)}},e._splitBranch=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)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=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()}},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); //# sourceMappingURL=vis.map \ No newline at end of file diff --git a/docs/network.html b/docs/network.html index 290568a8..174b904d 100644 --- a/docs/network.html +++ b/docs/network.html @@ -2158,6 +2158,7 @@ var options: { The options that can be defined are:
scale:Number
- to zoom to that scale,
offset:{x:Number, y:Number}
- to offset the position from the center of the canvas (in DOM units),
+ locked: boolean
- if true, the view remains locked on this node until either another focusOnNode, moveTo, releaseNode or drag is done
animation: Object || Boolean
- to define the specifics of the animation. True is animated with default settings, false is not animated.

The animation object can consist of:
@@ -2168,6 +2169,12 @@ var options: { easeInQuint, easeOutQuint, easeInOutQuint

+ + releaseNode() + none + When locked on to a node, this function releases it again. If the view is not locked onto a node due to the focusOnNode locked option, nothing happens. + + storePosition() none diff --git a/download/vis.zip b/download/vis.zip index e6d8d3877e0b4bf215b5326318eb9fe74586b83a..cf6e316e7a46f217f6fa334f6bbd9cc3ee82cef3 100644 GIT binary patch delta 396992 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%0A9f3H6YsOYk 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�TR86v3%5t&vc&3X zL14j3q49O_@xpbJ3wN{^&L)}eR4`GP__sIP)FqP}x_`iu1!_qy1MUqR--6e~D%70n z3zGxN$Q;S@JAK&l?krQa;i&g{W9mp+zgHVb3foiM(aeYPV-% zP@NdJ?y4bJ{dy_)_EMJqU@3)p>u>%mmJ*y|xR3tXr6lg4o-UOyeqr5G7b9;kMw9Y! zjC&WCJC;?$cb%Hb+3Q9wSmH9$4Ok7e+q|W@-?@hlF7oO z(wifw;58mDNHVnQ06^^@=(3Q7-F$Xu*PnV!!MIzf!iGesMY$7gaCFV-%7 z{=zwd#5iu0UabNPnfOwo;zCb+?(>OX=#LDmA5DBztn!tKk4hi@v58;ki7(j`AFHE+ zQR*y&d*#B!XZ6Hyf70hKoRb;V>>e7mXY)X02cp>I2=FEtYnIQ4SC(wr9EnMUquCG6 zTs-MvY?&CwmT}V9@+`&{;Apkh9h_8nMe?o8kYiT%UpnZI&{s&50Ftm)Gz4%rVwly> zjfIrUkq1At;7ovPB&(8xc*tu^%a#p+5lGmWfuusk}lE7l5q1qmPI>IGM#i^O;WaGi5h6 zNv=4ad8lMtAXozqB|RDU((=kQnveLKEsvH?ia!THWfTWO_q#XC8Ge1f!_C zXoqrGx_`GhtL23PsZ*&sW`~BZ&b;HsGH&~!)-nqj*~-YlG%B^pSZ!@ni?tqBb}?1Oh)k zV6SB!EkbsjvJ#X)B;5kSb~f-8kSuApBS1yIWk$-pDcIljh@3XhE1eRQv(YahPCri{ zaUzK-uN)YWiwp{IOP!SbsiCm;p63uZ4+=~cn#C_fayLy@nD6b4Xa`Qn?pAU(O^9cC zPFvyKepWQH!|^!+0+~SVU(6&bOwn>-7rnEFXr6P- zQ`J5JdQ8Cek%%eRi!KzkX$%nL)l2_GcSs4%e?!@@=2@lIf_(pr-ik94ryQF(gCBo! zN;ffqbh1CSNjf}rIo3&bj=q+3+obSE+A@!DQWktC{ur?^5XzAlW8xSt$ZdR6Z91@tWB>wXABG7`95(wF=!AV`lUj1AkNV8G!iH=xaQZQ`g^aW?30qhgE%>2?+rY+ae~NgC zTI+7gu*WJuY*~g>+l_9`@GsdwPXt{~!I8MVsdh{8>XWdt;5w8IXOkN5l@_|n|AZXm z7#Iaou$N~KAX?S%5@?^);b^_qcRejAxdyu>m%;z4rpXDCkwW2hZw4os^|&r>PyOf4Z6u~*cm$#+N#f}=IWkcC|Nh^I)FY4x^9c0Hxga@e<$zN|Koq@Ufm;?Qsfkw zxLNc4#Kp>v+4994>uPYbhGnwgdLm7%dAGV1I22WW8uM6~#N9dk(KT=O#<=FgBB|Fr zT{F5TuCXYk$=SRV(V-}4IMJ0W4$l>*5dmaN>C1roQbnGw=6q>Q3<;Z^9e9r2)>Mc6 zM|cii7h*buf8DvvbnxzpxDJH4q;ehoi(Ci0^H&|3j78I%zdjT z+Eim4@iL;TmLf6}ho4kv8W$K)(h zPQH52@O+*b*RNTWfHQe(mv~9q9)Il6?3rs;y_$5&O!VhIP{$sC`>mQN z61I0%kaxE~R}*L`{7v42@Ob;On~yTPVnlQ| zsywr%7_tbdl2qU%-mxn|PlPsoy#@sdtaJM4R@B?p8#i`cLk?UUa^UKc90*HL zf0iZ(zOXp;>w+9un~4WHh393PsY2oCe}z@5lw5F2C_p3EkVE$;LXMzq>JgYij#$oqSI7wk zhm4ZDPCoxRPwvfC!p0!ucR!FMScNNjsq*Ixy!8JQ27W#iaqK?%`6gxGe_{z(dI8tp zrs?`Sh(aCW$@dpr>ro=KV|=HpL4>zdbW~@BTrPccEo|>WiG;|C+r2 z#N_?&vv2>^X77JN1^qwFfAAf2&!U&o5fFxAKTP9RqB^u?QFffO4ih zPM-mjT~j}86>k-(ulnPhB^p@gC7g&OGx2YwbdhAr9QRc7dY^w!{aWdiZGtH%u(=c0 z7@N&lS|1Aqm3jKX9{fZ}9g2yon~y5`*0j(DtvPyf44r;k=SFHW_ocO$P4EU6e{=Pl z6C|kU>j{KlXL|uJdxmb4qH;astKq$I6C}cdKK^X;>z|d>MRhOw_C~%PQe{8Sf#lb2 zMyMSqyW5_>nx6v12~C#|2JoKm-luU>?-V8~bezLA=*AnSb8*9HdD53nV|Li*2p@0i zd}UIy;MiFy6JA9&k^X%t<+7Q9f09l^N->q(J^|7ha>~m;C#G})ci6Ew&!N%*tg-i$ zzNbEkdVr_)cy13XE6GcYpa&jdpQ0}87>A9@j^W`%V4PxxroaTue>Z6I7i#?Zkds_O z7HF3lF5$MeN{w^i8~Ua0zh+Wthh|c%f@0uIbEyO9bM(Sb{q|DuLY8MPe*?W}0tt8Z!f~>HrwZF5f`I)1c2)AUc>eKja zRd*_nRb@m}9Z0`%wvy{6Tvg@(Gg#JKw5(MuYvyk)>y=*Cc`kJXPrR(Z=ASHUo{H7@m%M6;8#$(b&LdqbzNOX?IRN|Xv^@fl>I)2{%_ ze<$F|EZJnfQ;>RL}JBS%Z#Sz?O~XBJ4z#kkSI_>+(rR2DMFLl}~t_ zi#8oEz)Fg*a~hk;Cv&Q91f|tf>2lkgC^3mO-C31G!C%+ghyNcPf67)!q;aSY^86V7 zzjr8W5wTzy=OoXwIR&spf_!#z@-!dywI-=5aTFwmmH)xMmOrCJ2~xUM_X=)CT8mIE zCu8OrT+B0d@VoHdl;qp^bG3G~{Y~Ak*MJshb`J94c+cT`cawL}QbNF1@t;?FIgK4| zHd&+>{kcLrkL$h2f1P2eyCDFH{E74-EPgNPg~LBzT}A|LoV^S8>#N7ZyFPpOM2T1T zU4VLq&wqW>I5|DeGFx=8<>=?o$pAyWeYoX84xUhtIL3XEW6eTo>cGi)+?{j87~I`K zE*96GjNl=*YEtsBBX$Ah7E<=D#HwIE8l4|^Ri z+Do13j{Rqw4+fz5rVb}mb#n(5FLnN)Vsk87&S0Fs1_!3R#P_=7UNEsRQM;t6-58T@yko=itQ#(h=w0m$_corf3RX_Lfyd&raKk$if^42wK`N>*d{QNp@ zz$0KyQ$ zefCGReKyW$=jc{^v@+2Nq(d%Q(d5@Tn~$60jwqKBf0%X=0O$UgtvE}JJ6{>ovyjv* zIRt6}L)rLqq;H58-G@g8l2z`?Y+}7qMoR1e^Am1Wlo6MLRdNoadD;zyoRRKeKNPYQ z9=}J>boQ!J2VN@Wmdr1g%^&lV5Z;jA_)gemVv2NsX%)?1E*9)5J_yF2eF+TzfzKYf zrzdCke+wOIGQI2QDC&p#Gat+1jn>77^m_RzVXmz}&NTIHC#dLgD=~O3@1UqpWBCgu4e@jQ^{%ZlzYDIc7b zJYHAyK>zYJR=B?r0B=tEqh9$A(m9|3##lKZBaAaeAnmrI;+Fwer^Gzg%XV}E`waJ2 ze*}YgEYk4&$CLCZYfVi~p60Em1$kPmX!D3$_g79y9+xY8n%vupo~#6}cD2IG?%vj< zz?H6%kq3h+lPdRiSe3QG1OIj`4<^+}CoWI2uVPb_)v9{}$09Gb*DScu+!S05HM01H zGec3t!7sFIpniwPP3&v4YD7wz)Xe3pe~YT#snO3(ud9bfCgL`|B--A3~_P0YhLuLN$-Rd)S-~8k6^0yju3^z6ACKQxw<7C z)Z_LVnhHm!A;ywu9eo#OxmejY$v37T5Y<}1KoW-(4`DC z^EU^&mJSY=e{Y~$X=i+~onF1Ee+Rm+39}jQnAby1wsZ|Q)QWxWyk7xyfB7FQb*)%} zZECz68T}47qwslsN#m&BjvWm{%`e77R}-kh0*@IfB4li-!)WFjiE&u3!#S1L#TxUHn@83=e*iT=%D?(2 zag7`^wjV6zHD@L$VhIB}^@_~xg_@Pk0KN-W)`LljD?U$4MgwET4`;9f&5e>J zr-%{1l+2M&RaqvaVo!*q>F%AbVt-cyZ_22=D6{Vc&WLBc6Fgz7--WBy4X>0t{gd^@ zs~DQvA4l0rBtvG8(k~I~MA;NY;OLQswuTGbM2INMot`TuF(JgK^$MIti%(3af?pmz zWsZATM*RU)L~Y@TYb9a3nCDX!XgE;VWhHxCYWTyW(mZJ08$jpim(ZQA;D5&RH(4p~ zPa9g|?mPhFRZq%#6$K`RD??S*n2%{g>;isW(xma0Z=FA-RRRYj0!x$8D1c*4w1z}Z>aEQl2pIz&bog!1#?_TwEX%_5D<%@KtvoC2%h2Wr&B7W;LC%$=p9OE zP7yDm`sh!e)Mz}zEqInFa-%D0o5zLi<2y8y#cz+Z>b9crKI#6B8 z6n`ul=3J5r-R24J#!l9J$FQv(skd_W<~wE~J%)}{K8etcdI?=5*CD>{uQ+q+SjUNk zmEM^EFCD{gg{AL-Gt9({BFSsx0?kQCN%ke`{tfUxLgDAizKzItK_Rp6N|j3L!;59W z39SioFOymj>`4Z?>3=Gpf`OxFl`P0>>8I==YyBVOmeP9^MmJW${DfRUl%FcO%_k(ULD1WCGo=IDW^tKkx~MdsLOX3w6W!KC#`gj^S{ zQ2s0T@Q{Uf-)DfAlPd;f)!y^3=Sko;M)lBdB!pXv| zq~BuY#RIq4D1XV-FhXEfdkW>7&YG3Rm|jt2sdu~o#n)wp9SfUFHe;!u2jC&KOL)9U zJeJaY9}ArQ*~EveWxi!L!ler-rFrhd;t9DHhBo!C&;F#U41m_S8(#TIeq2wFw??@%)o}8^~f0ST}c}>PI_6yC-&9TELaDeU2 zF*7~VM1Rmn0+>-z!#&W1HtIS&RAi>=oN*js8J%y;VJ|m;Zsx|l)!94kow#yj!O6(G zlJwBCO?fC_F2ohZn*kWP#i)QRSMNgh`-AnOO~o0xc#ZDbQ&NwJevY|ADix5m0f z-g}|kK#G|+(1fD(s@G? z(0_%+_c1Wu#ujD|E^L=@BI5NAS2l20uwomPJ1`&Cdx;hb5EyFGLX}%^Pp*Ej4cLD1 zSjeNr$#>{jtWNi)P}1*$xDtQxnPSraw5q#lB%k(V>iAkx!{Uc~4vPDdN=W$lVAvG= zb;WMRWp_z!fRq*HD2QPu3;6Pm+2fAjEPuwmB+&JpBl;QpIk^ZQL9A&bhu=J1f7HJn zJV)spX>HN#ke)Z@#Jd)hFU4jh@zI*c)^~x{hV{LLJbYY`woGGQ5>&?{q~p1qv$!U1 zqKbeEQn?NxW(IQDmPc`wKC8%m#nH)mcS8R=vzTE=R&^V}BzR zw@1OoKdXpLpu{p0q0^qX%)!auL@$UbnXkFP&kUsU zMFVP=W?G?|lWV3BCVmb4)QhiMEPo0UX8~=O)pU!c%@6B}|Ib9FRbG8kc>xU6(Rt-g z-Fx5g)~}^a40_!m1I8Z@jb64ni6MVysxEv7IbyR;<@QhKf!|WBjC;ENa7geC%{sLY zKXrN5BCy${Bv!6k-#hTQ+04Z{;sspu)eNaXn+s;xDVKctsAQk1U0Ci zs^KSnkQT13KIj(csW*h@rhniR4d#5?K5CV8-OsLAynN2dH7_Mff~EpTZFyR6uXe~M zaRu!#$6S@fgLsPuDh;bf77on?=QL=TX7BbC-hqA*f<+(on`3DWtsMIh(N*M?pLsJm z9)7RhPkp0wr}h?eH)ECHZiaaEywaJmxefF_4_aG#4c?8`L5V4ec$Jdo_#pN)VnnhNUMC zv&HZoOzNu*vQUwJyLScqyS>c_?v3{=Nw0x|&DWB!KF6bMq)1lIR3%cc z>egFAzv31KizuoZrCyfHzTpN3ncfp_IMDF*pYMm#;zy@r#4Ky*;#(T(c>)b zkf$8UWDoU>RD$ZKb7&=EF$10XT69CTN9>CQGx!onC+|X1!GBaV$`eB(_Q**oGLa%( zN`W}Gi$E!IGCK117w14dq$sIMXP=y_#3wf`Gr3GuyG!Q1LW=JvOXFE{#cDVlP2CfP8%GtBIQomY|Z<%BrcN*rKWe1j8()_S@bG_^R#W9bw2K)7- z%uaiUF;zS4P=A76?f~Xgcp$CB16+L88BVrwyOHFYgJA=n9%9DI{ z2|Fh8UUcWqPD-J2dvS+jAJ%wgm7llXpqDv0^QCt-kt$9=aaQjssz=`X#Jv}+dgDfV zy>?WOqF%&oA6F|~_*^HdwwOYta4@S?KCL#BYP+vgi+=}Koj`Lkz5cDST}?2y`B%o) zi>eK#2q_HAYMD=~?KhGY##(_(^`4`86V7*0f7zIyn_d_k_Rgd^^n>~aox&B3>5TFXQxxh4xtqpZlm!MhrqEmde9#>u;$?{+|(0~39_TYc&9Pq94;T(L@1G9nj9<)F1 z0UKgIoCE*k9+(ZJ_kaK&Jhnze48xfsZiSeFsn%?NIMBhUA*$k2{2{usFLsi6A66} z3S7WiS7Jn|+)>x&4Q)r))ytzeRw{7jBV204aWdmS6^Bc>2|*@uzcS zD$Oq5;cnj)|F?VgWO(76?@s2;EW>Y_LpD6RuLF1^HWx1G%8O3PNXQaUuv<+S0+fTqt?sV(mq1II>z`2kRYlCV`#V1NUNA9KfO?< zBInfbkLwJ&vWIgRr{Y#W2AKBNfqenJ?`78Odlmk#&A%wLg`U;$tcqt7iFq4h>Dz-0 zpT2iI9m~@ZKlR4W7^$_mn3lzd&VSG-CQsd=bC5L(my{Wxfq0qI-1SS&$~X5~aT<9e zg`6LbTA+{Gm8?pRy%a*maO0VEM|&OpKm;sT()r&=y^%PqWvC!t!`b)i(P10YguAy~ zVFzE9ubpT2q)PA>W}>KW*AgI|JRNx-YDQnr2-_z3gX|5#fQa>8Zp0G^AAiA;v$J(z zH}vm}eR{Az{ow%4Ihe}K0{Ab*jdAAml!=iI#?0ZQRzQnu z;8p;`&Z{&8hSkkV%O|v)lYf?hRN?KTb`H|=F?uq@GP>Ki4S7B!9(@6;eC&f8>g` zKhRXX4g0JqD%x#olCPreUu6Bu(|BR`5l4j5sQHQ0p-xT~TPS5~x;Z$u@m}NwaiJHJ z4Rz$e1vPc_16}Tjayfa74dw<;O=!er<)e2iYk%a>tnNc%LS|bD38PMy3X<-R_r&7x zWm-cTFh#rrYjvwC%73BF8)fI{CYEE|yCps{-D#2oSZs}~jg^9#D)Uc!vkpHgDX;mX zokQ}YRg<{yG;#m8reHh9ZBavSR>|Hhx3QOTuU62G&VQ#j`)CR>7p7ojvXVK?O8)*w zU1Q!;I7r3>?9YWi8L+eyvXxqKnPe;f;&8$E8q$1bvfQw1^?xK}tOy%etvINxc^sp3 z0J~#*L4rarIAcD=2bOPXqbykd@ayo8E<_6%83HiC3A^ve(OJXmt)Ck=BF>ng*O&>+ zL|9)g6wB^+`IGW~%b#A|V|$vv<`kF|&JotR-$AT-mGB>$-Wa7?{%hU;a7jI z0d2T;3euh87=LS68lUmy-Ehh!rN$d|KKr;wTF@S=oniY-y2g=YPH+#$=>ZgGqxN)m*@G><}VS z=6#X@kHSGNTW35$g~T(~`{m`qsy#Q>=4_Vi1y@hA%So788U_1tb@+!_$ZqZ964o-z!OrL&iqVOhqbpLhKtd$TxQqb^v;&rIsb) z^*F}sH3uJlkH|IZR#-3d%ooKEKe}cout85xutls6=JQbg+f5oNwDQ-g6qloGm~IK$ zS$})n7X8)4HUnsTeUb3r+PE_hPO!G`h}@Phmp9^ohf(NW-Os|;vv-)_q!SDRorV&_ zDiPLO?{AFCCcS_Uq*3$blXrma6@qym?3U@A$f0e@X4JAnpa!!GiEU}`XG{38m#)15rIn2%v% zK2ENsy^vtMvD(yl$G#2W*D=7+%nXn>V+oB$PnVi=sWrFm0^!MC&5Afpvgf8_%1Rvmo82Jphl3n2Tn<*jgCGkBzOUqP6qPI z*bzR4UU$U>+LfG3a~8ciW=sf&`tz?s4*tG*_7qc~-PnqHGpw$mBvX;!(E#h-hHj@- zV0Utb=(#!Yp{nr2D{In4OUZv^TE<7qrpyDIBy;D#$fp+4T?pLiK37u z9(!K&j+CWQ9USN{8Yu(MILU!OCC2S%jHM45i#sf;^|1cLockLi3X6sIV1HU@zvX$b z-ul3@_4my|v@-``)~QNq$Rlm7S$FSUePeeWcuslcSxl#U^;S()I%W$ki6dIttSTB> z*nB9>{jf2xde8!kb&!7T;l|nR(foy+k=@-^fpr%C9U(FkIT%gZqwj7k_$(s?I=4z= zx>TOV&gROJQPwu45R1f4>3>U4X7yRmvPrl3o-hm2qR}}FJMdF>=12YM)}PP%GwQ_A zRj{126-Win8?>CfGk%WoqnmJ}S}mY|07VYce5|6!w!0Ch^y~sKd7f6FDZ!*9&ifad zpiRUeOeg0;8*PDUa&wN|hUKe-me@s9%`X>gYS<)qtkPOLaIsEW3x5iD<7q*qyW77E z$ky|CzfdaI@qP)XHjI7er1-W)<32cpllW!&;n@ykZzTKOK3fLe?-z15N$dCLqutNt z%amR$^~>Sd&v!^P_BT4QdhEY7XR4xRqiEO&U;9-DA2UrzM5HquK7%v6xTx|Y?Sng# zmAb?0m4){((4ePux_@fl43*51Y3bWa`awuIU0NqF&wOo-7;lsUTW2|i2UA>?8TA^~ zqULLixcn+w7F0#-a45H3TSY;jtK7`W`DMQAjR830&o~S(wX?szC(Tf@jE?PvjW4L1u^ap-EFz3Lq0*Z zLg~YbfmWes&GBI_8s^O-t`BYFW)+b;cBK4z$`;ek-45_4k*;@X>?o47YZO4xqbKY1%H#hc@Zdw>h7_UijHj-_+VN` z1XznUmJbRGJ>WS`=8_M#2%YfR2wQxPQY(>S&96<7Q=}69qvXM zXiC2!22LQ9u7uNi-6WiLUMKjoBlqhxXLs&MPKkLUxAGGp11mzfG)MhIuUoeF$#R`q zA^IWi6aSd(lZX16oO642xVnBPOo(M(_IBOfC*89d6S7B zzfTB#=|B;h<_1H!O1l4e4;%^oNKTq`Rcjl#Sh0v&Q||L=G0!K*qEFcYfMTx5=T869Q6vNd}kb& zzkfv%{rGBhNAtmR?0vNUS2re{PKboKyFAPNvss>)lF;0ggeD{j)wrgdB?--05*pL> zc?gq_5AwDoB$$Eob4h4?v?ZaODWuG8Nr>MK<}3+~W}iwzKnCZM(1k`4NoX=BNhp|K zl7yC){E^SdA19WC$~PsU3QIzwipZTyLVv5zC866rVM%Dok`M%||1(KQ<~YhoLTi?U zio~oFN$5nh*6S8+4!<`fAuiO|8IWqTi9XZE0EeFuhZkH)>W=s7{A~{JJ(Wm47|gq- z`ev+Pv!upDAZWG|7TMk9#LRzVN>`9CiEO~6%bV9%xO1>x)agJ+h)FcprpVQH4S!A^ z^EQ#GE_xiKJGqJo@nNFCo-OJG0W)9JEj}TPN!Z2TWK0$1_Me=J?KNm{?14k%5*cUv zAFaIpH&%W|9&i`eF=jReK`*rQdhhVKk(})lg?@_c;`Vm!pvMIFd)$o8X&27@)})&r z`!!Om-5>}(O$egGLbgy8=^q;#C4YKAApu$OgcAO>qv%r-#Us6DA2uhGK+1HaN5+wU zg+RVX$GvS>b`H-4bEPoPWve(DF4{mp41MN%kQ)=3M!(^U6NCXVE8r! zYI%Y#=o;aEo>WLB_gu1QmE_!bHM0H}K#pmza0^bP;1-MyJZZ)Hc_ z06v`?DSMO)^80egLuG)z!be?xHdn^T-x{eZ&GUa5mrQeOuYbg~k`RsD6v&BN^q^>a#NpKb#}jbWlGa9W-iaBxeb(qA3O z*2zB!C|y4aPWqW^5q~Lk*fiBV^C$vFJJkWZ(J-32eiShEv+AbP3zG_GlAhM5?aOTh zm&&02yAdS%@6$ruEd;S?%z(bI3Ogn1ZhOPt>1l*~B2DI0^y3kYSMo;J5Q+wf-M2fBaxKdw(#Ro!)3R<*vIM&8GbHXf`{@HVc`W6Cmg!A4a7yxoWE- z?YfV`NN(yrrTJ)lkkHY)q!N4&Ai&3?cp&WBkunJ;E-wE}`YbH!_&(2@nHI5aoMj+{ zM3M`IPk*Chz35xjEHTPUzmj;;uW>%R;v+KcY@?+Gd2^uXb5ymS_4batQX|$G8vb7S zSK`F52=`UiX`^#ge@8j8UrGe%|FuT12XOt=Wqn7daXUb#+J3~IYj;(h_GGHLCz+2b ztgf!%88ob6E?0Bk6^!*A<9$zZUlzz4{>p`c)_;v&iOB!{S44g%pzXS-k`CA9Lb(@fTyUzTUE}H19+j55HMRrhSHEc`LUhZFSp;xbhyquUj!83U8Bkx*>Vsl05MFO zfML(dRk>WY-jkH8wa@Ak-9w-psK z0rz*rat1}w;K{M+{=SeTH73}A4ld2jjfHQI)on4pA1M4xeb>UD^-Q>Gtxqme=UBYrhwmJ^C=siv6*2*6WtZN-6tFhzd;yh{^ zjY}VrMeTt8iqMr5Eb@eo&XjKrQdjys2VPOlmvj$UECns%%RQp1eMxdUysdaV#y6m) z#u%tj2bs~n;#zR#$O4|tVHS#+zCrsy)mwLHQRZCHdRb?6D75CAnP=eQpMOY0B;Jqc zS~;xJ{-;bm?F#8V7Yb#zAwGMAJvM!q@`!n&;O6NAfxsU1=306INyYAz`|`YUZ0krd z%`xOn^^QNc6Ki>rSZlvTKO?^tE)(?fPW%&R_e21LGqq#=e<8wHwNO8y zKFdi@uD;hAEhBmP4`g0O-ND=DsFP1IXJgq>MnIKrNybD;OKlc_x=X*}dK%A270=T> z7J71V&#cEplLxh-TOU5zV@gqZ0*F&EmJlJQ;0d5gRTKm)hWrFTntx)+rd{*$_6E$? z$!~Qi9D|d{*jd)dJR2n5J_Sm3x#h=Z^2hiwL4NM6?2qx(){xCMCHW(h6r#Qo#>}>b zlJ1znB55yyo77K;8(?CB&k^~MVfFkYNdO2K{SNpTKIcvLP)B>reg-i_2iia8!&usE zf<`i}!FQW0HC>q-pnpy*Fi;1$Pw1f|6VAA7RaTsAmwX3fH<*xCy5lB9I*NBqSRYgD zb+XJ`3#qogkRykySxytmcM1_*q%zNlq22^rcESe^!oplGze_ z;zej8D5!G+|A`~fc($O}jy@>*q55K~AueSKf>TSAUe~{xv4t{^?9h$djQESD$t@qx zSU5BIs!!Vv#(#^lNpDr>AjagDTS^aKypKjISfz(AOkY>dT_dY0_`<0R&#i2yIk4pn zpKRRI$zC(>qWdO#U7&gH@m3lZkLEi(OUCghXK_#HrS?!Qr!EPYUDmkKVz5*aeRgI> z)n&cnOZ5d4YjIRhPvNCl7Eg~p@~9BUawYHExJX>sM&NN z8rpj-<}Oy*L%Av$AL+@HXv2ymx3g{8XYqw)CFh}hz=4G&il_Sm7$qvmcy_o&P+9B8 z+65m!6QkmsP$1)W=0f0-_8>g-8u&9Jhy^mS_{%@lv5lj0J1-nXT8J0ktM5yoW;Kn9^-o*Q4?HdIe zgcP-a zQHvyz;;L@Fue1@}L*4uI-pRbbZ*!dQBn=P2D1kL2+i%$?m9bFEbnjaPg!;Zbk?R0> zmVd)q^U-y!mOTA!Rxj5A-sQkS{Cm1+42q21K~&2G>UPG2*Y4fuj4ysQ-i@~4qntxC zj%4v${@-vL;iJq|5>Y{cPMt-O%<-ydQ^S49Ffhzpq%%B-#RO^L+vlq-2f=IUk&iY6 zgoBN7Pgzn&D!8*uXcjThT6r>l5fd`s?EoSk)w(WtGnT6%5A< zl^h*LKD+o5_e!WHJ#s$#GSTjEtmYP*UOc79L6ih9zz&U+gIHiN+zt*muI~U3;V_gu z6C+fwFZK9MegYcvW=OJXI#`&oRh{gfW?@VmfOp@Da_X6<9&J^?;k{UJ#Rbdt%zx9g zV5Y_GH|XC|@4m^;HYE2+VItn(xE|kYtJDPiE8BCWKWBm z<8-(10B$MekOE9$R*HZgFE8IX>*QAbmqmU8!A{FqCU5o!mb^@%TLooQBhL{(sL8l^ zVBgl6!m&^T9;hRnrOXRbIsm4B^nZ|NnP;@7(EBM0l|KVDZkgmab4=sky%_&|CP3bA zn0gqJ%E6{rRRXBOHi8;~V&o{p9 z{32|Ap~_fJZ+Pn;q<_B8w*0mFXvO^S!G^_*7v~pM%suxCX3xP8B*&LdlG&@9k-NAkH2`G`!yBXPNqx8!kC()TYF8* zDL5jX+Z$y`&psVntU-r$;R++>p5_NXlc=v~&Cq)U#@ZZpWq)sU6LxSyEmXc@Ht2=k zxXOATivdnpUY0Xin78mld0!?^(4x0FD3ej92&eY31B~vBPx5LvE*?}+qVyY2!v|@^ zK6Fs2dx`fNlz3jEfC;KLNu99zKprhweKY9yhcGc&22$~6SMLjgERQYvsxKJ`FCjBB z4fGOnT7y{Tw}0d$A~N)L2^l7?iF@TXeq~$}_m0r$8#sDrw!>l1C&mz!v|vq>932pA z1%1xutGfFNsNjx1+BE^3qEQn%9M+UjPTcmdjpcDiXsy=w$2F_<@Z!+?#ew=ARHqCU zAOSSrDcq5ormzuE)htzw)GeflYTr@Omn!}3gYDHv&wotNmPFWfje5;C%Gcj?X= z?Z-LFJ%82*>|f*Y9g-d(R&ndp!`>2syac0!A3{_-cnZZliHAEu4%>e>tE{X!auNgg zs%z#}Ey7}p_s6@WlMIY_jw4?gPJt265%I&tqD~surrUTHEnJ0#kXDtueorEu*Q&`( z&M9vD3nsW3OSCNAugC^APj(d2LB7$x_<(;Z@?v%QX>B4)Y-HTlmIHSCpz8n*i#b!R!<(zyu6~_ z(5$fD=44{78xDLJg6p;rV4Vy#Xl_V%0&dgzpET7qq-^jY;K(g;nrv2-qQ&KRd`Vvc zPJhE(ODgQ;1AB*@=>E&8u!(m1_XxD;#Y`~Ipj#($TN*-Eybf#wAps%ms+YXS#IGxa z*^2M2QgW5U0y!mg!nEI^bjbL=;d*(!$(H1>%Nz%Kk^k_4<`!Rq(m)e5+9oMACS>cJ zf-D$Ff(x=`kH~t4A0QfVL`#qs1#HJ2sDEDa)Mwd`y?e@rfgf}*vDjUvD4>*K(dnbH z=X!U!^flyL)9<88kzzaY$E^rnJ#(gBlRN`D$wxicE7sraHUqi=ymOXD-v8?r=VeEu zS419;lAQIP99E^MqwKO9(tlF^+eI~P22{xU;$fqRc+?q{eQe! z&bNEyOtAU03NwjzKkXbp#!RD>Soge>nT)!2ot#KFS3WD#hqyB?16g7Rz~$tkx29uU zI2rS|rFLd@dsQJ;8g~-2b>Mj@QEn_AxYcDUX%kZi0wP*=!YP})gHh;9+vF}iivggz<7T9h$=Vu$DpQr$-w5}A`Z|V}@ z0S7u4K{SN$N|6Ii7p70#VgI)3c;(wQe%o<0_+5D^#~w}7c(hQ-l0wiNd3q<%GI1t)aZ8M5_4TB9CIP#2pzz!WS;f}Xw*Kgy??PzYR5BI zcg+GgAv1Cwj*!-4$=NkK=Z}onkZapDTGL%=O)8u5*F~%>KA6+WV#eK#Y+1se7@zkb z_IYBh!7NH0uXoCv^UkMjCj&`@nYcec%-Lyv(jg#FdomztlmBW@D8gd&VsT|`bv<`X zW$YuaOhw@>=cCHzT|Q^_)_=hR6lebKxV^Dgt17eVy~@Rb!18& zdE$!A6Ui z8N)=BGw-YR`*w9>F%v(J?|&`%buII{X1(q>6t&Vo6kq*ZVp+D#j~&4J@}BPrcDoZY zH1cFCKBEK;q0@hx#(%$Ubn=|y;{FaOT|svT)aid07u?44ZedaPvYbZGMT*Vcpg#$= z*3#m*;su92@-ab3xXY?)WnE73E$DBY`sEP`iGM^_M^v>(bh&^zqD^K* zmrLM?8sIkSPGv-J+3Z6w$CikvPn~5a>0jLC`xf!QHKEJ&H<&(MKgsV1JsOAOdh}>9 zwL24l37r9(h_CSIlArPmicfiF53?;=twNQjFq{8l?_1l`R(7_3PP=%#bX7r_7u^Uu}7umWL)m@Ns__s@5eiQ^vo&*)txn1H?;0q^O z+ARgLehDX7xuI#M=YGgNXmL|Ef(#p^*|6i9VlNQn3*k!(buBoAHQ{~9(;7=NmFH?g z$C)j(oqy-6qM#=(`5^c(7IemU7oY=t`CvVb%V2<1jEGJb^Ok&Go12(2jqRur7WHra z*%!`A^}z4)F&s$xJ*CC7zs>uZH8EDB`sVjDzs<+GBXE&cMMDo4m(W>vGTFexkn0|X zoD6gn57tLnwaX>E5+@avEK6l@yw`L6OG`=dv48b~8)p~Ga_lCnVv0KBFy8yJ9%ENZ zDSBiq{4F*_kWydCp243g!hpD{AZ3ef{vF< z^nX+HGXmBKq~siWms_y23Qai2nB}P@++QYe;GT}bOTBqg?H7)6%*;4z)*5*%{quDQ z1Iyx7#TyRbF5Iw4dGOc?u8JJ74~$klHwEtD7kU_ZyZvm>D4bYdUVma3K`&E<&&}J; ze3#(oT(&$}!#K~u$QJo}Tp)FzJ6vUohJR(OJR2LmAD`hdNI{xoY*k4+wbgqX#2|3QDOhh4b_Z!gZzCP%F~lS z*nVpAJxvMOQ~IA#!mo8E*igg2dqe%}r!m@4D{QExY$z>YWkZQ`M>Yq;hH@$*t$$Wi z+`axy;%Z^d&drzgw&d4!>%{bA?n2Kze#~bNIyfwG$JPb+i5UGyWdj;6nIEVOe-RI| zb}~zK>jYJ0o!WwF$nFRaZ7oCd^fU~Ae6p-HQDKDBDw?mVJL2oA|S= zzjshA!(FKr%2`srHIMyvjP~5jB`tyLa+H+3J7EL1!$=1Wxp;Y@iwKjK9Tt9)CXJ~5FLVQF3B78WleR-5%7=#*5H9gBle*_#ti zk<_uS(Ys6bsaRG~XsW)=zz%MCJ!vb-c0J%nl-JaH5ETD5e1s>-y?^xX!P!mw^6JT& zaehprkBJ~#MO_!sHwQDN{kDwuCV8u{=Xc7hFOW~$8KISV@{%&oh}{9N1Nso(LbNwk z_@Nd7;@qmdA*7$PCC}i;*)J`T2YgszPo9Z6z$p8NJ>qj}^>kmm@D?VZO`e?guA;(2 zlC#DSpmLWuH4L(+RDU^lV29v&=61UCL7g+cU@EZ7U99u z8|?vTbTmUU*NP06=V`uX);W9M83*K(`AV2a}Z*C-u>T(&HM^wYo3tk{<|xFEev z6%>0Cx7XZ@{sutv@n2RUc7>x;PNoQ>$Zq1Es$k9Bcg%E0?|%j5leY!6K90TV00&KQ z)W@i+GsOA2#e;3;xjZLkbv$*^IYVOWnK*#8X;{9Ha!}EA)UosH}Jb z@6Awd?oUl~uo4${Bm#&ADS0PTt3CZUa1Md73ccJ43t?!-t4+inS-DMi}RJ%FU&cU*6K9~lmC=(DbtOW+x@er z$_*5qy6)u9tMU`I{UzPmA)n<)$!i~PybgJB@(W{uNq*pyfgpV||R-pb(Q70yEMLW->-E@n%WzQ4>k?6s9voJ9u zjejQevCIm>=`FvWQSPFmJ)NaErsXiI?)%pdTY|T0@BI@kafpxd8=t6^!;*TUE1j*B zLzTSilWNs~0V_Z4SZX+VI7**T41&65z>93_B+UcB)3~*4TTiAvHqA+L31e1l+Yv^$ z<+ItO8=be3G6U}Wourrj2+qn@p&sYV!+%nyU)Uek{7Keqm(2yTXEQHgx&SLn@nHJ< zQrzqa!Ir_WE^*ND83yZSdaZ?QCtxHo`AWex+9COu1b{2vwAM*)TABq{^DFUBj5{et zUbf$fKmHvKwt#;5mUOdKli%-QJBCMmKGCZ{m;R)Stwj{WbGOHlmD9Pjk}2GSLx166 zZ2s~tR)xAhNzmjcym-aD_SeyAo1)ox?fzT7#VzCeB&8b=7EG9%#mA9fA|d?PG5?R` z%#@tg8Oa$LBr44PnLYxh0_{eK_l!VQJ5vW){Z~XK2et)$>#%6CjYq==&`ImqZRKPQ zWfLCDtz(yvQ#}m6dB@(GnG+2ICx28vXKn?M0SV0_i-J{AVsags-a0Ad@>6|Dkb|wD znN~Pp_g1y~6!y-kd5zWu6TJ>?9Qg#>c$E?67V@EeRjTpVS$ciJ(y?%;DkCB;tZI9z zs-Qh(*bBA*oVs8_HrTqHAiL`ezNG+c04BT;np$4fKb@L76J_8=(z)0CWJ zUrFb3txejNaeV_(`Z`Y$!9J6;Imc9$Pi!Oe7OnHIfq4@U&6Rnel`WW|4!i!zrC}q? z^hyFIc-RW9O`Onk|kPn@e>$mEl^|3T*`Iw6ga`rBGmBm0)lH=F!K zJzO4C7{Zn~?z9YNZmxdMNsO>a`E6PbV;k8v9c$Ui`kS-` zFuhVt%AG!f(4U&SYUGfQ9h;mBLDS=)44{eAMhT-mHJz?4>k2IoIqv zn%&hGdU}G{xPN2RPNSET6pI&Y4d{VOX*ruJ=ym-sH_DXC+tw%+LiUMP1lq>9Ui==WlI+^FbGOXBnGkIjtZmmNEP*-V6#{lf{=3r4VrvDHyE&Q?1guVNs5col*8ht?Xr zc!&azJ$c|K{YFNQ2n5|^feMVq<_&ie8F6oqo-iG5RCsTw?hMUBES3^C%slSHr#3F5 z58|kIiGMxOgb9oGj(S^w%ENb9GVb^{Z=W^!S!<$<_A_sfiX)_ zP*{e2VlOD=>Fo7a%MeqI88N3Ra4IIKFNEJJn($f#{FZnIgeaoSdCMYy^|BY^;8eNU zCqAKk%n`VN$4!1)%_GUvOi(Dv&XE4-%;v@;2_Fo z4)wGXxbD>S!tZc_rgyq&%%W;|QPX!n+w@SHwjqCwe3kBj2DcTr;3acZFZ3=$R38VPq9bbZT7KYf<#s#Mp+nQl0_n-bM^OYt&+8k8!et4Qvn>?*|UT~8I# z`x+^{t&eI zm2!WEO_JD^WKfS1jr(e|sfWBo(2?yxvTz#a*k@#)d&e&16qviL&$>sSk&RHYqOq(A zwMLsELHU>fC)SXp;uETB<{GJUHJ*+Zbu0N_>$SOoc+3HYHAzuWcbh3)z9ye+Q=f<% z9dn1q0D!%(m7i?CkfgWIv|mWl7iq~gx-WkxXPlt?+XX8Ys!@=s4^gP+iA#@wrKQj> z-88cY%}~P8j2A7+GD+5%DIALKOQ+g{APd?{A!UZ3rAca53p4A5!-uq%(RtpD6KY~L zL2@?OT6uFU)-+pVR6xzI(ql*O$s;xc#5?HPe34!8dPq>>HNxlrvHz*&n*8l?=!h)S5K_$i+(Z^NZz5`Cyk^je~h>U zapIriwKI`oQ&#frit?86oGhG)!a;vdmU%iSOIuR1@TO7sg7`h<+!42akAGcl1SH)u z9wb%lWRpy9VHvMEbAV@Ln-BK+&4ja;1e}YGC<1^@e_H(K@jLp*=BJILcQ1hk?x;W2 z{i*I>UY%QV4!C!?lw9_8gvqnMC>!n~&+&Y>xx5+vW?RZ8G_zT9b%e_mveSRC{DLK= zVDV>943G?5`h0`$%Z8M@HxM;>Is@4^Tq_mmJwv0^y}Fe2=ycI_!8xB*4h>eo>e}Up zMAz~Q4p4x9>C57ZE#{9~5h)yIi|-3;Rc%k41Zyb?$GQ|3)(uaK%Bf9*54cqBHJA|( zY25)K(3$}MeRrMsw(LueZfSob-bJ!t(FiQU?PB$SOrqUKSl#sK>(SsZ0jJO_@UWW& zIuYF%Ib^&`*IeM5IiCP^Z$Y=M>f!xb|Dw+3ZdmwMZ`fM1ypBp*IrE*C(|(+EV(fbv zOR2S>zgyp!V=uw6b?%D_GKy?;elmxxs~*vAdt!Q+-l81eX9=sKe}I48K`os4x1?fp zCg!9O|8!Ins~NHrK_RiVxe;-~t;sg(6wS}R`z1^$-y_7>p#S$($Rb8vuq2&)iH+@@ z4P#2EZ(}H=Evecy)RTW)HOU-~pY$>BjuqOX?<<^P(S4js`_k~1-U$ZOxq3g?W%CgoKeQUEl&m~KO{kYi1CGI!M;EJ!}0vkY|ltdo?J4$9~=MbZBcFoT>gXZW0!!vZ3t=?bkY( zI;Y5|Q-NI-84KW6r%~H(`Q|{~?qnwSTZS99ZV&PxzpZOBWNd%4f;`8?4l<=Z=}c+3 z3nP+$l*3~&_DHn%s}WBqQkGV97Ww!?om#%QO{V`UN!ypwC;hxE&#$)n9%OFg?0D$H z*=osQ5Vg?Xpt=pSkWqlO9&1tHP;5%cq)`H-v8nLRoD?4HVx0>Z)o>^0fh{uP@a>gn zuJm4rJ+?h_BaeSayShFcswYpX7{?z@IaAxJ-*@2o3qAT>U0?q&fcZ+EuXmFB z7EER%kGH}9Yc`7HWW{zJ=D9C?KY=>~wXwv*WxuQIT)ThQ8N~}z=06)tVlDDvaWAX* zkR^3cTvNqGa4K4|X&jUsmgnn?;9!}%lpH?0*oB+DF-v;p;}>ycT9QNZMowzuO`JWc9JMCCl3aDc`)1yweR`%%e}9x zVRM$|i}9$70@)4KH4U+B=En7qanVj*ZE?-NWsV<6@pOUOT2ebPpS1uC?<-wwi;e$6 zDcEE6L=EWz2l2v?dJbWMh{82(hjnt=Be$mHMpSX z-ab-cLXJ%pCUwSTA!W(E+(GM9x?c;xqUa(H!D&j7j|S684cQEW9UUG@YvW!8TuaLQhAz> zUeoQZTHPkUo9ORK3DG^yN3U6j+}vj7P0XLqo47;X#8~RXdwiwktQNl0d;OYbE<*|v zBz3)n6l}iI)m58JTQjAV1X3PwYgTLO67PR><6GaPzrASkCYY&mOu-oOx4EV+G3IY~ z>2H@Us7J~d9yi@X1}x20OP3&x>R{!NT<@ze(I#Kj;6NC3-C;F!jP%?aGm%m2iZ?LQ zt_JVQ563UD%T{JNX*p)~@jF8giHjc$K)v}sp_g*`qs)(NFFQ_b?B7@T$pGB_oW-pllF;`(~zA&{+j&!=pHeuMj z_{MhbdcjL=9ptYJs>sSvnL66dD)DcuxrH2+s}$A;L9qmLT!e|$TqFUcmT<4_Gcp}q zOLPe+gO03npy^!SkwQqT_r6CG!Nq?*p*MDsMm)EvXEfoaT3(NdS&z*Fou;0Rl~hF< zHYau+MZeo*`#n@uCa;*8nmb&vI=8b5^GGkJs%l9+{n9L?tD5MlG{dM$RV7{37D|KG zwnYbDastI8B5+CO;&G^+N!~05vQcmIDDc!?~8uR-o2j@^K>`;Y;6BQQsyb>>^6BS)`O>}!+^VYo>dbE!Ffunz9!p5@a{vTEG zf#YOG6>hqU%Yi;I_sFTHaHyXvT^!V7eLhIxX$LZo3_)J`6uG8Q;gaSAi_utWdSFyhf{1ZscJU3v)YP^xeH)1OAO zWjL$5^c*!wKSAEbGF8-n6BJgVr>lX8JvJI(xQP2x+GeJ$YeuGdjcw;&YpcWtsK#q8 zovhW7a4Pj2uN6=2V4YI6jtUWAR;R=cp9;Pn&H2uZD{XDg%PZG70O@eWkwM$_v;_|q z!GJV;_!_r|-xGhM_9U7|KG%?NSe1kFWCu*8<9jbMB6heXwq#N53Sfl$VmR?)s*#XEtY@Tdouj~85U4I%9!~%P>`SL z?^k9uugMZ>Vr%2{Il^fnacqik+7J4iG5%l@|6Xbm`f06BOrrjNo|?p2d=lqblQ`3p zsEzqQN4OVAIxlJNnK4%mklS(y>?Utq+JR<~OIY}>@+yin;m*LZ(V6iTUvDTU(^GD> zhkb(35R!kasV!Y-78SCFNE?n7>dmP&cVVu^Nj+y1<&ZDHxON!H09m_oe;kq)%a8J_ zSCWi+DEcN}6yg?7V&pIj@3&ZhADYCqlvO_@Ii=86QNKdQa1Q=yWyJoZJjNWOJ5iOd zi4lA{=er!KtEL>O6FJ{i8C$5z2tzJ%w?8HmlU{$|+B$XO)<^3}^29yUaL&P@Ze>ML zq_rzv<9gTt6_qG?yuBgxqxhj{P}es^b{Rr{ z7@abRv501l%2)#sZxmcVu^J2QPOj&$ia@Xs+i_AGkJ|uWdB1bmmaukNZ?U6wJUIbL z<@)giPIJBr4ne^qayb9VriYYV&ur6IaaEMYTqfZ^fUew_) z@FheSpgD4$d17=QQmw7bL~HRH`Rae(i8OVi0|t~>0e)uv(6Dpy8_VEaq;D*>_D(!4 z`8kJKEBTxcUq&~6AP93B$1Vd6JG=|LRQh69?o8#XS4|o_eR&PKS^adS`>;~E5LSO) zIk_GF9F>3{G z#!qbWj_hNRFj|Re#bsHOcYyC*G zwNl_!6hYSqZa`2AoW=qPw?=4}m#@c1*43tVVWaPen%BJ%o;XTAjU8_-BwYw!#g4Dm zlDg%ru2bEze!g3+1Osm#;=JCCwkQGkS-hBmEa{(F`j+7g)soe)SV3jjL%M(HBOdY* z_=di{1S#4B+_8`dM+!*ZuRX@8XE{Z9;$6m&u)Ikf-J+;90f$b7sH@7`L)S|pk$8l_T60M6B6NS z7RIJgW96h8`cBThR?WI#GE6~YN@9=RnY}|Xm5;MIq(iO#h-ywTVj!sGvkFLKTp(<*d&HSp7+aE&CRrePhwPMM z$)2n`$?Ns6ncx&G>!*LHl^tzfN?Fv$Hx5>%vHf~x`93M7NHspvmpMF5raS{x%DNF$ zsh^Zfk;kb+7UNAq7t80A)_+;#g0mfdlThM-@Cjg;Mx$(IOExT$Ffq9$C?W~9nnEurN&%NGmOvrM{q{9MCoiW(Rr~;QM%Z*M4(<}Jjl8e;@vpi^K`5VRJ`$mGZH2eqvtt6n}ywJD+ zuICA(o|QK0?fJ6DGn2NfV9gVUOE_js%%oW_;7JJ?+m62J&}H7KmoCS+vXvYh?t3AU zDs(4CjY}8*jpwrNZ#kD8K0cSNM|GUcR!M1gk&ERGEUd(@N|OxyGmTdvsQDjh_D7n1 z$iufA1j~Pw{$}f9z{zv=A8Gg>N<%A@hS}@-`OC3M{q#vn{S`v-eNc~XPKN8$&Bb2I7AQAz1^B_lJVmh~WVgX&J! z>0`%d29u9D(smc9!arR_C!>mG(%-RZr6a6n;wj;+Gd(5#-FiWv@B{Zn&FB@oRMWe| zE6u{44qFH$#QrrbWZ3XXf~@1PBICr%-no~r=U%$;mxOVl3L=620Sb)uzoNi^+!2tH zDQkaD9mm@j@6yjgtcPl2{n0{x+nM~=7U!cg`LAZ@J*kdl@G&YdY{5mx1!9OZZzTP6 zW^pN>)5gVrxSx)l^3(a(N#6g;?dW;8A1CehGmR^2wN*-48zTs_FC^mqr2^O@0W21p z-+9wf)PCCR*(4Qi;dJhC3KB_QGA=MvbVq-X*+%7EEGjnZ-D0Gw0WjVDdvo85Sp(P^P^_C0DZMdY7~2Zrw)yU?A4jsA&MxgOP=!fuA;(-7-wCP^c74NJ&FNc5j(nNsCr{!ZeK~rH_F%9-#W5= z=-Yq-?)@!KR3U}tkVi*=ic>HT$r+Tl7xHPw+YZB9k$0>O?aVgn^%bC|+al9O2y5t9 zWRBqXz9zC&6*Cvz6uVVigx%Ee|Eqt2Iw@)d5hqJ5UH?9_V!wg~yI>%wf@08}Hau1P z8~!ix%PPb`08_r~ny`u-q3khw4t4PzQ_M`5H?&XK8r1qY_J(w4#fSE}DQEA1zJjyY z-Q*32F7oEBLWzHy3w>til*Tj%GqsXpV|1-EoFa*qgRRZYyHum&DQPsj#Cx=3zF z=K=_xdyPlz2!~@j3l61VNxz#>v;$V$&{J_!_j*h_n}LdVp_O|L_x{0L@~m}N?zs)l z0aCpT>lpdl?#I}b8g!mz%G)ys@oT7@EIYmcPFjUbLP;I4$tRYs+ z%psbSLJ^M`}x@b&K1bMfb^&o}1==d}791|Wf&-NvA18NX`Fmh!kE=MS_D+uS@}V{P!cv);7host15dtQaXG zAR;RDNNH9aii$2H>+9uHRMg!J$%4WBg%Uvmt0(!h8~j=0^jXSc z>kfndsfQ4eyET6|<+!dfX02n4Su4VrosCTGMP%I$S>E0)IdXSz0{8B2eGBJLo$qOa zGtLeYn`3^hM_}FYP$_D#q*KvNAVzjIdhWdG=lLJZu67Jd-Dv^bu%&}voGXtPu)h#0 zK=BrjEZAvFyzVXz5eCb`d`E}6o1Cd_rD|iYfiT!T%!PkhvL27jxB#(+nJggXJ>pQi zB|$M4sB0{V+L;$@R_xYT|LE<;;8@$SbfQUDwAEKR3Q-R>2!L(v$D*WN;jMQ-F#ddG zCKrL@FGn(tRY`kd4_oo>!t%0HdFgI>DtE=KcU&SDd$%+W{kYj$UqpAimPVZ=xH_|e zvQyDVwse2mGK*4$9h=6TW+x06-_6-f1M>&HJg(tR)Zzuh6%MtJJhD1*Y9X6XLI7=_ zQRbNskYIu{PQ&GONx8tV)Tl>b_IrqX-7g;}oK7Czq zm)w6UxTl}&(mMwn1bv!A>bW!g-&n5a6KaQVv4Eu-Pb`e*h{{VvM zf-BQb%;^a6WVu!Ii^jA8rf|hPWR<({gbjT+?3!6CNZk662-bZZUL=Tct%;C1*T>{f4a%Mt1QPK{L7XL4JiVSUFz^ z+HX|Qg4buKjM7B_%CNFwYn|79$Kb~1PLPNzgox4Mi8eY*ymiZf0keq|n;!4*CQ*N< zx~3zJZ4srYhBi|ePLbgy+ok(2A$q5E$6hz1HuGt72Uqhg`=wGr`c?oLLrSZ*UAS7-xFV{S~8Hb5q6PlG>b@V{8Mbj4Vs_A&@jGf)NY^ z4XOpG)ve+kzxNq^{&~uP7AS2s_LzSWYlAhoU9Y0wu3_ECZ{TF{Q^#=b;-#pcZ1?ZI z@fZilqtl*4fVjk3gSBQTlRJ#gLq@*o^tSjX^mhIYkVSOxt}2aD4CXisn&aKC%Q2j!e4T z{MxK;X(Fv_&iiIn3Rr2$;>e8#Z|}Do;o@t){d@3d*uf)MD_kbPRwb8s+FDIj_*L6z z?v#hII918*Kxo0?eaUrbPPBg`E1VoZX23QP?ZmC|_tq00TiZEflHTrsV#2?>hJ_3* zWi$SmXIz|HiVUAcx&bcY!UCS4m`|D1n%|}vZL|8!7e<~WygNVm+H>?xrwqOUBjrXY zdCZgDT!C*)uxPD;&!qM^^rPRwU>@SXsgp^lb@feuPqj8hk@$hhV|{-j=w_4LNn}k> zEYN#-3pHmCv7tC%BLK(=-nhn#hXF8^^>#7x7=IJ?~d_z{1TRSk2i0)DNI- zcX-8r-{c0-n>ICd>r9dAguCeKGfmXP^e9|XA5vxL-7xHbhciFe1g_76a=|^RerfXZgx$YB)7-8$a#S)>mH z0Q!?vj@wBQYBxRq8a%Fpu@$kat11+iBqj{ce4i%7-<)J4CHCf*)A{ksKt1LeU}40H z`iX*+58KIpX`_P{02TXG?6$-`9K^;xG%`QqU2DEC&YhDf?!;l?xn;L;*Ju>&oZpB~Zca zF|%m<9;D%fq!Cb3KcEWIxgtV!f=`;rCj|pda}GLkrch>}DdT9;6K#%?Gu?52qe=p5 zXYteK+u(;er$B#DJiI1TjPnjT)>{-MRbI=uHbeu=s)#mAAOs%YI+<&;6Vvu>o@B(kIZ`R zqo)Spu@h5$U|PTAUph%un{b!);|?jh*ReHlgLP@{V$^@Ving+at&9OE5Z(~UiBnXO zNqa52EBPKDq7fEU4Vjikw5`$p5UFzbW}&sl6uo{anufy(R~p7<%ccjTx>2cdw3wFa z#zX8myK_Eq*LPf*y3L+7K0!7WTS1-$N1yb%tCe$a~bko|+@gp|@5?e=I3 znYg~gM@h-e&>kSO~s=K z%Bg>@c_LxSrkoEJ;8UGau^z5)Ab%hE*hC`=&To2|850>&tj_P0qdwDsAS!DrY6%s6 zy$R;ZF&NR*n3@$C@Q!=b(b>#O*t`YIcxo<#f&=p{`1c#s$r*omjKpp zOBhuCmAkTAN9PFMmLtB-?QFOmH>tx?c3|9X6R2d1FAgmsWqV_;QT4#IqOJ8cYhwk= zfW0DK7(rix8F?HrtTZ)Ezt%WPQ%n8er_8d9$9~4`W2-8!Yr-7p_xC_KkN+mqi_U+# zzGh|E-snV%fq261v$4I(*d{|B-V4j7_?EJbL+l7eGqmPqrk!T7tJEVO&DDLfw44Fl zt4^$R=TvC}?qNQwH}_=Cq8V(Xqm5$^oBIX56@o|hpV;;W@(1Bv-I<^+z=HHM5 z3rhmUj6I-fK6yGIlr!uq5JBQEeYH_c{t*D@+j+h)rW-PIgFZG#aMrth3}=Gej)hw| zGiH6(9U+=I#3Sh;x8ibyo_$|I9?T`n){hTnG!B(@3bo$oh-Qg9N9P%Hz2$#w$@h^R z=>Q%aJhj-e`N(c1%o}|(fc%c6Rch@9xP&Rt;H-uD&dgP@;{V`; z``6)2uBZC26X33UDx-6-}eBhgPl%DI-Gbw*v`Ty))S##RJ zvi?D&3b6|6J~5IkV;~q~LhLukao9nKonL>|{q+cqfMDmGs{3+ZY$Ww;Jv}o$y(XbE zfTs1t)a$Rdnu;SX?KSFu!Y!$ea!UKfwoRGZQB{&X%0NQ zL$!kKR!7WK2cjKhC1sJt`+>tTvFkSXzc*rjuM6>h)Z@{Nf81?ZioTstQOFIb=MRFjwpiV%~`ilTpz;b-S{r!7uLkb&rGEh~wi(7~-v(zt@oo!7+(($a8*bwGE#h&bi#7H?yjpv6p8 zBUHmzObey69jG70x_)F4<0diEkug#m%dABadA%q4;(E!M|KQ+AtiX?uJ^^hCP1G6? zz}Ba#AeMxK;t78s;@5stMXr}58cNEtPS>a9#v9c4J6&Cg#VhsK;-#L^pwb;%BAw^h z-NCxm_;7}j6;L9F0Pm6zfWMGdI@&GxT7%`906+@RSogC#v1y*4PFh;efjnzG$ZBcj_sKQ3_OO4(KHq1bHnjANB=M*xWC1+d zj>cp1!!M%1zTyjqbHrng6S&YmT!%IbsR=FjtkdgjKmP+&`#Zjz_? zv4Qcc57QC)>0zIVwyvjp-ajDXV56j_^B?~7nvmFkgIJk=Qr7kooO4>tO@*^_bt8Rv z80F=Nj2?fUl0qG-e-<6Qe6mKDw2`XiH)^j$q}L%1m&`L*jx<+QFua|LL|$cuKN910 zZJgAsIrT+zI+84a8{R_tVJO+y8Lt%>LDg7~_%J*r%87Q{`wBAacx@QBa1_vh3C3HF z6>AcyOMglm*wfG&u7#Xc?=^qV6P8Wp>g=5LR&~RYd!fvP zvc5V(Rm zolp7pTqAH)N+1v*t+hs=s1^ki@|8@@VC{b>3pM^SUT~$+h*!?p$D#gct(+4MT`f96jK`T7ncz>(Q{x%$F%Mg!^?xHVM#RdehB8hf;vJLxb zvE^fQ#iF)8=u0EGm+dv;r}ms(uG>u2)hH$Ea^K>rB3`C*six>kyyqGG1M#;D@4Jj! zYrk>>rF3tXN~CQomKV(BbPHKH)Ej^QiYt!zw;5EtUD5R8wXJXk*9pF(D_lX9d6hl( z?5Y#Lj%dGjdf3Jfb+RkC_7El?j55>2!%N_dI5}BoiQFZ0;P-3YUzWJ^(=);(sMxfv zH~aQsEy^YQJcG4psNl~=0<;&U<3O% z*yXc$aTj(sVKc96p}0|D;U?@NP%&-P;bx`P7J9nx+?=nFC7aQF-5&oYWFB{;?Ax$AJqOj>u!j&i3^yu! z8`#nlHVkgU=0lk7Z`3#q?45t(OxDMQ6rQ!BqFiN8&MDnrS_=Iv`=qQC=>yK8WEITR zw7?7W{afY|m@I&$8kgZ-^=;%_02A6DsKS6JYsAST&*6mb--k$DJ7bgb3#|f!A7g+` zm=8V&6LPCF`(I|CvojdbS-bj5FxHiB$zo`<1+TpeFj!jc0^H23%RqlvDlPjr!Q?N) z2tD_v7~DoNvy_GsN`9LIYH;-YU4^VMGP9se(7g zx5J!Ad~x|p>{^6e!W68cPUceZTx-u@Y*+XWr=0Id=mS%+7A+MyP_6#il6!Z`=-Z(WY= zuva$QL^g_S1AagC*!Uy&L&xgzP0n;KO43U^ z;x)!j#WH_yN{jj_HrD+6x7bx2mg^j;3fdAj)$4(3*qx54g#U1-`2$lDt?QU(ob^4s z6x14nJ0aDw1Xf52=(?;Z-^L!Nq!)r!TK>RW>yMnIch2h|BGf4eV0zi=`FTlh*iI`h z5)sW~!K|XU9)U4=3XyGG09#X~ArEDarO_qAY1V&^G9?wTyemH;pk^nMXc}PVw}*tZ zKc_L)=P*9*V?dL8sAoZ|&fCbB11s*wJzk-N7WvWkv($R5cc0vQTk)Or+) zmrk=he?KY%9@~Q#Z6T@mY>srQOm=VT`|rYMX(p`D&g;MGnOGdft*KS({9c%IXRTBs zhU3)#c8aGD=OYS}#D;NCiTz@yKxYTH=Er|@2Dn;(*<`+9O4{!B(5ZSxgZa3@zBUnQ z9J8Nni8tR=bE_up4xOVKH;sm7d8J)1`<&a8wv=%o8IvuzmIs!g$if*~?vcUZ$J#lX zt3`ZK`6NHE*w{N_EsB=kF474WQLGGQg9hkatp8lXI8cL5*$*`WmBuR;8X?%%%G7^= zUAZtu6D7pwH;kPaJdnW@Ew!;zl_bWKUkosXqkQGSm&>=KO6}*Fp{yGkMimyTCDFL7 zpqaOYN|!mh#QI~k7R6B|gh}rfRvuF|VIpWP<$aay9vnokX36O@+>UlUO^;m&d)YS! zI(?YKzmy~rP^peEK``5ylPc3euI7K&-BO$RdI%=w{R&5-&ti3Q1G{2F7sX{ZD*BU( zvXWJrX<@-5wePB#XxS)Ghc=PzJbr{w#aK+MPdtz{*~8ai543=1Sl?!Z)-tNVV%|XI zah6dOlMdM+*n&!W(S>!iV|yh_B9yh6O&K6RR5yT_y3Nfs7JTPesj2f|%xHgksN$$u z-O@B!gw2$kDv({C{YQNy%F=Th+}`Tl@#Si`yG^i zypuG^hAz*mdaI5Dab26Tr0GY9scj7I`RY~{XCq-(T6}?1Bk?V~7w&bFhKkPY>}{wv z9cH7yx7R0~Qe|VjZ7dPRaw5CHTKYVC;8PX%s0y?_lc~a8g0w5%(YsX7OzPSGrJk8l zPwrwpEPCwhpRQK2@U(w9pMP|>2*NPn8*qEepL#RcqMT$TxmS*P&@|r`mWUrm#8J8% zz9efZQ#$fm*Zz~L9`Y%bd^=~wdoMFfHM)Q0+8@og>#62s2{!Ug^`N8yC{gtX8 zmOd;GI*MEMRszMw*xRZ^bNcOO%mg`iGtfXz)IL>i2CG8BO)P(!r=Zn!<_JQk*f}4< z2dyx(^Nby`iAi<7&av3kXRsTw>3kc^DLsYBfkbWojK{&wSb>_ua-@|Ph4Gvf`rQS) zjc8%_&Lbp@op~UJydnl*vg!-07M@#kMp;&A=rV!_hI}sc1X?8Is|SJ|#x<8kG{rT) zXjqZ&?|#t*V3B`98!(i01w$3&s#!lK$05@HjY4ptGoop+go34X?3p%DLy>AqjIsIs z`M@d8%Q@=w+ta8!bcmN1uw@Me-^M_@mU!t*gY!W|L(8M^ES|08&}%J|Hh4Hr=vKgO zrFI9jcf7tkEP2X1y1#VG+1z%>VYkc4C=uCQxFhuGM})y`+=?WHO(B~Hl+WHy8vD~)6ev1$!L z!Y0bxm$82Z2j0;fG>s|IaI)rz{n{ENy?#!%7whPBP_hf>K-8XWRT_smv%OQz4V{&> zo>?FV&)TFtLB@rSUZ_o@je;n8fu;pnuK{zwBb5POt4g<>d6x%Grf~T9q>;lw+t$LR-~j(GMw^T8>oGTkDc3{PJNlQ(FT~ zvesBY5*!}pu%fi_zcHfxO=l(okGI?XND(@^u~WAZn<|I~cPVN# zmjfzaexh=-9O_=Fi=(-=SyGgsdhSl=q_ZK&hk`Ib43lnFSnDD@-18Qh2sv!xzKt#< zVBAK0F>-#4n=l+48w_l=Wz=xCWlQ_|dy=J%wsP~U$$g5kf%y#=F^a(Et%(y&Tqb|^ zFX@%Hk8dj`h%CF61Z?9i(>eI&Z6iq!U9+|njO+*(tCQ{Vd9>ACCa0H>@$-Ma5!?!$9P4!2k~UQ^~IokNc$SHazIC6U6#q9`ki zOG2xy)N0B;o;jx^?1#20BJ<@0JQ){FP1ujKO0{{>+yoq* zS9&rr3QX8{RO;s(jkdpu^5+#uu4eMzE+aG~OSd?954jC*MZXjAkNsNXIj!JZxLPYm z61Z5UVi&~5cjwl6QGR@1DUghB{#wU>WP19=iD z=0<0lRtPQP2K(&tMJ-LUpKK|q5Yo*JnluHyoCJM8i7kgGQ{HX>D+5t4>=0MrZCW-& zyqOSlq+h3Y8$K``xJK_EvCb zuSUNrgILK&J+ruH`>*#bjk7OytaH|}{M=1wA6fTPP+ILT-UcMiCd>P*oYCUQsbgcaW@(Ms%e%5nYU(=~-=bTvgA$gN`ZDj7{00|@pG^c-RxsTD@CtJ0>%%x?cJw*F2*v4#-zhHY9;ntkyvOz=zrRR|9 zdaF5);Sz^kD4HpH|HA1mQjO9zzZ3Ci>WEN^n>tye))uOCt>@0r-PpC!p#F7_&&6{jqoAet#@*4A~l)>)BFxqrnm~xfl3RAJ(t#MgHZY(wm$Z4WF89; zF7G2N?*|oE@hgGat}P^8u3}nWdBUbv}pSxT_JX);i<$ zUf4-iGmXSbC;=RTn6xlrMI%?sTN@838Bi%-UWsjnKb)JK1N zSS7`>I)x**ku9g&OYl0y18hs8v9w+TES}zuS;qEIWDVs5 zGHlushXQ4s0$a%wJhHRI@RX?=JM|o^t2Ki5pf3${_uP{{yBj{%vwW>d5)0O6w6b zqBCP$?)o4vHAmO>?~R-O z*j6HBE-6n`^teFq{T&-p#9t>4zRr-3IHPF)&Vo|@1&8tA`lrEdjKOshgCi5y=j3la zJUT5-ss=D` z%S=v zQr*Y|iEhlpFLYyxqvt0iGiV-}o9gHcNA!6RD>M9zIx%*ZJ2%w{>+M^d#s;eXWEZ?b zvI~7}Y+vGlMy!c{K!D1J4NQI-IfT|g1`&UWv(XqA%@i)oyD-=gioreNY1BjCfWudr z;<_cZ(UX@|)e6pq(F`Z=wkN%(%J&dO71<)67&zfvCIY-?;Q9hsuM771+5hjs-{{Pe zUCX+Un|zuyCd-pxs=GcX4KMru^YVW&FSDftVdO*a!n|zH=0)SRJ}D%!m2N2o1fXLnOlq9uVGPdA6!aVtN1ljQ6VJ}HT zi;}k~G}~pAXSsZ3fd`s2&ZISrju$YUbIe%6XF zWzRo;`fdOVzx0UAziWcFBg>O_c>uDX{<~Q)V)9bopRIs$-#=-5hr{ny06_@>Ms0w@ z2kArf18CN1Tb^#t?tFpqfnk52e)^}J0YB&u9;SLlSR`iBNOI4aWFAcYxIzVWCsP{R z$Ls7llP7GHlnz6hu*M(PN!VkPT>X)ki73>dU>M^5jq~XfY}*@!so!~Fx?;s2)xhZ; z8!yV%bbaBSlDw0yPfH3-xqsfAub=<&TPgr>m%l%&;QCAP+VWBl-Bf>S?=x!o z?E5D#IU&E!<=A!eU?tqDX9fh zNNA5KNhvDL5TjIGA-<T1)Dy-_#OL{gu>m_g}STld0uj zw1oxtJ_4!yY3t%q|2UKEMt}f|5ENG}b6M)^WwWPe*|Ti+HutAvNVTkw{>-g0s8ytw za)x$u9GlGb`HX+jhJP;Pys&)C0Zkd&m@e!hX^WswCPNqDE7bP-^2sjn>IBgR zc_&)1(M)3pz{#*y6*~#G>OV_1+eQztYR!BfYnV5P=MtWJ%3@8(*;4`;0otyvJQ!x}GAsPnUm{V($PuK*YantKMaysDhEn zk0gZIQ>I-uriy@KQ;)F|d0=gn{HxgKyMP9q*;>d_d-gZ0?^wFJ-Qr1xrEwTxK*n8A zBd!EvNCQL++q|8B_RJWpB~T4_W~ex1CZcpFPcSb)6&JMQr5s`uxEzaDpvk7XjK}v% zHn}RvwQO<@j|1g@q|=wW=g4E{?qYKF8vUb zVV=PqVcq6Hi6bYJg@haPZvK~-Ndbd;5MSQhca!zsP6FwT${_77B z{$$H*y9xqKb5PYb<|^N%Rw{zFi%z!h!5C`77^v?BfgZe^7s0eQ>OPS4CLceN|s-dz)=0J6x>CrJ%?)Z>+KDmDXQ$Zxm#;o+vIAC4 zepPX-Fq&UolbOhw|0{gmoDFcGC~D`N*p!9AT9WI3cyQ~oujj!IMz0qzHQx7o!7%}b z1B8p3#d51@foHRYdWtkmtSP!8lD2SIr~INL5zr~Rz+T;+We+znb^ByTPoE)M3{w=u zDpF&a*{yOUT7sYqwtCykgwS0#(oiGPoAB1b?2(JIk{;Sz*Y>YRam%ECHglZq-Oa_`vAehF9V1iy*gJG0e5jyvW81k=kEmAP zkEL_;Omx@ZegWgNos%N1b-HtT+c}$CNp;R_gtwW@X{K{tV!QR- zYRY!Qt`iaj!anaaT>pSCNy43SEBX>G2Pay89`KS1Z~KGHu)2*j_y@g4w`Q)g?_DfL zqu*serk_etFA_pK7=Kw$M3XcJX__P&thj<(oSIIWz8a?!=(O-HY;_%SNp5e|TKL8w z%{R<;R_SG#)-?`)QyIQVj{}HnK5lqRJ(YG^hOrhSH)amgO4Zm7{VU!7}t6`*c$h-x{(ft8j%i?OiehaH*CkcQw=s!^gf;T+)$b2>!ODWm%kw9597F4W>-3-w zuJZ_Vx9cGSYX#qEjS33-0xBGj3lfL$82Xh@ah(yz0oK1^J8L$DM=6=$K8XdY0A_!r zdZ|SKK^|S{hwh89b92RtpOB$B1E%}bp!ymOYLGb|_Fwe{JiM~iA` zSS~aif~iov#6sF+{I$0D&txi3|7jIIP37U3*zuyLD;PK>Yq_lBHLw+bd$TKM2XRFe z&xVEqtn;~xaf|E({kyJ(>8>3?C5F*Aozn+>1$(h1C!u4w&2DP-b&12;<@fU#ynD@; z(mva}-8yZLh!}c-tHsQ+05RxxEj)qPklE>0>OsOqi!IuO1E`5D+L#~SUja*w#WLXg zh7U1cp+z~FiDnzS=9;>H*9L=~AW5Bd8*?phFv7YcMjRQVtp%RhR6(Trk5-^ z%!Y%(D^Q8OdffKYjo%O>m|5I%`=Z8m+$>5b&g<5ck~+$F0r7?n>>~D>`Q^F5tgn~B z2)h-TnKEP+isYF}p(VXXM7Wj=c{;gC;^kWIq8XA&`}jcjaq^mfZdh-Vx~4y1wrtA~ zF1%GiP{Mn``ma~kz$~a>&$+t6kz0bVhvU8YAacOF#)|w;Z-)}Y5f^l^(<3LYghGTr zdfvDFemAR3)z)I!jewqPJE0$3LBtgx&3w8o4^HbsPdS3BVYZoh8Et4=BIDb!pH81_ zU@SXUwQPoa!$w(uD@F_HCeI}{?$PJIh&Y(`WHIHHH|iO#T$^HEUYL5d!E zut$B~06XLUS0Z4z0Hn%R%!?gGLy7FhUp14F{%F_pnoI9FqsK@V<#&buPsYDi90|j zi3=E{eO*G|zL}Ij^uxzVF}-<(37%lQ%}+sm+>=>RwEjHZNJ2Z^C}&3)+U6Tybk(H2 z^z9^Ih`n%s)ygbG7DOX46keD83xldm3=;Fy9k&!^<>nsO1uGYI^O1sy<}C zut^zfIUqGTBrH!zwJF%uxJKedqlV>{r}I;_fgp`LtcZjz5a|;L7}J1Yh<-+UE)th< zsPrnZKgOexbo;4SSbhknzPvKKMjRoco^7gFYYwJ=IN-1@Mz$L=yhF(1suADKOHVNB zC=xQ2uICvuE#A~%>pTWhL$D)%BQqU^0`~N2I$e7glf&O7BzNbT(hnDtqbXyCefx1Q zp5(}KzJ&>BUGXm1SR#TtFkS&&ksvBgP{B-Lpv_(nhmR31k=lI;F*4wzatO(VFAEw& z$@;K=(3liQ4kw#;d*Wa=8}U)+Wd;(Su%z+A+y0F8g!o-h_FE$t7U5NHSy7Es>1NYR z_P@AmEEV){Bi^ww(i*&v)1iXy$Z0%W0F1E&+=Iz{dw!NzH)0BcJ`Q+Aakb$wUdcPj zuK`6T*3p4U#P_a1DiiWG3E{$7&%5A%1w;pby5aTQ#T)wd^hQ8$aJvVp=!$I+S91lG zxgSVLBRI)P4rdo!vEZ*O!!qG(zvdN8N)Qw?TCy30_SjNFdvs!rh^JCBadvLA!+?G< zwI`H*#~S`8Y0pCCP<@B;%*Z0zDAiJbnby8+7N6i#sML@RuW&EnI~Z5PUZcG$WeQDy zYr?&d-P*uOB7VTgIPNK#uBNw`yw+kvi?31iYw$`)5I&E#gZNRFYDg;PktD_( zV&L#u?Rs=xOY>BwP+;}w^~0AEFP}VCU9_Hsu{RgPm++ZgA5@K1$ePKUJpoEF4DA?O@`LfMg5 z812mq0nP!}^PViir;didc=5`v+JVWOtg0Bqf=LqFUgGx+a^TsqdzGe}50hEtRX>J! z*3bPYI@x6qyXt&1-?5Q~er-yfjOqgv#V*byXGIa3aHv^X^yXxX4DcW^Stv%eeg`$jvA~prBm(m z{++8v;!N$|Q)Qa+G+^iVV2XnXyS8?QqJJ6kl$tfir@s-0I*e|yI}_U)Blw}TeWJ=$ zZv0C1*&?{85d@pDDx-tC`AR&kK6cC%#;r4kl5ePvAGzn@`Q%RD3y-0HwT|B#n;v-W z8ngj9UQ+tDUj#zJpokN!T$2_620Y8lRzTa3gGR8^v1X%o-0^di=?_wXN$3Ek(J`F< z;v5^}L=O%aEL&o-1?C<5yuIX*UZ-g{d-FR7Rx@(;2n5*`w^64A{C<9Ejm>n#RFFKU zx7?{n|FT8!P851?ELA>#)fv{^2e5pV_Z`!>p_~yRD|Czu#9RMUh+!W1y-!Xutr~yvd3EAVyFQQ)NO{SW#Z@T)BW}#zp6U!<2{I65Fm`MYe`L&Y{FR zlQ9ujK}CJKBr7WK>Ue+8D9>O|6LsKS-VjFSJ9?@JOg*`Y>JG6yPu-7ten~$vm@-a2QY?>gq&VLT-c<}vgrl{V?VF|YA!(Ajl$h& zCc^up)d<|ft^TQTRY|2A#=cb{jwoqKXD8AZJlAyvaN~`CLMoYAnJn1TUY{5~TPn+W z7c1oDybwuG_OqvjbD0N3b3G6t51tYFWtMt2y!WFla%IK6RDluigk0E2sX6yW4wGQo z^_^{iJ=B_`rYqYlpP8Q~IBens{fs+7K(_0L9{5px!B+^kTZu-`nfDW*eZ@pToevN; z?;3D7ej8SQEs3x{>q!rZa3`6Vt+3`BF5*s%5n?rTQ-irP;J%{uuZ#e3DyegYZ z1)nB9C^vo&Q-@9KHWt~%zE-oUZ#!tD-l~{WL~M7cy+$4BI8)E1 zUT{PlY3*g3;-Ym9w00AT1>cv-+BA;eW%59OxwzHZ$o-mhk@bdqGN230iJO{{JkMsq zG5%1i|Cwq9UFwqF^1BZaMyai3(MRlJk|2Na*zM@PNrUioJZ0qaXo#5da`!XfyQ&5* zuKGFa7$2O2C@>dla6Hn)5p#_(^w6{~7h(jA9Ss;D_j-sJ0r7~{jP)mI9yMLzhj;dW zfktI51vhh9JUkH_QEq*1Ku;R7B}YAuwraMqjw*aLEL9Yw3aH2UA|)YCs+a!L55@WJ zqkVTQ9?tzrs`W7z&_2e6M>L*GY-}6c$;eIxNM17wMAfhmS1Z^Z$2okfb->6`Nh5vl zwaxD>pprCydTOZp3w(dDAkAU?i~cr$BR)G3)=29`!{(ytC9k47h`r`-El&8R1o_~% zz<|0>FwUH?(jh6T{US2}?OKr*YdlsHAoRzd3v15lu;me9m05$Mejh1=J}aN&VNjIn zN((slPb>shaX=eb?CKmeGI4nUWTgL;wda+!E55heKrVCIW+4X)3}#$iXxLqU)>8Eg zijJgEeFTkCk!NXl(+Liel3N^&UIQ<2!GUOg%pMOJbGVeD2BscgGV6nu+_B`2F66#X zC36Baz;`12CGtjUE}1ig7bGo8)5zw??y==0WiOTj`;4nj$z4nC>O$_@Rx$~Mkgb$W zZ>EyBm%N?LYjXG)i2bfmb!jett^{mnzy#T;NnUlXEx3~5=9r3}I!Lvj$Mz(r_T(k= z%6`+3-&W@lt>mxWe)49y{itq^-grBDKVS0PuhZW^7&y z-Rc%Nl2BOmCr`)hQ0k&u@_8-Xn>3?T30)IUOTHB`z0RCfS}mM?8=oVV_RQ+U2b+HO zZU_1751zPs2(<-iNWJd%QbmIN`TK zOc0T0Z5YV=q}t*E4~M8Ts=SKzGL*tJ7ZO5=WqLF*_iD?g zuLuL?w~69HpRPfWv$YK@$+x}|Fvcxv!Mo#s0Vnl9;wXI-4+d(P zeIEz{;T);kj|LycdT-4&|p2t?9*8732k5BAIPF`~Qb=;PJ-lno{X}_2&2&21H&i-Dou6fPklANG)|^kXx$_(L`GAve zbA6UOz9GxDsVZ|Uj;1TiVAg;gHCwtiW>*3MhP{9=rO$FBIFae1kL~LJXuGoQMtP3XPnRHn2q6ybc8J?a?%WxS4aW1t(;upKi6L?N`_5Vaf72a<5R#B;+*Q@R+RsM% zSzqmEQ|c#R;yji#e4jhoh>vZ4wIkH>BKL(_*fwPDtNk3LpZ(Q-4!WO#@toMZo=A;8 z$wP1e9l;bv5VsjJ?zZ6~a@t6SuneXCGTZh1!x_nc-+pk|+yaI)r(15jLED{f>lzc1 ze6)NYnuWJYKE5ry(C$X8t!=o%#|?xM4x9X&aJX++2WeNAb{A=v^qB1g{26O?-SC`OUoT>y3aSE*Tl5Q*n0Yep6&n{hYer?77o7B7ND2V-NW z(SJF%&eoPV^}miyH|zJVj*Vps|7qE`pi252o5>(?QW9VnPP?1#F5>sv#7aWayUm{UJJ|HWvRf1@dWdK zz0buDOnn~X_5G!t;q{PLNopn5kwU0qr`Lv5`TE{zi7dC^x@qb`s=zh2`DOYRxNOgw zriQjL1R`aHTge7|zAv|MQ{BM|nurvgqn_jnkiH)r>a=E)gk1BsG#pyU^vCbomfxBx zuXJ$|M|+KL1PqN8<7A%FdA^q2_LUQ zQvkY9=)@TnI8FUkE^woM|G`sj2zGpzr#@zXGlTr|xCEEC+}b>gZq{0G_|tt?3`)I) zjkRTH!!J4pk=d5Uvk*}11z;GX$^wxWbU?;^^QLgz1{k|+Xx<1jJHu&7PV+y1LejHF z&~RS4{OsD?NkOkzw9J5Wz>Yo+>1&}-rI$x**jeaHjUJKxIQ?_-R&D=P)3ddsMHeN9 zLq2^Q=h_;qvOSgR2Q9>mXrW760NHFhf(kLi7xbDqbIw)W@@&GlBei_DOEL#ex8}+F zn=Y9Tb^m`l)N>u6hpXCa^370xH*>q78LY*cMnwrpnh7~*x{hJ4*-^y^?SWzcn(b|{ zL!2K7tDGH!^B&y79yCT`#p4os-j0KA$zF~mtIySa$Vv>uWJ3c8i`1xOA{+#Y z-8Yjx64-a{DZtHr^dbJS(lKqZkspcA-w+kx#B&sIwnT5ECs*2%m8uqhT~wE@+-s1K zdShxojk7)(PTjxL?WP>=o4x{Bp_~C05r|8~LJ0fkdKf7qb3YA|>I9n7;Xe(>-I}HG zgg^0JSG-VDM4q9_=43`q+@p#--O0P5?wHWOA`i--A#Q@bL6g0ebCU&Ln+tp9C4pSnL@nrlI|ECTk#H z&ujkZ&lNrv5#x}iPve3-^Z4D=IBym2@sosi$*P1sz+)>T{U~?c;4VVsIvB54#4A&F z-vIM`U2u-4w-&dWLEar7DG()Ho!X7Qs;HoLlbM!mu9unkr8&BP%>LaU>h+uV6JiP&QO~`_?JNs?0Lh!8ngSX3TIQMtayFd+v&RN_K@iiZEjFPY z1~^%g@a!fg$s$UBA+X{GTul<0gV|Oe*wD($ZpUW*FTL4kAS3iM^9TAkFKl!gQj!Aq zsVASUPD%t{1}wEEwmusZ#(}Y#!&H2xNWt!!>~OoemuejuA-ol9<8Z#D z17XvQ(>=}qR2Yj$07?Dt$}*gr=pZI%_zmnw5(Nx$@N@Ei-t>_JH{RjFw37#%95zY3 z2enMZRSR{(=X+iQy|BLIH-qdZoUGG*;pW*qB|v+{!-CRRJV6KmN%i4gdCFY3VTcTU z(^Q%xfGv!jc-mQCa#I|`(47^O-RbNnpC9f39FrRpG9J2iqS$66c$8-Y8HWVpxfWTb zfvw7q(s%5C?A6u#9E+=}7UzbbulUPY+!WZfVDsSvt%RsGZZ1z^;)A*H0zOf%OAJ9> zJDZpq0hQa1?94Xf(54n^_;a+(Z|J9ADWN+(H+W(X=WkvH)V^c$@WX;u^ZBJe;vBhKP~yY#tKsWD?17t+6>z1?KvI zY8V&D+)l#fz0}i2K&VVk9%)bI*q_j6F_?e+p_m`q7&TrZ?{{~hb%=>J4ln1tC=+rj zv9p?gJu{rwhUjE(t^@M>2=?VGbRrX_uf%ih;aV21q$k8XD@p|~$-dK9{>fsuw~(4s z-n%r(kK8(lb8|w5SUMI7@6hq(hCcqZYjXY5cTF?G18pF0Z_dd1JT$gG4)26)$~3PX zS-=Lg*>8=0akDp9625w{bANL`5no3IiQmS5iEP*!qf+gc3ODedJ|HCcv?9XtPdF`9Ox^>%B*5VidqszxXr^v#q9%s(vU1szd+NxE~nK??bbs<$bcEdQ5m0 zDn5!B)}Zxw9}o*}3}#2!YUJby3XOb!Ls_#nJP~|ie{#^-bDgCIk92MNj`NLp^bnH9 z=Nvvt`tu`8`yjdYnZuTL8t@Q*>TZ(6-Us~qgib+BasrprB2x!0bH9Q#gA>|Z zc3(wYBR(BeVRh7OdS%Z* z0;bwQWL=!7!mHF%tu2TcVn^Trb;wFC6%2gka1ZLUDOWc=&V?12j9L@!=`4Y7y@;I} zzp95E$g!a~W~&R6m%oDvYPgTsZ4sC<@@E*Zu638{LRAoWzXf^5p=on}#Sb7UJq@Md zWFpSq?6>oEeWye3G3W#;g&(l=I%%;n-lZx=&7ITHTX>2#Gr=p2^kc?AU6piu-}E)V+L)0QIo&n!Z9$u{8PoAUQp} z*(%J~UnAykp$>pbI~9Eb3yoskXeW(kh~d30tOO-)MXC>q6T-mmvKdbZXhXa}L>iw$ zW6nj72o3()5t&0=90z?&ZqC&^>sEk&%6?ozU?mo8zW~7|A~OI~x#2NV^W_3%HR zxvH8;tox@kijVr;V~J`oL}K#kgf9R3)WV9m6!UN+nMflnHytVc&Rt`7otiu5XGt;DiTku;LCiDuB9Jv)UU1ss z!;dE3GaG7wcl1%~6kSac4F($2hjpyRHOLaml187hMgOUfHolz1h-t52v%y{izfRWZ z^rI}076~Qv#=5copeJ!&X`!k3f$8^=vrsr~tNOEl(9H-HCe;hW(7X;jU&mc>zP`+~ z^aKl7qrP?2!rjRh9Bm)x0sv&~wg_P|LrQ04`l(uC1Fv3?j!H7+YH|<5YX-AlA%k3m zbnBr9+0yvJHPVZcMQH#cMtjar%!Qay4;ZNP7@bAj61?)Bvu+XISUa=kW(Ve?@j)`3 z|M=v8ZJ|xVn&N2%XHX(eDV=wR;+iOD{*?{-rn(FNT^?%6 z_61Qm6M(hAzx@+3suBG^s~GNYZxsWSy=^E>0%0(%npH94Nnz13y-_iY(=GU(<$N?K zs>zFqLf$(S1TlD!&LkVhxGAvRKR-C@0@S4w7!}_fQRzV>cp>h~6=uPOKRBI>|8(kq z=XGOe<}%UPTe2%QPq4Dgh9D7q=+px)kDgj5@hDCN0P3D$LUb-$LJfEXthhB|_kW=U z&fbc_1d+Dr0+7L=d&@`t4O|oPUMvuieg)1=yHY8}eAtDjEYer2HHtr4T z%ah(I55avE)MtOSORXET;pbH&T#0mlEh&Q|5y*}80q)Kkx$_fIJz$Q{l0|7Q*+X~< zt2ks{4Q88h6UOZ|SlSEk&s}%mZhD6~cr?jn<&KOH`J~-V`p7cBgLkMNU5hTL2M%k2-a5 z#10axR4s}5#-tk(?o4bVj#h^9UI_MiD)g-&Vr786F>X0>oEUgGSZB&4DOOy6k#$P-6qR@228;0J zIvqxszt{QVJR5dXQ59p>b8M{)+S>i&3Whqal;0h*5s{3{$jYgo4NXP}geHiCQ?0QH zc&o(t#23bfb*Dx76Ea~!N;Bjsy)-=j@T75kjNopRm$}%4;DL@Y*jopG1|J*Pgo8c@ zxsMVlXv+tFhsge}DUt6#IP=BT2RvyToA3yH?r(=oVlp#hf|=S8Y=(@ro}R7ZWZw%* zlb)klv;3h*&_kThmRBWhQQqd{LxH7ve*;`PdhFuM+rM(kP(yw=J7l^s6#;At5{08% zB0@wOx~hA9;XIiwOGGR&# z5vrU=5D}_=Z0gLN^ee~129@~$m|B4be>OMK(8m>Yz7*>JiI zD~*EvrOary70G$RU(fk-ge7TooaGeV{piKwoj-v$urF@IXt{}zwFh6|AOg(-t{gFf zo9bE_qYmTY)Kk8Hv6@`S(Eh~U0`>?o*6y7aV;fo7ux-iVC>?ANVq)zJGjolundt3l z8=<;eznAu9c*pxvm$v@8FIOBa;ki2(o|IJn{-ZQ*h@cS2u)*OF_FMY*`|bYIW?FJg zz{|S#bu;zWEJ^+9I^S)lzT_Jz*w9FpglP5GO?FXh)!vtXhq58Jn0ndkp^UznZOhF$ z#c+`qK~4`B{dyN?`Y6bLxFj(}MIpa54Mb)+U*Dp6{^4t|@4U=j%B`+)nW51zk;T1CC>kIXlkH7mh1nbCxEth^qgUM-3FP^I zMK#!w4xi(2g9s?m1zn^K9Eu(O8Z}`v2$F3Uj`W#RwOJ>&z@qTb^n7#ed=vWPl}y9= z!$(eNr9 zo@eCbhzr<-oJHo_H3^jv*>BG1vK)QGpLXT+)s6Uym^ z(V*#nSFNcJsrs8!HAck0tozp}r(58WOHQux7~C;OPbts@$*)E)R*{gn+Fv|+vb4`H zy%C$)FEW17zwfulq)gUU114+RewnP1mMs+ap-#C_eK*Q#bI_Xtv$KYdPQ*MS%h&hx z%hM5exjGUF0z3dnHRNgn?+I5U>#GAK=M8y(k=(oIk}TE)X?f`gT&4?=&$-hVN*1w? zWr^JLAUj0)S`=UUg+3fmV{=YU^Lz?WO^1tb5Ak1gPrIahe%5yB`*H#b(JWhg8}Hw0 z@=Ba?3eAQ3V!d4Vyv^=wNkC=`1SWKSZp5 z9U%v)dzTDg_>q|uPf1EaHeKs~P%xaoD;VkRrSt9B2&NRMb@@9pP>x}uXESuZo%f38 z9bereY)>t79;P=PJNpPkwD`;L67Z>MampmSZsq$RR#z2`SK_19C2Q0KYlw&*_K| z?R(jyWSVz1Rk9!Z$Ww8pM!++dwqd9#0+{^DR$}R-2%^{E6PwZy1V}7@xQLQ^liZ8) zvizPa{>m;qA0dqBK5RiT`dSOXpL8B0<9=92VI7eD`|sb>JJJbUnq5o2kVi!UvK=ujAXEa> zPk~8T!p2{3AWx8t$t`ZWI60K63mH=Ud))9c&K}{$=ofB` z3Y|d;d&G?~*oRH@G?Cm)6$sHYb5eLpZjO8U=JO97Lb}dwcJ$4E>DQa@Eq(J9XPT1z zTJ^?%XuGne#MO5DgVqD&i*$8Y75recJCuI;|nu&jPv>fU>_hZ z7Uh?L#f=Z&cB|74jJr@_YBwJcq&F~U$?yp}!;rCH7lQkLeQHvp^zK8UIiNfMNVv7y zn(}IZ)G>KaQILw>mfC@Mw`N+9pZ3DWuvw?(PJ6yV5o5*g35xfsSy(g1rHX|+y)UX- z0aoupi?xdST2d{Q3JZE)R;|)Wt+KvWR7<78lHONUtHN48P;2N_^|`jD`d-CCD`usU~eyUVxrOf+#s9N?tc7q3XHdM8R z7UV;ny{ogO#<;*7!m;;E9%H%-4xp+?e`b1CFLvO6{O*Q3Is5Fyl`MCuhv`=8OEsPE z1B7$c?(I~Xtaq(}^m%4GE7XeD$}x>K(vcr+QgjC>-AdD)gKTX#cCrdqY~T^hT7t*) zz1%S|x>k{J-=PmqEk!p0qMaH;V06JX{e_QO?|8UBWuZzdW*zXRjQ-P}yfa*)!Kyzb zTen(&!3Ebv!ArXTq+u2VYphq=r{inO%i!X^*QG_iG@9 zKfJ?>9zz<>$BF<#eoTESjU_3B@(xto)-UXTGG)R?a#WE`g8uc)9`mqcvA^gdm^aag zj*f8ob#}#M{lTsuOmzF*E%Fq1YC6@9es`=gra?_i6Riec{?XuDz-ifSi7X@A+1Kr9 zi;A3foa%_$s)!qCxk&Va^!|gE22bG|o+8c>=x(Y3ROQ_|S& ziAet|t~N%{F$s0NCl@v)!P1%Sk9@;`n#7`?-|3jO=n!{@$%=R@VUt3cjtx85kXLuQG@Ndzo!gBM{LlU5NS;r9-xo2rvL#h##w=GDgh%5#@{x< z49saIpeZ8XX#$?>dz$#A{7{O2LvnI!P{r<9MaR#vV#ja=iPLdGhD1S1#UA3U8I9EA z4SAg_Pe64?@};Jh9Xuy89k=5(&tqK0dy{64 z<&-`Wt|1nm<7-@`J^BQ9K;tBX*)4x$xXu*>3vDw(u~>69t~!oM(W}zBqvc$u>*W8L zb$Bw24|`WQ7E3dHpVX#*cOJt$lt0z(ra_I}8G|R=7>;dp+}6voq&Su_2_O@f=9uH4 zGb|}43`WghfME?Qq?qj8t*YC7w=Rn_(SJE5)V(Pf+!iDBg7Sl@5d7 zB}WmZya7B6p3=8}DP3KI%q*I!5gq0YTYBD7fzTRMd{V}T5KmEmM+pKw<~AkVx@e!N zptI}}qVC`hH_ni}&t(->l(RS+tqKeBr%t(nmPv^MwEC^SASlV#bHcoOk+NwG@y1K*z@dgDu{FHqtfebFz@i!L|Y}c7OMa z;ukQ5U7yEp4}9bXg&O9$Q&hVm6%N6G(~rz#)SQYyIz@Xza8$C3npZ$ujH>MX%SUKi zm;QMfKb1r#)z$OqCq%-19-e(`u<3U7LYJ{Q{p96ef8OXYpXqUbR{P|mOCs;Q%$Q{u zTW$MqAJM>n);}*Z&6ZjJ+ebBUUS`fRu#btCUwtG~Xxk2o&P@xZ`&w#3^D^@LR3bl3 z!2(Z6DgUsXZ|1qyRMJ4aNRH`S`NH|=%4#4bfM!IT9S4Kzc}AhV(MjeHlUmhl2)lLF zP-}JSLZ16&!dn^z1S3*XVGSbi4=?{k=LQY?UV1ox)2|Q-`*-vGStTU3z1yF?MgTtl zZhQ86%`9wp#k2RzCQbaxdS8QF(7$p@#~InsPG{(wVUoM`8fOzJVoV#44D$M{uPSY+ zmT=Aww_ZNmMfh^$OM6~kJbWfh8KFb8B42nUj}$D=ZNn(CMe$9yNAUX#WGa~AE41=s zPev|(lnLbo^2$zwXm*?WzZoG##w}WKC0f&xqNMpqY#Ak#0twYlVJ}KYn0L5W|D zSn?+dLOSJdYi(%Pe;kRF%+cOI+XRMTiKYDa{*fO_8@xB5tyt`#(j!o3ydZbk0`eK z{UL2a2^Sk$x-KPfSX6lb1UJZ_dEm7Ns?S@7zp5_0m;K>UJ?v+DD2ap zw@oJ_S3v=u=LA zS@8CF44mt7bZEMLK#D1fTtlN1P#v_`VT2f|r2{8`DJU>H6rJsw|IblV$sxLoN?|SIe)-7M zv0|6?T7Bk6#zDM+0N~ju$>h+|fWHM~(Y!Oj1J0+RQ;%GN$p&5i5R|<-FW$;4A3vBW zH@OwC(5sYP51|_gB@2F`Rp~Cnh=yn5OSr!h#c2^8Y zlf-6QBcE91vbA6a81%2m;6uC?Q;I{4%ddu$rP>8e<1%UZpa$d>eH)WL@6M?0`Zbp_ zt=te!E+A@E*;`x_IDar-;Lv-|`NualvL35)`y-Q3oEJf>k^6nFw2;=gA%)d-(#Lay z=M*Z@!#Ln#D*1GsH@@O+nZk^JP-^LP+=8dUy-+&E z5|?P<%_qDU6|gr9=^sg46!s{z=uTdVIbf;EM9iHsV@}-@DO!F*ItIdjw#|PcbZ@7x z{nM9BFM0YO3px~ycI*6Ic?w6ss?njs$$y{w=pH_IF8{|WeZ`?0@OQ!9ipSn4ejHCS zd}jqC3*T5KPRmrsnKF|}woEH6GtIVB8-FTeuiKefv@WdFAvx#i*Uw9EVTHy-A{(6| zs7IBi>hdy1*={d>zPP=ApI^oo#{d8DA3H8;S10MNcFuP7(i!@{{;zq!t(i4AS(vUH zL~xC)R)QmKP-75=wtt{0-PbKW7+U*xC9I4^kC`b$>?j%p;eElARc8t~LfIHh)2utd zMwCVxlL&c371q;ZAEvsL4vyHu$ZJ%jhP2Dy>`~m)rPC;hHMR18&R>S#hyELeEBR(| z0w}q{c0BEbIUzIX)54|4A4ACwq(ls7`*Mhx?f%}g8bEC%xps-Nqm7s63bi)_$x&&P zcM8r{RT0mO0Nt*@FN=tvvjuS(9O2nBL{1xKlXo{5;P3SSGpS=Hb8kj`*19Eb4$UR) zXjgc8eb}CRp|$RRSu+7Lks@-yXE4yrlU#@<)Cs1yxkmS4#A^$frQ?=GeOD7d^w&pV zn_%swZA|=>&oiTwff>LB4e!613GJik=7)J$82RHA{-)Lklht*5n}e5i(9f7@o~}c- zxvJdRV1WILz5^IUcrppQfa-b4mFN^nEVd_38kGdb>t_9bcN~2C0t)GVZfkPb#XuzQ z=hZX7pwVu?i*&X(*19Wsufx7VU?}+^%+R3l~rx? zchxSUE;UtUQ?ENV#ca1^zuLFD&L_>LD;XW=C>WZxAexKpey-kNdcP|wXX2N$QA>rJ zG+;(Tau&INGd-rtse!~UctdQ>);~R07w7fGO`SxPDk!Av;ij6BBrRHjBU)U&NuSyV zz>kli_~|GQa2yQJuX5pnK(nB*GGG(qHg$PAm}EWPLFrWVhcX@St-a$YeDEIkRW=ihm_Uy)!@i9P zK7$Es5^;W;>g}vb+fASRnH?Hmi64_ctvlJkRiUVfloJa*fbfk|M41&Ki+O;&Kjw8& zQic_OxNCnHOsG+4(4h-?})lA)Vp202lgDmJ6++%Px;@&^>wM%1|@A!dC z5+9+Q@`JH$esqWPa)oqe-_jaG)Chb(;;5%oVVq8#-vB@mjPDcFm3Rjd=5j_?aR^cfgc|8Wb`h}+U zULJm?kZnX+!2Xn6j2aSh>^*nE0OQgISFQc9tf<@-xacq{)bSQ`CV=7ZxJGl&IhiDX z6(Ih&Ip8dHha&~>u{r*7{cjAY_Piz7RRE*2BU51u&($GxeS3dYJy|Cy1_tI7kWlF5 zI18~$&D484G~L#mSg<{zBOYVuVWC6STUgw;1QRW9&ZlEE9!D6@m^xwWHR99tuzj7% z5zrC^{dPM`Z(YpDlno2h)bss-i+A}9G9()Ne) zEI3HSTN}8qhaec;Hyzv_fWtS2hvG2~D>2Z1|2Ffk7Ay3`@HVa2PGHC(yq{fvqVa9! z64~hs+&c|3cB7|&mr0iL-#9VwEDa?bwRt9w*UOC6d~EQyRF(Wy`Oyg#itiOnZXk-TmlbmQn$ArVHyU#bS{HHmZq>ki`0bj2MV! zQtg8r3$EvMLXK)P7)Sdz&WtaAHZvUVo2{O615*lxZk~`OD#3~IRl?oX6{O1qanZt_ zVySR8H0r8&^IKv|jETpQf#TYGiMt046M_dHCfskjylYF_z37EH=gJlKzIv6t+zt(s zOd2<(%3w>uX}BYbBNXh+mGRf1n7^fnCBewz@+*xp7 zb5@DnD_5~K+0*bkotI70@lw2Lycdl^DIV`6c&T|J8K;&?9kkcZG22suh8I+Gb!M7E z(V+l6K*GO`$j+gmlN?)9kwb}+<`W5IH;rWf5v*=O0}@RN+nAE?Kr62HGTbQ3TM$Zl zf5}9;ovkCG1)NfH>l5O*%pi98e-Fx9Dbh%YWGy!L-Gml4&_WuZGSiXGhu+UiNMHPZ zP;exExyif_mwvq@P*kR_D52Du^2A-=UOFMLrGCe1 zL{(2`d4qJ3-R%hqI~WxhTK1LeGW#*64R^9o>Br4Y8d%xoeVu!s+iaP2!iDA{8Zd-Q zuTBIm!sU%plPi)^1Z2Psud+U#XB23`FN)?CzH7=_8_j^&wCk)%n`Qr2Xf8_Mt#*SE z;adcV{9D1hSgwX+@W#KKf7BNGbH_U<43qy;*E_Qcjm&GWaVzfE?t2aou%Zm`*LSCN ziiu`*Fd-=!mHhqi7za_nBCJA77@BY1m79~do_2bj`n zn6+6^;Eon>(0`1noe_-Gfbv@zH!cVWE1qdYgSC9+J3ZrF;umm4O0%Qpd5^-pw*v;J zzru%qQY2%!&`y|XzwQLt&jVx@?Lc+_0n!^9S@5pE`J~UOAII+gVX_107C$`OYTL6J z*SOOI_Wg~oI%(fif0TAGj7%x_70<~v)$iRbI!Z2np8Cknu0a9ux*_*32p)NdI!He|NE<{c zKCNXGIO0g$^eF5-k?kjt@8#p9zVRnRZ*{{1JioB z1trxyB)7b5y^vvqk{kEZ57UOa$swvz7ujCq(kNF&q-k99z%}Sx8%es4*N zJ=W>*L}5;2fA{Z9n4{>`RdT98k2Na2!yGewu2(6ccQpO1?=oh>Ib6Dt zSH`^8Qb|@Y`>EH*2s)`S30VD&;=%`xF=1nb4nF}x|2wP6l>X0US*DqZ^jM;Xttk6F z#tC8uuAb-Un$>6uz4rg5p@s}q&36op$73I%ss7YZe>&aYpE4PMyFg?yfSVbV85bGA zG%BPaGW#Ty@RA`rXd*(5dEMfjCA&-?aFavsy;AOgXCw1nwXv9ega0xDbt0zc_#vPs z=n_8R@+9=|ws_%~g@`?$c47 z+WGc}8HROkF;=5}W(@DGlOfDTjIO%hNVI%1i1!gGktxwA?ICTIJM_<$M4{VN!eT4XyC4&846-BoF-8-eri5lF}trHq^K{A-!54yErW#Q2d1 zz(~EO276f^?qxCR*TK>}fKE&96C4M-gI7ZKmT7Nh7=_77zbY|d*7oXGC5m2&TylF( zf4bvBnZ37SnQs5fG6`wNG973BMVSQGR~BN~=rZ?EVS6iYO#@A)IxQ{05>2s?Kbzb$ z>qG?HLoKZ~9bBbo%Yx2isy(7wPr15yuIg#EZQ7evE3h|4xBR}z$?P|&_a;eSOJgi$ zYFXAF#DK9^PdHZt3c00WFQ`^|<7aA(fBa)#kJlPv+f_gjs~N*C^V;3M9AH{J0NLz6 z4i#_)4bJ#LM}ew0Prm^cgEaN83q$2~vdlRKf-C>a+m&^vtt{Oigx3Nw^Qaa=mNCH? z+cP4TRwqTLA;_UYwudSCD7J=vfe^{c-jJ{UDLnSrf*lWy#1Oqkva6u2 z2wkWX2izksc2+{A*0EU@)zYFSzgEIsO!WfvzTfgH?CH(nGDKoQw$}HUa5wqDhSy*M zs$QM6OYcGiJb+ver7mt$ys5>Cf7GQ--NL6&XBI)?=f#Yo2O z>}x5~MTtZO^kZ^EH)s`jzP3-ol$sdz575K&syGZ5L#SJNwn7T{ddD8ocppYNghz`k zq?8m|M91BsY^(JNH}T>?5yf9Qow%uE+VSJ%eHhlzmI@NTIMwddR6nS$f59IL9limp zg%q$EIarKM{7Oj#ksi8>rxFanq66l(8ZIyT^? zqv8C4jBi~?0yxd4u=zjaf193)E;RaCKmc7=A55{Ezeh54D;fZhv_2%wb-%7+ z307T^uB6*F-7JF@yXkSv9YU=Ee!7iAR8f;>D&mxN{X*6a7}~{(WnmpX1@;y|Y}7xg zzo}IBas!0AD4=^nDigZ5TWmaYGcE80Ew(Vek-?ca*jt&jmw_Fhe>J2T8j71e)R(UY zL{NG^5KvXy-79{WAA>-;r=;+^Ng?<0oO)m{%M-Fj_iFh4*g=oxv0&?FpI~73d49&8eY1u+<9t%n`BG1-UKVkM zJQQl0`DoJq)uso|#=wVJ%yQj&{xDz^*#F5}#=vkG-vii_!%JHpQmc*&hBgZMLsjhR=;;L%uBEeH3%l0YYc_Dp>TnpVT>IvKiR`3^hJk`T@;QB9h1aU=V z=6Q7x$#zuH?f}XWf7c#U#~RG%v|7#(I^lia(JweQf5Uv_`|^u;p%SlDR?RGJ>;sQ3 z`SX#Xc6vR@|Ij=~KCAso=ZnhrV+z$m`bf;pxxCG>C!OR_pA6( zGl3S9e<-jD>zJXx<}8=awb`u*&?uO0ijrV@&6fOt7qDaBYh?0aT`#2aU}<8jX(Hhs zB!>?}&({}yN;0Sz4M33}JEPznapZ3x#)*Afv|vNf?C7SNPNCN$C!n;)|8~F`&{d;$ z$>5L!t&8;IPrbg#T_58*B3L9N#>8k1$}n9we>NuQtJo*JZw$8={--C}Jb$?1>qb=< z0U3om)0D;DPFq__h2@fWXsRaPlN8Hh;C##H935!T(zlC0dyJy?Uet5aLw?A zOi>{1-Jc1(ZsA_dEI(ZDzG&mahOT#4>z@BE>)&Y=ch&?dc&k#?Ki@cL@&)`*^iPOv zf1Rg|hQFl)bXPcf=Q|pG$Y)k3)x{*zuwtuz);su-4(go(sMCGu?v8(^EAX)f$9K58 zXJEuv^ak=;r_X$+J3#7s(d1hr^aj+1cQ;H-BjhSWPKIztS17+He-&DGI^Xnn-j=4laJ^D#S#s)Pw-s`K*>0!G z!6qB4V?G`rqCwJGBfiHn1(NzCqYB&(h#6)Q)7}h(1%A=n&PiIq>}!9k;T`+lgd}pd z0>>+>&-C2V)|4!TQ9+huD%M1ZgSz;bghiS~5Xi+wm8x8kWe+7jz-E`0SUqs>f0T9} z{?^VCzqEG!r6t=6sloYM4b=fmRISSzChcmzuWEm*p~=kd@$908nx~ZIxzF6t_1s-x zSmitKu1cJWG=7d}0%P!FqlZXVU@q*F?psj_PsW8TIUcMEk~(Ff4L|qpr_YFJM*^jB^=k7Z?f6vOOCoOPb zz(#(iUDA)19x=;noaNnmMcLkzh_YGHbQ_@r=tghX+r+{9|JSy8xT@_yFf1M$Vn_M7 zUTX9Eti(X=F=CtaV{cu#F8j#s3Ge*0vL!1k*b=`rs7V&R-cG4cqN?T(zCj#xecQg8 zE-enH(!c%wn4LAJc5{2Zf1egFr-D9&spdDl!uERk$HTvsk9PSj9oB~!HrcLn97k|= zdM~jR7y`E|G(~q10Pnt^?R~HTdE{Ic5StBuFVHn(zjkSvmO^Xo#OPFazm>A~Q|tjr zrx|y0-6+>v|MRB)U#+b9v(eRB+kEHLpLdv*n?Pf^&#QlP()YT&ee^p}yd{{!d(m*Mrda1dGYTi8FLTSF4Rt!pZ%7SY!&2sorC zY-@L2M^|h){a+|ZD!Jd1Q}J#$?qtS3D1!tMBbna-y5g7a^8AdnY)Aa{+~^B?mesDL zT*&C?80aa%e>(6Dv=G_$jLE0mr?a7(Iez*TnsK_vqyvew)w2b>#J4x|Ey;F;ss?_R z2+uz?{2b{>NY{Dbv?smKstBeG9Glg1=CS@7UbF7p?9)G>0+rJtEn{liA#M0#1+}?{ zpAQ_;Nq$JH^A7DAI;2ep*v6XKKI$>lG!he8%vHN?e@6vPAwoz1>)qt*tz%H#_w{AH z6K}5*aEqLOvK82BYhE)y0hgalz^3-h=CanJEbnuBI0F@lT=@qxFj`>7d0*ni`NB-5 zVC`ZG`WHC%!LR%blt<))Yn*}Wiy0W^xUJIJKrY!Zp)tAk`814XptT;Zzx-huHWSEy zKjwcbe^AwVI>`!nr@-FKxA))8)0&;9S5??~daUbbQE0XEv_57hhkEu&7{7Pc^7ZOF zuHsXs2H{K)WRAx5Un}=IC1sEk($wwL63_j4SgfeRk~U3sacuQ{WM=r%)pE~&D(8kr z;?S2~oy>lJtP(}#^EGaJhAh-%^IM^93IL_Ke{xgIczpb|aa72?tQ4BiPRUCU?Q_T-E==F()mfI%i(dKjEjeCOJW3+qxV%ue6NPnb)+D8W+v=QO+l+YmfcQs zbqGtN7}2!fy@ysyB|!PC%uXh1Sy_*4nZft5^-YNdYh3U%5$`^>6^K1-ThlvfvHQv? zXB=BqbP))9j$^_3u*X@(kFRd<)CjnPe_~1y8S)8`#Up|vq*9voRkY-$fv@n0t|@6( ztzp`tOS*si$BH-JiSb6Qb&kEK4ED*OWy(we#pY3p?X6(>v~IInjnv)D(iqTyN$8P_SV*@k z^l|yi%IX8I-JsImBEmInsQ}ARP&Kv$FV#NH*y$wynH~oKbB?Uj^+dySx3t7&RNtqH zL(GIC6fpM$yZ4KAOQj?KZs~m{eBhg5%ETS*h@yN_{|lZD zzgKWv5;W!usBLOfpr&W2f*SmzVj$pDPX+0!O0{}9uJO8~R6}LGeyH-grU~||YD!I* zMCTjZoQe@;&5N2|d~NAFBgGd1Htx5#Fh`C~IL?BN8LNLj-IwZ+kVKqce|wGnB~YtD%KVDe-Brcg&A+Z#uCwB>kyTtO=M<{M{CO5R`B^l@EQ-y4 zdm3#i4TA&V+m74y=Y#*Je;M>IC*q$b+@I%`$Wi5*C?MgfIwl&_JXCV=P$A6?ST1{Y{MX;ih|l^UoqyPBG)w?cJ%g);1qG;d0ws0vuZ{Y zO^wbZf7X=Fk|I$?7La-R@OizCgvqWxtstb;{4(#D^2a|*KH~I*tJ#-X4*b2)AO?=9 zX-8=zs3SRwBLrSJfjq-pECh2=3~Mq2QD5oopCTGC!L-`F`mK7g8y<_AAO2MK@^^cs zsZteB@Rf=EdOH*oluIW?uGWzoJVwhrzpE#He~a*!;XgspSu!iTD$JH+U>JQw1pgguo@cZ(Mkvs1<>tb!ZY*zgH)NL4gc>7Rd{&toS*s4jXkQ# z7@T~aTT~M$8RL!$LO7+c*DI2E6~b_Ed$zP;a!$N*No5%Tpn3__kGWyUWnT=S@0m@E zX?6H+Hl6gTrkDdUXR0uGSgiqVvSI?sf9ZwX9P6w5!UVX{UnHbZI&Cl&xvAFja)V|w(cY88Fk z*lZp~6A-lD_M8>`O~gB7i{Cf}^@*sdZaOH4 zuwfreLvwi`uQ;LtB}w69e`p`tVi9@wJ8R>-szmH;Qr7m9YWx1n_6ZVzy;p~yTx3v~ zI#wO)BJW8IMGLq`xS*$HEZ@Kt4oN@ z_8GgJ^T-_`VSH4tlxQT6Pn^5IHjOQhviep7b)*Rb9;lecCWl+wf2)-rN>hLTm2w0OvvK7o1!J8!qo zt%4@h|4mRq^gl?DU(+d6CH2m;6}kJ=IGu2C%%1UF+PJfAIk7pbnMmtEqHOn9r7Ra@_bmFTYdt zaSA9~`psb{fNqZr*X1ccOd65mImL!q+e6fsz=;Xz_TH-{zbXYiCvo$pLw_ zJ|-*4<>O~0zSW)UIk#|slyJI1{pP%7QMSYrG ze+8#x2lk4d@&U3}jcDQ)Tc0{?*%3G3lN;?8Eqtg8#cW z8fzYf-y;+NZTsJNn?(=d{A{x5#jmrye|ViQsnY$$jQu~bC3I3{OWy8mNr!5DstXA; zW@~try0b*$VH>4|!)vy1ja_VtP@1R2JE3OHrCmY4`%GNF!zlfAgamkC80ezj!!T1| zOQ?4L;TUTrkR|Bcj)(X>>qE(jr4_-4t+22TTcAhojizl$CDFV{5s?9b!LDLff51{( zK}B@m@D?c=AGIefCsbL_>K8V*P8l2~dwC+YwK*#_l(yHI61x*A98XOI)&o)l*O_)+ zl7rK}?_c>KD<%n_b&-i>3gKPKiy~$$5e2|5Wx8QcEkmXK-u3w`nw|=4AYCp{9s7e! z)n!FXM&T8UBO@F?@v4T(fKmGze_?BiH47BvUQ^>*AC+hTVwK+U#qTYSkw7bao+feD zW}4I=MK}Glw($TG9mY^z>y=op66wJrGlY!UPELy2Jlh>hQD4twGFxWtKJ#U)1t(LU z-6`3V($B85&r;|D=PJ3!=Hk^@;W~8x9=)RIraP8L^rN5AuZ`@pV?%(3f2;Q0m!O&% zEB~RWJ-^Wm4><30*b#o@!dKjIR48JHh-Y;f=>36xecw3R&3is(Xj_A^R>&CJ`IZ&W zENu=bM-aQ=RaObhRU|JC&$V=>Q&Lmxlew|-4XeY_4)3@WdatnMYgk9MsOJEf@)w#N z&895s;uWoLfc?;+0M2>_e-LF}mpxpn3S+bkBY!oLy^PQ%ztSph9V?-L%$l(RB0b72 zHCLISRcJ27y-o`gY$2t8j2tGS2wv}}lwRZ2omVdfk+PeNG+gq6i8eE>BcZL)00?^? zOW(0m0{^LfE%+((s|fi7*iQJc$(5Vb1-xl0P^M-_GizslmME%Ke>09i=EQpw$$o3r z5POIUOmYT;=--_MVbsK$s|1R%VH0y$m(r^-L!bCMJ%O32iz6(>G{yLgL}rhbnTC|x zrCH>gwU_uH0BHakT_Asr@L&A?n2gO@nxn|~SAgdKZax}S} z*l3fVqc@PU%~61_8?+id@%0Q$;2^R(8E!pEys#B)1R?nMw55LY9SZWUm0h7W`%T2t zaIN1FY%#qxz%f^BQ|T?gMen)(5f zWwH~G86>*uNLQ2;pX}O=I&xm8^+&B^} z28Xk=RuwroM`7t{_cnHEs!l9GX?refF1_?uZ@flxHZ6I-E2oru|KX3-RTr;kUzr%T z(Rnm#eI*w=fBoBbJFiZ=tf6FH#JbUJdb9F|DMd#FecR;C9FJ(My%v@d%o`PiU(f2M~#2OM`RrUzpqIbZZph1c;k zmnV&Nz}ML)3AUa(Ei*cQpA)tg&CyGu9Rba{*>+`&a4;hb;Tq7zixFl3@$7EZwGoC$ zb9RpxBb;Ov%9&Lt_{@dNs+##>BMTp7zTYA8uda@nANDe{bLRU4kF2YznEBx}g)gL> zId~h3f5OLfUP&rd^uxkOj=?t5(aP6IDDtx}H$~2SH8VnWOhIyzX<3diO>9lk3 zB=_p@Bu_Qr)Fhpjo+p*ZQGAd8{Wb?Q-`5y!<93OQ9)uDJC-gjTg>O`tZ|HYEDZQy- ztxRO}uV5xQj&N%+dXN6tO(mF96V%^vDxqIMZRJx7u|Z(ypFpS5`-9w--OWZG=!~s}52b7Ma^U z3k{idp4CK(z@l41vHbnGAY zRI-9`Gzc^JnAXv!>-g+^QNUn1b!tLk>qdhLi!5}VQwJ)P1#dK{F&}a2sxA!#DC!`G zYA&$w*>;J?J}DH?oObzsFK1+Wzxkg1e@>wqZmhKO{Z5*X?>FC>=2p7-MowD(bhkM@ z#*V3ay7@_Vb$MgW5|6QaVVYjLooxU3e)HWFm?_#qHpq{KktCxyl>;iBl|>id7baPKm1G|9Q`eOE@%KMTB_NZR948JjerfJ$J*qMIrU@haH100f8h}k zqyTFFIKyf7yx*}YY8a%X*3O)W@;7fofPvaRqDH;(0vpM8(`RNDAW^fEW3z)B^25w? zH(c*LMNt8snd*}UZMZbbP76o zXJkZ<*j4CjAAq54^u@B82E2@b9e<;^!?$p}mW_nRbi{&*Qm}JMq8B)r?GLJ#fgUm( z+3uQ`j;J%O#aX{yVboFG*+#^h;Haiyfy%s6usp)NPP(MW;qgt$PtJ}$e|mxzCw{}| z0y305{E**_V@`7Bc!({Ih_K}n%+NYuosqHhL;UI3SmG4 z_OxUg@YY?nqD13AYjv}!GnGK0Pk=>-lD(v0vHZ#CfiJtGlj#cTSE9dv@RD2ky@+9nq2Wi)$ zdW4jE%kw`M1UUbJVd~bQ{2|)E1MR;745gbKg#t=@6!i~V$1T1!;cKb`fC@baHy+zS z2HmQo$X~bEC{TRDVIl3^V%EUtVFW3{&(8X zF2}dB?fZAyFJ{fieT>+Cf6=}dw>Rk##Ax33f2C__+eE{vfZz2hpv)Zf z@{_ONUIGCRNJ=ZK#Etae5F|+a@V`%0H0BbB976JB-})TIywTh$7`#Vjw~7kcHOmq9 zSjzw4jT@X7^1B4pdxW|*l^Le9MX^S{{vCD&JxVUysR#~zmVE0If7k92AT9~@D&YUnVH{v9{RZ}f9w0*xE0%L-dOG3%dK2nO7zPN{LnnUgarfwktoghp%e^im{%{hE0?b4j6hu196CDOUZ z2o*0>j+Z}=D80>jnUC;$j=U|srzPSV_I{i|)MFA01mkB;C4B;<#}*}qMrtgQ&H={u z;grD*xr$%Q$PW6wS`v#yC^kOsJQ$8w=%a$rfbZ3klx>JC8#c<-6-yX`Cbm*iSAi=2 znKcRje->2O@ln1wg@5%=m=={EgQP$YMa9Y4WEOoP&cHke=IX{Vi~$LTS_r-0*OgLn?aGw`*~cc z{sFsQe!vP5@VnWS^pe`W;LbrsC9>~G)XO`ji_xCp_%VQXvQA_;;z)-FS9&zor`^f4Zv1AQOu{P=i2~9N>-KmfWkn75cmO$6xa^-s3XuRy4@ddpb_bs6 zfK=0{gVP=WD{GEXaNf6d^(XyA6KR{P`hB}7FFr>aNU&3FUg1^)A z6-NpEo~<}?YpeWyd{}SY@2>5==AV-!y%Ul2Nf0FiQIH^A1HtvTq~{zc6c?yW{g5FC zKvA;vR>=1#Kvp%Z@80-2>GW_ze@`Xi69dbc18<>At>e2Z8$Z@&<7wIibUu|{XMrK3 z^>fqEg6>$KQ3bSH^6~oy{V}3|)N=fXx8B*BTTiExHjp}X*Q%Pn7I%pDy`vJ}oA8=m zIVzzf$i9hRIhdFJ+0pnP$L{|S(og#w32Bt9;R!SHrU#TqEFuKHJ!0Nve;~WYhR=bc zb^P#Yx~!vWBz&M+6^V&#Qp%+p6i8yyP25maA}O(I(t=jrp6>*!rWfBpyDJwkbDo~% z9gcDe3%|H2q8~IFbc(GLO8B&=JAA$Vcl+Hj5wTiR2`Vo^P8#|ww|tgE%@`75V{ee7 z=@cdjtUl|+f+I&eSqx`=e|ZK?eciB;<|t%pGQp}}Eb=%b(5zV)(ScsKuE-&@I-`S5 z&M%1W9?_7BvcFyp4cY8dm&>0)HZI`rK$z`wgFAAh5am&DL>4A6iy*nw5(d%e+nb^y z#dU6*737t(8}9uVkNSx(Xh8bHJ*%S3gRs+?q|~KT@CFpfcpbrTe^^ayL+;GaE!3G2 zEA7FGdoZVYEpx@U_SbfYzl65Mgpy0ZHe;GPEXq5Z78`agdkh8<@?k8rGb+HtYFSEd zdlew+gWakrp%nfq`%Q6&yhFsxRX{o(mqH(R5iu^y90bQ@q<*I)B5abkc1+7y3ZFC3 zMX2zXzy19_+o4Fge{Kar-3vhyaib^ghtht6_L+l2QGm3R&Yh)ni%>Ukaw*&Q{)Rh5 zwL|rw*ffWG&wR&y4CM9A{aIC|5(IVaT54<9S-lP$|Yz7wNut#S&s3uX#r+G>A6>gV*1)>t}@DaV#PByL?*&m!_hN1AiL zssagWncGBfUXEx|Zp{nl{wSWCNpXX{Sp2d-YY;qIe_IhqVqOCPqW)N2(2GzQ^qYoU zOb(dQ3FP8yVU9CIQWZ;M{yL`g;Zs?PknMuZnzRzt${8FGy^m|HEyvezI* zh!E#kP#x(_4G=Z=(K5CMT>Sp)63Hjs*&!oh(Uc`>%>{r}k=;K}C!E>g_;6KfW~7qv z+W3`7e<^7b(T)$_0+luU#~JkhT1sZC%Z058bz2@Gvo&%TG8^!Cq*L63t$;YQswYPx z&@rH=4*g9$Gp^~h!xW>b7T*)}I^<{1sTrT+UnwldQ1fU!^b(F&$&42;B8)phkhPZS z^z#;@H|cj@*dARUhGAVK*$<>9HhoRCVW&iqS6p!{+xQ(cR3xEr+%LbG=M>cL;*d7b zf5g{vd%UJOIDcPrC>7SL`m@Qbf6F_pHhT0gF z;j$!tH-`gc3y}XYlf1Bl(LqS==_+SfP3SG0qN)j!TITmX46R*1?v{&${YkeQfA(E_ z2uAx^0jb%bWb+EXgZ?_F5<)&9LO7MpohP1Y^J{qGz}}5EtF}M+vd@|XP10kK4>xrf zH#IrP%yh!_e@q<=2uiZ5WM3H`wNY$$K}rRzi{w5jvdULZaO&!Hk}y~Ir~wW;)n585uB1! z5}ul5`(096ThZksowNnRa;^wqI3!xoL&ga%;l_rWPh`p3H1>ylSHEkNZ^X8D$ z9)tl83nFceIStwIn?)2kkF>p=m7WAy!!=tsA_3pv`X!mED7qN|eBs}-@Q=q$BZqj2^_K0(kD^~G9i@o{s)mwp^f|R#HSDj1yWal*B>h`;8{B@ zV32aG`_CQje|Kj_J#Zv(sFU)RP{3;2SJhLrn>bpfJZ;5CUTu$JB|9cz7J5QIBU-)YrjA?uRe7$C8*@$4obM&=hrZlQMeZcaFQi^E)3Y-0hLYVBbEI``8p^cV=Mf zMaD94gM{T2aiqy}1?a_$d06yBBt&K(F$z}RN%1U!-Rt%7uQg?hC3VX?0HS$c<&(FRvv$N3Jt>Wz8WcC6D zFQ#M!s3E~Z)LST;oO9;lZ@bSkZ^1ssc}Vv>g7`7;r-IQH>LC`px8))^ zA!%BQ@1I;&E=qQ`cl*w^-Iu-jtYc_tq|RA_e`;>cnXS!HReZ_4ojtQ#IkPgZbeBG} z{#svoo;kB1BIzt9qNQgBwA`nhk`Jk{lPgaj!k#YPA5CYmC0533Ut!d_)Rtc42bVr$ z+Q23O_kV`}61M())Oh znhTGEOwQc=$=5fxDyxsCDYJ=|kSpw{4;7_XRLtirK=FN2WxBYVc@p)eIqEF{SF%r$ z4QN!#hC9tZG~8*X@Tr7E!_iqQD#_Xoi(HHzP`IWV?;#co?y`v%UVEl+{0=n(e`&8C z&jJ188n{?-0WDJJfNVmO<0d37KFE?UuK!@c=q*)5wvD|p&sSia?o=O>znTxTooB%h z=J9SUsV;a!N?Sw3L({{mjv@5-Zt2LWR6cf-^eL-~{|WZ2mQ>z7>fb{`jaGOK!?OnE z-J@+?U+4*?Eq_Ha&vUp2NB7dve?>@M<=;)r=!E@j@GtP+eR$Sr8)I}wLS{@$WT7pLApMLs$<$Hp(C3%e^j=cwfbO>Q4R0?(O_7@8^jk4kEG z&UD|Jc>>F&=t@oT1WDSScDB5cTyhic%H3rp2^qp?N zZ9|Yi$!6v@*#1FN1iELDfBqDY-vNzVWSjj-DO>HM&+%E>2oht8lAxaNb*YY!iK%`} z+r{YOVGSEdH!;e^V&H~?e_io&BhC<-5^HbIxM>ZhwxV_X=UW18A2U&WiyD?xIC9J{ zR=(omC9)lob>!#lUcL=y;BM8j*K>P@Jk4-NGi<#*hXyAxIS~BPai3MJ922GkL`GUj@;1!`D7s>M}If}^glaRBf5Xurn+Yw#_bBOZZQ$;7kjP-lZjWKoVapRH1^uOcD!-(^edeg{A8562IbH)<3% zN%+qn`}|{vPYu(_`f5SQ&=>jw;Y*ZO3V-* zGoxM35e}-P=&$DN{^69odXdbZHcDa*Mt->ddcd#Sv2F3|)tg@5hE&QftR+nA*?lg1 zWvX!5I~>hTe`cE$mm_T06z&Qa*b6|)*seQVe|aHAaP>+yV(ZZ94iqcM8SJ|n3rA|VfLTKB z+ZSN)({xe-cw5wAiYYIzQ5mLcj->$T>C_a|@#J#nwP@d^Sq zaGxL;{u@bfSe5YLbGMwS)(D|~Jp*<0r< zQMcUTSPMD7*)MCYSI?fNr)y7}jyam6NaO_&$%jS5ly{MJ4?uZx zKhPht=ESTC+Q)OU<{`3Ndr;NZ-=@r%#orV!lAyZF?8^0vBnb`93L))9D(bw3-;oVE zf1jyq@#Y9dI6WsJ*kDvC$a4^$#-eAySmjO}(^qsEUDT^9n@4r!{Vg{Y;E08^PSbXW zj?dQEW4u#bdmn6zdL41HI+wbD8NsAK*kXkT*u2m$2qaZbdX(JGO_o`>0j%VL5aDu#14LRlhE z3sGl7i@goK&5bfOumT(lE5)^(T4!QiLZ$D;QWUW2ZWFyS^HeHVkjKOVO!^#yhs|{PYynw5 z6_V02VL$9E`D7mY>utV+cET|A%;Zj{Im)9fFSLxP2O84QBOmg&#G13U-eeRgT|iYy zI7-K~d2+6v)EFT!#qw2SUcNXCkhNYn&bNPxwueixTs@rkLgP0KIBxDQKV#m_u-+#E zxn9Mi%pexeYvr26Nfs&&+dq%g1q209PgyE^tCYk28Py__klf&R;KbCF;e$H|5Fnsi z29ROj@ZJacpc4{@>vW@0>+lX_s&d{#$u)k#1#Yqqc^|2@C^g1;C(W<3Z|??dx%4m*5#UB&NswvC z+vuOYb>C#~D;H&$zwH~@naMgpL(&%OE=tDK=xo zW;ow@7f9rFW6;r$=vC@3IWdNx8NK$I%$9Q8!Q?L4PScCL@%R^bQ!fL3zEDGjUm=T0 zZufMp{an->ImH8q?ZIx@1dfzEREmxab!YJ%)XI!3%-{E@AYLIqg_#j-{ELPr?({OEul3N)Kb{bGRlTf)CwUJUX3pP!5_z-5u0VkUbq?dg?w>TY> z=522g!Y`J)>r|HGvZ*ioQjnyNws3^`yjoeqLO#7d8riNK2VXrsmEFoqHJ=6MBf5fT z3&}XMbQRSpZ@3xa7t4^Yv|uJ_*)TBEpPMWihA0|u?M`%+rn`XFOV{CBLDTwMU96Q& z;uikLOMF#}pVLb)01~4Z{5j}K5fsbi$oe&{ti0KWnE3JbVdI1!voP&L54~PCdgw!s zE^<=Z@K{ki>pmpE?hUNrMLwENlfq@LCeevQDkN7+xQBq&vfK89af9W5nQLIHG)s9y znGoE7GE+|eYC~-K%Qw0&x!gRR!q*HpcP z!qWb7^C|k%5d2s92{O%ivij5mjS`sz-WGlK4pBn^x#>WXO4ZM{Z#MUkfluCLbQb~M z#Zj{412z&YHl@@tprBH&(@n`l7Hbm@9d#++#p3)qvHuz4&?jws15AqB&2}1JjXQ2M zYh9vDNeI&zP<)o~|B-C6Bl4BtCBMYdri^4;vnQj&xjI8=T>M)bX75)~bV`IAWUa}A zx|YYy_MZbK5ER`v>{8b{%~6xo9HPFRnNYPiC&a_yD2S=+_%kK_DP!(Y!4@H&+SyTL!4(#oT!6iZJh=G(91m*(H7Vks3D2 zSmU%;w}G(Z|;44%EWct5rJ^rbAt8XC-i7mW8Y7KqW>p z`{;@gtf10lw^$h(V6(D02Y;zvXJV|nH56HZcn(9`{lPJB9ZHZu1;PVrP?(l}&m}51 z0rkk`w#30P&2_nHP?HzkC!c21ju3+I^!aSAMo=5}*tsq>RwFEOi>p(}fuS_Gep~5QV-y@O2tdsx+A?*$x_P z{2RM0EVaeHFf**pL^V6O@5@-P=>BEKLA#Og!zAQKvY9-cSSdebT4hrFM-cuE5Y1Xk zo~&mc%0aBy^_5k+1&LN^0%<_ro;SQG@Rz(Fuc(MNd}maEFIC-4r%`<^-ULkru=Yjm zybv+s(LmThl%fN@JeSvRriR?uQDK~X>6+5d-<}+Q#O>r_0o{=Iw6x%KBhKw|m*+)% zkPd2F)=APOk~T7l=%2hNx*OgNXX4y{J2c;`iR*3|knNwBJfOTq^m%Gqf6wtZ8L_hg zirh3-+atOG?8q#wbyr{xUn+U8e51{T%kb6O zTiZ0_(PS`0`KAgFGcQj7u%N5+^$#+2!2Nj%HqzBlRc*XOW3T0w@Wa_$nVO;BB*5j0 zrBtFham;b&y;`Pud`h+~d!S;N{Yw;@@lL`1mTI#^4-v+9Frr9eap|tYgXc&wYtAJb}JV<21+x(9H>;xuepk|3Poxk69}gQ&G;DVb-7qhwi0d+;Hjr|iJiLqXcQXN zjgF!8XADhq)HAH`SpVk1%KkV;kj)z5LI3r`v7E}dy--d&M3&3kx*%a@B4@41)B^XG zGi52R%+~e@UuJ+Xq5ANLlJMFQ;>TQ)2rEVUq{ygW)jmmPQ$X6k9f4pJ`0NS->RHs9 z?4RRi7}9Rn)v`XGfPi&EuB(DNEP*>wUnEjU4m5#=vS{Bu>in-pq@-R=(!#N`xICWx zr%4Tx?C-oUloK5^X}Pl2vby8GWf(J(sHKCmm&oU^5?qKU@O%Uo?Yt8K-6G(QE{PZK zj!n5+p(Y~HS*Yd_IVGcW0I~!zkn+igI&V3gsPbAV@%nzs*|e6D0N*@|F1PqVGzy92 zE&!b~9n=o@)fN_4#2|*(YQ})L#@Z^PH!cXOp&0Zt_Ea@LX^^{IHax#5hLAgkiZ=P5 z;_f2LYpP}p&^J_W~lZ;Q=wfWg>dbNRqMe zorEgKIMW5(UFBVE`>399DL&slj=DZOcF=I}fDzZ9z>XTTsgw+fMeldVu2$5HrFr#_ z=Hc|QPXO9+0~DKG0(Qm72DJ#~A|Uk92lv85)a&63YACj|pe`Q^bN;x3{e`{TE;4s6 zUmrH^QtbUwI)A6f?mEBFhl&z!&+Fh2dIb-YibvrDRJqf@pq-VYxZ@)p?!68(CVUzS zvl5yZ5YA+fo4rUnzZ|xy`FWl0PjgS*k~{p&+cZdgqN#rdD&?tQszIV=(}lQ;2Ki_g z?_XW-8A&ikTo>F2R&C{no?3X?HyOHvM5-B?(2?bQ@gwAh46!^}k9Lc+pk}a`oMXy$ zUv|&%7)!YvE==r}Zy4?+t{9SWElua#%T}5M2yN;(`0l9HxS)XfKJF+U!2gtI1O+_F z>)gVzv0Y+m27xX6ibT3|Z}~m`g%$sHiXjjkQNe^==UugriLGb=7h;}Yiyy9cYdK#=g|g>Q*~=|o`Zv$s8h^QByH(7jCAJ- zKy4qcKcz6cg2=kmFz(h0KFJ3^WU`JdgD6w+=S>*D2+(bkZObdm8GlK@m1Ce8k9ujv zNbx2o1b@9apF{8owzlx!L#LT(_8;}x!N)WBPz19&JYvnlIkE*USP<4w*WQzz$8Uu& zhrB(l?6WTwv2;{CfL@~A*M)^e{Be)~NblJoL7FXv);Q4auij$Bu!)iMX=oxHEz84c zkJr4QTo3xlzo_lC3R1hk3rd)p3fqrDH%@aRwfll#MKz$ zc?LmZfxz-ha2-`mjPXz)@W_0s|7r%mBW<(t$_1u~hQHX{A7JL(jPOLNr1z?tYo>O=!hkDakStR?I< zJK+KO6sB?6rL3e~DF80-yBbTUa&2Bwc+JA^&ZtQ#+rk5V4C>12n|Z(LY5!QXefWwP z+a%`@&O@8hBoYL!@o8K({!>3-zl&hcC%anC^3=oDw$@6*+TCew$lKGnPJPx~bZ&iS zn4XoAWOhpQ-b2bYL(YB=5*iy(>=4((lW;0DH4l%`Hp4^_i8D#Ds0wO_Z56}PmVT#DaqWDnI`yeba)lT%%_Sp} z)vFUgZTtK^wW#mS{0@MX=2OOH+_)Y8;+HsG7+@XAA<>ZVA&V0@YKEC0ixwgou4RMi zX&q8n-9byq!nAoUnW7R6NGCSsenU0I^E6R!^(xL=4ToM0PYbND8qeZQT~{}Q!tww7 z9AzpM(kzDf;BtJTvwz}*#CONUXsngf%bW^uFt`nL9Wz?FO$NFfkDyOML~;$^OLGO8 z=36cN7S5KrJ}^>X&EZf#?W`AUqX};!Vl@2^>U7N0T-3U?CI`WB*dA8k!I>Uv-e{e^ zB{hk+QghBX1Z_<=(7Q;t)M)aD$yW%Nv4-==%YX}2x@J^Nz{V zok)FYt37?G-2vdH>$Ju0WyEYSkWZIkzdBwNqj~jE5H-JY*{v7kgv6MFy@CzbbbMhE z`hNfZW;ua86?cpjf)jei=19r%qaNb8gY?2lqb?f- z7LIjs^tEA7RBc!&cWpp|U2D|I@kIe@qL+3sU-heA8VAVMXzTd>wVL$RWX<72vs{JO zl0Zu<7JkOT@$L-f85^hKww+5|w@{4gF=FR9lE=d!hW0>9Z(iLexV)juV#;xmvQ90i za`ha0s?fNrk)EbQ*ND#a9S&a(!?6iosqB|qUbkz}dyC3WGh?Rz-1t4LXM7r;gUr}8 z_|T!ds4bwKeoE_kiBuM%Rs5}Nq`>4xvyTQG-(O=ml={xyjp!wzS@7dukBwvimni=c zPa#`_=F6g2uXEteUDOw|m&K+7?ZhiIkDU!jSnDMkJ4}m(geLx~%T}KFoG~JdLX;6u zRU9lyygoiHa758mbkfw_-5t?j&DiVCn3MC(aTXvkH643~0(45FXqqNlpX1@85it#T zY*uAyHzsA$X(kaH5+#>mRn-QEK;pMCqT`bE`#^rm4Uf}cQkOnjO-L+d*xzx<1PUB& zs+?>2bC#_YB&;mP1Xr%~;JhLQrl$u?I5lAXPH@>`h<7Kv9OCq5qltk<)tG-UocMXp zxd!Cb;^C%cvdS!;KE#F~esBgij~VyxZ?n9g{URle%!GTZ$z09)VE37!adU>dfE77? z;=7#%?%whCZVKYo;0=6i3)bmV#*D28UBuKx4_WO=8_3$t=fr%1TjonLV}U9)Q>+O4 zU4?RxX89gDS4Ut^zbH@*R$i8In@#a}1mF?)=>8U;w$bDWgP=W%_S;Jb5}Y6kj-V*F zc0RbXrvm9+Kh0~$cwj!Z@NOQ79I`V~sI-sR>;OS2i&&ZcLa)0)9tJ&|dB#7~&)OMT zCb7}HN-H}&zBHhh!vW^%K{{%LFFqvOMLa+bXZa#xgaawDGZ#uddu3J1P)&L^2*~2G z{^`WRTT6GBL-}0^#cd%!b!3V29Cj6K6f~IezKUs#w@aKlt+5plEddFyu7DdLr+$VM z8A88xA5igc#D$8?3An$<27?bfo`?Sf|H6>Zpu-mJYanCpM1bk$B}(zqv$jV-1sPbW zY_~=zdC@m#E$U)44LgpAZ1c*%4OlsKnQaXA@Itwe-@;5-v||hqZ$M*NBu%<~jm9`j zB*Ibs*_wjwV_wWI|E|xMNyfra2@Wx@Wzt(iLy--?*n%R{M7*Hq!vD|at zoUAX|+c3`vs`X@E`?CS}h-mBI2wt>vvtTk`%xSswi_B5`pBGwNZ$+SJ6v4`!5U(u> zZh`aU0NhIHjGI%2_J+D{e{y)CH-2DaA#O!EQf#Q*dd(y8y|ak|{qeymPu8_R8+9tK zsr%fiiFijpp2w}C>ta&e78s%Qp+$TTe=y+|M`ZFE%F7U);P7+2b${mMdV0{L4X_r><8s>0;-~ zQWzPLYt>2VsSVV#cvF*ZQ@NbZuh>dgDGV}sUv(H$a%q9f5*|0)9Wgsa8LE06A)QFUqjL%(?E$T>K&7loP^oo(E|G_usKK_h z3UOVzO{6=tMND=zw$XX}0@}XvZt*s4*ryNXpXmhCGE-wJ!vJf;^$$Tt*tgrNmlJRB{ZN65AK5fF2v#k0j;%H$4w$!j%ALRRw_v zf$`vemBc%-ARoY4LR%8>)N})JoRl&=quN@4U=2)5{j#7Df!NQZn7VH;7hbwxdc_b` zCf%gW=Q`Ie3RZ)iC|Kb$@YqFk2;nMNiA+06(t_~ww~5~qyoKKjB1(EeUn1|~+Hi0o zLpXCI-C?*%bm5oi#{P4YF*@Y?xf{2TjQ@>5EiGO}I}m`OKu6^Zf2d6SoAQt-o@}GQ zgXyfWH$Ou#B1ZAC28c|NFkN?fw9jvBu)Luf3YG9pGfl003< zALa=VuGvh_c}Y-j7ijoDtUG9L8nvS+9`9h^IM|;I#Pgc;;!5nl86Pd&VlrVpU_`CX z(3u>^!6#3O3wpEdWb06Vgr;^bEWcboC-NF0hc$u=W zeauW}#|#RIm1hRrLh*0au?s11S5fX4y-~5y9n}orPa_JBqLD41x`hal>Dz!s%X2ipbZC zmc7q?LI}rReM)P#g^=B9+V&(nxyM5S+xhs_O^PM4)dL9`t$Mx*xp!V+yEz%m)ytDF zg~w{9r6HvyL&(k(#>=yb>JWknZ;1i0 zqU4Dxi42{#UDCH>ZjY@CFt^{CPOk^_)U~;04^dx7%MVLfU<~O-jTiUI4>Q;z-F2$O zDh_d94wVC55)MPWIG}xx-4FJDjF*>^Xn51@ouAfQ$g@3vo`#oC>U| zqnly5SQNjbjS{qaQ4&3jQos@)#Ya`NSVwOO3gXw&TDd9wW<4X9Y*dw=j;J&a21;fA z@2X>-H63DIOO_G zUEya>KPEduXjc4bZCSS;8}&5F??X0}rFymuKcv4x1LEkmk?RB{&gQfG8_$}6$pdgpJP3Dm zpLEVJg=E*gCENt|SRF zGuGm0;$&zkmvG_Hs)i10Zmg~6N>7KyJ^Cq2NN6B2Z=#K{gHCA1^Fz zI6VUi3ND)1NS}HKG?FGSYEnvSq@q3HwZRV^YXS#rn*##|PDj50`A{m-$}l0{;o15wB+x#+{Kih6I0%WTpqc!CC-1rje6Wb z*}}Mrbo|?0i(*@W+}i6I0cckppKm=sZxzjvA*n>Cm(6|Ja0%X>Cu}=;!CVh`SVMgbXZH6j_7|&jUwzZDS5#SHw;qn zpvq;446g?-B4?BMIk7K<{?t&+Yc8+7iA(hA( z6wAhuuy2Hn7TL-rTA?%+MX+MqcD+6~sLl{-t|g7kLdDn+hs$pYm9oYDX~B8le|`u| zx(2(Z=#`S43Z|eL72Ic|Z&<J#NPlf|<6U()K>Zu=(S=p9+R z&-`*3xS5s#K9t*UW6o35g!*`_i$G33QiUeI4x-OA6!HoP#j8O1)fMv#lUQB~dL<1^ z(F@Gc58JYbn23nZaUNTvFlg=C82K-o9PgPtXt*Mm#Nd^tT#W4y{g>>%ZidTy>IRwBj_L6p zXN{5#P*M0(gOrsR+mAaX-)d1Hdpjac_I=+uKGMlmBg*f^)tj>Jyw!bFL;S#osm?q} zral6DHq9sFYo&-3+R^JvvIn}{K&N}?VrhGmarzp$(>~_XY>_K_N8dZT(p;36R|F)E zw0)B`ogW1&y~~t!x4ZJ6X<2?;MPxm#fmM7wPzW5H#2%Eb^wT z+&NKVRegqFL7C)GFKm>Xby?JQ1LAt@oYJAuX-7jYMgI2_#)axW=ytBzpS3gwgl=&O zKw5HU7_toVTd@I=szD&B-u0spU9ZTZiR2>*j1k5SDN%FXm!#LJiInaspgCxwP@9R#|tqgA+%7ru%(Uy z(@YqLP1RbF)wm0J43LYzJc96ho2)&10B$=EodR*cXSvXGquEim{B*qWSC5$BAeZ#V zUf|ZLCjPFo4ZXk+;;p4_GHlX+Da9f7BwzIIfTqlLj+5zdchGl3pkC0Zwv^CAEF-3vn2*2}{c zCucQfb2C-*KD@Vs;Ytm!^g1|=Df9dKmt)u8VOKLw4wc?`t-sIvuSj0Ce%mVsk7YQz zAAbH#h|#k)M&Fte1Qqb*_%G)$06rYSRyL&Adw2r=D2idj^BAY6s5g)a(J?5pHw?M{ z&T|{4TEUc;d?KvJEYh@|+L`#5vg(fc_u9KVSE(L}=IdXA&aX^a*Ja48%MKQJqGuDF zaN+(o`aY%bgn|OFAGPr4Ho9AoV4>C<9OHObsL+dB*6Wd`3UmB+IgZi?fP&a2Y4^go z-sN3mJXg-;P2(96u4iGSLmHQ$@TYD69J}wZLf(STgz+MylULAgeU?hQNhJ|jiR|f$ z18V(W4X3_h2LbTca_{yrp49!;)xCh!M9t+mpkBu-cLn5rAk0MEPm4MwpydJ8Z5H zSt2BVVVVh#=e;vAgR@R>o(BZ-3C((D@Nr{Wx{arMu$tD>>rlQn%jNoNf)O(63$PF<{4xfQ)G9o0e(3q$ zaeeyQV!-)1Lu9`PT(2z{a0dDva3XE-Zzp?$8lMgH#J?@=K>r@pG#oeXTHkJC{4Qiv zw#Ak!tc*fuVL0r2h)J2~xph(AJ={w4D~|oKoeq^IwS=u8F^nSGB3Y3k8 ze1+mTwMZ0v@DaFK3SA9q{?p&DbGTfBj)FFpKH&HfoxK`XO+!u}GJ?e~K#Y8>!~mM? zM_FNv8S9w4ne1$}K-Gw*1-2OTQ*k#?n~ED$q+aJvIM{;#wbrhkE%Y%v!XXh!DA2hu z*C3aOPK-G3t#VP|#76K&K28Jqje#*ITY#t2|eV zk|h0$8#-^nmQH1`7}$}N2l3*Sy=NLJNnzRe)j*huvy{e%fVq0m#?G*Qd$oPL@*c}( zACu?OPyp4Lr~A0Ac^0i+r&agMhm>NPQoK*$#}q;W0Pj!E!9E=8GR*;p#;O-rTW~(T z?eKcTx?NS8w1M407B{|LU{f=lW+c`=o*+8v%ugX{*!jeR*6J<_07wS<7^7j4|d zx_UE{CJk!szeXBmw;O6cGqq`22{$!KE{SXjfjbF>eqL=dKQmZo?dY^j+Ofw6VF7Nf zLMO=uh&6QxIox33&wvr*JZrHM+f5@jGR{p^wYqj;>g8%X237E42nX0S*EmT4C}~>M zOO#{*5HCk+R%8>ACvG#izwoyza%(*JS(&I;vvy)%&s$i>_HrGERsu40yXYc5j0H9( zR_=3ByMjBdcUY!t_bCMA5>Qv$a7~6<<-z{>&kh|KwcdpDb$A_sKhjVaiBe|9@C$3X z(;awjz-7{2i+FQ)rvKpbEEeU=kmWcREq_O#O7*G!CmCGNps!=8MmCwU%(+H0w#(v* zbdXxsERV_^zB-WH0#Hu|%1sA)Pn}yW*Reb&8nAt>=AS@@?A7ZApZ^<~>$F5{hMzmTti8Hlx6hLzGf*8F`??5x4^_?1w(r+*J4m#5}g{kRFN&NoqmL?tkg+|Ca{{Wjo z*Hz)?7m2NT4QF3G7g*p0;R-= z9sho;vI%)fUKue5M<*?Zj~WUi;{N#CHXc}~zFWc+`urUk&)+lzS`V~{F=bn@3FfnCk zGiKKwm=mqxym<%r*(N>sz^KCxuA+r8th&52mP=DsNesk49nZB7+Z3aG$%(fImeHEq zx#kJ2F!;7wYZd%5WmHUSw?c4H`qx)sci1dO;|#UxFW-irH1s1|##-(js4~KT*)lAq z(f%cB84%wqM^EtFCkIy>&M?vHRW)05eCTurS`cX}Vsi5_r9R~L-Y&JYWu%0GKI&wL zu;-VPN_Uarp$qCO{|M8gaJ`*1c$V&JkPLa|C!9>5re4)iW>kvtStz~V%Po-4k9O!$ zV;k)ewM`IWd*1eEc{a=m@Hw#)a7*@PC%iQxA2$4!9V~{we1RX*0U;$KG3O>74f;mx zK{ZKMB5oirlj{4qoT94He{PLZu_>rR-7(3&_~VPjjfjx6aBfa3R1QjbsdGu^wmLNa zXP13*?rJ07r(n>AzW>Il9QtVbUwf)cVd`1Sdx_e&)DiI5H7VD`)`jXcD*t9 z2k4Y+|E5Yarc+Dt&Jk|$904!;AcN2d>=pXE%(FYBJ>~Lo4use2K=Fyf_v6_EKeX?N zON1(NCRa49RR+)FWerQ=4ZQD*(6E`uZ5K^EOX=f740Go*jd^s^J%h@mHtimRuf>Fnnq6t2h`ngH{VsPG+(Bod#GOk zMqoranI0=G)Akjfh9#YN;)TMcpzOwEE4)Nw|pg1mN;YWqGy`tzhbc z1pd;xn4*i)*8cmBpk)x)+fG2@0qr-@T6{Dkt|+bD8W^ygT6SSiv^j?Oypu;SO^QqU zumv#9$r0oxfL(3Ok|D&PE<*v{CrLtfvahqPfyLj-8y`a3`JPsKs@@BG7jO5P6sM+$ zZN+>*L8%2yYiArx3$?Q*;!W^!^o-cjIv^hFr z+*!+7MTYW6J2w)d^JCSYe$4?RqYMusC!9&`SByV659T}UAiRp*x^u{_Nd|KStdJ7f zt%BK40Vrv&qgF21-?Bjqd{&1E?lyn?8HIIuE2m{bx7cv_x}D-_@^5 zqpkaWkH;vj^Yrf2wmjITueU)fXrR|@Shca$a&a1CW&NpE7dLCE?(+fedWuhz5wfS8 z=hECcNQ1kQM&w0i@fc4E&ID0wD;f37VL{#~YKhc@jRi;RXB+d=Et3yd<1YwIzg{q) z&7Xzvbik(SA=R48Qw{sP50O10@OHx`T@Wpl>9>pB{0cuP7!t(CU)lg~0)+tY=tL2n z$vpJqbZ}N4caEnAw_WrE?24T7>v={=U>q;b)d zo(KKmg%rAFI-^fM9#?1ZfW_*{Zj z6+ID0N^Zw;qywel-OnpyN7Pe8#nhj{0epui>7TcCT3S#d0dIyY#%iQS+xaevMr2`SsUYs+JLBsaUh7T|(HO8c{udOv-^PYcrFXBmW-Yx1B7 z>}KPG2-&R#Ky9z;X#BHOr!_HwQO%heu71s-u827MAq+kWm5+oncJech_?^Nf!=Cv1 zMSHOQ7b)Aes`fpe1A?XtIH{9u%Vg~F$u-zA0E0C&eyib#N!T;KfQl#3YmvD|wyJxr zMg^(*nVf)~zpDTRdP5_YY-C6=v6n~F7It|w(lohc2vAzB9)5TWZes?}+L2bzjr&yp zitbHBcVF8~c!xqJ8>CoYZYNU4H#wm9V0k2MM&tvWjgZ@9WSh%etaCi3)JYDF&NN5+uM z8_4Xx*luhrqq!9xZ-@gko#ye{vxJ?m%6+aa%9`~tDHS2vmH8UkhzLAR^r6aNmu8a3 z#_v<%DR~yjFDJuHk`=l~Krx{rmuO6KYcmyR99@75LVqU6A|mYj*&v>YSjKne!? zb8ddijTgp%^KB%Jw7r&7`+j9n01s_rK ztJ(_S)Fpq=skp}yP&vlMqHo@(`Jt5LlCld;Zl_(6etU?!qyYw zq=s4rz8Q?t*ge22YfgCIike;V7nOF6A(0CF?Z+O0d!4fVLa&SxmVLhYOIG&KOl?@2 zs{PN8`uPID_rF2UcW%8Z`ZQ8cC<@Q(b1T7gme-E3xPVOPl~{epU|6y9D4S|i9og>3 zAE@BzcvzI1dRaNTmw2+HV!5wwAV+CVgaAiC&z8$4uRm8g;Ofx=3&X+QX(L!l;ge4 zied#|`0rXKlq(h18blMxKE79#;k5bCQp#S-F0H<|Ss708v)HOlOQ*?i02m zm~h}ungi>Un5|uDT3_eI`3JTYZV6>By%`l?-9sqI)Ymj}%}IDm21;oWs6U6_1gbLA zr}jg2Q`WH-R0#a1`5M(x4y4Y-O^q6yVsh=4iH^2{dEP>tr}mHRn_7Y;WE|>Elx2oo zi4-)sNcp~30#(<9h$ZL&GpFRk{h!-S;I?j@D^3FR``-QOQ?uXqJC;#;AH1ts|?r z;+&70eAk|cUNIKTrDVMtL42%#z&slGt<%0`uk35Y6FM0?=^_vadeSkk8v4u$NikvBf{S%CTq3y6L%1v45&ra(P713D>54;vii*}{k(j+&0y4|dbGjk7C~4J zLPK{(Qfv1NxV86ROQGV2P>IBS%>S4otlN|6tuDb&-S0BY6D%-j)LSpD*tx1);}Z3p}Jm3_8d?D^IfQC3C^OZNnAWU_|A>#F^d zby5uxf4aKon-s=338=*=ms4{<KYQRYj7ChFeIpU|LcGoCYN z(jISMBZEAhRKfLM#0XtEMzWz23!q`^@GAUD28KknR{v`mQE- zFfrj+G^6VICKSHBAjjCYvy+Bk?s2q7BVrL4|6VX&9DiUEO-qYhca`w~sny`5d8D7e zdw0{!H2zuPv3_JB@>+%Zr3*|pdrb;YbCKI{+!#$)%f7`@|M zs{#s;4*y=1b|q8!?f%p^%@Q!uIA}W{$&Kos%qg{U#z!ko*E8Fn@%8N*$>;HH?MY#f zv~wbHS%eQLObN2Rr0J5*tk8vR0qv?h{B@tBH&%seLUw6rQtOHNuX!&`S;IvsS~q=x z0A>NKuK`>~oZcZbg2Yv8O|nc5`a#A1C3u*!lwuIQBQu1ks8eBskakj%w zmR56(RV!uO%8<3&57no=3w6=^Ll_6aL5q=}W$UK#BLC4fIKNb~UuP+psOWF|)4Vp9 z)i5ZdoLRjXhFT1t{{21!+y)vfjkK^wgSt73Ye}!DFD5n;P=w;#^0j?O9bq0b-~3a{ z(zhS2#J^8{B>!kBX5^b&c|*mw@HyRzF(7&qnzi4~{c%DD;0`FM&~nmc4qCKMm|5se@ zuf(@oVQejBfJ(Wcz~<)6HvD2JVc_sg|NNgbTgA{Mr0N9wFwRR9FyZx3yQ#-4a z#56iS)F>{(p+-5?HAWuRWnFiNIQ=`%{3)|epW{IaFzAZIUK_A|z-VRri0OA zre~#3`>jOZe?dj71Gqc#x@xgRzF;e23OY%cFAff6UlqAi%Ifp-Y*6qWbID<8say)< z`Et_-&O6AO01w%7Fol2OE;)+hkq{Rt0pl zG1`{*d#0bqWm!gg#_kW{kV5SJ4-u}wgtu;0&2i4rPs##=S@E=DRXYNnW^-7MLWJ5K3&5Ag5c8schN`s=M9DZ2z z?&{yYhD2Z5f|QVlAu8ttZ`kdnf5TjkMhap*(rC>xz!TP4ZFz{vC#Y>xNmnz}yf)?m z(xG_*Q;_-$y5QzSv{XV^tF3)Kk1ugQhSxe4a=jkUHlu`=8p=QYAI3g>L!aFTrWKxm z%?2;BPwfH4I8X)0ZZDL>JNs`^?Tz<=YbjdA9?JQD>+rskB$8EfKATbaX z)3zx%JcEykz!$W#95@6z2nYxaNOv@SrVkSg zDRd(untC%LT1N>J%o`jyN(_Bw5iblLv@#N!`oAL+lpO^(bAuO#5}fz_Tc*kX%ZT`3 zn80U{&^lE3V4%VNi}VCwT0#F~{Kuyk`p5YH`QAb>eBiVH_%<8(7@(OG!Z5u5rPG`E zJGhz0djCs5pYgZBGa-y&c>Y6$jbYxw|BHmoVah@Oi(bG8+`uz+ZT@$^J}3ff&in4w`xG z^?zUolQ&G<|5f$-!Z3g${aX|XU9Jk!Y-tb>HNngmKNx)Af9s>};SCQ03ULe$0`lMK zBEZILeW~r(>jRG8@<7&>#AhwH^89~1-sxK-U$p_Pl5*dLh#SX=1qGzq)u@g=7{69AN)eC2> z0PefG#DI8LjZ@5R0L0XxTKcj}KIY4qAkY?$*vt+PDadjJ&f{q;e%7jc(VsF6*8?W}zJLbi9seqThoPfFC{-BWkDn+7_{tahbMK=12rO2~Teb1s z74Ds76+V{K;0v5soXplPFg{n-c)$Gg9kS&aAQ;3iDyS>P z_(*&oIq-?4D}jBVG{#WD%+#9YF8~8ugu)I$G&r{VrZp!+AGy=gg0NI$9NFMoNp|-% z7U*9y#KO!6?kw7vGm_d}pfURP7Tv9>!=iRztoxp4sl!h_{yiZ5D&P%pB)TqM`%*-F z8tC@^u>GQ+2Icdsd?v%4L&k^Gf;nT*D44w##4iMIrY|9{|0}!L=_JETNcW6gDcKlQ zV63w|-oHx_(xP4sK@#^2muNDvv;8gbz*fC-*`}{(M2wi_1mj!+$6{Ea>~xOUw?dM| z6l$=spbSK`FB4{vyT%f*O&ifspLCWp$$21;2!-(z9R2ud*u-I9)SVByRCR2bl0c~v z4$VAJQ$l0R7U!pd4qF$fG6_A`F$-bIrPy#-{_5LYHIIq_C8z1F9@&`1UMZq@Sm}v& z@RQ9(T6&2uy%J_8^@Hb}iV?>c)C>`;Gf@#Mbf~{OzLIV5Hb4hB`kX7B!0~e7arGl4 z#<|QNf0~;k6A%shlyHZ9(^z!T`Pu8FI_NP(z5(T3V8NYP)=A@8+>_rQ>121rzGSCX2Fa!JRL;itC*Z^!6OZ?du&1ckeWFGd$;JJD| zB0$WG(Wmx0N>KK4;8sS=?D1~(l6mCB#0Yw>_O{Z?~QI)pxeSOYqLlu0n3R@4(#mB9H<#?jGEYI zxs5ZxSs<){dG5oAA1?3ZRWUL*HXd2~Yk9ki zqR8rW2FurftwwZC+xoSFdp?22^2ZXobIml3|Ly*c@L^VD>1ZLCz&~sYo{?eGngq=< zXehuhXdl?petVav_&kfe1x^3|V6$gnPWC z|H|sep49SRSM}p9eCq!IZkv8Y5&k3r1%K=H{}MeT2m`}+rSOY=^U0R9S%dS3rNaLM z=UngeRoTN1s5}17%xB+Bh<>6FV1H?zf4Yzjx81-i``ywR$!hoaqfx2i8X4{=E=%Bn zh%wMC`*mCjfBPi*fsV_6KhxwmI_v|GhblXcwvj?dhua_e_U%#d_Q-qtAb9)0d;2hW z`_Oy)D0us5`vbiEkv5@gDa4e^Qs{5HlyO;1X)$#Hv(^K7PapVCkND}s)~AnJC!>$0 zOuUq%54xFL zzmaZwlP2{9!1wUrV0OFBjVB6t?b4IQ|s%Ib_IhSjOGUh zi5bE5@jF2oSXe|t>n2xb$=%C#HuYnf)ClPkh!FGPxX3`{K^X%sq%xY7#ZN$Y1~4!P zV+j#Z-7J#xB?16{o>MQPwAbNJ;*QY?`7OL8gq$ z!PT9=eH|%2PPjWP=YilSC$hGBfI%yROP%4IoqmC)yd5HcF6aY{x(z@Nkh1GkX)xx@ zu5zn5Pn`Y~bENclU*pJn*zNaB+@ByL5gyDxz1qn&B>8kmvCS414 zFqeLhAGsv}CSb~71Gevb1AN-qxe5A=^DbOv#n32Ny_?Ahc`(d%ngFIquhs4Q!{K0XcUY|_pLL_7U+H+f)x#9G#E!>*yqB3rPA+uXis(xe|Gt2p<< zQ#xhQbY9i=`UV70F+7OFO)@$O;=nUuhx3q?0!RV~OX_71Jq4kf@t;mTQ4bhM zMu&^ju>SOz?5-dHPt-IX@O+!Aj*-bz$wl!R_U!NOs-6`E(7e2R*)PYD-x^VN42N0~ zBFjyJn01rV%xgFcKo(IQ6QwnO<7buv-pq~mhPJ^Yl zmJ9v+9_t_7e)0nPVPT@B6SPnQw|7PA9XrXSK-)6B%&$DKbwTa>kAm9w_X@S|H-*~w z?NIyv-k|1!4KK^J&esBOb@zbH^YkAuos_MmT0!?NfWhIr zPe3XDCU)M0$LN%SJ__`IguFkr*lM@%^&E{p8S3qFYmTTCa;9`y(I%)He2tf18IP=z z=pwyVSjPx$#Ml@YL#8*H zc^AxYH-Yz8MVbD8jChk-;tnV@12Udf7Vwjn&s?bJO(61bn_VLxH*y;-h{Bb?HNYqa z@w%?U#U@MnTVt@6g*0ch#xmMgf4jy)_JzN+qNT61aYRdcLfRqi3WY-T5ZHCRAVplG z>jTv?EI=B;Q6KzN;hQ7<=3(cXM{RPYz~I-CD;ce{T)AAPq(kt@Wy)^HqSZ1b(xg(fbAephlq}n2 z%MR%hwN{#cM4Ay2IqOUgm-4_3E?6^&!~&a>j+bD`hnJvDZiAI0c#0CMELAlta`q>r z-XeSAy_*x6<>?!b*x+}{C>xG9a_jt=T?lQbBR&tn=I2+#p8PbanCJ>IV z@~e6h4CY-{9TPx~MzNDL_o3lM04F8{osctDr=o{{EBWF^&lX5pV_<8UNukHDxQ7H) zty8>DCMXTdXZe?_x3L4O**hcg9-1#c9lP=P0}Kj$jkoe(@8d%S`{ z?f}#sm}J^E!J$vcCf|)w?!x4{_>?DD<;lOq`3)BB$q4J8o={Q z@K}9+8f6)$Pmo{E>5EU!N><;VFo&}=tmQIyVAqBrH?;|^@J(x<%CL4(XwbL=M((Hm zrS@LWW&#~Hj3rhcW9~7QL*v@Bv~NKW&LDpCIw%KMBmFzgTV+0F&s&^0YVNm>o~+j3~HIi z<$F~F9UZ9w_k{R3%jQ>UzK{A zS3zq9G%2FLrPXn(kE@C1cyJ()hpsLWK9@Wpb_VNs>wCX`9QGRLIXm^>tT09xS1Cj{ zngum@LLK0rJH5d^V#5A+MVTdM^V!kC;llw!v$y-0JR#}+uyA~E;N!F7?_qH$bJFp{g? zPlX2^7#CQaU1A=y?0Wxn^Px~lK?37O0WZj%5uNeLAs+(-wd<{iK}A$6-~xbuJ^+7) zB4>dLbc6NmErisP1{$n$mdzfNZ#`#U&lYqnh9G!O-=1+OD?Qx$aQA)e`$Jo3eS{=@ z&eF}Af^f)Cddv2i#=wFmk~4z9e`FcGx||DV;;5U+Xcmuvc}^UqnHIE2W{cu6`MgXy zViS6@b~x!u%thQ;jl0DR=2C8d+3wx_t&EMinmZOO5a|)mI&W|v2nQSrR_CzNkE3r5 zuR8>ID2&F{Iu@oIB$~B>zzj)JtTsJTr)`k1T(9UR?~x410y&Xp>!*q~^uqa8`=YKDu3}EI@31fK`qB2`!NKR`t{*sm>pQM`tl*Rw z_3ct6;@&TP9HFAqaU^rxK&?NfJAdOd^$`ve!BJk*Ut*M{qxToZx0Po+8aD0U9){xs z(ox2)f4id}WEFz=jypq$E?i4!a9xauFi(p);cGD;O*p9hy$*dNdB4KI`~_+ssl>q^8=GXg~*qZXqwj?T~Do#ARb%}g!PkTW+L(ryWRV*7@h+}kt) zT5xK|9!;$lRjojRKvH5jrV2#!EDo(WZX`Z+{46eWRqcH>ucQ2b8D>*(+G$(((5TeV z|4_BKdbY)U66K3oeT*^5dKw*m+O0OOmJz~u^AMmdejtr=Kr4Tq!z3D-KEiRs6KM#0 z8tn)}%;F*5Odcit-s6Qa+M`H#`2>#e!f84T9pnn zl^MXPU2bZ%@HO?^O8&k;U=~3 zQcE;1wtw9S=H2)JywiyY5UcD6g6!uq$qw{fH^}(TDBBK=?rarzp#Y`>9|Z>P8{F4< ziC1tj9t9w8Mo&7B^Wap(QQv_K}tA7&oE3PgPQsr zTGcOXH5h# zIzZr57QVLy>eZrTUYZ-)9S>m({i0!w*e1>OTcBz|LK5+ecmrr62tK__eYD!fHFQA` z#lZxq-gu~67y(Da&>6*}i3^$a4t0Buh$|;Y#3sjo`X%{DntP5>Vw8>-CczP^5aTkKXvlWC$So6z?2bRE=#TOSU zO&84`i8ejoe^H6#6CM@gClSVtF6~Xyj@$v zX^zKZRCklk55I6zrLCGNM<#vrJl%V7vst=-LP7UjCm?3hT;JyB(D+U)K--i_4^zfB zxxQ**nw-p?OiOYZi|(0+Z;c|#bpY!h-dgmo-5nN@UD7f{WuzTS;Kp7;9Jf5bb4Joko+UkcyfcujfPobYm zbRKa-?jRQ1#6V2bBr$QF>;l7`xQz&xd6Nh{f9@*I(~4);QJ{*vU}B1NBkiJ1SMJ@UQp^mwr})D9|?! z6!O!$oA-^sy2-79<0+XH1G-{gE#bovVJ5{*?pT1U<$ef9UtCtW7o&GB5ZMdi=!<6J ze}UFM{&abR=IG1Oe0HfB1L@*VmUJ%PH`0P5wz*sKrs4H}FnHA5v-LO2jG{?HeWT*{ zIv=JO_&H)-vec5BSxMYJ8om*q4-mT#wWE=C60=={me;f5WBt&~{QpEsfuG4T0ad)xp4=#&{EmfrONP zt_gKZyC^ag$bO2%hPtqX2u+tDW-lU1t&^uy@~yjxyNw#2{@`V;L$FkNrDY=uGOqsqS~kdb@}8A(6nz-&CbOnW4)B5e^id$ zgW92jJjx2TU_06scaDN1aAD3zC?33Joa4}8yioeWiI(nWvKGv2D688GN#a5{kB=je>-Hi#vzFY#B!*&#JDo!rPqi$I> zdItE&Mx7kDCYFb-^7Pe0JV5~)KAhW8kkA?-M1@HjepxOG=ce?M)B;ntA1 z(4Ue2E#eLt4l$N2%_|=Vx_95?h1b1_(*$mk=Qd#?a)!mNqnr?@3pk>Cq6Xz$F5+d_`a4*>Bhs{R~q9jfMUMM1} z4LPRX55V@l*0Xe))|RLDe@Pw2HrUZm_N^b$Mr(a1W3RtvCsg7i*RI!1msqC86!mDj z2Tr<}lP2ACL^C$x%Di%7E;a?h$oI0+D|n}aS9}$K{h;ePd2RWT%^x+jfu$c^vur;9 z?8`r$9lbbfzIbLj6MwM#oG5M029rE`_NTMwU$#t=k>%beXvp)umoAqG41ecG&mX;b zu?80W3iJOY$nnYMP0ozJGR(~{pola9)WJ~5s<@5OL#?^MLMmuey05kVI{WjhuMzX) zoh>8r&F8}mwyOE~1@z?5B#tR{vXp$(6ko(6wf+nNL`j^-9djI`dA@aueR{0f?Vfbg zL*b|wmuZ~!K57x~96f=ZQ-3GR^sr<86-m@aa{C0p2EJi^U@u{FC`6D^BCWgxN2uM@ z>`Cm10P^)vO;SO4TAF2i9IhuXnhjHqOUfJT-#W2SNTRltlPKXdtJ?#pw}InMXO-Ia zAD@T$2AjEC&L#zV%Ao3un{jeg?oNveJE9%m?Q7j>T8=X7oy!kFE`MlAZ-yRtsG1Hw zri4JjGdCq;zY#m==S+*s;6s24NREw3>Br{)fAh*_fvo;92O-PL7J~vk3-$QxWe$=K zdqcKO+=+GMl#G~xt@$B|Xrc=;fv9~qmWLB0%}bpT#h=B6-oa*yoBsMBaR9gpSo*BG z2C0S}&dr2GiPjR=9)D&#@zd@|R#C}r&N0TF8z5feK}e~KDsFJE)<9xLEh0bqJi9rn zjE^-Riqvi~!`PXfgVW1U-#;%r2@B2O2=FRVheGM{NnI!9(=2gmnRrPqHe?L5vma;# zAtDpotb-z9Co1PGTI`b~x)^pUk8Khqj2kr>I)prELS?jG4u7%kAk>2ME)8mnk8h#Q zLar!tf;kHwy{ZOcOR&kHP&Y~|Xr8#Gf$gnQby>Vu`OA-5z)Lf6sgx&|pUyy_i=M#; z)+fxJ?*Cj!!)jf+y!kB|A+ohC;JR8g}wSC^y+u?+LD)khcl8p z3IxaLXjg05*nji9s+^PwhRm?i{i=+wQ*Ee>N;R8j6}iVdE{=}*^eZ?#6dI~6rn7l9 zk;5k*j$((7(FzfLO^KJ{A!V!a{pWpme3OqL&ct!m9d{Y{S#SP24I;xr){Ef%h5!44 z49uJmfmJr-UZB$_5C#kyxzp~7Co<9acJ)NRc-S&gv46pRiixg)(faOL3FCw2)O9Ww z$@s=|C+gTa=aw5<5ag4xE=%{1r@tPiwLn2*ng<2h!GBv|tb@%D+JK=g%Kx6gIO)iI zw^k@ZBP-rYqm?92(&^Dit&eu`_8SV_KWFuaev###CTpUGVLZ)&Ss^Ys26afL!YM;rp=ved?%M zR=JpR$ak@|wc%`+t!+a)8||2}v-!czjqg@k+J8PaH{RVd0(4&4aak5O?~taxh_MKT ztHf#7PBqMVqUpgCf;%fY#IWB=yc~!NB*M*(nD}lG{SC!Ypw!VJV{e72w2&*5rkM6e z*Nvt}gGc~y936IFJj>O&;l!61HrmY^O&iwo+;}Ur%S$E|KK<;^5ApxnC)3E8=h{o} zJb$}Zi_m?|@Z)FahOgY`%*?O5YT?&k3H8)4rY|{p*6+`G{4n}*YWQ_yUmqjKR#}| z$TjbG70+6^M-V?>x!>yn?goy5)1ANAP=6h;MBk1tUU^JXEa{s73OI`E>XlQnDFYxq z{dXLNXLCJ1Ngi@gl!h?G}oU_L4%Js(cFzBA5qR8j<(n35rKDqNCn( zXY}MzumKo5KtA5qrQI}~RD-N-(>k-B(;~QHkWF`vi{aY9E5x7WTOKA$UAEt@n12{< zbiD4~{wAxW^Rvzp8zjwLA@uSuxWHDs>5}{B!9)DN@Nr->CCY6R^11;H%a*x9Vee;U z-*l0o<+Xc_WFc)`p|QAjFHlq1l?K?~3=pC9cF7&xzRxXo+keRo53Ij!hEUN}qQ__Z zh9fg!5@L0DcKlikw=3^hHBpE4mVeAd!+$2G-`FKJZTWZ|`>&qAB|%NYFUdUZ{0F|- zLpN<(kDO6!d?00PCS2yA? zwPCHC4~>0CH&)$$wB*_dN&S6VC?hZFkgR$m+g}S~l5HuInVGlawQ{LRE6WqurJnN z_>{^oYVGprmafle%HhG9WBb}EuJMSqo)h{r8Uz!5QKe3wsjF-KU_se zlaL3a4OQumVrdUp(cLT*F3=5EaeFE#STcxOq5n0qgQrQ?Jmzt9_~$MD6xJOl2}gtr z@}TG37HQgpin9OYQh&0|N~}@Kf6y`Mdvx+~ZG5GT;;xPwMO*ukKzv(ZPo0Nd3IBr^ zocV5RSrJ=0Mi(vk(qbnN1Yo@T)zWaf{Ld1daZ_v6P%+}#T@v3ICh#+E3S0Q3C(gxQ zj9-^u@rvOZF5F#1a>Rr`J&qiV)| z)MlmF;=>LMkwoX99?B7BngK?umb(GCTNb==RKn`%tc7fCQ`scQpfL^4b*+8WFpY@s zuNL^Kg`y&Q85YxFnzImK^0lpSbZMTEhLWcPM0B5c0CE&NYoJM}XXzNGiu0;D3i-i0 zgRJeu-a3tUL4PcJOQ83|#uP}i;Z=3CVnfGRp0{nE$0(6TJAbpHMy5K>c6E+xrTPB;mbNHL znmmk)pv?JF?u@-!MEJ%M4U$nCu(**_2PBO5V+&xvz1p%59-?}JJh!_Xic4!rR^Cm#3=o)q$OH(*7nC3_) z5Y(Ie?1#b=h4B6>3Gw{o9bLh@^N(NgJJ1h zTMzH5dAEQ{&--xY#1FeC{>AEflio#F?wLF~wYUR3!lO^Db8vrnEJ03R>L{ro4pongF|j9e ze7m~L;+xB2dU;kKn@ueq8yv!x$ zQQ_rVVP3$BNI!d-#%&(v;=hdy0J@COnATX+bS@Xh)hK_FI5&RG1%C(8d0WgAe`gA- z)}^8>>k^{rV-WDIP+ z^q;uUk#2tsc!0*%roaxCxl5}mogtKvY+fy_E!Y-|A!#FJ#*}4Zv?Kmwo@VK=Oy|@4 zf!R6FbZvMUK^kvH%Z2ziqX*Pqqt0DBOFt{FeFR_e*Bui}?3j<~O@#8cg2rx6JRijJahVx^}=o!S4M$=A!1$;p8rK zg-m}gTPtDr11G06E!)W=o&M}%4jNkFai3~=l;Q=N(nTPF$LN@WnmHtVsvZse`k*OL z1#M-R5a}Rqz*q+)Z`q_bm82AxQtRq=mLa@39gMbiP?0Sdl?-HPwwk0<9DQQ$8Y;uV zCMIo`a#Fq|>KaJ&jJ}vn&;m^)NQVKZXi|T`m-s!FQvZoOHGpE6f<0q2hHjbp=$4as zHe<`RwOWxefXEXen1+KjQ27R-z^p-z!Aw9CL`?mIYRM+iikrnm>P{ zhK1=E)x=wlTAPjF>y=8isneaJvWlJ9-7ljtTnd%m?^3}!bSM=H0yLXX91e$ZfK8m_@FPn8| zl!XZS6P-2#%PTdleXYwU+g{03AkBZ_&sw|x>Z+XR*baMEbbwDP84TPE5PeP+_7gjc z>yCH<6Ce=?RA=RmLUgj%Gm>gavA!3A9!b7C3Xi9-5 zc72X*-ptu7n5IB`23x9|#2L^&OKR+K#Un?hFKBf(qr)v41&2}`N_MFP-UWZT5pDCW z$yMBeY&tRpK;cLtAsSVDBF6wZW3f#0Q8rJw{J@3A6)JS1xUL4JoI(L_vjR4&V5eW*W;ku|KzeDBuQs4;}K?imZKQ?Mk`6<@Q( z-xvb&dW-FEA8>+izd?xqgv)<4kOrDM&y;VsmoOrCTF0HU3aH?3B}fLAy;j?vc;mSx z^!Sk}l8N+?E*GZ~VUwr`QFN?)2KaDyVZOpX2dKbHz}^~TYiBbRm!_yrUCcP`DjYQ6 z_LeiC;m+P|jW69PQjh`>yX7nFVDt>9*SPF1nLM}LdB-8;CNjlrAm4w4->xF{KHX!V zOmmq9Hy%6p$>nAuiclovqB{Y!)pPN%wgfXODLJkTANyMwPh6t$OEi#``*iKx%^t4u3(JRDFJTs&}A?fEJcvc_Y(Zo`CcOMI^TZ>!Fc{lFLti83ln>{s(s(~;p6Cs& zxB9WKlV+MXi2C?u1t>o5;CHcMz>o;5cE>A7SU(aoNV}k+=Op|TC83i6mekyo`A4xL zn3W%>GC_VD6?A>e@DsbnQ5Ht6Lq~~X%Q#c33Hg6##)33JFhH82sY!{7JSH^fH1I}3 zfJ+o}qOwg5SXSthvU&PiHLUDR@i{vBo_Y}p%zW7pP4v;aNs~!UYnv#l9}vz~D~w`d zMEOY15=zkqryi~v5Sy|EO)O_YpaNELrfRmaSOuIZbE1Wu6>O}oMGSb|F^%OgVD`-u@da`JjK}wF+mQ3v$b689g zQ#C8NjQe$3&0|x@wq~)JW-H>Hg$8s^K})ahrDkZx=2-kCby{io_I5Ho; z9`JuRa10P$9Q;T|aV>P)X&9Tjm$(Hd$Dd7s$eX&_lAIZ#PqBPn8@ErbU>H_KIaD_I z3+P_hL?BCrajmp0e>~N%adSvzD*S&P4S@vE*flDD4#tLpJ1fhs$l6QR#heK^JJ8Sb znor()G>O$EUJU5cQCCEt`;n+eCF7p+rbqat%)F7E^D~yE z7u}YhM|krgmt4|rcNN`WV|)7K;GYani}4s$6*f`$r!f`SaX*2Pz;G9jR^&B-^8LjGDCVTdlH*7A9s7=46x`~8(`W){WSc|>gNH$X$c8x|9GRwQQ!1R{+__XE z%r1p-@m}9Xn9x!4Hr3Q|6g__&nD*27_JvLD;slY=A$SVNfwz*VgWRw!?YI$NVXeE7jx4niK6^AgLI6K99PRc8Dc z-5S(WIGxXmTeIw7D_)`Zz`6KJV06}zW-0H<0_38cZ~OV}j6VU&-^G{Qt_UuFEjI#% zCwCp!>|l-GA>%~V;E4z_w*xGOSpyqiiW%NCGjS?m#c@pG^Q?N-sekc`&E~a2sMGLo z#{zxMAi!oAA3GaRlG$SRCe;FP_ zgTi!RaqlAw!xI_E}Y1%Rf7_DJ!xnWAJ_JgZtZ zCK>}LqVi&XHNoXnMV~)GxUhObfBNlnDhce&%5NI88kaZA-t5^n&u1WhElUkcIMC!; z*P&!b;Z@-*FBJo;xg~}mt4=}uAuJsjqSHFGLwSx|$|DIiq{30@sm?5LWDj`2N=9Tb z9Wk})>_qF|yt!Lc9k8S$dutSif|7kbKfCwt9?7&|3b4(}paoBzn=Id@f2QoPdXqr3 zSQ?3uC`?#V37?1y;p&)rtl(PGK7;7nnc0+itTCkwwab^_h&OBTv+GZu&LJu^`=rgH2$ob?KE*ClYs(#>=?iUgB4$mT z&olwSp_VVZp)>bf%-@>M0%iQ zEkHxc=o{BcRD5_{JDX%Sg5(liavLp&u&NxGrWpq=*sR>P-#F)b-Q1@em2&I}_r@qk zA2zb#p_MCNPp(k5mQThKNW0%OL07y#t=s~ z_7~(Ct2zKqf484Fo3Y=RaE(g|0IGVY_Mwgns$9eN8!sjg=+#_jU2QaT>|_!f=2m1U z-|f1q(64W%a*R@4Q7~cX$-jCG%yP??=+jz&+Eo7AkBsWS;jr*mwHOvaTrTa$y;J?r z>7mPoL3T+#REY$~fwWuJBUt@=wWzv{d02p_G$Hl^W6BmYtNA7 zp8N;STE&IG`OL3LyktWv3h>nXViwcAE0Oug?g|w+xJKSL@e6Dal-B6fb}3~b&=zcM zjJIfd(z@q``vVCh<^I!lC$>HP<|ZOqz+jDn>8%VKV~VL2q7thEnZiXIp;es%b_H>6 zfnt=}e;LHj_}YS=e77uDJJIylNRV+a(_d^h{WWHeXt9p8deA1Wy3@ywcnKR%?4(&Y z{wpWa_!0;_(AVCn`!M2%E2xzd!%x?QcBg=Q%Zp{ciFI72DTyr-K;mcA?c4BnQmGqr zWQ)jXlU{Q;FVi%Up(!L}%WxHb0P8f)=j3T+f2JX<2TvJhp`1cGI>&_Xq!$Z^vO_K< z2k-&;e<)#JFs7WHgzN&vS_88(?sn;_@Yx5Kljc^10kjV&UP|YhCXW*h4oL;Q{(ukL z2E4>RbuqkP@P|y{g~{gc^{@$sEony&xXApV^~m#1A$>?Qy>caXDv1ZLD9z~R_ldi| ze-3`P-74;9ujs3F@0X7lAdGSKLR<;c-YL{-G85vYttHuf7LUj;!EuW)gzPx#eS2<7 z(Pc7T4;|OgZ&Pk7@{*to^qk<-S((2l6_$?DsRg9s-KL9NbIxXJzxgHl@j;L?XICh z;w`^}CSt{;&9!4Z)`d39qrY#kia=vPB4VkaKg{goWGm4gGjQ*XJQw2?+H4ufUtd`N z7N324z5)i8RjHku89ypxqVy6!%A^;A_jLo3n2w`wXM0!`B-;7*e77IrpL^fVf1;i9 zZ{gP~HLmx*Aywket8aGca-pAl_$J!<=9L2~q|doB#(Z;8%3U0f$|7G(S%Vj2DjRIE z0#cg)SOq4bV=G{Fqh(m*e_*_M$xduC1(|d&r7rAa258g=v3n_XMH`Ag+zn}O9D`j; zy@=t{0yu^i4krabYoir(v&#sHf9}gR?&7JGWlsU&fpM`&5tk*$IM{W2yp{dZO%yhu zn&(Sdga=11i@>z~HT$6iyupJbVodOAoCf)sR%%XO6(i%$-aB=Fxjd;;Rf1CjA&!Zr z306OkDe(&_wVYBFnbVst>kiE! zy-=$@5Vcchtz&oGK!NTTSnC@2DZp|j!S{!M&Sm_N3^Hoc9xpW|pd&$gWaCCmkJdd8`TI7Ubhh?yO*ObuzY%*0I&hl_NosK%(n z7<+mp>_buzJf6PMfzDC2mVc=GCWzh~**ybvCBv8z=gkucw7SxiFJwWm$ zyC_W;8jzX|j4?cY`zfpuEi~KK2^r&%w=u%gJOg;Wmv3LepXPZ&^(4>zR03X4*tPW5 z9EKxE`6d4CmGFcY&)l+}FkR<(!rL>7N|$7G(^xLmQR1lD2M;V)L~? z`8&$^%KC_*s#Nsn9E#z^A5I62HFXS7OLPS0p_&ybMbJ5eP1z9J7=nB@%ovOqILh;~ zq>`g&m;AU093QsTr1g;yiPpB3@Hj>%_kd~?3y ?*@=o*;Yg)R#B82qS;9B9R|$ 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 Wt0{qIYmgi5YXCLz0vdpB82lf&MvBG& delta 396078 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

YI} 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

YQv4<1>)t*`pi=>rcvw*T6 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

_Id#b2%nbedx`fp*ZU;$6bI2L( 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 WS#@wH0V>UL2cRHS4*;O${Qm>QU-5eY diff --git a/examples/network/02_random_nodes.html b/examples/network/02_random_nodes.html index 417eb317..8f62e2d6 100644 --- a/examples/network/02_random_nodes.html +++ b/examples/network/02_random_nodes.html @@ -82,13 +82,13 @@ // add event listeners network.on('select', function(params) { document.getElementById('selection').innerHTML = 'Selection: ' + params.nodes; + console.log(params) }); network.on('stabilized', function (params) { document.getElementById('stabilization').innerHTML = 'Stabilization took ' + params.iterations + ' iterations.'; + doFocus = false; }); - } - diff --git a/examples/network/21_data_manipulation.html b/examples/network/21_data_manipulation.html index d78bf57f..a878fcfa 100644 --- a/examples/network/21_data_manipulation.html +++ b/examples/network/21_data_manipulation.html @@ -1,7 +1,7 @@ - Network | Navigation + Network | Data Manipulation