From bd28944a1001e5c758699a5444423f0fb65345d0 Mon Sep 17 00:00:00 2001 From: jos Date: Wed, 22 Oct 2014 21:51:48 +0200 Subject: [PATCH] Released version 3.6.1. Added new screenshots --- dist/vis.js | 8917 +++++++++-------- dist/vis.map | 2 +- dist/vis.min.js | 28 +- docs/timeline.html | 8 + download/vis.zip | Bin 1987332 -> 1989396 bytes examples/timeline/24_background_areas.html | 61 - examples/timeline/25_templates.html | 250 - examples/timeline/29_hiding_times.html | 4 +- examples/timeline/30_subgroups.html | 28 +- .../timeline/24_all_data_attributes.png | Bin 0 -> 15688 bytes ...ound_areas.png => 25_background_areas.png} | Bin .../{25_templates.png => 27_templates.png} | Bin img/gallery/timeline/29_hiding_times.png | Bin 0 -> 8753 bytes img/gallery/timeline/30_subgroups.png | Bin 0 -> 20372 bytes .../31_background_areas_with_groups.png | Bin 0 -> 15761 bytes index.html | 36 +- 16 files changed, 4536 insertions(+), 4798 deletions(-) delete mode 100644 examples/timeline/24_background_areas.html delete mode 100644 examples/timeline/25_templates.html create mode 100644 img/gallery/timeline/24_all_data_attributes.png rename img/gallery/timeline/{24_background_areas.png => 25_background_areas.png} (100%) rename img/gallery/timeline/{25_templates.png => 27_templates.png} (100%) create mode 100644 img/gallery/timeline/29_hiding_times.png create mode 100644 img/gallery/timeline/30_subgroups.png create mode 100644 img/gallery/timeline/31_background_areas_with_groups.png diff --git a/dist/vis.js b/dist/vis.js index b077d0a7..31f27c52 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.6.0 - * @date 2014-10-21 + * @version 3.6.1 + * @date 2014-10-22 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -6815,42 +6815,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param Core */ exports.convertHiddenOptions = function(body, hiddenDates) { - //var specificHiddenDates = hiddenDates.specific; - //if (specificHiddenDates) { - // if (Array.isArray(specificHiddenDates) == true) { - // for (var i = 0; i < specificHiddenDates.length; i++) { - // var dateItem = {}; - // dateItem.start = moment(specificHiddenDates[i].start).toDate().valueOf(); - // dateItem.end = moment(specificHiddenDates[i].end).toDate().valueOf(); - // body.hiddenDates.push(dateItem); - // } - // body.hiddenDates.sort(function (a, b) { - // return a.start - b.start; - // }); // sort by start time - // } - // else { - // body.hiddenDates = [{ - // start: moment(specificHiddenDates.start).toDate().valueOf(), - // end: moment(specificHiddenDates.end).toDate().valueOf() - // } - // ]; - // } - //} - // - //// allowing multiple input formats - //var periodicHiddenDates = hiddenDates.periodic; - //if (periodicHiddenDates) { - // if (periodicHiddenDates.times) { - // if (Array.isArray(periodicHiddenDates.times) != true) { - // periodicHiddenDates.times = [periodicHiddenDates.times]; - // } - // } - // if (periodicHiddenDates.days) { - // if (Array.isArray(periodicHiddenDates.days) != true) { - // periodicHiddenDates.days = [periodicHiddenDates.days]; - // } - // } - //} body.hiddenDates = []; if (hiddenDates) { if (Array.isArray(hiddenDates) == true) { @@ -6885,63 +6849,90 @@ return /******/ (function(modules) { // webpackBootstrap var totalRange = (body.range.end - body.range.start); var pixelTime = totalRange / body.domProps.centerContainer.width; - for (var i = 0; i < hiddenDates.length; i++) { if (hiddenDates[i].repeat !== undefined) { var startDate = moment(hiddenDates[i].start); var endDate = moment(hiddenDates[i].end); + if (startDate._d == "Invalid Date") { + throw new Error("Supplied start date is not valid: " + hiddenDates[i].start); + } + if (endDate._d == "Invalid Date") { + throw new Error("Supplied end date is not valid: " + hiddenDates[i].end); + } + var duration = endDate - startDate; if (duration >= 4 * pixelTime) { + var offset = 0; + var runUntil = end.clone(); switch (hiddenDates[i].repeat) { case "daily": // case of time if (startDate.day() != endDate.day()) { offset = 1; } - startDate.day(start.day); - startDate.subtract(7,'days'); - startDate.month(start.month()); + startDate.dayOfYear(start.dayOfYear()); startDate.year(start.year()); + startDate.subtract(7,'days'); - endDate.day(start.day); - endDate.subtract(7 + offset,'days'); - endDate.month(start.month()); + endDate.dayOfYear(start.dayOfYear()); endDate.year(start.year()); + endDate.subtract(7 - offset,'days'); + + runUntil.add(1, 'weeks'); break; case "weekly": - if (startDate.week() != endDate.week()) { - offset = 1; - } - startDate.week(start.week() - 1) + var dayOffset = endDate.diff(startDate,'days') + var day = startDate.day(); + + // set the start date to the range.start + startDate.date(start.date()); + startDate.month(start.month()); startDate.year(start.year()); + endDate = startDate.clone(); - endDate.week(start.week() - 1 + offset) - endDate.year(start.year()); + // force + startDate.day(day); + endDate.day(day); + endDate.add(dayOffset,'days'); + + startDate.subtract(1,'weeks'); + endDate.subtract(1,'weeks'); + + runUntil.add(1, 'weeks'); break case "monthly": if (startDate.month() != endDate.month()) { offset = 1; } - startDate.month(start.month() - 1) + startDate.month(start.month()); startDate.year(start.year()); + startDate.subtract(1,'months'); - endDate.month(start.month() - 1 + offset) + endDate.month(start.month()); endDate.year(start.year()); + endDate.subtract(1,'months'); + endDate.add(offset,'months'); + + runUntil.add(1, 'months'); break; case "yearly": if (startDate.year() != endDate.year()) { offset = 1; } - startDate.year(start.year() - 1); + startDate.year(start.year()); + startDate.subtract(1,'years'); + endDate.year(start.year()); + endDate.subtract(1,'years'); + endDate.add(offset,'years'); - endDate.year(start.year() - 1 + offset); + runUntil.add(1, 'years'); break; default: console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:", hiddenDates[i].repeat); return; } - while (startDate < end) { + while (startDate < runUntil) { body.hiddenDates.push({start: startDate.valueOf(), end: endDate.valueOf()}); switch (hiddenDates[i].repeat) { case "daily": @@ -6949,8 +6940,8 @@ return /******/ (function(modules) { // webpackBootstrap endDate.add(1, 'days'); break; case "weekly": - startDate.add(7, 'days'); - endDate.add(7, 'days'); + startDate.add(1, 'weeks'); + endDate.add(1, 'weeks'); break case "monthly": startDate.add(1, 'months'); @@ -6969,10 +6960,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } - // remove duplicates, merge where possible exports.removeDuplicates(body); - // ensure the new positions are not on hidden dates var startHidden = exports.isHidden(body.range.start, body.hiddenDates); var endHidden = exports.isHidden(body.range.end,body.hiddenDates); @@ -6984,6 +6973,7 @@ return /******/ (function(modules) { // webpackBootstrap body.range._applyRange(rangeStart, rangeEnd); } } + } @@ -7100,7 +7090,7 @@ return /******/ (function(modules) { // webpackBootstrap time = hidden.startDate; } - var duration = exports.getHiddenDuration(Core.body.hiddenDates, Core.range); + var duration = exports.getHiddenDurationBetween(Core.body.hiddenDates, Core.range.start, Core.range.end); time = exports.correctTimeForHidden(Core.body.hiddenDates, Core.range, time); var conversion = Core.range.conversion(width, duration); @@ -7117,7 +7107,7 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Date} */ exports.toTime = function(body, range, x, width) { - var hiddenDuration = exports.getHiddenDuration(body.hiddenDates, range); + var hiddenDuration = exports.getHiddenDurationBetween(body.hiddenDates, range.start, range.end); var totalDuration = range.end - range.start - hiddenDuration; var partialDuration = totalDuration * x / width; var accumulatedHiddenDuration = exports.getAccumulatedHiddenDuration(body.hiddenDates,range, partialDuration); @@ -7130,17 +7120,17 @@ return /******/ (function(modules) { // webpackBootstrap /** * Support function * - * @param hiddenTimes + * @param hiddenDates * @param range * @returns {number} */ - exports.getHiddenDuration = function(hiddenTimes, range) { + exports.getHiddenDurationBetween = function(hiddenDates, start, end) { var duration = 0; - for (var i = 0; i < hiddenTimes.length; i++) { - var startDate = hiddenTimes[i].start; - var endDate = hiddenTimes[i].end; + for (var i = 0; i < hiddenDates.length; i++) { + var startDate = hiddenDates[i].start; + var endDate = hiddenDates[i].end; // if time after the cutout, and the - if (startDate >= range.start && endDate < range.end) { + if (startDate >= start && endDate < end) { duration += endDate - startDate; } } @@ -7214,14 +7204,14 @@ return /******/ (function(modules) { // webpackBootstrap /** * used to step over to either side of a hidden block. Correction is disabled on tablets, might be set to true - * @param hiddenTimes + * @param hiddenDates * @param time * @param direction * @param correctionEnabled * @returns {*} */ - exports.snapAwayFromHidden = function(hiddenTimes, time, direction, correctionEnabled) { - var isHidden = exports.isHidden(time, hiddenTimes); + exports.snapAwayFromHidden = function(hiddenDates, time, direction, correctionEnabled) { + var isHidden = exports.isHidden(time, hiddenDates); if (isHidden.hidden == true) { if (direction < 0) { if (correctionEnabled == true) { @@ -7251,21 +7241,20 @@ return /******/ (function(modules) { // webpackBootstrap * Check if a time is hidden * * @param time - * @param hiddenTimes + * @param hiddenDates * @returns {{hidden: boolean, startDate: Window.start, endDate: *}} */ - exports.isHidden = function(time, hiddenTimes) { - var isHidden = false; - for (var i = 0; i < hiddenTimes.length; i++) { - var startDate = hiddenTimes[i].start; - var endDate = hiddenTimes[i].end; + exports.isHidden = function(time, hiddenDates) { + for (var i = 0; i < hiddenDates.length; i++) { + var startDate = hiddenDates[i].start; + var endDate = hiddenDates[i].end; if (time >= startDate && time < endDate) { // if the start is entering a hidden zone - isHidden = true; + return {hidden: true, startDate: startDate, endDate: endDate}; break; } } - return {hidden: isHidden, startDate: startDate, endDate: endDate}; + return {hidden: false, startDate: startDate, endDate: endDate}; } /***/ }, @@ -7788,7 +7777,6 @@ return /******/ (function(modules) { // webpackBootstrap this.start = newStart; this.end = newEnd; - return changed; }; @@ -7871,20 +7859,19 @@ return /******/ (function(modules) { // webpackBootstrap Range.prototype._onDrag = function (event) { // only allow dragging when configured as movable if (!this.options.moveable) return; - var direction = this.options.direction; - validateDirection(direction); - // refuse to drag when we where pinching to prevent the timeline make a jump // when releasing the fingers in opposite order from the touch screen if (!this.props.touch.allowDragging) return; + var direction = this.options.direction; + validateDirection(direction); + var delta = (direction == 'horizontal') ? event.gesture.deltaX : event.gesture.deltaY; delta -= this.deltaDifference; var interval = (this.props.touch.end - this.props.touch.start); - // normalize dragging speed if cutout is in between. - var duration = DateUtil.getHiddenDuration(this.body.hiddenDates, this); + var duration = DateUtil.getHiddenDurationBetween(this.body.hiddenDates, this.start, this.end); interval -= duration; var width = (direction == 'horizontal') ? this.body.domProps.center.width : this.body.domProps.center.height; @@ -8028,18 +8015,20 @@ return /******/ (function(modules) { // webpackBootstrap var scale = 1 / (event.gesture.scale + this.scaleOffset); var center = this._pointerToDate(this.props.touch.center); - var hiddenDuration = DateUtil.getHiddenDuration(this.body.hiddenDates, this); + var hiddenDuration = DateUtil.getHiddenDurationBetween(this.body.hiddenDates, this.start, this.end); + var hiddenDurationBefore = DateUtil.getHiddenDurationBefore(this.body.hiddenDates, this, center); + var hiddenDurationAfter = hiddenDuration - hiddenDurationBefore; // calculate new start and end - var newStart = center + (this.props.touch.start - center) * scale; - var newEnd = (center+hiddenDuration) + (this.props.touch.end - (center+hiddenDuration)) * scale; + var newStart = (center-hiddenDurationBefore) + (this.start - (center-hiddenDurationBefore)) * scale; + var newEnd = (center+hiddenDurationAfter) + (this.end - (center+hiddenDurationAfter)) * scale; // snapping times away from hidden zones this.startToFront = 1 - scale > 0 ? false : true; // used to do the right autocorrection with periodic hidden times this.endToFront = scale - 1 > 0 ? false : true; // used to do the right autocorrection with periodic hidden times - var safeStart = DateUtil.snapAwayFromHidden(this.body.hiddenDates, newStart, 1 - scale, false); - var safeEnd = DateUtil.snapAwayFromHidden(this.body.hiddenDates, newEnd, scale - 1, false); + var safeStart = DateUtil.snapAwayFromHidden(this.body.hiddenDates, newStart, 1 - scale, true); + var safeEnd = DateUtil.snapAwayFromHidden(this.body.hiddenDates, newEnd, scale - 1, true); if (safeStart != newStart || safeEnd != newEnd) { this.props.touch.start = safeStart; this.props.touch.end = safeEnd; @@ -8068,12 +8057,7 @@ return /******/ (function(modules) { // webpackBootstrap validateDirection(direction); if (direction == 'horizontal') { - var width = this.body.domProps.center.width; - var duration = DateUtil.getHiddenDuration(this.body.hiddenDates, this); - //return DateUtil.toTime(this.body, this, pointer.x, width); - conversion = this.conversion(width, duration); - //console.log(new Date(pointer.x / conversion.scale + conversion.offset + duration)); - return pointer.x / conversion.scale + conversion.offset; + return this.body.util.toTime(pointer.x).valueOf(); } else { var height = this.body.domProps.center.height; @@ -8112,11 +8096,14 @@ return /******/ (function(modules) { // webpackBootstrap center = (this.start + this.end) / 2; } - var hiddenDuration = DateUtil.getHiddenDuration(this.body.hiddenDates, this); + var hiddenDuration = DateUtil.getHiddenDurationBetween(this.body.hiddenDates, this.start, this.end); + var hiddenDurationBefore = DateUtil.getHiddenDurationBefore(this.body.hiddenDates, this, center); + var hiddenDurationAfter = hiddenDuration - hiddenDurationBefore; // calculate new start and end - var newStart = center + (this.start - center) * scale; - var newEnd = (center+hiddenDuration) + (this.end - (center+hiddenDuration)) * scale; + var newStart = (center-hiddenDurationBefore) + (this.start - (center-hiddenDurationBefore)) * scale; + var newEnd = (center+hiddenDurationAfter) + (this.end - (center+hiddenDurationAfter)) * scale; + // snapping times away from hidden zones this.startToFront = delta > 0 ? false : true; // used to do the right autocorrection with periodic hidden times this.endToFront = -delta > 0 ? false : true; // used to do the right autocorrection with periodic hidden times @@ -8759,7 +8746,6 @@ return /******/ (function(modules) { // webpackBootstrap } } - switch (this.scale) { case TimeStep.SCALE.MILLISECOND: return (this.current.getMilliseconds() == 0); @@ -9931,7 +9917,8 @@ return /******/ (function(modules) { // webpackBootstrap function Group (groupId, data, itemSet) { this.groupId = groupId; this.subgroups = {}; - this.visibleSubgroups = 0; + this.subgroupIndex = 0; + this.subgroupOrderer = data && data.subgroupOrder; this.itemSet = itemSet; this.dom = {}; @@ -10216,13 +10203,14 @@ return /******/ (function(modules) { // webpackBootstrap item.setParent(this); // add to - var index = 0; if (item.data.subgroup !== undefined) { if (this.subgroups[item.data.subgroup] === undefined) { - this.subgroups[item.data.subgroup] = {height:0, visible: false, index:index}; - index++; + this.subgroups[item.data.subgroup] = {height:0, visible: false, index:this.subgroupIndex, items: []}; + this.subgroupIndex++; } + this.subgroups[item.data.subgroup].items.push(item); } + this.orderSubgroups(); if (this.visibleItems.indexOf(item) == -1) { var range = this.itemSet.body.range; // TODO: not nice accessing the range like this @@ -10230,6 +10218,32 @@ return /******/ (function(modules) { // webpackBootstrap } }; + Group.prototype.orderSubgroups = function() { + if (this.subgroupOrderer !== undefined) { + var sortArray = []; + if (typeof this.subgroupOrderer == 'string') { + for (var subgroup in this.subgroups) { + sortArray.push({subgroup: subgroup, sortField: this.subgroups[subgroup].items[0].data[this.subgroupOrderer]}) + } + sortArray.sort(function (a, b) { + return a.sortField - b.sortField; + }) + } + else if (typeof this.subgroupOrderer == 'function') { + for (var subgroup in this.subgroups) { + sortArray.push(this.subgroups[subgroup].items[0].data); + } + sortArray.sort(this.subgroupOrderer); + } + + if (sortArray.length > 0) { + for (var i = 0; i < sortArray.length; i++) { + this.subgroups[sortArray[i].subgroup].index = i; + } + } + } + } + Group.prototype.resetSubgroups = function() { for (var subgroup in this.subgroups) { if (this.subgroups.hasOwnProperty(subgroup)) { @@ -13664,6 +13678,7 @@ return /******/ (function(modules) { // webpackBootstrap var x = this.body.util.toScreen(cur); var isMajor = step.isMajor(); + // TODO: lines must have a width, such that we can create css backgrounds if (this.options.showMinorLabels) { @@ -21023,7 +21038,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__(55); + module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(54); /***/ }, @@ -21033,7 +21048,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__(54); + module.exports = window['Hammer'] || __webpack_require__(55); } else { module.exports = function () { @@ -23540,5031 +23555,5031 @@ return /******/ (function(modules) { // webpackBootstrap /* 54 */ /***/ function(module, exports, __webpack_require__) { - 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(window, undefined) { - 'use strict'; + 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 - /** - * @main - * @module hammer - * - * @class Hammer - * @static - */ + (function (undefined) { + /************************************ + Constants + ************************************/ - /** - * 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 || {}); - }; + 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, - /** - * version, as defined in package.json - * the value will be set at each build - * @property VERSION - * @final - * @type {String} - */ - Hammer.VERSION = '1.1.3'; + YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, - /** - * 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', + // internal storage for locale config files + locales = {}, - /** - * 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', + // extra moment internal properties (plugins register props here) + momentProperties = [], - /** - * 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', + // check for nodeJS + hasModule = (typeof module !== 'undefined' && module.exports), - /** - * Specifies whether zooming is enabled. Used by IE10> - * @property defaults.behavior.contentZooming - * @type {String} - * @default 'none' - */ - contentZooming: 'none', + // ASP.NET json date format regex + aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, + aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, - /** - * 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', + // 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)$/, - /** - * 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)' - } - }; + // 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, - /** - * hammer document where the base events are added at - * @property DOCUMENT - * @type {HTMLElement} - * @default window.document - */ - Hammer.DOCUMENT = document; + // 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}/, - /** - * detect support for pointer events - * @property HAS_POINTEREVENTS - * @type {Boolean} - */ - Hammer.HAS_POINTEREVENTS = navigator.pointerEnabled || navigator.msPointerEnabled; + //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 - /** - * detect support for touch events - * @property HAS_TOUCHEVENTS - * @type {Boolean} - */ - Hammer.HAS_TOUCHEVENTS = ('ontouchstart' in window); + // 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 mobile browsers - * @property IS_MOBILE - * @type {Boolean} - */ - Hammer.IS_MOBILE = /mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent); + isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', - /** - * 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; - - /** - * interval in which Hammer recalculates current velocity/direction/angle in ms - * @property CALCULATE_INTERVAL - * @type {Number} - * @default 25 - */ - Hammer.CALCULATE_INTERVAL = 25; - - /** - * 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 = {}; - - /** - * 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'; - - /** - * 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'; - - /** - * 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'; - - /** - * if the window events are set... - * @property READY - * @writeOnce - * @type {Boolean} - * @default false - */ - Hammer.READY = false; - - /** - * 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 || {}; - - /** - * setup events to detect gestures on the document - * this function is called when creating an new instance - * @private - */ - function setup() { - if(Hammer.READY) { - return; - } - - // find what eventtypes we add listeners to - Event.determineEventTypes(); - - // Register all gestures inside Hammer.gestures - Utils.each(Hammer.gestures, function(gesture) { - Detection.register(gesture); - }); - - // Add touch events on the document - Event.onTouch(Hammer.DOCUMENT, EVENT_MOVE, Detection.detect); - Event.onTouch(Hammer.DOCUMENT, EVENT_END, Detection.detect); - - // Hammer is ready...! - Hammer.READY = true; - } - - /** - * @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; - } - dest[key] = src[key]; - } - 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); - }, - - /** - * 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; - - // 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; - } - } - } - }, - - /** - * 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; - }, - - /** - * 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-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); - }, - - /** - * 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; - }, - - /** - * 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; - - // 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 - }; - } - - Utils.each(touches, function(touch) { - pageX.push(touch.pageX); - pageY.push(touch.pageY); - clientX.push(touch.clientX); - clientY.push(touch.clientY); - }); - - 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 - }; - }, - - /** - * 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 - }; - }, - - /** - * 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; - - return Math.atan2(y, x) * 180 / Math.PI; - }, - - /** - * 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); - - if(x >= y) { - return touch1.clientX - touch2.clientX > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; - } - 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; - - return Math.sqrt((x * x) + (y * y)); - }, - - /** - * 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]); - } - 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; - }, - - /** - * 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; - }, - - /** - * 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); - - 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); - } - - // test the style - if(p in element.style) { - element.style[p] = (toggle == null || toggle) && value || ''; - break; - } - } - }, - - /** - * 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; - } - - // set the css properties - Utils.each(props, function(value, prop) { - Utils.setPrefixedCss(element, prop, value, toggle); - }); - - var falseFn = toggle && function() { - return false; - }; - - // also the disable onselectstart - if(props.userSelect == 'none') { - element.onselectstart = falseFn; - } - // and disable ondragstart - if(props.userDrag == 'none') { - element.ondragstart = falseFn; - } - }, - - /** - * 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(); - }); - } - }; - - - /** - * @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, - - /** - * when the mouse is hold down, this is true - * @property should_detect - * @private - * @type {Boolean} - */ - shouldDetect: 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); - }); - }, - - /** - * 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); - }); - }, - - /** - * 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; - - var onTouchHandler = function onTouchHandler(ev) { - var srcType = ev.type.toLowerCase(), - isPointer = Hammer.HAS_POINTEREVENTS, - isMouse = Utils.inStr(srcType, 'mouse'), - triggerType; - - // 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; - - // 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; - } - - // 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); - } - - // ...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 - } - - if(isPointer && eventType == EVENT_END) { - PointerEvent.updatePointer(eventType, ev); - } - }; - - this.on(element, EVENT_TYPES[eventType], onTouchHandler); - return onTouchHandler; - }, - - /** - * 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; - - // 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; - - // keep track of how many touches have been removed - changedLength = touchList.length - ((ev.changedTouches) ? ev.changedTouches.length : 1); - } - - // 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; - - // 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); - } - - // 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); - - evData.eventType = triggerType; - delete evData.changedLength; - } - - // trigger the END event - if(triggerType == EVENT_END) { - handler.call(Detection, evData); - - // ...and we are done with the detection - // so reset everything to start each detection totally fresh - this.started = false; - } - - return triggerType; - }, - - /** - * 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' - ]; - } - - EVENT_TYPES[EVENT_START] = types[0]; - EVENT_TYPES[EVENT_MOVE] = types[1]; - EVENT_TYPES[EVENT_END] = types[2]; - return EVENT_TYPES; - }, - - /** - * 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(); - } + 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}/] + ], - // get the touchlist - if(ev.touches) { - if(eventType == EVENT_MOVE) { - return ev.touches; - } + // 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/] + ], - var identifiers = []; - var concat = [].concat(Utils.toArray(ev.touches), Utils.toArray(ev.changedTouches)); - var touchList = []; + // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30'] + parseTimezoneChunker = /([\+\-]|\d\d)/gi, - Utils.each(concat, function(touch) { - if(Utils.inArray(identifiers, touch.identifier) === false) { - touchList.push(touch); - } - identifiers.push(touch.identifier); - }); + // 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 + }, - return touchList; - } + 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' + }, - // make fake touchList from mouse position - ev.identifier = 1; - return [ev]; - }, + camelFunctions = { + dayofyear : 'dayOfYear', + isoweekday : 'isoWeekday', + isoweek : 'isoWeek', + weekyear : 'weekYear', + isoweekyear : 'isoWeekYear' + }, - /** - * 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; - } + // format function strings + formatFunctions = {}, - return { - center: Utils.getCenter(touches), - timeStamp: Date.now(), - target: ev.target, - touches: touches, - eventType: eventType, - pointerType: pointerType, - srcEvent: ev, + // 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 + }, - /** - * 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(); - }, + // tokens to ordinalize and pad + ordinalizeTokens = 'DDD w W M D d'.split(' '), + paddedTokens = 'M D H h m s w W'.split(' '), - /** - * stop bubbling the event up to its parents - */ - stopPropagation: function() { - this.srcEvent.stopPropagation(); + formatTokenFunctions = { + M : function () { + return this.month() + 1; }, - - /** - * immediately stop gesture detection - * might be useful after a swipe was detected - * @return {*} - */ - stopDetect: function() { - return Detection.stopDetect(); + 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(); } - }; - } - }; - + }, - /** - * @module hammer - * - * @class PointerEvent - * @static - */ - var PointerEvent = Hammer.PointerEvent = { - /** - * holds all pointers, by `identifier` - * @property pointers - * @type {Object} - */ - pointers: {}, + deprecations = {}, - /** - * 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; - }, + lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin']; - /** - * 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; + // 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'); } - }, + } - /** - * 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; - } + function hasOwnProp(a, b) { + return hasOwnProperty.call(a, b); + } + + 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 + }; + } - var pt = ev.pointerType, - types = {}; + function printMsg(msg) { + if (moment.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && console.warn) { + console.warn('Deprecation warning: ' + msg); + } + } - 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]; - }, + function deprecate(msg, fn) { + var firstTime = true; + return extend(function () { + if (firstTime) { + printMsg(msg); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } - /** - * reset the stored pointers - * @method reset - */ - reset: function resetList() { - this.pointers = {}; + function deprecateSimple(name, msg) { + if (!deprecations[name]) { + printMsg(msg); + deprecations[name] = true; + } } - }; + 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); + }; + } - /** - * @module hammer - * - * @class Detection - * @static - */ - var Detection = Hammer.detection = { - // contains all registred Hammer.gestures in the correct order - gestures: [], + 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); - // data of the current Hammer.gesture detection session - current: null, - // the previous Hammer.gesture session data - // is a full clone of the previous gesture.current object - previous: null, + /************************************ + Constructors + ************************************/ - // when this becomes true, no gestures are fired - stopped: false, + function Locale() { + } - /** - * 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; + // Moment prototype object + function Moment(config, skipOverflow) { + if (skipOverflow !== false) { + checkOverflow(config); } + copyConfig(this, config); + this._d = new Date(+config._d); + } - this.stopped = false; + // 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; - // 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 - }; + // 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.detect(eventData); - }, + this._data = {}; - /** - * Hammer.gesture detection - * @method detect - * @param {Object} eventData - * @return {any} - */ - detect: function detect(eventData) { - if(!this.current || this.stopped) { - return; - } + this._locale = moment.localeData(); - // extend event data with calculations about scale, distance etc - eventData = this.extendEventData(eventData); + this._bubble(); + } - // hammer instance and instance options - var inst = this.current.inst, - instOptions = inst.options; + /************************************ + Helpers + ************************************/ - // 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; + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } } - if(eventData.eventType == EVENT_END) { - this.stopDetect(); + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; } - 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); + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } - // reset the current - this.current = null; - this.stopped = true; - }, + return a; + } - /** - * 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; + function copyConfig(to, from) { + var i, prop, val; - 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 (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(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { - cur.futureCalcEvent = ev; + if (momentProperties.length > 0) { + for (i in momentProperties) { + prop = momentProperties[i]; + val = from[prop]; + if (typeof val !== 'undefined') { + to[prop] = val; + } + } } - 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); + return to; + } - cur.lastCalcEvent = cur.futureCalcEvent || ev; - cur.futureCalcEvent = ev; + function absRound(number) { + if (number < 0) { + return Math.ceil(number); + } else { + return Math.floor(number); } + } - 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; + // 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; - // 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 - }); - }); + while (output.length < targetLength) { + output = '0' + output; } + return (sign ? (forceSign ? '+' : '') : '-') + output; + } - 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, + function positiveMomentsDifference(base, other) { + var res = {milliseconds: 0, months: 0}; - deltaTime: deltaTime, - deltaX: deltaX, - deltaY: deltaY, + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } - 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) - }); + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); - return ev; - }, + return res; + } - /** - * 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; + 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; } - // extend Hammer default options with the Hammer.gesture options - Utils.extend(Hammer.defaults, options, true); - - // set its index - gesture.index = gesture.index || 1000; - - // add Hammer.gesture to the list - this.gestures.push(gesture); + return res; + } - // 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; + // 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; } - return 0; - }); - return this.gestures; + val = typeof val === 'string' ? +val : val; + dur = moment.duration(val, period); + addOrSubtractDurationFromMoment(this, dur, direction); + return this; + }; } - }; + function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = duration._days, + months = duration._months; + updateOffset = updateOffset == null ? true : updateOffset; - /** - * @module hammer - */ + 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); + } + } - /** - * 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; + // check if is an array + function isArray(input) { + return Object.prototype.toString.call(input) === '[object Array]'; + } - // setup HammerJS window events and register all gestures - // this also sets up the default options - setup(); + function isDate(input) { + return Object.prototype.toString.call(input) === '[object Date]' || + input instanceof Date; + } - /** - * @property element - * @type {HTMLElement} - */ - this.element = element; + // 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; + } - /** - * @property enabled - * @type {Boolean} - * @protected - */ - this.enabled = true; + function normalizeUnits(units) { + if (units) { + var lowered = units.toLowerCase().replace(/(.)s$/, '$1'); + units = unitAliases[units] || camelFunctions[lowered] || lowered; + } + return units; + } - /** - * 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; - }); + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; - this.options = Utils.extend(Utils.extend({}, Hammer.defaults), options || {}); + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } - // 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); + return normalizedInput; } - /** - * 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); + 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 { + return; } - }); - /** - * keep a list of user event handlers which needs to be removed when calling 'dispose' - * @property eventHandlers - * @type {Array} - */ - this.eventHandlers = []; - }; + moment[field] = function (format, index) { + var i, getter, + method = moment._locale[field], + results = []; - 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; - }, + if (typeof format === 'number') { + index = format; + format = undefined; + } - /** - * unbind events to the instance - * @method off - * @chainable - * @param {String} gestures - * @param {Function} handler - */ - off: function offEvent(gestures, handler) { - var self = this; + getter = function (i) { + var m = moment().utc().set(setter, i); + return method.call(moment._locale, m, format || ''); + }; - Event.off(self.element, gestures, handler, function(type) { - var index = Utils.inArray({ gesture: type, handler: handler }); - if(index !== false) { - self.eventHandlers.splice(index, 1); + if (index != null) { + return getter(index); } - }); - return self; - }, + else { + for (i = 0; i < count; i++) { + results.push(getter(i)); + } + return results; + } + }; + } - /** - * trigger gesture event - * @method trigger - * @chainable - * @param {String} gesture - * @param {Object} [eventData] - */ - trigger: function triggerEvent(gesture, eventData) { - // optional - if(!eventData) { - eventData = {}; + 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); + } } - // create DOM event - var event = Hammer.DOCUMENT.createEvent('Event'); - event.initEvent(gesture, true, true); - event.gesture = eventData; + return value; + } - // 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; - } + function daysInMonth(year, month) { + return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); + } - element.dispatchEvent(event); - return this; - }, + function weeksInYear(year, dow, doy) { + return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week; + } - /** - * enable of disable hammer.js detection - * @method enable - * @chainable - * @param {Boolean} state - */ - enable: function enable(state) { - this.enabled = state; - return this; - }, + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } - /** - * dispose this hammer instance - * @method dispose - * @return {Null} - */ - dispose: function dispose() { - var i, eh; + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } - // undo all changes made by stop_browser_behavior - Utils.toggleBehavior(this.element, this.options.behavior, 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; - // unbind all custom event handlers - for(i = -1; (eh = this.eventHandlers[++i]);) { - Utils.off(this.element, eh.gesture, eh.handler); + if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } + + m._pf.overflow = overflow; } + } - this.eventHandlers = []; + 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; - // unbind the start event listener - Event.off(this.element, EVENT_TYPES[EVENT_START], this.eventStartHandler); + if (m._strict) { + m._isValid = m._isValid && + m._pf.charsLeftOver === 0 && + m._pf.unusedTokens.length === 0; + } + } + return m._isValid; + } - return null; + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; } - }; + // 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; - /** - * @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 - */ + 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; + } + + 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]; + } - /** - * @param {String} name - */ - (function(name) { - var triggered = false; + // 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(); + } - function dragGesture(ev, inst) { - var cur = Detection.current; + /************************************ + Locale + ************************************/ - // max touches - if(inst.options.dragMaxTouches > 0 && - ev.touches.length > inst.options.dragMaxTouches) { - return; - } - switch(ev.eventType) { - case EVENT_START: - triggered = false; - break; + extend(Locale.prototype, { - 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; + set : function (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (typeof prop === 'function') { + this[i] = prop; + } else { + this['_' + i] = prop; } + } + }, - var startCenter = cur.startEvent.center; + _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + months : function (m) { + return this._months[m.month()]; + }, - // 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; + _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + monthsShort : function (m) { + return this._monthsShort[m.month()]; + }, - // recalculate event data using new start point - ev = Detection.extendEventData(ev); - } - } + monthsParse : function (monthName) { + var i, mom, regex; - // lock drag to axis? - if(cur.lastEvent.dragLockToAxis || - ( inst.options.dragLockToAxis && - inst.options.dragLockMinDistance <= ev.distance - )) { - ev.dragLockToAxis = true; - } + if (!this._monthsParse) { + this._monthsParse = []; + } - // 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; - } + 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'); } - - // first time, trigger dragstart event - if(!triggered) { - inst.trigger(name + 'start', ev); - triggered = true; + // test the regex + if (this._monthsParse[i].test(monthName)) { + return i; } + } + }, - // trigger events - inst.trigger(name, ev); - inst.trigger(name + ev.direction, ev); + _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdays : function (m) { + return this._weekdays[m.day()]; + }, - var isVertical = Utils.isVertical(ev.direction); + _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysShort : function (m) { + return this._weekdaysShort[m.day()]; + }, - // block the browser events - if((inst.options.dragBlockVertical && isVertical) || - (inst.options.dragBlockHorizontal && !isVertical)) { - ev.preventDefault(); - } - break; + _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + weekdaysMin : function (m) { + return this._weekdaysMin[m.day()]; + }, - case EVENT_RELEASE: - if(triggered && ev.changedLength <= inst.options.dragMaxTouches) { - inst.trigger(name + 'end', ev); - triggered = false; - } - break; + weekdaysParse : function (weekdayName) { + var i, mom, regex; - case EVENT_END: - triggered = false; - break; - } - } + if (!this._weekdaysParse) { + this._weekdaysParse = []; + } - 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, + 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; + } + } + }, - /** - * 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, + _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; + }, - /** - * set 0 for unlimited, but this can conflict with transform - * @property dragMaxTouches - * @type {Number} - * @default 1 - */ - dragMaxTouches: 1, + 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'); + }, - /** - * 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, + _meridiemParse : /[ap]\.?m?\.?/i, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + }, - /** - * same as `dragBlockHorizontal`, but for vertical movement - * @property dragBlockVertical - * @type {Boolean} - * @default false - */ - dragBlockVertical: false, + _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' + }, - /** - * 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, + 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); + }, - /** - * 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'); + pastFuture : function (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); + }, - /** - * @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); - } - }; + ordinal : function (number) { + return this._ordinal.replace('%d', number); + }, + _ordinal : '%d', - /** - * @module gestures - */ - /** - * Touch stays at the same place for x time - * - * @class Hold - * @static - */ - /** - * @event hold - * @param {Object} ev - */ + preparse : function (string) { + return string; + }, - /** - * @param {String} name - */ - (function(name) { - var timer; + postformat : function (string) { + return string; + }, - function holdGesture(ev, inst) { - var options = inst.options, - current = Detection.current; + week : function (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + }, - switch(ev.eventType) { - case EVENT_START: - clearTimeout(timer); + _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. + }, - // set the gesture so we can check in the timeout if it still is - current.name = name; + _invalidDate: 'Invalid date', + invalidDate: function () { + return this._invalidDate; + } + }); - // 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; + /************************************ + Formatting + ************************************/ - case EVENT_MOVE: - if(ev.distance > options.holdThreshold) { - clearTimeout(timer); - } - break; - case EVENT_RELEASE: - clearTimeout(timer); - break; + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); } + return input.replace(/\\/g, ''); } - Hammer.gestures.Hold = { - name: name, - index: 10, - defaults: { - /** - * @property holdTimeout - * @type {Number} - * @default 500 - */ - holdTimeout: 500, - - /** - * movement allowed while holding - * @property holdThreshold - * @type {Number} - * @default 2 - */ - holdThreshold: 2 - }, - handler: holdGesture - }; - })('hold'); + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; - /** - * @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); + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } } - } - }; - /** - * @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, + 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; + }; + } - /** - * @property swipeMaxTouches - * @type {Number} - * @default 1 - */ - swipeMaxTouches: 1, + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } - /** - * horizontal swipe velocity - * @property swipeVelocityX - * @type {Number} - * @default 0.6 - */ - swipeVelocityX: 0.6, + format = expandFormat(format, m.localeData()); - /** - * vertical swipe velocity - * @property swipeVelocityY - * @type {Number} - * @default 0.6 - */ - swipeVelocityY: 0.6 - }, + if (!formatFunctions[format]) { + formatFunctions[format] = makeFormatFunction(format); + } - handler: function swipeGesture(ev, inst) { - if(ev.eventType == EVENT_RELEASE) { - var touches = ev.touches.length, - options = inst.options; + return formatFunctions[format](m); + } - // max touches - if(touches < options.swipeMinTouches || - touches > options.swipeMaxTouches) { - return; - } + function expandFormat(format, locale) { + var i = 5; - // 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); - } + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; } + + return format; } - }; - /** - * @module gestures - */ - /** - * Single tap and a double tap on a place - * - * @class Tap - * @static - */ - /** - * @event tap - * @param {Object} ev - */ - /** - * @event doubletap - * @param {Object} ev - */ - /** - * @param {String} name - */ - (function(name) { - var hasMoved = false; + /************************************ + Parsing + ************************************/ - function tapGesture(ev, inst) { - var options = inst.options, - current = Detection.current, - prev = Detection.previous, - sincePrev, - didDoubleTap; - switch(ev.eventType) { - case EVENT_START: - hasMoved = false; - break; + // 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; + } + } - case EVENT_MOVE: - hasMoved = hasMoved || (ev.distance > options.tapMaxDistance); - break; + 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]); - 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; + return parts[0] === '+' ? -minutes : minutes; + } - // check if double tap - if(prev && prev.name == name && - (sincePrev && sincePrev < options.doubleTapInterval) && - ev.distance < options.doubleTapDistance) { - inst.trigger('doubletap', ev); - didDoubleTap = true; - } + // function to convert string input to date + function addTimeToArrayFromToken(token, input, config) { + var a, datePartArray = config._a; - // do a single tap - if(!didDoubleTap || options.tapAlways) { - current.name = name; - inst.trigger(current.name, ev); - } - } - break; + 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); + } + + 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); } } - 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, - - /** - * max distance of movement of a tap, this is for the slow tappers - * @property tapMaxDistance - * @type {Number} - * @default 10 - */ - tapMaxDistance: 10, - - /** - * 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, + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp; - /** - * max time between two taps - * @property doubleTapInterval - * @type {Number} - * @default 300 - */ - doubleTapInterval: 300 - } - }; - })('tap'); + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; - /** - * @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, + // 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; - /** - * 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; - } + weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year); + week = dfl(w.w, 1); - if(inst.options.preventDefault) { - ev.preventDefault(); + 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); - if(ev.eventType == EVENT_TOUCH) { - inst.trigger('touch', ev); - } + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; } - }; - - /** - * @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 - */ - - /** - * @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; - } + // 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; - var scaleThreshold = Math.abs(1 - ev.scale); - var rotationThreshold = Math.abs(ev.rotation); + if (config._d) { + return; + } - // 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; - } + currentDate = currentDateArray(config); - // we are transforming! - Detection.current.name = name; + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } - // first time, trigger dragstart event - if(!triggered) { - inst.trigger(name + 'start', ev); - triggered = true; - } + //if the day of the year is set, figure out what it is + if (config._dayOfYear) { + yearToUse = dfl(config._a[YEAR], currentDate[YEAR]); - inst.trigger(name, ev); // basic transform event + if (config._dayOfYear > daysInYear(yearToUse)) { + config._pf._overflowDayOfYear = true; + } - // trigger rotate event - if(rotationThreshold > inst.options.transformMinRotation) { - inst.trigger('rotate', ev); - } + date = makeUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } - // trigger pinch event - if(scaleThreshold > inst.options.transformMinScale) { - inst.trigger('pinch', ev); - inst.trigger('pinch' + (ev.scale < 1 ? 'in' : 'out'), ev); - } - break; + // 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]; + } - case EVENT_RELEASE: - if(triggered && ev.changedLength < 2) { - inst.trigger(name + 'end', ev); - triggered = false; - } - break; + // 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]; } - } - 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, + 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); + } + } - /** - * rotation in degrees - * @property transformMinRotation - * @type {Number} - * @default 1 - */ - transformMinRotation: 1 - }, + function dateFromObject(config) { + var normalizedInput; - handler: transformGesture - }; - })('transform'); + if (config._d) { + return; + } - /** - * @module hammer - */ + normalizedInput = normalizeObjectUnits(config._i); + config._a = [ + normalizedInput.year, + normalizedInput.month, + normalizedInput.day, + normalizedInput.hour, + normalizedInput.minute, + normalizedInput.second, + normalizedInput.millisecond + ]; - // 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; - } + dateFromConfig(config); + } - })(window); + 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()]; + } + } -/***/ }, -/* 55 */ -/***/ function(module, exports, __webpack_require__) { + // date from string and format string + function makeDateFromStringAndFormat(config) { + if (config._f === moment.ISO_8601) { + parseISO(config); + return; + } - 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 + config._a = []; + config._pf.empty = true; - (function (undefined) { - /************************************ - Constants - ************************************/ + // 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; - 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, + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; - YEAR = 0, - MONTH = 1, - DATE = 2, - HOUR = 3, - MINUTE = 4, - SECOND = 5, - MILLISECOND = 6, + 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); + } + } - // internal storage for locale config files - locales = {}, + // add remaining unparsed input length to the string + config._pf.charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + config._pf.unusedInput.push(string); + } - // extra moment internal properties (plugins register props here) - momentProperties = [], + // 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; + } - // check for nodeJS - hasModule = (typeof module !== 'undefined' && module.exports), + dateFromConfig(config); + checkOverflow(config); + } - // ASP.NET json date format regex - aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, - aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, + function unescapeFormat(s) { + return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + }); + } - // 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)$/, + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function regexpEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } - // 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, + // date from string and array of format strings + function makeDateFromStringAndArray(config) { + var tempConfig, + bestMoment, - // 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}/, + scoreToBeat, + i, + currentScore; - //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 + if (config._f.length === 0) { + config._pf.invalidFormat = true; + config._d = new Date(NaN); + return; + } - // 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)?)?$/, + 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); - isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', + if (!isValid(tempConfig)) { + continue; + } - 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}/] - ], + // if there is any input that was not parsed add a penalty for that format + currentScore += tempConfig._pf.charsLeftOver; - // 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/] - ], + //or tokens + currentScore += tempConfig._pf.unusedTokens.length * 10; - // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30'] - parseTimezoneChunker = /([\+\-]|\d\d)/gi, + tempConfig._pf.score = currentScore; - // 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 - }, + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } - 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' - }, + extend(config, bestMoment || tempConfig); + } - camelFunctions = { - dayofyear : 'dayOfYear', - isoweekday : 'isoWeekday', - isoweek : 'isoWeek', - weekyear : 'weekYear', - isoweekyear : 'isoWeekYear' - }, + // date from iso format + function parseISO(config) { + var i, l, + string = config._i, + match = isoRegex.exec(string); - // format function strings - formatFunctions = {}, + 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; + } + } - // 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 - }, + // date from iso format or fallback + function makeDateFromString(config) { + parseISO(config); + if (config._isValid === false) { + delete config._isValid; + moment.createFromInputFallback(config); + } + } - // tokens to ordinalize and pad - ordinalizeTokens = 'DDD w W M D d'.split(' '), - paddedTokens = 'M D H h m s w W'.split(' '), + function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } - 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 = '-'; + 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); + } + } + + 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); + + //the date constructor doesn't accept years < 1970 + if (y < 1970) { + date.setFullYear(y); + } + return date; + } + + function makeUTCDate(y) { + var date = new Date(Date.UTC.apply(null, arguments)); + if (y < 1970) { + date.setUTCFullYear(y); + } + return date; + } + + 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; } - 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 input; + } - deprecations = {}, + /************************************ + Relative Time + ************************************/ - lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin']; - // 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'); - } + // 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); } - function hasOwnProp(a, b) { - return hasOwnProperty.call(a, b); + 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')), + + 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]; + + args[2] = withoutSuffix; + args[3] = +posNegDuration > 0; + args[4] = locale; + return substituteTimeAgo.apply({}, args); } - function defaultParsingFlags() { - // We need to deep clone this object, and es5 standard is not very - // helpful. + + /************************************ + Week of Year + ************************************/ + + + // 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; + + + if (daysToDayOfWeek > end) { + daysToDayOfWeek -= 7; + } + + if (daysToDayOfWeek < end - 7) { + daysToDayOfWeek += 7; + } + + adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd'); return { - empty : false, - unusedTokens : [], - unusedInput : [], - overflow : -2, - charsLeftOver : 0, - nullInput : false, - invalidMonth : null, - invalidFormat : false, - userInvalidated : false, - iso: false + week: Math.ceil(adjustedMoment.dayOfYear() / 7), + year: adjustedMoment.year() }; } - function printMsg(msg) { - if (moment.suppressDeprecationWarnings === false && - typeof console !== 'undefined' && console.warn) { - console.warn('Deprecation warning: ' + msg); + //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; + + 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; + + return { + year: dayOfYear > 0 ? year : year - 1, + dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear + }; + } + + /************************************ + Top Level Functions + ************************************/ + + function makeMoment(config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || moment.localeData(config._l); + + if (input === null || (format === undefined && input === '')) { + return moment.invalid({nullInput: true}); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (moment.isMoment(input)) { + return new Moment(input, true); + } else if (format) { + if (isArray(format)) { + makeDateFromStringAndArray(config); + } else { + makeDateFromStringAndFormat(config); + } + } else { + makeDateFromInput(config); } + + return new Moment(config); } - function deprecate(msg, fn) { - var firstTime = true; - return extend(function () { - if (firstTime) { - printMsg(msg); - firstTime = false; + 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 makeMoment(c); + }; + + moment.suppressDeprecationWarnings = false; + + 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); + } + ); + + // 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 fn.apply(this, arguments); - }, fn); - } - - function deprecateSimple(name, msg) { - if (!deprecations[name]) { - printMsg(msg); - deprecations[name] = true; } + return res; } - 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); - }; - } + moment.min = function () { + var args = [].slice.call(arguments, 0); - 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 pickBy('isBefore', args); + }; + moment.max = function () { + var args = [].slice.call(arguments, 0); - /************************************ - Constructors - ************************************/ + return pickBy('isAfter', args); + }; - function Locale() { - } + // creating with utc + moment.utc = function (input, format, locale, strict) { + var c; - // Moment prototype object - function Moment(config, skipOverflow) { - if (skipOverflow !== false) { - checkOverflow(config); + if (typeof(locale) === 'boolean') { + strict = locale; + locale = undefined; } - 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; + // 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(); - // 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; + return makeMoment(c).utc(); + }; - this._data = {}; + // creating with unix timestamp (in seconds) + moment.unix = function (input) { + return moment(input * 1000); + }; - this._locale = moment.localeData(); + // duration + moment.duration = function (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + parseIso, + diffRes; - this._bubble(); - } + 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)); - /************************************ - Helpers - ************************************/ + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + ret = new Duration(duration); - function extend(a, b) { - for (var i in b) { - if (hasOwnProp(b, i)) { - a[i] = b[i]; - } + if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; } - if (hasOwnProp(b, 'toString')) { - a.toString = b.toString; - } + return ret; + }; - if (hasOwnProp(b, 'valueOf')) { - a.valueOf = b.valueOf; - } + // version number + moment.version = VERSION; - return a; - } + // default format + moment.defaultFormat = isoFormat; - function copyConfig(to, from) { - var i, prop, val; + // constant that refers to the ISO standard + moment.ISO_8601 = function () {}; - 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; + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + moment.momentProperties = momentProperties; + + // 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 () {}; + + // This function allows you to set a threshold for relative time strings + moment.relativeTimeThreshold = function (threshold, limit) { + if (relativeTimeThresholds[threshold] === undefined) { + return false; } - if (typeof from._pf !== 'undefined') { - to._pf = from._pf; + if (limit === undefined) { + return relativeTimeThresholds[threshold]; } - if (typeof from._locale !== 'undefined') { - to._locale = from._locale; + relativeTimeThresholds[threshold] = limit; + return true; + }; + + moment.lang = deprecate( + 'moment.lang is deprecated. Use moment.locale instead.', + function (key, value) { + return moment.locale(key, value); } + ); + + // 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 (momentProperties.length > 0) { - for (i in momentProperties) { - prop = momentProperties[i]; - val = from[prop]; - if (typeof val !== 'undefined') { - to[prop] = val; - } + if (data) { + moment.duration._locale = moment._locale = data; } } - return to; - } + return moment._locale._abbr; + }; - function absRound(number) { - if (number < 0) { - return Math.ceil(number); + moment.defineLocale = function (name, values) { + if (values !== null) { + values.abbr = name; + if (!locales[name]) { + locales[name] = new Locale(); + } + locales[name].set(values); + + // backwards compat for now: also set the locale + moment.locale(name); + + return locales[name]; } else { - return Math.floor(number); + // useful for testing + delete locales[name]; + return null; } - } - - // 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; + }; - while (output.length < targetLength) { - output = '0' + output; + moment.langData = deprecate( + 'moment.langData is deprecated. Use moment.localeData instead.', + function (key) { + return moment.localeData(key); } - return (sign ? (forceSign ? '+' : '') : '-') + output; - } + ); - function positiveMomentsDifference(base, other) { - var res = {milliseconds: 0, months: 0}; + // returns locale data + moment.localeData = function (key) { + var locale; - res.months = other.month() - base.month() + - (other.year() - base.year()) * 12; - if (base.clone().add(res.months, 'M').isAfter(other)) { - --res.months; + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; } - res.milliseconds = +other - +(base.clone().add(res.months, 'M')); - - return res; - } + if (!key) { + return moment._locale; + } - 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 (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; } - return res; - } + return chooseLocale(key); + }; - // 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; - } + // compare moment object + moment.isMoment = function (obj) { + return obj instanceof Moment || + (obj != null && hasOwnProp(obj, '_isAMomentObject')); + }; - val = typeof val === 'string' ? +val : val; - dur = moment.duration(val, period); - addOrSubtractDurationFromMoment(this, dur, direction); - return this; - }; + // for typechecking Duration objects + moment.isDuration = function (obj) { + return obj instanceof Duration; + }; + + for (i = lists.length - 1; i >= 0; --i) { + makeList(lists[i]); } - function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { - var milliseconds = duration._milliseconds, - days = duration._days, - months = duration._months; - updateOffset = updateOffset == null ? true : updateOffset; + moment.normalizeUnits = function (units) { + return normalizeUnits(units); + }; - 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); + moment.invalid = function (flags) { + var m = moment.utc(NaN); + if (flags != null) { + extend(m._pf, flags); } - if (updateOffset) { - moment.updateOffset(mom, days || months); + else { + m._pf.userInvalidated = true; } - } - // check if is an array - function isArray(input) { - return Object.prototype.toString.call(input) === '[object Array]'; - } + return m; + }; - function isDate(input) { - return Object.prototype.toString.call(input) === '[object Date]' || - input instanceof Date; - } + moment.parseZone = function () { + return moment.apply(null, arguments).parseZone(); + }; - // 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; - } + moment.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; - function normalizeUnits(units) { - if (units) { - var lowered = units.toLowerCase().replace(/(.)s$/, '$1'); - units = unitAliases[units] || camelFunctions[lowered] || lowered; - } - return units; - } + /************************************ + Moment Prototype + ************************************/ - function normalizeObjectUnits(inputObject) { - var normalizedInput = {}, - normalizedProp, - prop; - for (prop in inputObject) { - if (hasOwnProp(inputObject, prop)) { - normalizedProp = normalizeUnits(prop); - if (normalizedProp) { - normalizedInput[normalizedProp] = inputObject[prop]; - } + extend(moment.fn = Moment.prototype, { + + clone : function () { + return moment(this); + }, + + valueOf : function () { + return +this._d + ((this._offset || 0) * 60000); + }, + + unix : function () { + return Math.floor(+this / 1000); + }, + + 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 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]'); } - } + }, - return normalizedInput; - } + toArray : function () { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hours(), + m.minutes(), + m.seconds(), + m.milliseconds() + ]; + }, - function makeList(field) { - var count, setter; + isValid : function () { + return isValid(this); + }, - if (field.indexOf('week') === 0) { - count = 7; - setter = 'day'; - } - else if (field.indexOf('month') === 0) { - count = 12; - setter = 'month'; - } - else { - return; - } + isDSTShifted : function () { + if (this._a) { + return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; + } + + return false; + }, - moment[field] = function (format, index) { - var i, getter, - method = moment._locale[field], - results = []; + parsingFlags : function () { + return extend({}, this._pf); + }, - if (typeof format === 'number') { - index = format; - format = undefined; - } + invalidAt: function () { + return this._pf.overflow; + }, - getter = function (i) { - var m = moment().utc().set(setter, i); - return method.call(moment._locale, m, format || ''); - }; + utc : function (keepLocalTime) { + return this.zone(0, keepLocalTime); + }, - if (index != null) { - return getter(index); - } - else { - for (i = 0; i < count; i++) { - results.push(getter(i)); + local : function (keepLocalTime) { + if (this._isUTC) { + this.zone(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.add(this._dateTzOffset(), 'm'); } - return results; } - }; - } + return this; + }, - function toInt(argumentForCoercion) { - var coercedNumber = +argumentForCoercion, - value = 0; + format : function (inputString) { + var output = formatMoment(this, inputString || moment.defaultFormat); + return this.localeData().postformat(output); + }, - if (coercedNumber !== 0 && isFinite(coercedNumber)) { - if (coercedNumber >= 0) { - value = Math.floor(coercedNumber); - } else { - value = Math.ceil(coercedNumber); - } - } + add : createAdder(1, 'add'), - return value; - } + subtract : createAdder(-1, 'subtract'), - function daysInMonth(year, month) { - return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); - } + diff : function (input, units, asFloat) { + var that = makeAs(input, this), + zoneDiff = (this.zone() - that.zone()) * 6e4, + diff, output, daysAdjust; - function weeksInYear(year, dow, doy) { - return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week; - } + units = normalizeUnits(units); - function daysInYear(year) { - return isLeapYear(year) ? 366 : 365; - } + 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); + }, - function isLeapYear(year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; - } + from : function (time, withoutSuffix) { + return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + }, - 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; + fromNow : function (withoutSuffix) { + return this.from(moment(), withoutSuffix); + }, - if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { - overflow = DATE; - } + 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)); + }, - m._pf.overflow = overflow; - } - } + isLeapYear : function () { + return isLeapYear(this.year()); + }, - 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; + isDST : function () { + return (this.zone() < this.clone().month(0).zone() || + this.zone() < this.clone().month(5).zone()); + }, - if (m._strict) { - m._isValid = m._isValid && - m._pf.charsLeftOver === 0 && - m._pf.unusedTokens.length === 0; + 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; } - } - return m._isValid; - } - - function normalizeLocale(key) { - return key ? key.toLowerCase().replace('_', '-') : key; - } + }, - // 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; + month : makeAccessor('Month', true), - 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--; + 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 */ } - 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(); - } + // weeks are a special case + if (units === 'week') { + this.weekday(0); + } else if (units === 'isoWeek') { + this.isoWeekday(1); + } - /************************************ - Locale - ************************************/ + // quarters are also special + if (units === 'quarter') { + this.month(Math.floor(this.month() / 3) * 3); + } + return this; + }, - extend(Locale.prototype, { + endOf: function (units) { + units = normalizeUnits(units); + return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); + }, - set : function (config) { - var prop, i; - for (i in config) { - prop = config[i]; - if (typeof prop === 'function') { - this[i] = prop; - } else { - this['_' + i] = prop; - } + 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); } }, - _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), - months : function (m) { - return this._months[m.month()]; + 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); + } }, - _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - monthsShort : function (m) { - return this._monthsShort[m.month()]; + 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); + } }, - monthsParse : function (monthName) { - var i, mom, regex; + 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; + } + ), - if (!this._monthsParse) { - this._monthsParse = []; - } + 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; + } + ), - 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'); + // 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); } - // test the regex - if (this._monthsParse[i].test(monthName)) { - return i; + 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; }, - _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), - weekdays : function (m) { - return this._weekdays[m.day()]; + zoneAbbr : function () { + return this._isUTC ? 'UTC' : ''; }, - _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysShort : function (m) { - return this._weekdaysShort[m.day()]; + zoneName : function () { + return this._isUTC ? 'Coordinated Universal Time' : ''; }, - _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - weekdaysMin : function (m) { - return this._weekdaysMin[m.day()]; + parseZone : function () { + if (this._tzm) { + this.zone(this._tzm); + } else if (typeof this._i === 'string') { + this.zone(this._i); + } + return this; }, - weekdaysParse : function (weekdayName) { - var i, mom, regex; - - if (!this._weekdaysParse) { - this._weekdaysParse = []; + hasAlignedHourOffset : function (input) { + if (!input) { + input = 0; } - - 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; - } + else { + input = moment(input).zone(); } + + return (this.zone() - input) % 60 === 0; }, - _longDateFormat : { - LT : 'h:mm A', - L : 'MM/DD/YYYY', - LL : 'MMMM D, YYYY', - LLL : 'MMMM D, YYYY LT', - LLLL : 'dddd, MMMM D, YYYY LT' + daysInMonth : function () { + return daysInMonth(this.year(), this.month()); }, - 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; + + 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'); }, - 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'); + quarter : function (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); }, - _meridiemParse : /[ap]\.?m?\.?/i, - meridiem : function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'pm' : 'PM'; - } else { - return isLower ? 'am' : 'AM'; - } + 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'); }, - _calendar : { - sameDay : '[Today at] LT', - nextDay : '[Tomorrow at] LT', - nextWeek : 'dddd [at] LT', - lastDay : '[Yesterday at] LT', - lastWeek : '[Last] dddd [at] LT', - sameElse : 'L' + isoWeekYear : function (input) { + var year = weekOfYear(this, 1, 4).year; + return input == null ? year : this.add((input - year), 'y'); }, - calendar : function (key, mom) { - var output = this._calendar[key]; - return typeof output === 'function' ? output.apply(mom) : output; + + week : function (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); }, - _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' + isoWeek : function (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); }, - 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); + weekday : function (input) { + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); }, - pastFuture : function (diff, output) { - var format = this._relativeTime[diff > 0 ? 'future' : 'past']; - return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); + 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); }, - ordinal : function (number) { - return this._ordinal.replace('%d', number); + isoWeeksInYear : function () { + return weeksInYear(this.year(), 1, 4); }, - _ordinal : '%d', - preparse : function (string) { - return string; + weeksInYear : function () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + }, + + get : function (units) { + units = normalizeUnits(units); + return this[units](); }, - postformat : function (string) { - return string; + set : function (units, value) { + units = normalizeUnits(units); + if (typeof this[units] === 'function') { + this[units](value); + } + return this; }, - week : function (mom) { - return weekOfYear(mom, this._week.dow, this._week.doy).week; + // 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; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = moment.localeData(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } }, - _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. + lang : deprecate( + 'moment().lang() is deprecated. Use moment().localeData() instead.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ), + + localeData : function () { + return this._locale; }, - _invalidDate: 'Invalid date', - invalidDate: function () { - return this._invalidDate; + _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; } }); - /************************************ - Formatting - ************************************/ - + function rawMonthSetter(mom, value) { + var dayOfMonth; - function removeFormattingTokens(input) { - if (input.match(/\[[\s\S]/)) { - return input.replace(/^\[|\]$/g, ''); + // 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; + } } - return input.replace(/\\/g, ''); + + dayOfMonth = Math.min(mom.date(), + daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; } - function makeFormatFunction(format) { - var array = format.match(formattingTokens), i, length; + function rawGetter(mom, unit) { + return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); + } - for (i = 0, length = array.length; i < length; i++) { - if (formatTokenFunctions[array[i]]) { - array[i] = formatTokenFunctions[array[i]]; - } else { - array[i] = removeFormattingTokens(array[i]); - } + function rawSetter(mom, unit, value) { + if (unit === 'Month') { + return rawMonthSetter(mom, value); + } else { + return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); } + } - return function (mom) { - var output = ''; - for (i = 0; i < length; i++) { - output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; + 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); } - return output; }; } - // format date using native date object - function formatMoment(m, format) { - if (!m.isValid()) { - return m.localeData().invalidDate(); - } - - format = expandFormat(format, m.localeData()); - - if (!formatFunctions[format]) { - formatFunctions[format] = makeFormatFunction(format); - } + 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)); - return formatFunctions[format](m); - } + // 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; - function expandFormat(format, locale) { - var i = 5; + // add aliased format methods + moment.fn.toJSON = moment.fn.toISOString; - function replaceLongDateFormatTokens(input) { - return locale.longDateFormat(input) || input; - } + /************************************ + Duration Prototype + ************************************/ - localFormattingTokens.lastIndex = 0; - while (i >= 0 && localFormattingTokens.test(format)) { - format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); - localFormattingTokens.lastIndex = 0; - i -= 1; - } - return format; + function daysToYears (days) { + // 400 years have 146097 days (taking into account leap year rules) + return days * 400 / 146097; } + function yearsToDays (years) { + // years * 365 + absRound(years / 4) - + // absRound(years / 100) + absRound(years / 400); + return years * 146097 / 400; + } - /************************************ - Parsing - ************************************/ - + extend(moment.duration.fn = Duration.prototype, { - // 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; - } - } + _bubble : function () { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, minutes, hours, years = 0; - 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]); + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; - return parts[0] === '+' ? -minutes : minutes; - } + seconds = absRound(milliseconds / 1000); + data.seconds = seconds % 60; - // function to convert string input to date - function addTimeToArrayFromToken(token, input, config) { - var a, datePartArray = config._a; + minutes = absRound(seconds / 60); + data.minutes = minutes % 60; - 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; + hours = absRound(minutes / 60); + data.hours = hours % 24; + + days += absRound(hours / 24); + + // Accurately convert days to years, assume start from year 0. + years = absRound(daysToYears(days)); + days -= absRound(yearsToDays(years)); + + // 30 days to a month + // TODO (iskren): Use anchor date (like 1st Jan) to compute this. + months += absRound(days / 30); + days %= 30; + + // 12 months -> 1 year + years += absRound(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + }, + + abs : function () { + 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); + + return this; + }, + + weeks : function () { + return absRound(this.days() / 7); + }, + + 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()); + + if (withSuffix) { + output = this.localeData().pastFuture(+this, output); } - 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; + + 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; + }, + + subtract : function (input, val) { + var dur = moment.duration(input, val); + + this._milliseconds -= dur._milliseconds; + this._days -= dur._days; + this._months -= dur._months; + + this._bubble(); + + return this; + }, + + get : function (units) { + units = normalizeUnits(units); + return this[units.toLowerCase() + 's'](); + }, + + as : function (units) { + var days, months; + units = normalizeUnits(units); + + if (units === 'month' || units === 'year') { + days = this._days + this._milliseconds / 864e5; + months = this._months + daysToYears(days) * 12; + return units === 'month' ? months : months / 12; } 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); + // 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; - // 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; + lang : moment.fn.lang, + locale : moment.fn.locale, + + toIsoString : deprecate( + 'toIsoString() is deprecated. Please use toISOString() instead ' + + '(notice the capitals)', + function () { + return this.toISOString(); } - 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); + ), + + 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'; } - break; - case 'gg': - case 'GG': - config._w = config._w || {}; - config._w[token] = moment.parseTwoDigitYear(input); + + 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]; + }; } - function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp; + for (i in unitMillisecondFactors) { + if (hasOwnProp(unitMillisecondFactors, i)) { + makeDurationGetter(i.toLowerCase()); + } + } - w = config._w; - if (w.GG != null || w.W != null || w.E != null) { - dow = 1; - doy = 4; + 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'); + }; - // 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; + /************************************ + Default Locale + ************************************/ - 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; - } + // 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; } - temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow); + }); - config._a[YEAR] = temp.year; - config._dayOfYear = temp.dayOfYear; - } + /* EMBED_LOCALES */ - // 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; + /************************************ + Exposing Moment + ************************************/ - if (config._d) { + 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; + } + } - currentDate = currentDateArray(config); + // 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; + } - //compute day of the year from weeks and weekdays - if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { - dayOfYearFromWeekInfo(config); - } + 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__(67)(module))) - //if the day of the year is set, figure out what it is - if (config._dayOfYear) { - yearToUse = dfl(config._a[YEAR], currentDate[YEAR]); +/***/ }, +/* 55 */ +/***/ function(module, exports, __webpack_require__) { - if (config._dayOfYear > daysInYear(yearToUse)) { - config._pf._overflowDayOfYear = true; - } + 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 */ - date = makeUTCDate(yearToUse, 0, config._dayOfYear); - config._a[MONTH] = date.getUTCMonth(); - config._a[DATE] = date.getUTCDate(); - } + (function(window, undefined) { + 'use strict'; - // 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]; - } + /** + * @main + * @module hammer + * + * @class Hammer + * @static + */ - // 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]; - } + /** + * 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 || {}); + }; - 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); - } - } + /** + * version, as defined in package.json + * the value will be set at each build + * @property VERSION + * @final + * @type {String} + */ + Hammer.VERSION = '1.1.3'; + + /** + * 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', - function dateFromObject(config) { - var normalizedInput; + /** + * 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', - if (config._d) { - return; - } + /** + * 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', - normalizedInput = normalizeObjectUnits(config._i); - config._a = [ - normalizedInput.year, - normalizedInput.month, - normalizedInput.day, - normalizedInput.hour, - normalizedInput.minute, - normalizedInput.second, - normalizedInput.millisecond - ]; + /** + * Specifies whether zooming is enabled. Used by IE10> + * @property defaults.behavior.contentZooming + * @type {String} + * @default 'none' + */ + contentZooming: 'none', - dateFromConfig(config); - } + /** + * 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', - 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()]; - } + /** + * 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)' } + }; - // date from string and format string - function makeDateFromStringAndFormat(config) { - if (config._f === moment.ISO_8601) { - parseISO(config); - return; - } + /** + * hammer document where the base events are added at + * @property DOCUMENT + * @type {HTMLElement} + * @default window.document + */ + Hammer.DOCUMENT = document; - config._a = []; - config._pf.empty = true; + /** + * detect support for pointer events + * @property HAS_POINTEREVENTS + * @type {Boolean} + */ + Hammer.HAS_POINTEREVENTS = navigator.pointerEnabled || navigator.msPointerEnabled; - // 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; + /** + * detect support for touch events + * @property HAS_TOUCHEVENTS + * @type {Boolean} + */ + Hammer.HAS_TOUCHEVENTS = ('ontouchstart' in window); - tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + /** + * detect mobile browsers + * @property IS_MOBILE + * @type {Boolean} + */ + Hammer.IS_MOBILE = /mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent); - 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); - } - } + /** + * 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; - // add remaining unparsed input length to the string - config._pf.charsLeftOver = stringLength - totalParsedInputLength; - if (string.length > 0) { - config._pf.unusedInput.push(string); - } + /** + * interval in which Hammer recalculates current velocity/direction/angle in ms + * @property CALCULATE_INTERVAL + * @type {Number} + * @default 25 + */ + Hammer.CALCULATE_INTERVAL = 25; - // 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; - } + /** + * 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 = {}; - dateFromConfig(config); - checkOverflow(config); - } + /** + * 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 unescapeFormat(s) { - return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { - return p1 || p2 || p3 || p4; - }); - } + /** + * 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'; - // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript - function regexpEscape(s) { - return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); - } + /** + * 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'; - // date from string and array of format strings - function makeDateFromStringAndArray(config) { - var tempConfig, - bestMoment, + /** + * if the window events are set... + * @property READY + * @writeOnce + * @type {Boolean} + * @default false + */ + Hammer.READY = false; - scoreToBeat, - i, - currentScore; + /** + * plugins namespace + * @property plugins + * @type {Object} + */ + Hammer.plugins = Hammer.plugins || {}; - if (config._f.length === 0) { - config._pf.invalidFormat = true; - config._d = new Date(NaN); - return; - } + /** + * gestures namespace + * see `/gestures` for the definitions + * @property gestures + * @type {Object} + */ + Hammer.gestures = Hammer.gestures || {}; - 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); + /** + * setup events to detect gestures on the document + * this function is called when creating an new instance + * @private + */ + function setup() { + if(Hammer.READY) { + return; + } - if (!isValid(tempConfig)) { - continue; - } + // find what eventtypes we add listeners to + Event.determineEventTypes(); - // if there is any input that was not parsed add a penalty for that format - currentScore += tempConfig._pf.charsLeftOver; + // Register all gestures inside Hammer.gestures + Utils.each(Hammer.gestures, function(gesture) { + Detection.register(gesture); + }); - //or tokens - currentScore += tempConfig._pf.unusedTokens.length * 10; + // Add touch events on the document + Event.onTouch(Hammer.DOCUMENT, EVENT_MOVE, Detection.detect); + Event.onTouch(Hammer.DOCUMENT, EVENT_END, Detection.detect); - tempConfig._pf.score = currentScore; + // Hammer is ready...! + Hammer.READY = true; + } - if (scoreToBeat == null || currentScore < scoreToBeat) { - scoreToBeat = currentScore; - bestMoment = tempConfig; + /** + * @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; } + dest[key] = src[key]; } + return dest; + }, - extend(config, bestMoment || tempConfig); - } + /** + * 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); + }, - // date from iso format - function parseISO(config) { - var i, l, - string = config._i, - match = isoRegex.exec(string); + /** + * 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); + }, - 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; + /** + * 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; + + // 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; } } - for (i = 0, l = isoTimes.length; i < l; i++) { - if (isoTimes[i][1].exec(string)) { - config._f += isoTimes[i][0]; - break; + // objects + } else { + for(i in obj) { + if(obj.hasOwnProperty(i) && + iterator.call(context, obj[i], i, obj) === false) { + return; } } - if (string.match(parseTokenTimezone)) { - config._f += 'Z'; - } - makeDateFromStringAndFormat(config); - } else { - config._isValid = false; - } - } - - // 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; - } + /** + * 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 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); + /** + * 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 { - moment.createFromInputFallback(config); - } - } - - 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); - - //the date constructor doesn't accept years < 1970 - if (y < 1970) { - date.setFullYear(y); + for(var i = 0, len = src.length; i < len; i++) { + if(src[i] === find) { + return i; + } + } + return false; } - return date; - } + }, - function makeUTCDate(y) { - var date = new Date(Date.UTC.apply(null, arguments)); - if (y < 1970) { - date.setUTCFullYear(y); - } - return date; - } + /** + * 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); + }, - 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; - } + /** + * 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 input; - } + return false; + }, - /************************************ - Relative Time - ************************************/ + /** + * 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; + // 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 + }; + } - // 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); - } + Utils.each(touches, function(touch) { + pageX.push(touch.pageX); + pageY.push(touch.pageY); + clientX.push(touch.clientX); + clientY.push(touch.clientY); + }); - 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')), + 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 + }; + }, - 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]; + /** + * 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 + }; + }, - args[2] = withoutSuffix; - args[3] = +posNegDuration > 0; - args[4] = locale; - return substituteTimeAgo.apply({}, args); - } + /** + * 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; + return Math.atan2(y, x) * 180 / Math.PI; + }, - /************************************ - Week of Year - ************************************/ + /** + * 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); + if(x >= y) { + return touch1.clientX - touch2.clientX > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return touch1.clientY - touch2.clientY > 0 ? DIRECTION_UP : DIRECTION_DOWN; + }, - // 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; + /** + * 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; + return Math.sqrt((x * x) + (y * y)); + }, - if (daysToDayOfWeek > end) { - daysToDayOfWeek -= 7; + /** + * 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]); } + return 1; + }, - if (daysToDayOfWeek < end - 7) { - daysToDayOfWeek += 7; + /** + * 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; + }, - 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; - - 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; - - return { - year: dayOfYear > 0 ? year : year - 1, - dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear - }; - } - - /************************************ - Top Level Functions - ************************************/ + /** + * 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 makeMoment(config) { - var input = config._i, - format = config._f; + /** + * 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); - config._locale = config._locale || moment.localeData(config._l); + 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); + } - if (input === null || (format === undefined && input === '')) { - return moment.invalid({nullInput: true}); + // test the style + if(p in element.style) { + element.style[p] = (toggle == null || toggle) && value || ''; + break; + } } + }, - if (typeof input === 'string') { - config._i = input = config._locale.preparse(input); + /** + * 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 (moment.isMoment(input)) { - return new Moment(input, true); - } else if (format) { - if (isArray(format)) { - makeDateFromStringAndArray(config); - } else { - makeDateFromStringAndFormat(config); - } - } else { - makeDateFromInput(config); + // set the css properties + Utils.each(props, function(value, prop) { + Utils.setPrefixedCss(element, prop, value, toggle); + }); + + var falseFn = toggle && function() { + return false; + }; + + // also the disable onselectstart + if(props.userSelect == 'none') { + element.onselectstart = falseFn; + } + // and disable ondragstart + if(props.userDrag == 'none') { + element.ondragstart = falseFn; } + }, - return new Moment(config); + /** + * 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(); + }); } + }; - 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(); + /** + * @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, - return makeMoment(c); - }; + /** + * if EVENT_START has been fired + * @property started + * @private + * @type {Boolean} + */ + started: false, - moment.suppressDeprecationWarnings = false; + /** + * when the mouse is hold down, this is true + * @property should_detect + * @private + * @type {Boolean} + */ + shouldDetect: false, - 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); - } - ); + /** + * 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); + }); + }, - // 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; - } + /** + * 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); + }); + }, - moment.min = function () { - var args = [].slice.call(arguments, 0); + /** + * 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; - return pickBy('isBefore', args); - }; + var onTouchHandler = function onTouchHandler(ev) { + var srcType = ev.type.toLowerCase(), + isPointer = Hammer.HAS_POINTEREVENTS, + isMouse = Utils.inStr(srcType, 'mouse'), + triggerType; - moment.max = function () { - var args = [].slice.call(arguments, 0); + // 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; - return pickBy('isAfter', args); - }; + // 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; + } - // creating with utc - moment.utc = function (input, format, locale, strict) { - var c; + // update the pointer event before entering the detection + if(isPointer && eventType != EVENT_END) { + PointerEvent.updatePointer(eventType, ev); + } - 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(); + // we are in a touch/down state, so allowed detection of gestures + if(self.shouldDetect) { + triggerType = self.doDetect.call(self, ev, eventType, element, handler); + } - return makeMoment(c).utc(); - }; + // ...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 + } - // creating with unix timestamp (in seconds) - moment.unix = function (input) { - return moment(input * 1000); - }; + if(isPointer && eventType == EVENT_END) { + PointerEvent.updatePointer(eventType, ev); + } + }; - // duration - moment.duration = function (input, key) { - var duration = input, - // matching against regexp is expensive, do it on demand - match = null, - sign, - ret, - parseIso, - diffRes; + this.on(element, EVENT_TYPES[eventType], onTouchHandler); + return onTouchHandler; + }, + + /** + * 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; + + // 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 (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)); + // keep track of how many touches have been removed + changedLength = touchList.length - ((ev.changedTouches) ? ev.changedTouches.length : 1); + } - duration = {}; - duration.ms = diffRes.milliseconds; - duration.M = diffRes.months; + // 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; } - ret = new Duration(duration); + // detection has been started, we keep track of this, see above + this.started = true; - if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { - ret._locale = input._locale; + // 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); } - return ret; - }; + // trigger a change (TOUCH, RELEASE) event, this means the length of the touches changed + if(triggerChange) { + evData.changedLength = changedLength; + evData.eventType = triggerChange; - // version number - moment.version = VERSION; + handler.call(Detection, evData); - // default format - moment.defaultFormat = isoFormat; + evData.eventType = triggerType; + delete evData.changedLength; + } - // constant that refers to the ISO standard - moment.ISO_8601 = function () {}; + // trigger the END event + if(triggerType == EVENT_END) { + handler.call(Detection, evData); - // Plugins that add properties should also add the key here (null value), - // so we can properly clone ourselves. - moment.momentProperties = momentProperties; + // ...and we are done with the detection + // so reset everything to start each detection totally fresh + this.started = false; + } - // 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 () {}; + return triggerType; + }, - // 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]; + /** + * 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' + ]; } - relativeTimeThresholds[threshold] = limit; - return true; - }; - moment.lang = deprecate( - 'moment.lang is deprecated. Use moment.locale instead.', - function (key, value) { - return moment.locale(key, value); + EVENT_TYPES[EVENT_START] = types[0]; + EVENT_TYPES[EVENT_MOVE] = types[1]; + EVENT_TYPES[EVENT_END] = types[2]; + return EVENT_TYPES; + }, + + /** + * 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(); } - ); - // 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); + // get the touchlist + if(ev.touches) { + if(eventType == EVENT_MOVE) { + return ev.touches; } - if (data) { - moment.duration._locale = moment._locale = data; - } + var identifiers = []; + var concat = [].concat(Utils.toArray(ev.touches), Utils.toArray(ev.changedTouches)); + var touchList = []; + + Utils.each(concat, function(touch) { + if(Utils.inArray(identifiers, touch.identifier) === false) { + touchList.push(touch); + } + identifiers.push(touch.identifier); + }); + + return touchList; } - return moment._locale._abbr; - }; + // make fake touchList from mouse position + ev.identifier = 1; + return [ev]; + }, - moment.defineLocale = function (name, values) { - if (values !== null) { - values.abbr = name; - if (!locales[name]) { - locales[name] = new Locale(); + /** + * 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, + + /** + * 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(); + }, + + /** + * immediately stop gesture detection + * might be useful after a swipe was detected + * @return {*} + */ + stopDetect: function() { + return Detection.stopDetect(); } - locales[name].set(values); + }; + } + }; - // backwards compat for now: also set the locale - moment.locale(name); - return locales[name]; + /** + * @module hammer + * + * @class PointerEvent + * @static + */ + var PointerEvent = Hammer.PointerEvent = { + /** + * holds all pointers, by `identifier` + * @property pointers + * @type {Object} + */ + pointers: {}, + + /** + * 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; + }, + + /** + * 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 { - // useful for testing - delete locales[name]; - return null; + pointerEvent.identifier = pointerEvent.pointerId; + this.pointers[pointerEvent.pointerId] = pointerEvent; } - }; + }, - moment.langData = deprecate( - 'moment.langData is deprecated. Use moment.localeData instead.', - function (key) { - return moment.localeData(key); + /** + * 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; } - ); - - // returns locale data - moment.localeData = function (key) { - var locale; - if (key && key._locale && key._locale._abbr) { - key = key._locale._abbr; - } + var pt = ev.pointerType, + types = {}; - if (!key) { - return moment._locale; - } + 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]; + }, - if (!isArray(key)) { - //short-circuit everything else - locale = loadLocale(key); - if (locale) { - return locale; - } - key = [key]; - } + /** + * reset the stored pointers + * @method reset + */ + reset: function resetList() { + this.pointers = {}; + } + }; - return chooseLocale(key); - }; - // compare moment object - moment.isMoment = function (obj) { - return obj instanceof Moment || - (obj != null && hasOwnProp(obj, '_isAMomentObject')); - }; + /** + * @module hammer + * + * @class Detection + * @static + */ + var Detection = Hammer.detection = { + // contains all registred Hammer.gestures in the correct order + gestures: [], - // for typechecking Duration objects - moment.isDuration = function (obj) { - return obj instanceof Duration; - }; + // data of the current Hammer.gesture detection session + current: null, - for (i = lists.length - 1; i >= 0; --i) { - makeList(lists[i]); - } + // the previous Hammer.gesture session data + // is a full clone of the previous gesture.current object + previous: null, - moment.normalizeUnits = function (units) { - return normalizeUnits(units); - }; + // when this becomes true, no gestures are fired + stopped: false, - moment.invalid = function (flags) { - var m = moment.utc(NaN); - if (flags != null) { - extend(m._pf, flags); - } - else { - m._pf.userInvalidated = true; + /** + * 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; } - return m; - }; + this.stopped = false; - moment.parseZone = function () { - return moment.apply(null, arguments).parseZone(); - }; + // 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 + }; - moment.parseTwoDigitYear = function (input) { - return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); - }; + this.detect(eventData); + }, - /************************************ - Moment Prototype - ************************************/ + /** + * Hammer.gesture detection + * @method detect + * @param {Object} eventData + * @return {any} + */ + detect: function detect(eventData) { + if(!this.current || this.stopped) { + return; + } + // extend event data with calculations about scale, distance etc + eventData = this.extendEventData(eventData); - extend(moment.fn = Moment.prototype, { + // hammer instance and instance options + var inst = this.current.inst, + instOptions = inst.options; - clone : function () { - return moment(this); - }, + // 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); - valueOf : function () { - return +this._d + ((this._offset || 0) * 60000); - }, + // store as previous event event + if(this.current) { + this.current.lastEvent = eventData; + } - unix : function () { - return Math.floor(+this / 1000); - }, + if(eventData.eventType == EVENT_END) { + this.stopDetect(); + } - toString : function () { - return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); - }, + return eventData; + }, - toDate : function () { - return this._offset ? new Date(+this) : this._d; - }, + /** + * 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); - 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]'); - } - }, + // 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; - toArray : function () { - var m = this; - return [ - m.year(), - m.month(), - m.date(), - m.hours(), - m.minutes(), - m.seconds(), - m.milliseconds() - ]; - }, + 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; + } - isValid : function () { - return isValid(this); - }, + if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { + cur.futureCalcEvent = ev; + } - isDSTShifted : function () { - if (this._a) { - return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; - } + 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); - return false; - }, + cur.lastCalcEvent = cur.futureCalcEvent || ev; + cur.futureCalcEvent = ev; + } - parsingFlags : function () { - return extend({}, this._pf); - }, + ev.velocityX = calcData.velocity.x; + ev.velocityY = calcData.velocity.y; + ev.interimAngle = calcData.angle; + ev.interimDirection = calcData.direction; + }, - invalidAt: function () { - return this._pf.overflow; - }, + /** + * 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; - utc : function (keepLocalTime) { - return this.zone(0, keepLocalTime); - }, + // 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 + }); + }); + } - local : function (keepLocalTime) { - if (this._isUTC) { - this.zone(0, keepLocalTime); - this._isUTC = false; + var deltaTime = ev.timeStamp - startEv.timeStamp, + deltaX = ev.center.clientX - startEv.center.clientX, + deltaY = ev.center.clientY - startEv.center.clientY; - if (keepLocalTime) { - this.add(this._dateTzOffset(), 'm'); - } - } - return this; - }, + this.getCalculatedData(ev, lastEv.center, deltaTime, deltaX, deltaY); - format : function (inputString) { - var output = formatMoment(this, inputString || moment.defaultFormat); - return this.localeData().postformat(output); - }, + Utils.extend(ev, { + startEvent: startEv, - add : createAdder(1, 'add'), + deltaTime: deltaTime, + deltaX: deltaX, + deltaY: deltaY, - subtract : createAdder(-1, 'subtract'), + 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) + }); - diff : function (input, units, asFloat) { - var that = makeAs(input, this), - zoneDiff = (this.zone() - that.zone()) * 6e4, - diff, output, daysAdjust; + return ev; + }, - units = 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; + } - 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); - }, + // extend Hammer default options with the Hammer.gesture options + Utils.extend(Hammer.defaults, options, true); - from : function (time, withoutSuffix) { - return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); - }, + // set its index + gesture.index = gesture.index || 1000; - fromNow : function (withoutSuffix) { - return this.from(moment(), withoutSuffix); - }, + // add Hammer.gesture to the list + this.gestures.push(gesture); - 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)); - }, + // 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; + }); - isLeapYear : function () { - return isLeapYear(this.year()); - }, + return this.gestures; + } + }; - isDST : function () { - return (this.zone() < this.clone().month(0).zone() || - this.zone() < this.clone().month(5).zone()); - }, - 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; - } - }, + /** + * @module hammer + */ - month : makeAccessor('Month', 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; - 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 */ - } + // setup HammerJS window events and register all gestures + // this also sets up the default options + setup(); + + /** + * @property element + * @type {HTMLElement} + */ + this.element = element; - // weeks are a special case - if (units === 'week') { - this.weekday(0); - } else if (units === 'isoWeek') { - this.isoWeekday(1); - } + /** + * @property enabled + * @type {Boolean} + * @protected + */ + this.enabled = true; - // quarters are also special - if (units === 'quarter') { - this.month(Math.floor(this.month() / 3) * 3); - } + /** + * 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; + }); - return this; - }, + this.options = Utils.extend(Utils.extend({}, Hammer.defaults), options || {}); - endOf: function (units) { - units = normalizeUnits(units); - return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); - }, + // 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); + } - 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); - } - }, + /** + * 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); + } + }); - 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); - } - }, + /** + * keep a list of user event handlers which needs to be removed when calling 'dispose' + * @property eventHandlers + * @type {Array} + */ + this.eventHandlers = []; + }; - 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); + 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; + }, + + /** + * unbind events to the instance + * @method off + * @chainable + * @param {String} gestures + * @param {Function} handler + */ + off: function offEvent(gestures, handler) { + var self = this; + + 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; + }, - 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; - } - ), + /** + * trigger gesture event + * @method trigger + * @chainable + * @param {String} gesture + * @param {Object} [eventData] + */ + trigger: function triggerEvent(gesture, eventData) { + // optional + if(!eventData) { + eventData = {}; + } - 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; - } - ), + // create DOM event + var event = Hammer.DOCUMENT.createEvent('Event'); + event.initEvent(gesture, true, true); + event.gesture = eventData; - // 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; - }, + // 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; + } - zoneAbbr : function () { - return this._isUTC ? 'UTC' : ''; - }, + element.dispatchEvent(event); + return this; + }, - zoneName : function () { - return this._isUTC ? 'Coordinated Universal Time' : ''; - }, + /** + * enable of disable hammer.js detection + * @method enable + * @chainable + * @param {Boolean} state + */ + enable: function enable(state) { + this.enabled = state; + return this; + }, - parseZone : function () { - if (this._tzm) { - this.zone(this._tzm); - } else if (typeof this._i === 'string') { - this.zone(this._i); - } - return this; - }, + /** + * dispose this hammer instance + * @method dispose + * @return {Null} + */ + dispose: function dispose() { + var i, eh; - hasAlignedHourOffset : function (input) { - if (!input) { - input = 0; - } - else { - input = moment(input).zone(); - } + // undo all changes made by stop_browser_behavior + Utils.toggleBehavior(this.element, this.options.behavior, false); - return (this.zone() - input) % 60 === 0; - }, + // unbind all custom event handlers + for(i = -1; (eh = this.eventHandlers[++i]);) { + Utils.off(this.element, eh.gesture, eh.handler); + } - daysInMonth : function () { - return daysInMonth(this.year(), this.month()); - }, + this.eventHandlers = []; - 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'); - }, + // unbind the start event listener + Event.off(this.element, EVENT_TYPES[EVENT_START], this.eventStartHandler); - quarter : function (input) { - return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); - }, + return null; + } + }; - 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'); - }, - isoWeekYear : function (input) { - var year = weekOfYear(this, 1, 4).year; - return input == null ? year : this.add((input - year), 'y'); - }, + /** + * @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 + */ - week : function (input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); - }, + /** + * @param {String} name + */ + (function(name) { + var triggered = false; - isoWeek : function (input) { - var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); - }, + function dragGesture(ev, inst) { + var cur = Detection.current; - weekday : function (input) { - var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; - return input == null ? weekday : this.add(input - weekday, 'd'); - }, + // max touches + if(inst.options.dragMaxTouches > 0 && + ev.touches.length > inst.options.dragMaxTouches) { + return; + } - 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); - }, + switch(ev.eventType) { + case EVENT_START: + triggered = false; + break; - isoWeeksInYear : function () { - return weeksInYear(this.year(), 1, 4); - }, + 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; + } - weeksInYear : function () { - var weekInfo = this.localeData()._week; - return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); - }, + var startCenter = cur.startEvent.center; - get : function (units) { - units = normalizeUnits(units); - return this[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; - set : function (units, value) { - units = normalizeUnits(units); - if (typeof this[units] === 'function') { - this[units](value); - } - return this; - }, + // recalculate event data using new start point + ev = Detection.extendEventData(ev); + } + } - // 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; + // lock drag to axis? + if(cur.lastEvent.dragLockToAxis || + ( inst.options.dragLockToAxis && + inst.options.dragLockMinDistance <= ev.distance + )) { + ev.dragLockToAxis = true; + } - if (key === undefined) { - return this._locale._abbr; - } else { - newLocaleData = moment.localeData(key); - if (newLocaleData != null) { - this._locale = newLocaleData; + // 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; + } } - return this; - } - }, - lang : deprecate( - 'moment().lang() is deprecated. Use moment().localeData() instead.', - function (key) { - if (key === undefined) { - return this.localeData(); - } else { - return this.locale(key); + // first time, trigger dragstart event + if(!triggered) { + inst.trigger(name + 'start', ev); + triggered = true; } - } - ), - localeData : function () { - return this._locale; - }, + // trigger events + inst.trigger(name, ev); + inst.trigger(name + ev.direction, ev); - _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; - } - }); + var isVertical = Utils.isVertical(ev.direction); - function rawMonthSetter(mom, value) { - var dayOfMonth; + // block the browser events + if((inst.options.dragBlockVertical && isVertical) || + (inst.options.dragBlockHorizontal && !isVertical)) { + ev.preventDefault(); + } + break; - // 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; - } + case EVENT_RELEASE: + if(triggered && ev.changedLength <= inst.options.dragMaxTouches) { + inst.trigger(name + 'end', ev); + triggered = false; + } + break; + + case EVENT_END: + triggered = false; + break; } + } + + 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, + + /** + * 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, + + /** + * set 0 for unlimited, but this can conflict with transform + * @property dragMaxTouches + * @type {Number} + * @default 1 + */ + dragMaxTouches: 1, + + /** + * 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, - dayOfMonth = Math.min(mom.date(), - daysInMonth(mom.year(), value)); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); - return mom; - } + /** + * same as `dragBlockHorizontal`, but for vertical movement + * @property dragBlockVertical + * @type {Boolean} + * @default false + */ + dragBlockVertical: false, - function rawGetter(mom, unit) { - return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); - } + /** + * 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, - function rawSetter(mom, unit, value) { - if (unit === 'Month') { - return rawMonthSetter(mom, value); - } else { - return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + /** + * 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'); - 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); - } - }; + /** + * @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); } + }; - 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)); + /** + * @module gestures + */ + /** + * Touch stays at the same place for x time + * + * @class Hold + * @static + */ + /** + * @event hold + * @param {Object} ev + */ - // 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; + /** + * @param {String} name + */ + (function(name) { + var timer; - // add aliased format methods - moment.fn.toJSON = moment.fn.toISOString; + function holdGesture(ev, inst) { + var options = inst.options, + current = Detection.current; - /************************************ - Duration Prototype - ************************************/ + switch(ev.eventType) { + case EVENT_START: + clearTimeout(timer); + // set the gesture so we can check in the timeout if it still is + current.name = name; - function daysToYears (days) { - // 400 years have 146097 days (taking into account leap year rules) - return days * 400 / 146097; - } + // 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; - function yearsToDays (years) { - // years * 365 + absRound(years / 4) - - // absRound(years / 100) + absRound(years / 400); - return years * 146097 / 400; + case EVENT_MOVE: + if(ev.distance > options.holdThreshold) { + clearTimeout(timer); + } + break; + + case EVENT_RELEASE: + clearTimeout(timer); + break; + } } - extend(moment.duration.fn = Duration.prototype, { + Hammer.gestures.Hold = { + name: name, + index: 10, + defaults: { + /** + * @property holdTimeout + * @type {Number} + * @default 500 + */ + holdTimeout: 500, - _bubble : function () { - var milliseconds = this._milliseconds, - days = this._days, - months = this._months, - data = this._data, - seconds, minutes, hours, years = 0; + /** + * movement allowed while holding + * @property holdThreshold + * @type {Number} + * @default 2 + */ + holdThreshold: 2 + }, + handler: holdGesture + }; + })('hold'); - // The following code bubbles up values, see the tests for - // examples of what that means. - data.milliseconds = milliseconds % 1000; + /** + * @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); + } + } + }; - seconds = absRound(milliseconds / 1000); - data.seconds = seconds % 60; + /** + * @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, - minutes = absRound(seconds / 60); - data.minutes = minutes % 60; + /** + * @property swipeMaxTouches + * @type {Number} + * @default 1 + */ + swipeMaxTouches: 1, + + /** + * horizontal swipe velocity + * @property swipeVelocityX + * @type {Number} + * @default 0.6 + */ + swipeVelocityX: 0.6, - hours = absRound(minutes / 60); - data.hours = hours % 24; + /** + * vertical swipe velocity + * @property swipeVelocityY + * @type {Number} + * @default 0.6 + */ + swipeVelocityY: 0.6 + }, - days += absRound(hours / 24); + handler: function swipeGesture(ev, inst) { + if(ev.eventType == EVENT_RELEASE) { + var touches = ev.touches.length, + options = inst.options; - // Accurately convert days to years, assume start from year 0. - years = absRound(daysToYears(days)); - days -= absRound(yearsToDays(years)); + // max touches + if(touches < options.swipeMinTouches || + touches > options.swipeMaxTouches) { + return; + } - // 30 days to a month - // TODO (iskren): Use anchor date (like 1st Jan) to compute this. - months += absRound(days / 30); - days %= 30; + // 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); + } + } + } + }; - // 12 months -> 1 year - years += absRound(months / 12); - months %= 12; + /** + * @module gestures + */ + /** + * Single tap and a double tap on a place + * + * @class Tap + * @static + */ + /** + * @event tap + * @param {Object} ev + */ + /** + * @event doubletap + * @param {Object} ev + */ - data.days = days; - data.months = months; - data.years = years; - }, + /** + * @param {String} name + */ + (function(name) { + var hasMoved = false; - abs : function () { - this._milliseconds = Math.abs(this._milliseconds); - this._days = Math.abs(this._days); - this._months = Math.abs(this._months); + function tapGesture(ev, inst) { + var options = inst.options, + current = Detection.current, + prev = Detection.previous, + sincePrev, + didDoubleTap; - 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); + switch(ev.eventType) { + case EVENT_START: + hasMoved = false; + break; - return this; - }, + case EVENT_MOVE: + hasMoved = hasMoved || (ev.distance > options.tapMaxDistance); + break; - weeks : function () { - return absRound(this.days() / 7); - }, + 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; - valueOf : function () { - return this._milliseconds + - this._days * 864e5 + - (this._months % 12) * 2592e6 + - toInt(this._months / 12) * 31536e6; - }, + // check if double tap + if(prev && prev.name == name && + (sincePrev && sincePrev < options.doubleTapInterval) && + ev.distance < options.doubleTapDistance) { + inst.trigger('doubletap', ev); + didDoubleTap = true; + } - humanize : function (withSuffix) { - var output = relativeTime(this, !withSuffix, this.localeData()); + // do a single tap + if(!didDoubleTap || options.tapAlways) { + current.name = name; + inst.trigger(current.name, ev); + } + } + break; + } + } - if (withSuffix) { - output = this.localeData().pastFuture(+this, output); - } + 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, - return this.localeData().postformat(output); - }, + /** + * max distance of movement of a tap, this is for the slow tappers + * @property tapMaxDistance + * @type {Number} + * @default 10 + */ + tapMaxDistance: 10, - add : function (input, val) { - // supports only 2.0-style add(1, 's') or add(moment) - var dur = moment.duration(input, val); + /** + * always trigger the `tap` event, even while double-tapping + * @property tapAlways + * @type {Boolean} + * @default true + */ + tapAlways: true, - this._milliseconds += dur._milliseconds; - this._days += dur._days; - this._months += dur._months; + /** + * max distance between two taps + * @property doubleTapDistance + * @type {Number} + * @default 20 + */ + doubleTapDistance: 20, - this._bubble(); + /** + * max time between two taps + * @property doubleTapInterval + * @type {Number} + * @default 300 + */ + doubleTapInterval: 300 + } + }; + })('tap'); - return this; - }, + /** + * @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, - subtract : function (input, val) { - var dur = moment.duration(input, val); + /** + * 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._milliseconds -= dur._milliseconds; - this._days -= dur._days; - this._months -= dur._months; + if(inst.options.preventDefault) { + ev.preventDefault(); + } - this._bubble(); + if(ev.eventType == EVENT_TOUCH) { + inst.trigger('touch', ev); + } + } + }; - return this; - }, + /** + * @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 + */ - get : function (units) { - units = normalizeUnits(units); - return this[units.toLowerCase() + 's'](); - }, + /** + * @param {String} name + */ + (function(name) { + var triggered = false; - as : function (units) { - var days, months; - units = normalizeUnits(units); + function transformGesture(ev, inst) { + switch(ev.eventType) { + case EVENT_START: + triggered = false; + break; - 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); + case EVENT_MOVE: + // at least multitouch + if(ev.touches.length < 2) { + return; } - } - }, - - lang : moment.fn.lang, - locale : moment.fn.locale, - toIsoString : deprecate( - 'toIsoString() is deprecated. Please use toISOString() instead ' + - '(notice the capitals)', - function () { - return this.toISOString(); - } - ), + var scaleThreshold = Math.abs(1 - ev.scale); + var rotationThreshold = Math.abs(ev.rotation); - 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); + // 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; + } - if (!this.asSeconds()) { - // this is the same as C#'s (Noda) and python (isodate)... - // but not other JS (goog.date) - return 'P0D'; - } + // we are transforming! + Detection.current.name = name; - 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' : ''); - }, + // first time, trigger dragstart event + if(!triggered) { + inst.trigger(name + 'start', ev); + triggered = true; + } - localeData : function () { - return this._locale; - } - }); + inst.trigger(name, ev); // basic transform event - moment.duration.fn.toString = moment.duration.fn.toISOString; + // trigger rotate event + if(rotationThreshold > inst.options.transformMinRotation) { + inst.trigger('rotate', ev); + } - function makeDurationGetter(name) { - moment.duration.fn[name] = function () { - return this._data[name]; - }; - } + // trigger pinch event + if(scaleThreshold > inst.options.transformMinScale) { + inst.trigger('pinch', ev); + inst.trigger('pinch' + (ev.scale < 1 ? 'in' : 'out'), ev); + } + break; - for (i in unitMillisecondFactors) { - if (hasOwnProp(unitMillisecondFactors, i)) { - makeDurationGetter(i.toLowerCase()); + case EVENT_RELEASE: + if(triggered && ev.changedLength < 2) { + inst.trigger(name + 'end', ev); + triggered = false; + } + break; } } - 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; - } - }); + 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, - /* EMBED_LOCALES */ + /** + * rotation in degrees + * @property transformMinRotation + * @type {Number} + * @default 1 + */ + transformMinRotation: 1 + }, - /************************************ - Exposing Moment - ************************************/ + handler: transformGesture + }; + })('transform'); - 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; - } - } + /** + * @module hammer + */ - // 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; - } + // 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 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__(67)(module))) + })(window); /***/ }, /* 56 */ diff --git a/dist/vis.map b/dist/vis.map index d544c327..73d400e0 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","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","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","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","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","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","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","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","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setSelection","focus","getSelection","itemData","middle","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","day","month","year","week","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","dayOfYear","switchedDay","checkFirstStep","time","getHiddenDuration","correctTimeForHidden","conversion","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","hiddenTimes","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","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","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","initTime","done","initStart","initEnd","changed","anyChanged","_cancelAnimation","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","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","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","visibleSubgroups","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","_calculateHeight","offsetTop","offsetLeft","ii","repositionY","resetSubgroups","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","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","nonFirstMargin","firstGroup","_firstGroup","firstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","initialX","selected","dragLeftItem","dragRightItem","itemProps","newProps","initial","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","timeLabelsize","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","onTop","itemSubgroup","subgroupIndex","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","startedStabilization","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","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_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","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","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","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getScale","getCenterCoordinates","networkConstants","fromId","toId","widthSelected","labelDimensions","yLine","dirtyLabel","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","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","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","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","weeks","days","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","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","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","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","overrideSelectable","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","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","alert","supportNodes","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","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","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","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","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","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","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","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","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","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setSelection","focus","getSelection","itemData","middle","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","checkFirstStep","time","getHiddenDurationBetween","correctTimeForHidden","conversion","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","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","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","initTime","done","initStart","initEnd","changed","anyChanged","_cancelAnimation","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","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","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","subgroupIndex","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","_calculateHeight","offsetTop","offsetLeft","ii","repositionY","resetSubgroups","labelSet","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","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","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","nonFirstMargin","firstGroup","_firstGroup","firstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","initialX","selected","dragLeftItem","dragRightItem","itemProps","newProps","initial","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","timeLabelsize","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","onTop","itemSubgroup","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","startedStabilization","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","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_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","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","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","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getScale","getCenterCoordinates","networkConstants","fromId","toId","widthSelected","labelDimensions","yLine","dirtyLabel","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","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","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","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","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","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","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","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","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","overrideSelectable","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","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","alert","supportNodes","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","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 1c784b86..0259dcd7 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.6.0 - * @date 2014-10-21 + * @version 3.6.1 + * @date 2014-10-22 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -23,16 +23,16 @@ * 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={DateUtil:i(14),DataStep:i(15),Range:i(16),stack:i(17),TimeStep:i(18),components:{items:{Item:i(30),BackgroundItem:i(31),BoxItem:i(32),PointItem:i(33),RangeItem:i(34)},Component:i(19),CurrentTime:i(20),CustomTime:i(21),DataAxis:i(22),GraphGroup:i(23),Group:i(24),BackgroundGroup:i(25),ItemSet:i(26),Legend:i(27),LineGraph:i(28),TimeAxis:i(29)}},e.Network=i(35),e.network={Edge:i(36),Groups:i(37),Images:i(38),Node:i(39),Popup:i(40),dotparser:i(41),gephiParser:i(42)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(43),e.hammer=i(44)},function(module,exports,__webpack_require__){var moment=__webpack_require__(43);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":Array.isArray(t)?"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(Array.isArray(t))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}};var cssUtil={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};exports.addCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e),o=exports.extend(i,s);t.style.cssText=cssUtil.join(o)},exports.removeCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=cssUtil.join(i)},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){if(0!=o){0>o&&(o*=-1,i-=o);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=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var f={},m=0,g=c.length;g>m;m++){var v=c[m];f[v]=t.getValue(p,m)}h(f)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},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";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,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(52),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(" "+this.xValueLabel(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(" "+this.yValueLabel(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(this.zValueLabel(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,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=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)},hiddenDates:[],util:{snap:null,toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},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,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(52),i(44),i(1)),n=i(3),r=i(4),a=i(16),h=i(45),d=i(29),l=i(20),c=i(21),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.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){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=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)},hiddenDates:[],util:{snap:null,toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.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,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(52),i(44),i(1)),n=i(3),r=i(4),a=i(16),h=i(45),d=i(29),l=i(20),c=i(21),p=i(28);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)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.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,e,i){var s=i(43);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0;switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.day(o.day),d.subtract(7,"days"),d.month(o.month()),d.year(o.year()),l.day(o.day),l.subtract(7+p,"days"),l.month(o.month()),l.year(o.year());break;case"weekly":d.week()!=l.week()&&(p=1),d.week(o.week()-1),d.year(o.year()),l.week(o.week()-1+p),l.year(o.year());break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()-1),d.year(o.year()),l.month(o.month()-1+p),l.year(o.year());break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()-1),l.year(o.year()-1+p);break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;n>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(7,"days"),l.add(7,"days");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var u=e.isHidden(t.range.start,t.hiddenDates),f=e.isHidden(t.range.end,t.hiddenDates),m=t.range.start,g=t.range.end;1==u.hidden&&(m=1==t.range.startToFront?u.startDate-1:u.endDate+1),1==f.hidden&&(g=1==t.range.endToFront?f.startDate-1:f.endDate+1),(1==u.hidden||1==f.hidden)&&t.range._applyRange(m,g)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=n&&r>i){e=!0;break}}if(1==e&&i<=t._end.valueOf()){var a=s(r);t.current=a.toDate()}},e.toScreen=function(t,i,s){var o=e.isHidden(i,t.body.hiddenDates);1==o.hidden&&(i=o.startDate);var n=e.getHiddenDuration(t.body.hiddenDates,t.range);i=e.correctTimeForHidden(t.body.hiddenDates,t.range,i);var r=t.range.conversion(s,n);return(i.valueOf()-r.offset)*r.scale},e.toTime=function(t,i,s,o){var n=e.getHiddenDuration(t.hiddenDates,i),r=i.end-i.start-n,a=r*s/o,h=e.getAccumulatedHiddenDuration(t.hiddenDates,i,a),d=new Date(h+a+i.start);return d},e.getHiddenDuration=function(t,e){for(var i=0,s=0;s=e.start&&n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=!1,s=0;s=o&&n>t){i=!0;break}}return{hidden:i,startDate:o,endDate:n}}},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(){var t=""+Number(this.current).toPrecision(5);if(-1!=t.indexOf(",")||-1!=t.indexOf("."))for(var 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(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("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(46),h=i(43),d=i(19),l=i(14);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i){function s(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,m=i||null===o?o:r.easeInOutQuad(e,h,o,c),g=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(m,g),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?u&&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,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1;return s()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){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,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},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;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDuration(this.body.hiddenDates,this);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),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,e)}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,this.scaleOffset=0,this.deltaDifference=0},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+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDuration(this.body.hiddenDates,this),o=i+(this.props.touch.start-i)*e,r=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var a=l.snapAwayFromHidden(this.body.hiddenDates,o,1-e,!1),h=l.snapAwayFromHidden(this.body.hiddenDates,r,e-1,!1);(a!=o||h!=r)&&(this.props.touch.start=a,this.props.touch.end=h,this.scaleOffset=1-t.gesture.scale,o=a,r=h),this.setRange(o,r),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i){var s=this.body.domProps.center.width,n=l.getHiddenDuration(this.body.hiddenDates,this);return e=this.conversion(s,n),t.x/e.scale+e.offset}var r=this.body.domProps.center.height;return e=this.conversion(r),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDuration(this.body.hiddenDates,this),o=e+(this.start-e)*t,n=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var r=l.snapAwayFromHidden(this.body.hiddenDates,o,i,!0),a=l.snapAwayFromHidden(this.body.hiddenDates,n,-i,!0);(r!=o||a!=n)&&(o=r,n=a),this.setRange(o,n),this.startToFront=!1,this.endToFront=!0},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(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){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),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[])}var o=i(43),n=i(14);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(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case s.SCALE.YEAR:case s.SCALE.MONTH:case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case s.SCALE.MILLISECOND:case s.SCALE.SECOND:case s.SCALE.MINUTE:case s.SCALE.HOUR:return!0;default:return!1}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(19),r=i(43),a=i(47);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(44),n=i(1),r=i(19),a=i(43),h=i(47);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(19),a=i(15);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.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},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){this.items[t.id]=t,t.setParent(this);var e=0;if(void 0!==t.data.subgroup&&void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:e},e++),-1==this.visibleItems.indexOf(t)){var i=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,i)}},s.prototype.resetSubgroups=function(){for(var t in this.subgroups)this.subgroups.hasOwnProperty(t)&&(this.subgroups[t].visible=!1)},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;ns;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){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.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(44),n=i(1),r=i(3),a=i(4),h=i(19),d=i(24),l=i(25),c=i(32),p=i(33),u=i(34),f=i(31),m="__ungrouped__",g="__background__";s.prototype=new h,s.types={background:f,box:c,range:u,point:p},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new l(g,null,this);r.show(),this.groups[g]=r,this.hammer=o(this.body.dom.centerContainer,{prevent_default:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","padding","stack","selectable","groupOrder","dataAttributes","template","hide"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(){this.groupIds=[],this.stackDirty=!0},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet) -},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;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,this.groups[g].redraw(e,f,c);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,v=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,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==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,e,i=this.groups[m],s=this.groups[g];if(this.groupsData){if(i){i.hide(),delete this.groups[m];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var r=null,a=null;i=new d(r,a,this),this.groups[m]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],t instanceof f?s.add(t):i.add(t));i.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._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e?this.groupsData&&void 0!=t.group?t.group:g:this.groupsData?t.group:m},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=e._getType(i),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||t==g)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._getGroupId(t.data),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._getGroupId(t.data),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._getGroupId(t.data),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()})}},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()})}}},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(19);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.svg.style.height="100%",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(19),d=i(22),l=i(23),c=i(27),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;ic;){c++;var p=h.getCurrent(),u=this.body.util.toScreen(p),f=h.isMajor();this.options.showMinorLabels&&this._repaintMinorText(u,h.getLabelMinor(),t),f&&this.options.showMajorLabels?(u>0&&(void 0==l&&(l=u),this._repaintMajorText(u,h.getLabelMajor(),t)),this._repaintMajorLine(u,t)):this._repaintMinorLine(u,t),h.next()}if(this.options.showMajorLabels){var m=this.body.util.toTime(0),g=h.getLabelMajor(m),v=g.length*(this.props.majorCharWidth||10)+10;(void 0==l||l>v)&&this._repaintMajorText(0,g,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 major 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(44),n=i(1);s.prototype.stack=!0,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!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},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){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},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 item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" 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=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=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(30);i(1)}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 item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" 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.startedStabilization=!1,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,e.data),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(52),n=i(44),r=i(53),a=i(1),h=i(46),d=i(3),l=i(4),c=i(41),p=i(42),u=i(37),f=i(38),m=i(39),g=i(36),v=i(40),y=i(50),b=i(51),_=i(48);i(49),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.maxX-o.minX),h=1.1*Math.abs(o.maxY-o.minY),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&&1==this.constants.dragNodes){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});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(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=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(),this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},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,s=this.frame.canvas.width,o=this.frame.canvas.height;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,oldWidth:s,oldHeight:o})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))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,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new m(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i)},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(Array.isArray(t))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=[],e[t].dynamicEdges=[]);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,i.startedStabilization=!1,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(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=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.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=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()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},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.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.dirtyLabel=!0,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(39);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,this.dirtyLabel=!0),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(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)),t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle",o=this.labelDimensions.yLine;for(var d=0;r>d;d++)t.fillText(n[d],i,o),o+=a}},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){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,f,m,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,f=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(m,g,u,f,o,n),v=v>l?l:v),m=u,g=f;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,f,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,f=x.y-_):(u=x.x+_,f=x.y-.5*x.height),y=u-o,b=f-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},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.allowedToMoveX=!1,this.allowedToMoveY=!1,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.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},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),e=this.dynamicEdges.indexOf(t),-1!=e&&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),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(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),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)this.fx=0,this.vx=0;else{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)this.fy=0,this.vy=0;else{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,this.vx=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,this.vy=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;var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;1==r&&(l=s+(1-h)/(2*d));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"==n&&(g+=.5*d),this.labelDimensions={top:g,left:m,width:c,height:f,yLine:l},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(m,g,c,f)),t.fillStyle=this.options.fontColor||"black",t.textAlign=o||"center",t.textBaseline=n||"middle";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=D.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=D.DELIMITER);var i=O+n();if(C[i])return k=D.DELIMITER,L=i,o(),void o();if(C[O])return k=D.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=D.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=D.IDENTIFIER)}for(k=D.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==D.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!=D.IDENTIFIER)throw x("Identifier expected");var s=L;if(p(),"="==L){if(p(),k!=D.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==D.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!=D.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!=D.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),k!=D.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){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function 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 D={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},E="",T=0,O="",L="",k=D.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){h.updateHiddenDates(this.body,this.options.hiddenDates),"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),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,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 c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,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 p=this.props.scrollTop;"bottom"==e.orientation&&(p+=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=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=f,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=f,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=f,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){return h.toTime(this.body,this.range,t,this.props.center.width)},s.prototype._toGlobalTime=function(t){return h.toTime(this.body,this.range,t,this.props.root.width)},s.prototype._toScreen=function(t){return h.toScreen(this,t,this.props.center.width)},s.prototype._toGlobalScreen=function(t){return h.toScreen(this,t,this.props.root.width)},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(62),o=i(56),n=i(57),r=i(58),a=i(59),h=i(60),d=i(61);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(53),r=i(52),a=i(44),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 C)t[e]?i=!0:C[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){C[t]=0,o||(o=f(e[0],[]));var r,a=function(){T=o,++C[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={},D={},C={},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),D[t+":"+i]=e,this},unbind:function(t,e){return D[t+":"+e]&&(delete D[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return D[t+":"+e](),this},reset:function(){return M={},D={},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 D(t,e){return new D.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?D(i)?ie(t):J(t):re(t),new m(t)))}function me(t,e){var i,s;if(1===e.length&&D(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;)Ce=yi.pop(),_i[Ce+"o"]=u(_i[Ce],Ce);for(;bi.length;)Ce=bi.pop(),_i[Ce+Ce]=p(_i[Ce],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(!D(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(Ce=wi.length-1;Ce>=0;--Ce)L(wi[Ce]);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(Ce in ui)a(ui,Ce)&&we(Ce.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=De),Me}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(67)(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),o=i(39);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 o({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;ei;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,!0)}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,!1,!0)}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(39),n=i(36);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1},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._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleDragStart=function(){},this._handleDragEnd=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._manipulationReleaseOverload=this._manipulationReleaseOverload,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._manipulationReleaseOverload=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=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge;i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.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(44));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t0){"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.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=63},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}}])}); +var p=this.getColumnRange(i,this.colZ);if(this.zMin=void 0!==this.defaultZMin?this.defaultZMin:p.min,this.zMax=void 0!==this.defaultZMax?this.defaultZMax:p.max,this.zMax<=this.zMin&&(this.zMax=this.zMin+1),this.zStep=void 0!==this.defaultZStep?this.defaultZStep:(this.zMax-this.zMin)/5,void 0!==this.colValue){var u=this.getColumnRange(i,this.colValue);this.valueMin=void 0!==this.defaultValueMin?this.defaultValueMin:u.min,this.valueMax=void 0!==this.defaultValueMax?this.defaultValueMax:u.max,this.valueMax<=this.valueMin&&(this.valueMax=this.valueMin+1)}this._setScale()}}},s.prototype._getDataPoints=function(t){function e(t,e){return t-e}var i,o,n,r,a,d,l=[];if(this.style===s.STYLE.GRID||this.style===s.STYLE.SURFACE){var c=[],p=[];for(n=0;nt;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(" "+this.xValueLabel(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(" "+this.yValueLabel(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(this.zValueLabel(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 D=this.zLabel;D.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(D,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/D/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,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=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)},hiddenDates:[],util:{snap:null,toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},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,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(52),i(44),i(1)),n=i(3),r=i(4),a=i(16),h=i(45),d=i(29),l=i(20),c=i(21),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.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){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=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)},hiddenDates:[],util:{snap:null,toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.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,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(52),i(44),i(1)),n=i(3),r=i(4),a=i(16),h=i(45),d=i(29),l=i(20),c=i(21),p=i(28);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)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.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,e,i){var s=i(43);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=n&&r>i){e=!0;break}}if(1==e&&i<=t._end.valueOf()){var a=s(r);t.current=a.toDate()}},e.toScreen=function(t,i,s){var o=e.isHidden(i,t.body.hiddenDates);1==o.hidden&&(i=o.startDate);var n=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end);i=e.correctTimeForHidden(t.body.hiddenDates,t.range,i);var r=t.range.conversion(s,n);return(i.valueOf()-r.offset)*r.scale},e.toTime=function(t,i,s,o){var n=e.getHiddenDurationBetween(t.hiddenDates,i.start,i.end),r=i.end-i.start-n,a=r*s/o,h=e.getAccumulatedHiddenDuration(t.hiddenDates,i,a),d=new Date(h+a+i.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var s=0,o=0;o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},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(){var t=""+Number(this.current).toPrecision(5);if(-1!=t.indexOf(",")||-1!=t.indexOf("."))for(var 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(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("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(46),h=i(43),d=i(19),l=i(14);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i){function s(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,m=i||null===o?o:r.easeInOutQuad(e,h,o,c),g=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(m,g),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?u&&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,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1;return s()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){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,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),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,e)}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,this.scaleOffset=0,this.deltaDifference=0},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+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.start-(i-o))*e,h=i+r+(this.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a),this.startToFront=!1,this.endToFront=!0},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(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){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),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[])}var o=i(43),n=i(14);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(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case s.SCALE.YEAR:case s.SCALE.MONTH:case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case s.SCALE.MILLISECOND:case s.SCALE.SECOND:case s.SCALE.MINUTE:case s.SCALE.HOUR:return!0;default:return!1}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(19),r=i(43),a=i(47);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(44),n=i(1),r=i(19),a=i(43),h=i(47);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(19),a=i(15);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.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},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),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;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;ns;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){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.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(44),n=i(1),r=i(3),a=i(4),h=i(19),d=i(24),l=i(25),c=i(32),p=i(33),u=i(34),f=i(31),m="__ungrouped__",g="__background__";s.prototype=new h,s.types={background:f,box:c,range:u,point:p},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new l(g,null,this);r.show(),this.groups[g]=r,this.hammer=o(this.body.dom.centerContainer,{prevent_default:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","padding","stack","selectable","groupOrder","dataAttributes","template","hide"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable)); +var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(){this.groupIds=[],this.stackDirty=!0},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;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,this.groups[g].redraw(e,f,c);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,v=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,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==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,e,i=this.groups[m],s=this.groups[g];if(this.groupsData){if(i){i.hide(),delete this.groups[m];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var r=null,a=null;i=new d(r,a,this),this.groups[m]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],t instanceof f?s.add(t):i.add(t));i.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._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e?this.groupsData&&void 0!=t.group?t.group:g:this.groupsData?t.group:m},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=e._getType(i),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||t==g)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._getGroupId(t.data),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._getGroupId(t.data),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._getGroupId(t.data),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()})}},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()})}}},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(19);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.svg.style.height="100%",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(19),d=i(22),l=i(23),c=i(27),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,D=0;S-1>D;D++)s=0==D?t[0]:t[D-1],o=t[D],n=t[D+1],r=S>D+2?t[D+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;ic;){c++;var p=h.getCurrent(),u=this.body.util.toScreen(p),f=h.isMajor();this.options.showMinorLabels&&this._repaintMinorText(u,h.getLabelMinor(),t),f&&this.options.showMajorLabels?(u>0&&(void 0==l&&(l=u),this._repaintMajorText(u,h.getLabelMajor(),t)),this._repaintMajorLine(u,t)):this._repaintMinorLine(u,t),h.next()}if(this.options.showMajorLabels){var m=this.body.util.toTime(0),g=h.getLabelMajor(m),v=g.length*(this.props.majorCharWidth||10)+10;(void 0==l||l>v)&&this._repaintMajorText(0,g,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 major 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(44),n=i(1);s.prototype.stack=!0,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!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},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){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},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 item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" 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=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=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(30);i(1)}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 item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" 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.startedStabilization=!1,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,e.data),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(52),n=i(44),r=i(53),a=i(1),h=i(46),d=i(3),l=i(4),c=i(41),p=i(42),u=i(37),f=i(38),m=i(39),g=i(36),v=i(40),y=i(50),b=i(51),_=i(48);i(49),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.maxX-o.minX),h=1.1*Math.abs(o.maxY-o.minY),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&&1==this.constants.dragNodes){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});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(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=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(),this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},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,s=this.frame.canvas.width,o=this.frame.canvas.height;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,oldWidth:s,oldHeight:o})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))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,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new m(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i)},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(Array.isArray(t))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=[],e[t].dynamicEdges=[]);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,i.startedStabilization=!1,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(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=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.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=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()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},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.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.dirtyLabel=!0,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(39);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,this.dirtyLabel=!0),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(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)),t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle",o=this.labelDimensions.yLine;for(var d=0;r>d;d++)t.fillText(n[d],i,o),o+=a}},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){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,f,m,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,f=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(m,g,u,f,o,n),v=v>l?l:v),m=u,g=f;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,f,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,f=x.y-_):(u=x.x+_,f=x.y-.5*x.height),y=u-o,b=f-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},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.allowedToMoveX=!1,this.allowedToMoveY=!1,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.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},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),e=this.dynamicEdges.indexOf(t),-1!=e&&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),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(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),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)this.fx=0,this.vx=0;else{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)this.fy=0,this.vy=0;else{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,this.vx=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,this.vy=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;var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;1==r&&(l=s+(1-h)/(2*d));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"==n&&(g+=.5*d),this.labelDimensions={top:g,left:m,width:c,height:f,yLine:l},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(m,g,c,f)),t.fillStyle=this.options.fontColor||"black",t.textAlign=o||"center",t.textBaseline=n||"middle";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=M.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=M.DELIMITER);var i=O+n();if(C[i])return k=M.DELIMITER,L=i,o(),void o();if(C[O])return k=M.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=M.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=M.IDENTIFIER)}for(k=M.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==M.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!=M.IDENTIFIER)throw x("Identifier expected");var s=L;if(p(),"="==L){if(p(),k!=M.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==M.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!=M.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!=M.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),k!=M.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){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t){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 M={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},E="",T=0,O="",L="",k=M.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},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){h.updateHiddenDates(this.body,this.options.hiddenDates),"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),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,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 c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,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 p=this.props.scrollTop;"bottom"==e.orientation&&(p+=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=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=f,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=f,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=f,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){return h.toTime(this.body,this.range,t,this.props.center.width)},s.prototype._toGlobalTime=function(t){return h.toTime(this.body,this.range,t,this.props.root.width)},s.prototype._toScreen=function(t){return h.toScreen(this,t,this.props.center.width)},s.prototype._toGlobalScreen=function(t){return h.toScreen(this,t,this.props.root.width)},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(62),o=i(56),n=i(57),r=i(58),a=i(59),h=i(60),d=i(61);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(53),r=i(52),a=i(44),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 C)t[e]?i=!0:C[e]=0;i||(T=!1)}function r(t,e,i,s,n){var r,a,h=[];if(!D[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){C[t]=0,o||(o=f(e[0],[]));var r,a=function(){T=o,++C[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"},D={},M={},C={},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),M[t+":"+i]=e,this +},unbind:function(t,e){return M[t+":"+e]&&(delete M[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return M[t+":"+e](),this},reset:function(){return D={},M={},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){De.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=De.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"}De[t]=function(s,o){var r,a,h=De._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=De().utc().set(i,t);return h.call(De._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(De([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=De.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),De.locale(e)}catch(i){}return Fe[t]}function B(t,e){return e._isUTC?De(t).zone(e._offset||0):De(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]=De.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]=De.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(De(),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(De(),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===De.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,De.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=De.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=De(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||De.localeData(t._l),null===e||i===n&&""===e?De.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),De.isMoment(e)?new m(e,!0):(i?M(i)?ie(t):J(t):re(t),new m(t)))}function me(t,e){var i,s;if(1===e.length&&M(e[0])&&(e=e[0]),!e.length)return De();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;)Ce=yi.pop(),_i[Ce+"o"]=u(_i[Ce],Ce);for(;bi.length;)Ce=bi.pop(),_i[Ce+Ce]=p(_i[Ce],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=De.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=De([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}}),De=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)},De.suppressDeprecationWarnings=!1,De.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)}),De.min=function(){var t=[].slice.call(arguments,0);return me("isBefore",t)},De.max=function(){var t=[].slice.call(arguments,0);return me("isAfter",t)},De.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()},De.unix=function(t){return De(1e3*t)},De.duration=function(t,e){var i,s,o,n,r=t,h=null;return De.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(De(r.from),De(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new g(r),De.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},De.version=Ee,De.defaultFormat=di,De.ISO_8601=function(){},De.momentProperties=He,De.updateOffset=function(){},De.relativeTimeThreshold=function(t,e){return vi[t]===n?!1:e===n?vi[t]:(vi[t]=e,!0)},De.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return De.locale(t,e)}),De.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?De.defineLocale(t,e):De.localeData(t),i&&(De.duration._locale=De._locale=i)),De._locale._abbr},De.defineLocale=function(t,e){return null!==e?(e.abbr=t,Fe[t]||(Fe[t]=new f),Fe[t].set(e),De.locale(t),Fe[t]):(delete Fe[t],null)},De.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return De.localeData(t)}),De.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return De._locale;if(!M(t)){if(e=Y(t))return e;t=[t]}return H(t)},De.isMoment=function(t){return t instanceof m||null!=t&&a(t,"_isAMomentObject")},De.isDuration=function(t){return t instanceof g};for(Ce=wi.length-1;Ce>=0;--Ce)L(wi[Ce]);De.normalizeUnits=function(t){return T(t)},De.invalid=function(t){var e=De.utc(0/0);return null!=t?v(e._pf,t):e._pf.userInvalidated=!0,e},De.parseZone=function(){return De.apply(null,arguments).parseZone()},De.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)},v(De.fn=m.prototype,{clone:function(){return De(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=De(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||De.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-De(this).startOf("month")-(r-De(r).startOf("month")),n-=6e4*(this.zone()-De(this).startOf("month").zone()-(r.zone()-De(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 De.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(De(),t)},calendar:function(t){var e=t||De(),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)>+De(t).startOf(e)},isBefore:function(t,e){return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+t>+this):+this.clone().startOf(e)<+De(t).startOf(e)},isSame:function(t,e){return e=T(e||"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(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=De.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=De.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?D(this,De.duration(s-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,De.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?De(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return N(this.year(),this.month())},dayOfYear:function(t){var e=Oe((De(this).startOf("day")-De(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=De.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)}}),De.fn.millisecond=De.fn.milliseconds=be("Milliseconds",!1),De.fn.second=De.fn.seconds=be("Seconds",!1),De.fn.minute=De.fn.minutes=be("Minutes",!1),De.fn.hour=De.fn.hours=be("Hours",!0),De.fn.date=be("Date",!0),De.fn.dates=l("dates accessor is deprecated. Use date instead.",be("Date",!0)),De.fn.year=be("FullYear",!0),De.fn.years=l("years accessor is deprecated. Use year instead.",be("FullYear",!0)),De.fn.days=De.fn.day,De.fn.months=De.fn.month,De.fn.weeks=De.fn.week,De.fn.isoWeeks=De.fn.isoWeek,De.fn.quarters=De.fn.quarter,De.fn.toJSON=De.fn.toISOString,v(De.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=De.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=De.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:De.fn.lang,locale:De.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}}),De.duration.fn.toString=De.duration.fn.toISOString;for(Ce in ui)a(ui,Ce)&&we(Ce.toLowerCase());De.duration.fn.asMilliseconds=function(){return this.as("ms")},De.duration.fn.asSeconds=function(){return this.as("s")},De.duration.fn.asMinutes=function(){return this.as("m")},De.duration.fn.asHours=function(){return this.as("h")},De.duration.fn.asDays=function(){return this.as("d") +},De.duration.fn.asWeeks=function(){return this.as("weeks")},De.duration.fn.asMonths=function(){return this.as("M")},De.duration.fn.asYears=function(){return this.as("y")},De.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=De:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(Te.moment=Me),De}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(67)(t))},function(t,e,i){var s;!function(o,n){"use strict";function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){D.register(t)}),w.onTouch(a.DOCUMENT,v,D.detect),w.onTouch(a.DOCUMENT,y,D.detect),a.READY=!0)}var a=function M(t,e){return new M.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(D,d),a&&(d.changedLength=h,d.eventType=a,s.call(D,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(D,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 D.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={}}},D=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?D.startDetect(i,t):t.eventType==_&&D.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=D.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=D.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=D.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=D.current,h=D.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),o=i(39);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 o({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;ei;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,!0)}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,!1,!0)}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(39),n=i(36);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1},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._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleDragStart=function(){},this._handleDragEnd=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._manipulationReleaseOverload=this._manipulationReleaseOverload,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._manipulationReleaseOverload=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=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge;i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.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(44));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t0){"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.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=63},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/timeline.html b/docs/timeline.html index de2e2175..05d970b6 100644 --- a/docs/timeline.html +++ b/docs/timeline.html @@ -347,6 +347,14 @@ var groups = [ The title can only contain plain text. + + subgroupOrder + String | Function + none + Order the subgroups by a field name or custom sort function. + By default, groups are ordered by first-come, first-show. + + diff --git a/download/vis.zip b/download/vis.zip index 627c9537cc2d6d9cab0646927c0cdd5d63d16aaf..2c336111df6dfd4063a34d50cd03ab298cb71b1d 100644 GIT binary patch delta 480886 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

&`e_W{M?;soC&i(Vnwm@fGxz?OQuK_2_ike~=Mf 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

A1el#Cr}O&xoG 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

|wkUv;&YA~;0RI&pe#J|lZ5Nip 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%0Da( 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

OMl@MtQ!niJzem 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 - - - Timeline | Background areas - - - - - - - - -

This example demonstrates the item type "background", see "Period A" and "Period B". The background areas can be styled with css.

- -
- - - - \ No newline at end of file diff --git a/examples/timeline/25_templates.html b/examples/timeline/25_templates.html deleted file mode 100644 index eb68de13..00000000 --- a/examples/timeline/25_templates.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - Timeline | Templates - - - - - - - - - - - - -

WK 2014

-

- This example demonstrates using templates to format item contents. In this case handlebars is used as template engine, but you can just use your favorite template engine or manually craft HTML from the data of an item. -

- -
- -
- - - - \ No newline at end of file diff --git a/examples/timeline/29_hiding_times.html b/examples/timeline/29_hiding_times.html index 161bf39d..edf2577e 100644 --- a/examples/timeline/29_hiding_times.html +++ b/examples/timeline/29_hiding_times.html @@ -32,8 +32,8 @@ var options = { hiddenDates: [ {start: '2014-03-21 00:00:00', end: '2014-03-28 00:00:00'}, - {start: '2013-03-29 00:00:00', end: '2013-03-31 00:00:00', repeat: 'weekly'}, // daily weekly monthly yearly - {start: '2013-03-29 20:00:00', end: '2013-03-31 9:00:00', repeat: 'daily'} // daily weekly monthly yearly + {start: '2013-10-26 00:00:00', end: '2013-10-28 00:00:00', repeat: 'weekly'}, // daily weekly monthly yearly + {start: '2013-03-29 20:00:00', end: '2013-03-30 09:00:00', repeat: 'daily'} // daily weekly monthly yearly ], start: '2014-04-17', end: '2014-05-01', diff --git a/examples/timeline/30_subgroups.html b/examples/timeline/30_subgroups.html index 86511fb3..4c342658 100644 --- a/examples/timeline/30_subgroups.html +++ b/examples/timeline/30_subgroups.html @@ -25,7 +25,7 @@ -

This example demonstrates the item type "background", see "Period A" and "Period B". The background areas can be styled with css.

+

This example shows the workings of the subgroups. Subgroups do not use stacking, and only work when stacking is disabled.

@@ -38,23 +38,25 @@ type: { start: 'ISODate', end: 'ISODate' } }); var groups = new vis.DataSet([{ - id: 'bar', content:'bar' + id: 'bar', content:'bar', subgroupOrder: function (a,b) {return a.subgroupOrder - b.subgroupOrder;} },{ - id: 'foo', content:'foo' + id: 'foo', content:'foo', subgroupOrder: 'subgroupOrder' // this group has no subgroups but this would be the other method to do the sorting. }]); // add items to the DataSet items.add([ - {id: 'A', content:'1',start: '2014-01-20', end: '2014-01-22', type: 'background', group:'foo'}, - {id: 'B', content:'1',start: '2014-01-22', end: '2014-01-23', type: 'background', group:'foo', className: 'negative'}, - {id: 0, content: 'item 4', start: '2014-01-20', end: '2014-01-22',group:'foo'}, + {id: 'A',start: '2014-01-20', end: '2014-01-22', type: 'background', group:'foo'}, + {id: 'B',start: '2014-01-22', end: '2014-01-23', type: 'background', group:'foo', className: 'negative'}, + {id: 0, content: 'no subgroup', start: '2014-01-20', end: '2014-01-22',group:'foo'}, - {id: 'ab', content:'1',start: '2014-01-25', end: '2014-01-27', type: 'background', group:'bar', subgroup:'banana'}, - {id: 'bb', content:'1',start: '2014-01-26', end: '2014-01-27', type: 'background', className: 'positive',group:'bar', subgroup:'banana'}, - {id: 1, content: '0', start: '2014-01-25 12:00:00', end: '2014-01-26 12:00:00',group:'bar', subgroup:'banana'}, - {id: 'aab', content:'1',start: '2014-01-27', end: '2014-01-29', type: 'background', group:'bar', subgroup:'putty'}, - {id: 'bab', content:'1',start: '2014-01-27', end: '2014-01-28', type: 'background', className: 'negative',group:'bar', subgroup:'putty'}, - {id: 'bdab', content:'1',start: '2014-01-29', end: '2014-01-30', type: 'background', className: 'negative',group:'bar'}, - {id: 2, content: 'subgroup1', start: '2014-01-27', end: '2014-01-29',group:'bar', subgroup:'putty'}, + {id: 'SG_1_1',start: '2014-01-25', end: '2014-01-27', type: 'background', group:'bar', subgroup:'sg_1', subgroupOrder:0}, + {id: 'SG_1_2', start: '2014-01-26', end: '2014-01-27', type: 'background', className: 'positive',group:'bar', subgroup:'sg_1', subgroupOrder:0}, + {id: 1, content: 'subgroup0', start: '2014-01-23 12:00:00', end: '2014-01-26 12:00:00',group:'bar', subgroup:'sg_1', subgroupOrder:0}, + {id: 'SG_2_1', start: '2014-01-27', end: '2014-01-29', type: 'background', group:'bar', subgroup:'sg_2', subgroupOrder:1}, + {id: 'SG_2_2', start: '2014-01-27', end: '2014-01-28', type: 'background', className: 'negative',group:'bar', subgroup:'sg_2', subgroupOrder:1}, + {id: 2, content: 'subgroup1', start: '2014-01-27', end: '2014-01-29',group:'bar', subgroup:'sg_2', subgroupOrder:1}, + + {id: 'background', start: '2014-01-29', end: '2014-01-30', type: 'background', className: 'negative',group:'bar'}, + {id: 'background_all', start: '2014-01-31', end: '2014-02-02', type: 'background', className: 'positive'}, ]); var container = document.getElementById('visualization'); diff --git a/img/gallery/timeline/24_all_data_attributes.png b/img/gallery/timeline/24_all_data_attributes.png new file mode 100644 index 0000000000000000000000000000000000000000..968a34e03f94af0ef5b6dc25708cb0174a989f24 GIT binary patch literal 15688 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 NEv_I|C1MoxzW|ugRN?>t literal 0 HcmV?d00001 diff --git a/img/gallery/timeline/24_background_areas.png b/img/gallery/timeline/25_background_areas.png similarity index 100% rename from img/gallery/timeline/24_background_areas.png rename to img/gallery/timeline/25_background_areas.png diff --git a/img/gallery/timeline/25_templates.png b/img/gallery/timeline/27_templates.png similarity index 100% rename from img/gallery/timeline/25_templates.png rename to img/gallery/timeline/27_templates.png diff --git a/img/gallery/timeline/29_hiding_times.png b/img/gallery/timeline/29_hiding_times.png new file mode 100644 index 0000000000000000000000000000000000000000..f9205ca841353ba7b72fddfb16587f26082c9995 GIT binary patch literal 8753 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 Kz^d2gq5lU0N*_)D literal 0 HcmV?d00001 diff --git a/img/gallery/timeline/30_subgroups.png b/img/gallery/timeline/30_subgroups.png new file mode 100644 index 0000000000000000000000000000000000000000..a3eb1611090eec2b6aab38cf47bdc251d9e87b3a GIT binary patch literal 20372 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

yKp)J&!pYbP7L|C%AL$t&gAR`3`SLZ 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

@@ -284,6 +284,30 @@ The source code of the examples can be found in the
external data
+ + + +

Network

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⪻ylhRd3|*t9AUO2Rmsk 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%0D}kvx5M3qlmn?(FueAC`YB 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 delta 478660 zcmV)1K+V6Dwt0l6c?3{P0|b}8NFElE8V&^CcScl~(f%D3mrxZQ2m_FbRgp|41mAZ? zRF~2I9TTyMx(E)CiB(0{w@p0odjS9=H zHyk+oJ!jAxI+H63pac!284ikEY29Jn)LR5g*#gdv1pM3W0p>O-$W8Qd|w*FY-d$XBL&O`rl%8sU<#s@ zWd7TOXoRXh<)WlvC|&gx`8eR#2()>W!z|~(KE$EiB*!C}DEBQIq~rVHFk1oN#GBJ) z5*rB%sJyt?0V(9*g80BXLQC>?h>7hf6ych=iX0@biv~0=E-bhYu(vKRJvA^PuiHnd zkZ*M%)p}*gJ<@U7+m}+(8a4TU7G@c<9+BD@EgV=0!43migGRrkEEGf0o-xfsYs5NW zjfh59Kn&5D#O2)X+gbZe?(7QgKkLGI3E|Tf#{A@Hny*Lv!k|I!h63?TRh5wi#zf$H> z_iTN3X{Y5cDy7Sf#1%E#U^&@?!z)+1>k?l{CDdAOx1dlfmM#pCt0msn+8(4Q8r-2U zpK?->9i$P4nX5FRkEelumx#q_dN!)W(EvA<6F5oWOSIyk56Bc!iIpTd2*^6ARg9z6 z+6AR%Sk9Q5R#c6hoNcjo#*J%7tcB3p(aSh?*3&JBK2I{Vd0dy#NRZi$XcV%!4z@GKfi!vHFo?NqXz z+u*eYE(m*y%MnhhT?@2(JnKf8z-Yeijf@6$9Z?6!erVvT(x_Q_s~ zs@E10ypJa=N38{#xk)^W$MGCCHBBEjaChgki1CHU7c2*VZ0pmr5qmOPL=&XP(4HVw z@pTkmz!+S#Cn$lM2)0=h9<8!W6lV-HVy?|pNAu(HXbd#MsxdnqpJAo#dlz?iSSwU} zC8*(q*&NIaZ-FBknV&8{Jd=2tCT5NGM|yRW`q%yY>S0H*pdae8TC}fX2>_%(j1`;- zQYvzpsBd?F*wjS<$Mpq4!0CC(`Xq+u${n677?Dt6Oo#F-Z%Hbm8zk*@WaEX0D~T_F zy0`22V?41j8jT-oj1U_S9?{URsdPh7TVA8GL?xew`j)3yK`)=2CHO;Cv|L$O%G3!d zHHnj_VYKA=>R_epG(B?ta#H&Txw$C_ZTvLu*Ywl<4+8pRomO|IWUwWE?5+PM_) z͕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