From b6258d2688452cd8775e246cc9b0f322902f013b Mon Sep 17 00:00:00 2001 From: Alexander Wunschik Date: Sun, 19 Mar 2017 11:06:38 +0100 Subject: [PATCH] generated dist files for v4.19.1 --- dist/vis-graph3d.min.js | 16 +- dist/vis-network.min.js | 26 +- dist/vis-timeline-graph2d.min.js | 26 +- dist/vis.js | 414 +++++++++++++++++++++++-------- dist/vis.map | 2 +- dist/vis.min.js | 46 ++-- 6 files changed, 366 insertions(+), 164 deletions(-) diff --git a/dist/vis-graph3d.min.js b/dist/vis-graph3d.min.js index ffe77e41..165c2ecb 100644 --- a/dist/vis-graph3d.min.js +++ b/dist/vis-graph3d.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 4.19.0 - * @date 2017-03-18 + * @version 4.19.1 + * @date 2017-03-19 * * @license * Copyright (C) 2011-2017 Almende B.V, http://almende.com @@ -22,13 +22,13 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){e.util=n(1),e.DOMutil=n(87),e.DataSet=n(88),e.DataView=n(92),e.Queue=n(91),e.Graph3d=n(93),e.graph3d={Camera:n(101),Filter:n(106),Point2d:n(100),Point3d:n(99),Slider:n(107),StepNumber:n(108)},e.moment=n(82),e.Hammer=n(111),e.keycharm=n(114)},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}var r=n(2),o=i(r),s=n(55),a=i(s),h=n(58),u=i(h),l=n(62),c=i(l),f=n(82),d=n(86);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,n,i){if(e==t)return.5;var r=1/(e-t);return Math.max(0,(i-t)*r)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var n=p.exec(t);if(n)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return d.v4()},e.assignAllKeys=function(t,e){for(var n in t)t.hasOwnProperty(n)&&"object"!==(0,c.default)(t[n])&&(t[n]=e)},e.fillIfDefined=function(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var r in t)void 0!==n[r]&&("object"!==(0,c.default)(n[r])?void 0!==n[r]&&null!==n[r]||void 0===t[r]||i!==!0?t[r]=n[r]:delete t[r]:"object"===(0,c.default)(t[r])&&e.fillIfDefined(t[r],n[r],i))},e.protoExtend=function(t,e){for(var n=1;n3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o=2;o3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o in i)if(i.hasOwnProperty(o)&&t.indexOf(o)==-1)if(i[o]&&i[o].constructor===Object)void 0===n[o]&&(n[o]={}),n[o].constructor===Object?e.deepExtend(n[o],i[o]):null===i[o]&&void 0!==n[o]&&r===!0?delete n[o]:n[o]=i[o];else if(Array.isArray(i[o])){n[o]=[];for(var s=0;s=0&&(e="DOMMouseScroll"),t.addEventListener(e,n,i)):t.attachEvent("on"+e,n)},e.removeEventListener=function(t,e,n,i){t.removeEventListener?(void 0===i&&(i=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,n,i)):t.detachEvent("on"+e,n)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,n){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":n||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,n,i){return e+e+n+n+i+i});var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:null},e.overrideOpacity=function(t,n){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var i=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+i[0]+","+i[1]+","+i[2]+","+n+")"}var i=e.hexToRGB(t);return null==i?t:"rgba("+i.r+","+i.g+","+i.b+","+n+")"},e.RGBToHex=function(t,e,n){return"#"+((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},e.parseColor=function(t){var n;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var i=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(i[0],i[1],i[2])}if(e.isValidHex(t)===!0){var r=e.hexToHSV(t),o={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},s={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},a=e.HSVToHex(s.h,s.s,s.v),h=e.HSVToHex(o.h,o.s,o.v);n={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else n={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else n={},n.background=t.background||void 0,n.border=t.border||void 0,e.isString(t.highlight)?n.highlight={border:t.highlight,background:t.highlight}:(n.highlight={},n.highlight.background=t.highlight&&t.highlight.background||void 0,n.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?n.hover={border:t.hover,background:t.hover}:(n.hover={},n.hover.background=t.hover&&t.hover.background||void 0,n.hover.border=t.hover&&t.hover.border||void 0);return n},e.RGBToHSV=function(t,e,n){t/=255,e/=255,n/=255;var i=Math.min(t,Math.min(e,n)),r=Math.max(t,Math.max(e,n));if(i==r)return{h:0,s:0,v:i};var o=t==i?e-n:n==i?t-e:n-t,s=t==i?3:n==i?1:5,a=60*(s-o/(r-i))/360,h=(r-i)/r,u=r;return{h:a,s:h,v:u}};var m={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var n=t.split(":"),i=n[0].trim(),r=n[1].trim();e[i]=r}}),e},join:function(t){return(0,u.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,n){var i=m.split(t.style.cssText),r=m.split(n),o=e.extend(i,r);t.style.cssText=m.join(o)},e.removeCssText=function(t,e){var n=m.split(t.style.cssText),i=m.split(e);for(var r in i)i.hasOwnProperty(r)&&delete n[r];t.style.cssText=m.join(n)},e.HSVToRGB=function(t,e,n){var i,r,o,s=Math.floor(6*t),a=6*t-s,h=n*(1-e),u=n*(1-a*e),l=n*(1-(1-a)*e);switch(s%6){case 0:i=n,r=l,o=h;break;case 1:i=u,r=n,o=h;break;case 2:i=h,r=n,o=l;break;case 3:i=h,r=u,o=n;break;case 4:i=l,r=h,o=n;break;case 5:i=n,r=h,o=u}return{r:Math.floor(255*i),g:Math.floor(255*r),b:Math.floor(255*o)}},e.HSVToHex=function(t,n,i){var r=e.HSVToRGB(t,n,i);return e.RGBToHex(r.r,r.g,r.b)},e.hexToHSV=function(t){var n=e.hexToRGB(t);return e.RGBToHSV(n.r,n.g,n.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,n){if("object"==("undefined"==typeof n?"undefined":(0,c.default)(n))){for(var i=(0,a.default)(n),r=0;r0&&e(i,t[r-1])<0;r--)t[r]=t[r-1];t[r]=i}return t},e.mergeOptions=function(t,e,n){var i=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[n])t[n]=(0,a.default)(i[n]);else if(void 0!==e[n])if("boolean"==typeof e[n])t[n].enabled=e[n];else{void 0===e[n].enabled&&(t[n].enabled=!0);for(var r in e[n])e[n].hasOwnProperty(r)&&(t[n][r]=e[n][r])}},e.binarySearchCustom=function(t,e,n,i){for(var r=1e4,o=0,s=0,a=t.length-1;s<=a&&o0)return"before"==i?Math.max(0,h-1):h;if(r(s,e)<0&&r(a,e)>0)return"before"==i?h:Math.min(t.length-1,h+1);r(s,e)<0?c=h+1:f=h-1,l++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var n=t.offsetWidth;e.style.overflow="scroll";var i=t.offsetWidth;return n==i&&(i=e.clientWidth),document.body.removeChild(e),n-i},e.topMost=function(t,e){var n=void 0;Array.isArray(e)||(e=[e]);var i=!0,r=!1,s=void 0;try{for(var a,h=(0,o.default)(t);!(i=(a=h.next()).done);i=!0){var u=a.value;if(u){n=u[e[0]];for(var l=1;l=t.length?(this._t=void 0,r(1)):"keys"==e?r(0,n):"values"==e?r(0,t[n]):r(0,[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,n){var i=n(10),r=n(12);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var i=n(14),r=n(15),o=n(30),s=n(20),a=n(31),h=n(8),u=n(32),l=n(46),c=n(48),f=n(47)("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",m="keys",v="values",y=function(){return this};t.exports=function(t,e,n,g,_,w,x){u(n,e,g);var b,S,T,D=function(t){if(!d&&t in E)return E[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},M=e+" Iterator",k=_==v,O=!1,E=t.prototype,C=E[f]||E[p]||_&&E[_],P=C||D(_),L=_?k?D("entries"):P:void 0,Y="Array"==e?E.entries||C:C;if(Y&&(T=c(Y.call(new t)),T!==Object.prototype&&(l(T,M,!0),i||a(T,f)||s(T,f,y))),k&&C&&C.name!==v&&(O=!0,P=function(){return C.call(this)}),i&&!x||!d&&!O&&E[f]||s(E,f,P),h[e]=P,h[M]=y,_)if(b={values:k?P:D(v),keys:w?P:D(m),entries:L},x)for(S in b)S in E||o(E,S,b[S]);else r(r.P+r.F*(d||O),e,b);return b}},function(t,e){t.exports=!0},function(t,e,n){var i=n(16),r=n(17),o=n(18),s=n(20),a="prototype",h=function(t,e,n){var u,l,c,f=t&h.F,d=t&h.G,p=t&h.S,m=t&h.P,v=t&h.B,y=t&h.W,g=d?r:r[e]||(r[e]={}),_=g[a],w=d?i:p?i[e]:(i[e]||{})[a];d&&(n=e);for(u in n)l=!f&&w&&void 0!==w[u],l&&u in g||(c=l?w[u]:n[u],g[u]=d&&"function"!=typeof w[u]?n[u]:v&&l?o(c,i):y&&w[u]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e[a]=t[a],e}(c):m&&"function"==typeof c?o(Function.call,c):c,m&&((g.virtual||(g.virtual={}))[u]=c,t&h.R&&_&&!_[u]&&s(_,u,c)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var i=n(19);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var i=n(21),r=n(29);t.exports=n(25)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(22),r=n(24),o=n(28),s=Object.defineProperty;e.f=n(25)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(23);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){t.exports=!n(25)&&!n(26)(function(){return 7!=Object.defineProperty(n(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){t.exports=!n(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(23),r=n(16).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){var i=n(23);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){t.exports=n(20)},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(33),r=n(29),o=n(46),s={};n(20)(s,n(47)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var i=n(22),r=n(34),o=n(44),s=n(41)("IE_PROTO"),a=function(){},h="prototype",u=function(){var t,e=n(27)("iframe"),i=o.length,r="<",s=">";for(e.style.display="none",n(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(r+"script"+s+"document.F=Object"+r+"/script"+s),t.close(),u=t.F;i--;)delete u[h][o[i]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a[h]=i(t),n=new a,a[h]=null,n[s]=t):n=u(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(21),r=n(22),o=n(35);t.exports=n(25)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),a=s.length,h=0;a>h;)i.f(t,n=s[h++],e[n]);return t}},function(t,e,n){var i=n(36),r=n(44);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(31),r=n(9),o=n(37)(!1),s=n(41)("IE_PROTO");t.exports=function(t,e){var n,a=r(t),h=0,u=[];for(n in a)n!=s&&i(a,n)&&u.push(n);for(;e.length>h;)i(a,n=e[h++])&&(~o(u,n)||u.push(n));return u}},function(t,e,n){var i=n(9),r=n(38),o=n(40);t.exports=function(t){return function(e,n,s){var a,h=i(e),u=r(h.length),l=o(s,u);if(t&&n!=n){for(;u>l;)if(a=h[l++],a!=a)return!0}else for(;u>l;l++)if((t||l in h)&&h[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var i=n(39),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(39),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(42)("keys"),r=n(43);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16),r="__core-js_shared__",o=i[r]||(i[r]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){t.exports=n(16).document&&document.documentElement},function(t,e,n){var i=n(21).f,r=n(31),o=n(47)("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(42)("wks"),r=n(43),o=n(16).Symbol,s="function"==typeof o,a=t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)("Symbol."+t))};a.store=i},function(t,e,n){var i=n(31),r=n(49),o=n(41)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(12);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(51)(!0);n(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){var i=n(39),r=n(12);t.exports=function(t){return function(e,n){var o,s,a=String(r(e)),h=i(n),u=a.length;return h<0||h>=u?t?"":void 0:(o=a.charCodeAt(h),o<55296||o>56319||h+1===u||(s=a.charCodeAt(h+1))<56320||s>57343?t?a.charAt(h):o:t?a.slice(h,h+2):(o-55296<<10)+(s-56320)+65536)}}},function(t,e,n){var i=n(22),r=n(53);t.exports=n(17).getIterator=function(t){var e=r(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return i(e.call(t))}},function(t,e,n){var i=n(54),r=n(47)("iterator"),o=n(8);t.exports=n(17).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t["@@iterator"]||o[i(t)]}},function(t,e,n){var i=n(11),r=n(47)("toStringTag"),o="Arguments"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=s(e=Object(t),r))?n:o?i(e):"Object"==(a=i(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){t.exports={default:n(56),__esModule:!0}},function(t,e,n){n(57);var i=n(17).Object;t.exports=function(t,e){return i.create(t,e)}},function(t,e,n){var i=n(15);i(i.S,"Object",{create:n(33)})},function(t,e,n){t.exports={default:n(59),__esModule:!0}},function(t,e,n){n(60),t.exports=n(17).Object.keys},function(t,e,n){var i=n(49),r=n(35);n(61)("keys",function(){return function(t){return r(i(t))}})},function(t,e,n){var i=n(15),r=n(17),o=n(26);t.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],s={};s[t]=e(n),i(i.S+i.F*o(function(){n(1)}),"Object",s)}},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(63),o=i(r),s=n(66),a=i(s),h="function"==typeof a.default&&"symbol"==typeof o.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(o.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,n){t.exports={default:n(64),__esModule:!0}},function(t,e,n){n(50),n(4),t.exports=n(65).f("iterator")},function(t,e,n){e.f=n(47)},function(t,e,n){t.exports={default:n(67),__esModule:!0}},function(t,e,n){n(68),n(79),n(80),n(81),t.exports=n(17).Symbol},function(t,e,n){var i=n(16),r=n(31),o=n(25),s=n(15),a=n(30),h=n(69).KEY,u=n(26),l=n(42),c=n(46),f=n(43),d=n(47),p=n(65),m=n(70),v=n(71),y=n(72),g=n(75),_=n(22),w=n(9),x=n(28),b=n(29),S=n(33),T=n(76),D=n(78),M=n(21),k=n(35),O=D.f,E=M.f,C=T.f,P=i.Symbol,L=i.JSON,Y=L&&L.stringify,R="prototype",A=d("_hidden"),I=d("toPrimitive"),W={}.propertyIsEnumerable,N=l("symbol-registry"),z=l("symbols"),F=l("op-symbols"),j=Object[R],G="function"==typeof P,B=i.QObject,V=!B||!B[R]||!B[R].findChild,U=o&&u(function(){return 7!=S(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(t,e,n){var i=O(j,e);i&&delete j[e],E(t,e,n),i&&t!==j&&E(j,e,i)}:E,H=function(t){var e=z[t]=S(P[R]);return e._k=t,e},X=G&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},Z=function(t,e,n){return t===j&&Z(F,e,n),_(t),e=x(e,!0),_(n),r(z,e)?(n.enumerable?(r(t,A)&&t[A][e]&&(t[A][e]=!1),n=S(n,{enumerable:b(0,!1)})):(r(t,A)||E(t,A,b(1,{})),t[A][e]=!0),U(t,e,n)):E(t,e,n)},q=function(t,e){_(t);for(var n,i=y(e=w(e)),r=0,o=i.length;o>r;)Z(t,n=i[r++],e[n]);return t},$=function(t,e){return void 0===e?S(t):q(S(t),e)},Q=function(t){var e=W.call(this,t=x(t,!0));return!(this===j&&r(z,t)&&!r(F,t))&&(!(e||!r(this,t)||!r(z,t)||r(this,A)&&this[A][t])||e)},J=function(t,e){if(t=w(t),e=x(e,!0),t!==j||!r(z,e)||r(F,e)){var n=O(t,e);return!n||!r(z,e)||r(t,A)&&t[A][e]||(n.enumerable=!0),n}},K=function(t){for(var e,n=C(w(t)),i=[],o=0;n.length>o;)r(z,e=n[o++])||e==A||e==h||i.push(e);return i},tt=function(t){for(var e,n=t===j,i=C(n?F:w(t)),o=[],s=0;i.length>s;)!r(z,e=i[s++])||n&&!r(j,e)||o.push(z[e]);return o};G||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=f(arguments.length>0?arguments[0]:void 0),e=function(n){this===j&&e.call(F,n),r(this,A)&&r(this[A],t)&&(this[A][t]=!1),U(this,t,b(1,n))};return o&&V&&U(j,t,{configurable:!0,set:e}),H(t)},a(P[R],"toString",function(){return this._k}),D.f=J,M.f=Z,n(77).f=T.f=K,n(74).f=Q,n(73).f=tt,o&&!n(14)&&a(j,"propertyIsEnumerable",Q,!0),p.f=function(t){return H(d(t))}),s(s.G+s.W+s.F*!G,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)d(et[nt++]);for(var et=k(d.store),nt=0;et.length>nt;)m(et[nt++]);s(s.S+s.F*!G,"Symbol",{for:function(t){return r(N,t+="")?N[t]:N[t]=P(t)},keyFor:function(t){if(X(t))return v(N,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){V=!0},useSimple:function(){V=!1}}),s(s.S+s.F*!G,"Object",{create:$,defineProperty:Z,defineProperties:q,getOwnPropertyDescriptor:J,getOwnPropertyNames:K,getOwnPropertySymbols:tt}),L&&s(s.S+s.F*(!G||u(function(){var t=P();return"[null]"!=Y([t])||"{}"!=Y({a:t})||"{}"!=Y(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!X(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],"function"==typeof e&&(n=e),!n&&g(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!X(e))return e}),i[1]=e,Y.apply(L,i)}}}),P[R][I]||n(20)(P[R],I,P[R].valueOf),c(P,"Symbol"),c(Math,"Math",!0),c(i.JSON,"JSON",!0)},function(t,e,n){var i=n(43)("meta"),r=n(23),o=n(31),s=n(21).f,a=0,h=Object.isExtensible||function(){return!0},u=!n(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){s(t,i,{value:{i:"O"+ ++a,w:{}}})},c=function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,i)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[i].i},f=function(t,e){if(!o(t,i)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[i].w},d=function(t){return u&&p.NEED&&h(t)&&!o(t,i)&&l(t),t},p=t.exports={KEY:i,NEED:!1,fastKey:c,getWeak:f,onFreeze:d}},function(t,e,n){var i=n(16),r=n(17),o=n(14),s=n(65),a=n(21).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,n){var i=n(35),r=n(9);t.exports=function(t,e){for(var n,o=r(t),s=i(o),a=s.length,h=0;a>h;)if(o[n=s[h++]]===e)return n}},function(t,e,n){var i=n(35),r=n(73),o=n(74);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,a=n(t),h=o.f,u=0;a.length>u;)h.call(t,s=a[u++])&&e.push(s);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(11);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e,n){var i=n(9),r=n(77).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?a(t):r(i(t))}},function(t,e,n){var i=n(36),r=n(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(74),r=n(29),o=n(9),s=n(28),a=n(31),h=n(24),u=Object.getOwnPropertyDescriptor;e.f=n(25)?u:function(t,e){if(t=o(t),e=s(e,!0),h)try{return u(t,e)}catch(t){}if(a(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e){},function(t,e,n){n(70)("asyncIterator")},function(t,e,n){n(70)("observable")},function(t,e,n){t.exports="undefined"!=typeof window&&window.moment||n(83)},function(t,e,n){(function(t){!function(e,n){t.exports=n()}(this,function(){function e(){return vi.apply(null,arguments)}function n(t){vi=t}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function r(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function o(t){var e;for(e in t)return!1;return!0}function s(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var n,i=[];for(n=0;n0)for(n in _i)i=_i[n],r=e[i],v(r)||(t[i]=r);return t}function g(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),wi===!1&&(wi=!0,e.updateOffset(this),wi=!1)}function _(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function w(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function x(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=w(e)),n}function b(t,e,n){var i,r=Math.min(t.length,e.length),o=Math.abs(t.length-e.length),s=0;for(i=0;i0?"future":"past"];return M(n)?n(e):n.replace(/%s/i,e)}function I(t,e){var n=t.toLowerCase();Pi[n]=Pi[n+"s"]=Pi[e]=t}function W(t){return"string"==typeof t?Pi[t]||Pi[t.toLowerCase()]:void 0}function N(t){var e,n,i={};for(n in t)u(t,n)&&(e=W(n),e&&(i[e]=t[n]));return i}function z(t,e){Li[t]=e}function F(t){var e=[];for(var n in t)e.push({unit:n,priority:Li[n]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,n){return function(i){return null!=i?(B(this,t,i),e.updateOffset(this,n),this):G(this,t)}}function G(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function B(t,e,n){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](n)}function V(t){return t=W(t),M(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=N(t);for(var n=F(t),i=0;i=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}function X(t,e,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),t&&(Ii[t]=r),e&&(Ii[e[0]]=function(){return H(r.apply(this,arguments),e[1],e[2])}),n&&(Ii[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function Z(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function q(t){var e,n,i=t.match(Yi);for(e=0,n=i.length;e=0&&Ri.test(t);)t=t.replace(Ri,n),Ri.lastIndex=0,i-=1;return t}function J(t,e,n){tr[t]=M(e)?e:function(t,i){return t&&n?n:e}}function K(t,e){return u(tr,t)?tr[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,r){return e||n||i||r}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function nt(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),s(e)&&(i=function(t,n){n[e]=x(t)}),n=0;n=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function wt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function xt(t,e,n){var i=7+e-n,r=(7+wt(t,0,i).getUTCDay()-e)%7;return-r+i-1}function bt(t,e,n,i,r){var o,s,a=(7+n-i)%7,h=xt(t,i,r),u=1+7*(e-1)+a+h;return u<=0?(o=t-1,s=vt(o)+u):u>vt(t)?(o=t+1,s=u-vt(t)):(o=t,s=u),{year:o,dayOfYear:s}}function St(t,e,n){var i,r,o=xt(t.year(),e,n),s=Math.floor((t.dayOfYear()-o-1)/7)+1;return s<1?(r=t.year()-1,i=s+Tt(r,e,n)):s>Tt(t.year(),e,n)?(i=s-Tt(t.year(),e,n),r=t.year()+1):(r=t.year(),i=s),{week:i,year:r}}function Tt(t,e,n){var i=xt(t,e,n),r=xt(t+1,e,n);return(vt(t)-i+r)/7}function Dt(t){return St(t,this._week.dow,this._week.doy).week}function Mt(){return this._week.dow}function kt(){return this._week.doy}function Ot(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Et(t){var e=St(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Ct(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Lt(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Yt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Rt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function At(t,e,n){var i,r,o,s=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)o=c([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===e?(r=cr.call(this._weekdaysParse,s),r!==-1?r:null):"ddd"===e?(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:null):(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:null):"dddd"===e?(r=cr.call(this._weekdaysParse,s),r!==-1?r:(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:null))):"ddd"===e?(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:(r=cr.call(this._weekdaysParse,s),r!==-1?r:(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:null))):(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:(r=cr.call(this._weekdaysParse,s),r!==-1?r:(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:null)))}function It(t,e,n){var i,r,o;if(this._weekdaysParseExact)return At.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(r=c([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}}function Wt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Ct(t,this.localeData()),this.add(t-e,"d")):e}function Nt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function zt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ft(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Bt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=br),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Bt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Sr),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Gt(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Bt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Tr),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Bt(){function t(t,e){return e.length-t.length}var e,n,i,r,o,s=[],a=[],h=[],u=[];for(e=0;e<7;e++)n=c([2e3,1]).day(e),i=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),o=this.weekdays(n,""),s.push(i),a.push(r),h.push(o),u.push(i),u.push(r),u.push(o);for(s.sort(t),a.sort(t),h.sort(t),u.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),u[e]=et(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Vt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function Ht(t,e){X(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Xt(t,e){return e._meridiemParse}function Zt(t){return"p"===(t+"").toLowerCase().charAt(0)}function qt(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function $t(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,n,i,r,o=0;o0;){if(i=Jt(r.slice(0,e).join("-")))return i;if(n&&n.length>=e&&b(r,n,!0)>=e-1)break;e--}o++}return null}function Jt(e){var n=null;if(!Er[e]&&"undefined"!=typeof t&&t&&t.exports)try{n=Dr._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Kt(n)}catch(t){}return Er[e]}function Kt(t,e){var n;return t&&(n=v(e)?ne(t):te(t,e),n&&(Dr=n)),Dr._abbr}function te(t,e){if(null!==e){var n=Or;if(e.abbr=t,null!=Er[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=Er[t]._config;else if(null!=e.parentLocale){if(null==Er[e.parentLocale])return Cr[e.parentLocale]||(Cr[e.parentLocale]=[]),Cr[e.parentLocale].push({name:t,config:e}),null;n=Er[e.parentLocale]._config}return Er[t]=new E(O(n,e)),Cr[t]&&Cr[t].forEach(function(t){te(t.name,t.config)}),Kt(t),Er[t]}return delete Er[t],null}function ee(t,e){if(null!=e){var n,i=Or;null!=Er[t]&&(i=Er[t]._config),e=O(i,e),n=new E(e),n.parentLocale=Er[t],Er[t]=n,Kt(t)}else null!=Er[t]&&(null!=Er[t].parentLocale?Er[t]=Er[t].parentLocale:null!=Er[t]&&delete Er[t]);return Er[t]}function ne(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Dr;if(!i(t)){if(e=Jt(t))return e;t=[t]}return Qt(t)}function ie(){return Ti(Er)}function re(t){var e,n=t._a;return n&&d(t).overflow===-2&&(e=n[ir]<0||n[ir]>11?ir:n[rr]<1||n[rr]>ot(n[nr],n[ir])?rr:n[or]<0||n[or]>24||24===n[or]&&(0!==n[sr]||0!==n[ar]||0!==n[hr])?or:n[sr]<0||n[sr]>59?sr:n[ar]<0||n[ar]>59?ar:n[hr]<0||n[hr]>999?hr:-1,d(t)._overflowDayOfYear&&(err)&&(e=rr),d(t)._overflowWeeks&&e===-1&&(e=ur),d(t)._overflowWeekday&&e===-1&&(e=lr),d(t).overflow=e),t}function oe(t){var e,n,i,r,o,s,a=t._i,h=Pr.exec(a)||Lr.exec(a);if(h){for(d(t).iso=!0,e=0,n=Rr.length;evt(r)&&(d(t)._overflowDayOfYear=!0),n=wt(r,0,t._dayOfYear),t._a[ir]=n.getUTCMonth(),t._a[rr]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[or]&&0===t._a[sr]&&0===t._a[ar]&&0===t._a[hr]&&(t._nextDay=!0,t._a[or]=0),t._d=(t._useUTC?wt:_t).apply(null,o),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[or]=24)}}function le(t){var e,n,i,r,o,s,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)o=1,s=4,n=ae(e.GG,t._a[nr],St(_e(),1,4).year),i=ae(e.W,1),r=ae(e.E,1),(r<1||r>7)&&(h=!0);else{o=t._locale._week.dow,s=t._locale._week.doy;var u=St(_e(),o,s);n=ae(e.gg,t._a[nr],u.year),i=ae(e.w,u.week),null!=e.d?(r=e.d,(r<0||r>6)&&(h=!0)):null!=e.e?(r=e.e+o,(e.e<0||e.e>6)&&(h=!0)):r=o}i<1||i>Tt(n,o,s)?d(t)._overflowWeeks=!0:null!=h?d(t)._overflowWeekday=!0:(a=bt(n,i,r,o,s),t._a[nr]=a.year,t._dayOfYear=a.dayOfYear)}function ce(t){if(t._f===e.ISO_8601)return void oe(t);t._a=[],d(t).empty=!0;var n,i,r,o,s,a=""+t._i,h=a.length,u=0;for(r=Q(t._f,t._locale).match(Yi)||[],n=0;n0&&d(t).unusedInput.push(s),a=a.slice(a.indexOf(i)+i.length),u+=i.length),Ii[o]?(i?d(t).empty=!1:d(t).unusedTokens.push(o),rt(o,i,t)):t._strict&&!i&&d(t).unusedTokens.push(o);d(t).charsLeftOver=h-u,a.length>0&&d(t).unusedInput.push(a),t._a[or]<=12&&d(t).bigHour===!0&&t._a[or]>0&&(d(t).bigHour=void 0),d(t).parsedDateParts=t._a.slice(0),d(t).meridiem=t._meridiem,t._a[or]=fe(t._locale,t._a[or],t._meridiem),ue(t),re(t)}function fe(t,e,n){var i;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(i=t.isPM(n),i&&e<12&&(e+=12),i||12!==e||(e=0),e):e}function de(t){var e,n,i,r,o;if(0===t._f.length)return d(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function We(){if(!v(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ve(t),t._a){var e=t._isUTC?c(t._a):_e(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ne(){return!!this.isValid()&&!this._isUTC}function ze(){return!!this.isValid()&&this._isUTC}function Fe(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function je(t,e){var n,i,r,o=t,a=null;return Te(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:s(t)?(o={},e?o[e]=t:o.milliseconds=t):(a=jr.exec(t))?(n="-"===a[1]?-1:1,o={y:0,d:x(a[rr])*n,h:x(a[or])*n,m:x(a[sr])*n,s:x(a[ar])*n,ms:x(De(1e3*a[hr]))*n}):(a=Gr.exec(t))?(n="-"===a[1]?-1:1,o={y:Ge(a[2],n),M:Ge(a[3],n),w:Ge(a[4],n),d:Ge(a[5],n),h:Ge(a[6],n),m:Ge(a[7],n),s:Ge(a[8],n)}):null==o?o={}:"object"==typeof o&&("from"in o||"to"in o)&&(r=Ve(_e(o.from),_e(o.to)),o={},o.ms=r.milliseconds,o.M=r.months),i=new Se(o),Te(t)&&u(t,"_locale")&&(i._locale=t._locale),i}function Ge(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Be(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ve(t,e){var n;return t.isValid()&&e.isValid()?(e=Oe(e,t),t.isBefore(e)?n=Be(t,e):(n=Be(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Ue(t,e){return function(n,i){var r,o;return null===i||isNaN(+i)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=n,n=i,i=o),n="string"==typeof n?+n:n,r=je(n,i),He(this,r,t),this}}function He(t,n,i,r){var o=n._milliseconds,s=De(n._days),a=De(n._months);t.isValid()&&(r=null==r||r,o&&t._d.setTime(t._d.valueOf()+o*i),s&&B(t,"Date",G(t,"Date")+s*i),a&<(t,G(t,"Month")+a*i),r&&e.updateOffset(t,s||a))}function Xe(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Ze(t,n){var i=t||_e(),r=Oe(i,this).startOf("day"),o=e.calendarFormat(this,r)||"sameElse",s=n&&(M(n[o])?n[o].call(this,i):n[o]);return this.format(s||this.localeData().calendar(o,this,_e(i)))}function qe(){return new g(this)}function $e(t,e){var n=_(t)?t:_e(t);return!(!this.isValid()||!n.isValid())&&(e=W(v(e)?"millisecond":e),"millisecond"===e?this.valueOf()>n.valueOf():n.valueOf()o&&(e=o),Yn.call(this,t,e,n,i,r))}function Yn(t,e,n,i,r){var o=bt(t,e,n,i,r),s=wt(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}function Rn(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function An(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function In(t,e){e[hr]=x(1e3*("0."+t))}function Wn(){return this._isUTC?"UTC":""}function Nn(){return this._isUTC?"Coordinated Universal Time":""}function zn(t){return _e(1e3*t)}function Fn(){return _e.apply(null,arguments).parseZone()}function jn(t){return t}function Gn(t,e,n,i){var r=ne(),o=c().set(i,e);return r[n](o,t)}function Bn(t,e,n){if(s(t)&&(e=t,t=void 0),t=t||"",null!=e)return Gn(t,e,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=Gn(t,i,n,"month");return r}function Vn(t,e,n,i){"boolean"==typeof t?(s(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,s(e)&&(n=e,e=void 0),e=e||"");var r=ne(),o=t?r._week.dow:0;if(null!=n)return Gn(e,(n+o)%7,i,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Gn(e,(a+o)%7,i,"day");return h}function Un(t,e){return Bn(t,e,"months")}function Hn(t,e){return Bn(t,e,"monthsShort")}function Xn(t,e,n){return Vn(t,e,n,"weekdays")}function Zn(t,e,n){return Vn(t,e,n,"weekdaysShort")}function qn(t,e,n){return Vn(t,e,n,"weekdaysMin")}function $n(){var t=this._data;return this._milliseconds=Kr(this._milliseconds),this._days=Kr(this._days),this._months=Kr(this._months),t.milliseconds=Kr(t.milliseconds),t.seconds=Kr(t.seconds),t.minutes=Kr(t.minutes),t.hours=Kr(t.hours),t.months=Kr(t.months),t.years=Kr(t.years),this}function Qn(t,e,n,i){var r=je(e,n);return t._milliseconds+=i*r._milliseconds,t._days+=i*r._days,t._months+=i*r._months,t._bubble()}function Jn(t,e){return Qn(this,t,e,1)}function Kn(t,e){return Qn(this,t,e,-1)}function ti(t){return t<0?Math.floor(t):Math.ceil(t)}function ei(){var t,e,n,i,r,o=this._milliseconds,s=this._days,a=this._months,h=this._data;return o>=0&&s>=0&&a>=0||o<=0&&s<=0&&a<=0||(o+=864e5*ti(ii(a)+s),s=0,a=0),h.milliseconds=o%1e3,t=w(o/1e3),h.seconds=t%60,e=w(t/60),h.minutes=e%60,n=w(e/60),h.hours=n%24,s+=w(n/24),r=w(ni(s)),a+=r,s-=ti(ii(r)),i=w(a/12),a%=12,h.days=s,h.months=a,h.years=i,this}function ni(t){return 4800*t/146097}function ii(t){return 146097*t/4800}function ri(t){var e,n,i=this._milliseconds;if(t=W(t),"month"===t||"year"===t)return e=this._days+i/864e5,n=this._months+ni(e),"month"===t?n:n/12;switch(e=this._days+Math.round(ii(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour": -return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}}function oi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*x(this._months/12)}function si(t){return function(){return this.as(t)}}function ai(t){return t=W(t),this[t+"s"]()}function hi(t){return function(){return this._data[t]}}function ui(){return w(this.days()/7)}function li(t,e,n,i,r){return r.relativeTime(e||1,!!n,t,i)}function ci(t,e,n){var i=je(t).abs(),r=vo(i.as("s")),o=vo(i.as("m")),s=vo(i.as("h")),a=vo(i.as("d")),h=vo(i.as("M")),u=vo(i.as("y")),l=r0,l[4]=n,li.apply(null,l)}function fi(t){return void 0===t?vo:"function"==typeof t&&(vo=t,!0)}function di(t,e){return void 0!==yo[t]&&(void 0===e?yo[t]:(yo[t]=e,!0))}function pi(t){var e=this.localeData(),n=ci(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function mi(){var t,e,n,i=go(this._milliseconds)/1e3,r=go(this._days),o=go(this._months);t=w(i/60),e=w(t/60),i%=60,t%=60,n=w(o/12),o%=12;var s=n,a=o,h=r,u=e,l=t,c=i,f=this.asSeconds();return f?(f<0?"-":"")+"P"+(s?s+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(u||l||c?"T":"")+(u?u+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var vi,yi;yi=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,i=0;i68?1900:2e3)};var yr=j("FullYear",!0);X("w",["ww",2],"wo","week"),X("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),z("week",5),z("isoWeek",5),J("w",Gi),J("ww",Gi,Ni),J("W",Gi),J("WW",Gi,Ni),it(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=x(t)});var gr={dow:0,doy:6};X("d",0,"do","day"),X("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),X("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),X("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),X("e",0,0,"weekday"),X("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),z("day",11),z("weekday",11),z("isoWeekday",11),J("d",Gi),J("e",Gi),J("E",Gi),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),it(["dd","ddd","dddd"],function(t,e,n,i){var r=n._locale.weekdaysParse(t,i,n._strict);null!=r?e.d=r:d(n).invalidWeekday=t}),it(["d","e","E"],function(t,e,n,i){e[i]=x(t)});var _r="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),br=Ki,Sr=Ki,Tr=Ki;X("H",["HH",2],0,"hour"),X("h",["hh",2],0,Vt),X("k",["kk",2],0,Ut),X("hmm",0,0,function(){return""+Vt.apply(this)+H(this.minutes(),2)}),X("hmmss",0,0,function(){return""+Vt.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),X("Hmm",0,0,function(){return""+this.hours()+H(this.minutes(),2)}),X("Hmmss",0,0,function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),Ht("a",!0),Ht("A",!1),I("hour","h"),z("hour",13),J("a",Xt),J("A",Xt),J("H",Gi),J("h",Gi),J("HH",Gi,Ni),J("hh",Gi,Ni),J("hmm",Bi),J("hmmss",Vi),J("Hmm",Bi),J("Hmmss",Vi),nt(["H","HH"],or),nt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),nt(["h","hh"],function(t,e,n){e[or]=x(t),d(n).bigHour=!0}),nt("hmm",function(t,e,n){var i=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i)),d(n).bigHour=!0}),nt("hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i,2)),e[ar]=x(t.substr(r)),d(n).bigHour=!0}),nt("Hmm",function(t,e,n){var i=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i))}),nt("Hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i,2)),e[ar]=x(t.substr(r))});var Dr,Mr=/[ap]\.?m?\.?/i,kr=j("Hours",!0),Or={calendar:Di,longDateFormat:Mi,invalidDate:ki,ordinal:Oi,ordinalParse:Ei,relativeTime:Ci,months:dr,monthsShort:pr,week:gr,weekdays:_r,weekdaysMin:xr,weekdaysShort:wr,meridiemParse:Mr},Er={},Cr={},Pr=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Lr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Yr=/Z|[+-]\d\d(?::?\d\d)?/,Rr=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ar=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ir=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=T("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Wr=T("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=_e.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),zr=function(){return Date.now?Date.now():+new Date};Me("Z",":"),Me("ZZ",""),J("Z",Qi),J("ZZ",Qi),nt(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=ke(Qi,t)});var Fr=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var jr=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Gr=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;je.fn=Se.prototype;var Br=Ue(1,"add"),Vr=Ue(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Ur=T("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});X(0,["gg",2],0,function(){return this.weekYear()%100}),X(0,["GG",2],0,function(){return this.isoWeekYear()%100}),kn("gggg","weekYear"),kn("ggggg","weekYear"),kn("GGGG","isoWeekYear"),kn("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),z("weekYear",1),z("isoWeekYear",1),J("G",qi),J("g",qi),J("GG",Gi,Ni),J("gg",Gi,Ni),J("GGGG",Hi,Fi),J("gggg",Hi,Fi),J("GGGGG",Xi,ji),J("ggggg",Xi,ji),it(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=x(t)}),it(["gg","GG"],function(t,n,i,r){n[r]=e.parseTwoDigitYear(t)}),X("Q",0,"Qo","quarter"),I("quarter","Q"),z("quarter",7),J("Q",Wi),nt("Q",function(t,e){e[ir]=3*(x(t)-1)}),X("D",["DD",2],"Do","date"),I("date","D"),z("date",9),J("D",Gi),J("DD",Gi,Ni),J("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),nt(["D","DD"],rr),nt("Do",function(t,e){e[rr]=x(t.match(Gi)[0],10)});var Hr=j("Date",!0);X("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),z("dayOfYear",4),J("DDD",Ui),J("DDDD",zi),nt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=x(t)}),X("m",["mm",2],0,"minute"),I("minute","m"),z("minute",14),J("m",Gi),J("mm",Gi,Ni),nt(["m","mm"],sr);var Xr=j("Minutes",!1);X("s",["ss",2],0,"second"),I("second","s"),z("second",15),J("s",Gi),J("ss",Gi,Ni),nt(["s","ss"],ar);var Zr=j("Seconds",!1);X("S",0,0,function(){return~~(this.millisecond()/100)}),X(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),X(0,["SSS",3],0,"millisecond"),X(0,["SSSS",4],0,function(){return 10*this.millisecond()}),X(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),X(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),X(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),X(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),X(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),I("millisecond","ms"),z("millisecond",16),J("S",Ui,Wi),J("SS",Ui,Ni),J("SSS",Ui,zi);var qr;for(qr="SSSS";qr.length<=9;qr+="S")J(qr,Zi);for(qr="S";qr.length<=9;qr+="S")nt(qr,In);var $r=j("Milliseconds",!1);X("z",0,0,"zoneAbbr"),X("zz",0,0,"zoneName");var Qr=g.prototype;Qr.add=Br,Qr.calendar=Ze,Qr.clone=qe,Qr.diff=nn,Qr.endOf=vn,Qr.format=hn,Qr.from=un,Qr.fromNow=ln,Qr.to=cn,Qr.toNow=fn,Qr.get=V,Qr.invalidAt=Dn,Qr.isAfter=$e,Qr.isBefore=Qe,Qr.isBetween=Je,Qr.isSame=Ke,Qr.isSameOrAfter=tn,Qr.isSameOrBefore=en,Qr.isValid=Sn,Qr.lang=Ur,Qr.locale=dn,Qr.localeData=pn,Qr.max=Nr,Qr.min=Wr,Qr.parsingFlags=Tn,Qr.set=U,Qr.startOf=mn,Qr.subtract=Vr,Qr.toArray=wn,Qr.toObject=xn,Qr.toDate=_n,Qr.toISOString=sn,Qr.inspect=an,Qr.toJSON=bn,Qr.toString=on,Qr.unix=gn,Qr.valueOf=yn,Qr.creationData=Mn,Qr.year=yr,Qr.isLeapYear=gt,Qr.weekYear=On,Qr.isoWeekYear=En,Qr.quarter=Qr.quarters=Rn,Qr.month=ct,Qr.daysInMonth=ft,Qr.week=Qr.weeks=Ot,Qr.isoWeek=Qr.isoWeeks=Et,Qr.weeksInYear=Pn,Qr.isoWeeksInYear=Cn,Qr.date=Hr,Qr.day=Qr.days=Wt,Qr.weekday=Nt,Qr.isoWeekday=zt,Qr.dayOfYear=An,Qr.hour=Qr.hours=kr,Qr.minute=Qr.minutes=Xr,Qr.second=Qr.seconds=Zr,Qr.millisecond=Qr.milliseconds=$r,Qr.utcOffset=Ce,Qr.utc=Le,Qr.local=Ye,Qr.parseZone=Re,Qr.hasAlignedHourOffset=Ae,Qr.isDST=Ie,Qr.isLocal=Ne,Qr.isUtcOffset=ze,Qr.isUtc=Fe,Qr.isUTC=Fe,Qr.zoneAbbr=Wn,Qr.zoneName=Nn,Qr.dates=T("dates accessor is deprecated. Use date instead.",Hr),Qr.months=T("months accessor is deprecated. Use month instead",ct),Qr.years=T("years accessor is deprecated. Use year instead",yr),Qr.zone=T("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Qr.isDSTShifted=T("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",We);var Jr=E.prototype;Jr.calendar=C,Jr.longDateFormat=P,Jr.invalidDate=L,Jr.ordinal=Y,Jr.preparse=jn,Jr.postformat=jn,Jr.relativeTime=R,Jr.pastFuture=A,Jr.set=k,Jr.months=st,Jr.monthsShort=at,Jr.monthsParse=ut,Jr.monthsRegex=pt,Jr.monthsShortRegex=dt,Jr.week=Dt,Jr.firstDayOfYear=kt,Jr.firstDayOfWeek=Mt,Jr.weekdays=Lt,Jr.weekdaysMin=Rt,Jr.weekdaysShort=Yt,Jr.weekdaysParse=It,Jr.weekdaysRegex=Ft,Jr.weekdaysShortRegex=jt,Jr.weekdaysMinRegex=Gt,Jr.isPM=Zt,Jr.meridiem=qt,Kt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===x(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),e.lang=T("moment.lang is deprecated. Use moment.locale instead.",Kt),e.langData=T("moment.langData is deprecated. Use moment.localeData instead.",ne);var Kr=Math.abs,to=si("ms"),eo=si("s"),no=si("m"),io=si("h"),ro=si("d"),oo=si("w"),so=si("M"),ao=si("y"),ho=hi("milliseconds"),uo=hi("seconds"),lo=hi("minutes"),co=hi("hours"),fo=hi("days"),po=hi("months"),mo=hi("years"),vo=Math.round,yo={s:45,m:45,h:22,d:26,M:11},go=Math.abs,_o=Se.prototype;return _o.abs=$n,_o.add=Jn,_o.subtract=Kn,_o.as=ri,_o.asMilliseconds=to,_o.asSeconds=eo,_o.asMinutes=no,_o.asHours=io,_o.asDays=ro,_o.asWeeks=oo,_o.asMonths=so,_o.asYears=ao,_o.valueOf=oi,_o._bubble=ei,_o.get=ai,_o.milliseconds=ho,_o.seconds=uo,_o.minutes=lo,_o.hours=co,_o.days=fo,_o.weeks=ui,_o.months=po,_o.years=mo,_o.humanize=pi,_o.toISOString=mi,_o.toString=mi,_o.toJSON=mi,_o.locale=dn,_o.localeData=pn,_o.toIsoString=T("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",mi),_o.lang=Ur,X("X",0,0,"unix"),X("x",0,0,"valueOf"),J("x",qi),J("X",Ji),nt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),nt("x",function(t,e,n){n._d=new Date(x(t))}),e.version="2.17.1",n(_e),e.fn=Qr,e.min=xe,e.max=be,e.now=zr,e.utc=c,e.unix=zn,e.months=Un,e.isDate=a,e.locale=Kt,e.invalid=m,e.duration=je,e.isMoment=_,e.weekdays=Xn,e.parseZone=Fn,e.localeData=ne,e.isDuration=Te,e.monthsShort=Hn,e.weekdaysMin=qn,e.defineLocale=te,e.updateLocale=ee,e.locales=ie,e.weekdaysShort=Zn,e.normalizeUnits=W,e.relativeTimeRounding=fi,e.relativeTimeThreshold=di,e.calendarFormat=Xe,e.prototype=Qr,e})}).call(e,n(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function n(t){throw new Error("Cannot find module '"+t+"'.")}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id=85},function(t,e){(function(e){function n(t,e,n){var i=e&&n||0,r=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){r<16&&(e[i+r++]=c[t])});r<16;)e[i+r++]=0;return e}function i(t,e){var n=e||0,i=l;return i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]}function r(t,e,n){var r=e&&n||0,o=e||[];t=t||{};var s=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:y+1,u=a-v+(h-y)/1e4;if(u<0&&void 0===t.clockseq&&(s=s+1&16383),(u<0||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,y=h,m=s,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;o[r++]=l>>>24&255,o[r++]=l>>>16&255,o[r++]=l>>>8&255,o[r++]=255&l;var c=a/4294967296*1e4&268435455;o[r++]=c>>>8&255,o[r++]=255&c,o[r++]=c>>>24&15|16,o[r++]=c>>>16&255,o[r++]=s>>>8|128,o[r++]=255&s;for(var f=t.node||p,d=0;d<6;d++)o[r+d]=f[d];return e?e:i(o)}function o(t,e,n){var r=e&&n||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var o=t.random||(t.rng||s)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e)for(var a=0;a<16;a++)e[r+a]=o[a];return e||i(o)}var s,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);s=function(){return crypto.getRandomValues(h),h}}if(!s){var u=new Array(16);s=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),u[e]=t>>>((3&e)<<3)&255;return u}}for(var l=[],c={},f=0;f<256;f++)l[f]=(f+256).toString(16).substr(1),c[l[f]]=f;var d=s(),p=[1|d[0],d[1],d[2],d[3],d[4],d[5]],m=16383&(d[6]<<8|d[7]),v=0,y=0,g=o;g.v1=r,g.v4=o,g.parse=n,g.unparse=i,t.exports=g}).call(e,function(){return this}())},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 n=0;n0?(i=e[t].redundant[0],e[t].redundant.shift()):(i=document.createElementNS("http://www.w3.org/2000/svg",t),n.appendChild(i)):(i=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},n.appendChild(i)),e[t].used.push(i),i},e.getDOMElement=function(t,e,n,i){var r;return e.hasOwnProperty(t)?e[t].redundant.length>0?(r=e[t].redundant[0],e[t].redundant.shift()):(r=document.createElement(t),void 0!==i?n.insertBefore(r,i):n.appendChild(r)):(r=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==i?n.insertBefore(r,i):n.appendChild(r)),e[t].used.push(r),r},e.drawPoint=function(t,n,i,r,o,s){var a;if("circle"==i.style?(a=e.getSVGElement("circle",r,o),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",n),a.setAttributeNS(null,"r",.5*i.size)):(a=e.getSVGElement("rect",r,o),a.setAttributeNS(null,"x",t-.5*i.size),a.setAttributeNS(null,"y",n-.5*i.size),a.setAttributeNS(null,"width",i.size),a.setAttributeNS(null,"height",i.size)),void 0!==i.styles&&a.setAttributeNS(null,"style",i.styles),a.setAttributeNS(null,"class",i.className+" vis-point"),s){var h=e.getSVGElement("text",r,o);s.xOffset&&(t+=s.xOffset),s.yOffset&&(n+=s.yOffset),s.content&&(h.textContent=s.content),s.className&&h.setAttributeNS(null,"class",s.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",n)}return a},e.drawBar=function(t,n,i,r,o,s,a,h){if(0!=r){r<0&&(r*=-1,n-=r);var u=e.getSVGElement("rect",s,a);u.setAttributeNS(null,"x",t-.5*i),u.setAttributeNS(null,"y",n),u.setAttributeNS(null,"width",i),u.setAttributeNS(null,"height",r),u.setAttributeNS(null,"class",o),h&&u.setAttributeNS(null,"style",h)}}},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var n=(0,l.default)(this._options.type),i=0,r=n.length;ir?1:is)&&(o=h,s=u)}return o},r.prototype.min=function(t){var e,n,i=this._data,r=(0,l.default)(i),o=null,s=null;for(e=0,n=r.length;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},n.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=n},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var n=this;this.listener=function(){n._onEvent.apply(n,arguments)},this.setData(t)}var o=n(58),s=i(o),a=n(1),h=n(88);r.prototype.setData=function(t){var e,n,i,r,o;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),o=[],i=0,r=e.length;io)&&(i=o)}return i},r.prototype.getColumnRange=function(t,e){for(var n=new g,i=0;i0&&(h[i-1].pointNext=s),h.push(s);return h},r.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),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);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),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,n=function(t){e._onMouseDown(t)},i=function(t){e._onTouchStart(t)},r=function(t){e._onWheel(t)},o=function(t){e._onTooltip(t)},s=function(t){e._onClick(t)};f.addEventListener(this.frame.canvas,"mousedown",n),f.addEventListener(this.frame.canvas,"touchstart",i),f.addEventListener(this.frame.canvas,"mousewheel",r),f.addEventListener(this.frame.canvas,"mousemove",o),f.addEventListener(this.frame.canvas,"click",s),this.containerElement.appendChild(this.frame)},r.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},r.prototype._resizeCanvas=function(){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.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},r.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},r.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},r.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},r.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},r.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},r.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},r.prototype.setOptions=function(t){this.animationStop(),_.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},r.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case r.STYLE.BAR:t=r.prototype._redrawBarGraphPoint;break;case r.STYLE.BARCOLOR:t=r.prototype._redrawBarColorGraphPoint;break;case r.STYLE.BARSIZE:t=r.prototype._redrawBarSizeGraphPoint;break;case r.STYLE.DOT:t=r.prototype._redrawDotGraphPoint;break;case r.STYLE.DOTLINE:t=r.prototype._redrawDotLineGraphPoint;break;case r.STYLE.DOTCOLOR:t=r.prototype._redrawDotColorGraphPoint;break;case r.STYLE.DOTSIZE:t=r.prototype._redrawDotSizeGraphPoint;break;case r.STYLE.SURFACE:t=r.prototype._redrawSurfaceGraphPoint;break;case r.STYLE.GRID:t=r.prototype._redrawGridGraphPoint;break;case r.STYLE.LINE:t=r.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},r.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},r.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},r.prototype._redrawClear=function(){var t=this.frame.canvas,e=t.getContext("2d");e.clearRect(0,0,t.width,t.height)},r.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},r.prototype._getLegendWidth=function(){var t;if(this.style===r.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===r.STYLE.BARSIZE?this.xBarWidth:20;return t},r.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==r.STYLE.LINE&&this.style!==r.STYLE.BARSIZE){var t=this.style===r.STYLE.BARSIZE||this.style===r.STYLE.DOTSIZE,e=this.style===r.STYLE.DOTSIZE||this.style===r.STYLE.DOTCOLOR||this.style===r.STYLE.BARCOLOR,n=Math.max(.25*this.frame.clientHeight,100),i=this.margin,o=this._getLegendWidth(),s=this.frame.clientWidth-this.margin,a=s-o,h=i+n,u=this._getContext();if(u.lineWidth=1,u.font="14px arial",t===!1){var l,c=0,f=n;for(l=c;l0?(t.textAlign="center",t.textBaseline="top",o.y+=r):Math.sin(2*i)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(n,o.x,o.y)},r.prototype.drawAxisLabelY=function(t,e,n,i,r){void 0===r&&(r=0);var o=this._convert3Dto2D(e);Math.cos(2*i)<0?(t.textAlign="center",t.textBaseline="top",o.y+=r):Math.sin(2*i)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(n,o.x,o.y)},r.prototype.drawAxisLabelZ=function(t,e,n,i){void 0===i&&(i=0);var r=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(n,r.x-i,r.y)},r.prototype._line3d=function(t,e,n,i){var r=this._convert3Dto2D(e),o=this._convert3Dto2D(n);this._line(t,r,o,i)},r.prototype._redrawAxis=function(){var t,e,n,i,r,o,s,a,h,u,l,c=this._getContext();c.font=24/this.camera.getArmLength()+"px arial";var f=.025/this.scale.x,m=.025/this.scale.y,v=5/this.camera.getArmLength(),g=this.camera.getArmRotation().horizontal,_=new p(Math.cos(g),Math.sin(g)),w=this.xRange,x=this.yRange,b=this.zRange;for(c.lineWidth=1,i=void 0===this.defaultXStep,n=new y(w.min,w.max,this.xStep,i),n.start(!0);!n.end();){var S=n.getCurrent();if(this.showGrid?(t=new d(S,x.min,b.min),e=new d(S,x.max,b.min),this._line3d(c,t,e,this.gridColor)):this.showXAxis&&(t=new d(S,x.min,b.min),e=new d(S,x.min+f,b.min),this._line3d(c,t,e,this.axisColor),t=new d(S,x.max,b.min),e=new d(S,x.max-f,b.min),this._line3d(c,t,e,this.axisColor)),this.showXAxis){s=_.x>0?x.min:x.max;var T=new d(S,s,b.min),D=" "+this.xValueLabel(S)+" ";this.drawAxisLabelX(c,T,D,g,v)}n.next()}for(c.lineWidth=1,i=void 0===this.defaultYStep,n=new y(x.min,x.max,this.yStep,i),n.start(!0);!n.end();){var M=n.getCurrent();if(this.showGrid?(t=new d(w.min,M,b.min),e=new d(w.max,M,b.min),this._line3d(c,t,e,this.gridColor)):this.showYAxis&&(t=new d(w.min,M,b.min),e=new d(w.min+m,M,b.min),this._line3d(c,t,e,this.axisColor),t=new d(w.max,M,b.min),e=new d(w.max-m,M,b.min),this._line3d(c,t,e,this.axisColor)),this.showYAxis){o=_.y>0?w.min:w.max,T=new d(o,M,b.min);var D=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(c,T,D,g,v)}n.next()}if(this.showZAxis){for(c.lineWidth=1,i=void 0===this.defaultZStep,n=new y(b.min,b.max,this.zStep,i),n.start(!0),o=_.x>0?w.min:w.max,s=_.y<0?x.min:x.max;!n.end();){var k=n.getCurrent(),O=new d(o,s,k),E=this._convert3Dto2D(O);e=new p(E.x-v,E.y),this._line(c,E,e,this.axisColor);var D=this.zValueLabel(k)+" ";this.drawAxisLabelZ(c,O,D,5),n.next()}c.lineWidth=1,t=new d(o,s,b.min),e=new d(o,s,b.max),this._line3d(c,t,e,this.axisColor)}if(this.showXAxis){var C,P;c.lineWidth=1,C=new d(w.min,x.min,b.min),P=new d(w.max,x.min,b.min),this._line3d(c,C,P,this.axisColor),C=new d(w.min,x.max,b.min),P=new d(w.max,x.max,b.min),this._line3d(c,C,P,this.axisColor)}this.showYAxis&&(c.lineWidth=1,t=new d(w.min,x.min,b.min),e=new d(w.min,x.max,b.min),this._line3d(c,t,e,this.axisColor),t=new d(w.max,x.min,b.min),e=new d(w.max,x.max,b.min),this._line3d(c,t,e,this.axisColor));var L=this.xLabel;L.length>0&&this.showXAxis&&(l=.1/this.scale.y,o=(w.max+3*w.min)/4,s=_.x>0?x.min-l:x.max+l,r=new d(o,s,b.min),this.drawAxisLabelX(c,r,L,g));var Y=this.yLabel;Y.length>0&&this.showYAxis&&(u=.1/this.scale.x,o=_.y>0?w.min-u:w.max+u,s=(x.max+3*x.min)/4,r=new d(o,s,b.min),this.drawAxisLabelY(c,r,Y,g));var R=this.zLabel;R.length>0&&this.showZAxis&&(h=30,o=_.x>0?w.min:w.max,s=_.y<0?x.min:x.max,a=(b.max+3*b.min)/4,r=new d(o,s,a),this.drawAxisLabelZ(c,r,R,h))},r.prototype._hsv2rgb=function(t,e,n){var i,r,o,s,a,h;switch(s=n*e,a=Math.floor(t/60),h=s*(1-Math.abs(t/60%2-1)),a){case 0:i=s,r=h,o=0;break;case 1:i=h,r=s,o=0;break;case 2:i=0,r=s,o=h;break;case 3:i=0,r=h,o=s;break;case 4:i=h,r=0,o=s;break;case 5:i=s,r=0,o=h;break;default:i=0,r=0,o=0}return"RGB("+parseInt(255*i)+","+parseInt(255*r)+","+parseInt(255*o)+")"},r.prototype._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},r.prototype._redrawBar=function(t,e,n,i,r,o){var s,a,h=this,u=e.point,l=this.zRange.min,c=[{point:new d(u.x-n,u.y-i,u.z)},{point:new d(u.x+n,u.y-i,u.z)},{point:new d(u.x+n,u.y+i,u.z)},{point:new d(u.x-n,u.y+i,u.z)}],f=[{point:new d(u.x-n,u.y-i,l)},{point:new d(u.x+n,u.y-i,l)},{point:new d(u.x+n,u.y+i,l)},{point:new d(u.x-n,u.y+i,l)}];c.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),f.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var p=[{corners:c,center:d.avg(f[0].point,f[2].point)},{corners:[c[0],c[1],f[1],f[0]],center:d.avg(f[1].point,f[0].point)},{corners:[c[1],c[2],f[2],f[1]],center:d.avg(f[2].point,f[1].point)},{corners:[c[2],c[3],f[3],f[2]],center:d.avg(f[3].point,f[2].point)},{corners:[c[3],c[0],f[0],f[3]],center:d.avg(f[0].point,f[3].point)}];for(e.surfaces=p,s=0;s0}if(a){var f,p=(e.point.z+n.point.z+i.point.z+r.point.z)/4,m=240*(1-(p-this.zRange.min)*this.scale.z/this.verticalRatio),v=1;this.showShadow?(f=Math.min(1+l.x/c/2,1),o=this._hsv2rgb(m,v,f),s=o):(f=1,o=this._hsv2rgb(m,v,f),s=this.axisColor)}else o="gray",s=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var y=[e,n,r,i];this._polygon(t,y,o,s)}},r.prototype._drawGridLine=function(t,e,n){if(void 0!==e&&void 0!==n){var i=(e.point.z+n.point.z)/2,r=240*(1-(i-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(r,1,1),this._line(t,e.screen,n.screen)}},r.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},r.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},r.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-1:0}var i=e[0],r=e[1],o=e[2],s=n((r.x-i.x)*(t.y-i.y)-(r.y-i.y)*(t.x-i.x)),a=n((o.x-r.x)*(t.y-r.y)-(o.y-r.y)*(t.x-r.x)),h=n((i.x-o.x)*(t.y-o.y)-(i.y-o.y)*(t.x-o.x));return!(0!=s&&0!=a&&s!=a||0!=a&&0!=h&&a!=h||0!=s&&0!=h&&s!=h)},r.prototype._dataPointFromXY=function(t,e){var n,i=100,o=null,s=null,a=null,h=new p(t,e);if(this.style===r.STYLE.BAR||this.style===r.STYLE.BARCOLOR||this.style===r.STYLE.BARSIZE)for(n=this.dataPoints.length-1;n>=0;n--){o=this.dataPoints[n];var u=o.surfaces;if(u)for(var l=u.length-1;l>=0;l--){var c=u[l],f=c.corners,d=[f[0].screen,f[1].screen,f[2].screen],m=[f[2].screen,f[3].screen,f[0].screen];if(this._insideTriangle(h,d)||this._insideTriangle(h,m))return o}}else for(n=0;n"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+t.point.z+"",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(n),this.frame.appendChild(i);var r=e.offsetWidth,o=e.offsetHeight,s=n.offsetHeight,a=i.offsetWidth,u=i.offsetHeight,l=t.screen.x-r/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-r),n.style.left=t.screen.x+"px",n.style.top=t.screen.y-s+"px",e.style.left=l+"px",e.style.top=t.screen.y-s-o+"px",i.style.left=t.screen.x-a/2+"px",i.style.top=t.screen.y-u/2+"px"},r.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)}}},r.prototype.setCameraPosition=function(t){_.setCameraPosition(t,this),this.redraw()},r.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=r},function(t,e,n){t.exports={default:n(95),__esModule:!0}},function(t,e,n){n(96),t.exports=n(17).Object.assign},function(t,e,n){var i=n(15);i(i.S+i.F,"Object",{assign:n(97)})},function(t,e,n){var i=n(35),r=n(73),o=n(74),s=n(49),a=n(10),h=Object.assign;t.exports=!h||n(26)(function(){var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach(function(t){e[t]=t}),7!=h({},t)[n]||Object.keys(h({},e)).join("")!=i})?function(t,e){for(var n=s(t),h=arguments.length,u=1,l=r.f,c=o.f;h>u;)for(var f,d=a(arguments[u++]),p=l?i(d).concat(l(d)):i(d),m=p.length,v=0;m>v;)c.call(d,f=p[v++])&&(n[f]=d[f]);return n}:h},function(t,e){function n(t){if(t)return i(t)}function i(t){for(var e in n.prototype)t[e]=n.prototype[e];return t}t.exports=n,n.prototype.on=n.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},n.prototype.once=function(t,e){function n(){i.off(t,n),e.apply(this,arguments)}var i=this;return this._callbacks=this._callbacks||{},n.fn=e,this.on(t,n),this},n.prototype.off=n.prototype.removeListener=n.prototype.removeAllListeners=n.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n=this._callbacks[t];if(!n)return this;if(1==arguments.length)return delete this._callbacks[t], -this;for(var i,r=0;ro&&(t=i(t)*o),n(e)>o&&(e=i(e)*o),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},r.prototype.getOffset=function(t,e){return this.cameraOffset},r.prototype.setArmLocation=function(t,e,n){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=n,this.calculateCameraOrientation()},r.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()},r.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},r.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())},r.prototype.getArmLength=function(){return this.armLength},r.prototype.getCameraLocation=function(){return this.cameraLocation},r.prototype.getCameraRotation=function(){return this.cameraRotation},r.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;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),n=this.cameraOffset.x,i=this.cameraOffset.y,r=Math.sin,o=Math.cos;this.cameraLocation.x=this.cameraLocation.x+n*o(e)+i*-r(e)*o(t),this.cameraLocation.y=this.cameraLocation.y+n*r(e)+i*o(e)*o(t),this.cameraLocation.z=this.cameraLocation.z+i*r(t)},t.exports=r},function(t,e,n){t.exports={default:n(103),__esModule:!0}},function(t,e,n){n(104),t.exports=n(17).Math.sign},function(t,e,n){var i=n(15);i(i.S,"Math",{sign:n(105)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){function i(t,e,n){this.data=t,this.column=e,this.graph=n,this.index=void 0,this.value=void 0,this.values=n.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:t0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,n.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var r=n(92);i.prototype.isLoaded=function(){return this.loaded},i.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},i.prototype.getLabel=function(){return this.graph.filterLabel},i.prototype.getColumn=function(){return this.column},i.prototype.getSelectedValue=function(){if(void 0!==this.index)return this.values[this.index]},i.prototype.getValues=function(){return this.values},i.prototype.getValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");return this.values[t]},i.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 n={};n.column=this.column,n.value=this.values[t];var i=new r(this.data,{filter:function(t){return t[n.column]==n.value}}).get();e=this.graph._getDataPoints(i),this.dataPoints[t]=e}return e},i.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},i.prototype.selectValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");this.index=t,this.value=this.values[t]},i.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},i.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},i.prototype.setIndex=function(t){if(!(tthis.values.length-1&&(i=this.values.length-1),i},i.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,n=t/(this.values.length-1)*e,i=n+3;return i},i.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,n=this.startSlideX+e,i=this.leftToIndex(n);this.setIndex(i),r.preventDefault()},i.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",r.removeEventListener(document,"mousemove",this.onmousemove),r.removeEventListener(document,"mouseup",this.onmouseup),r.preventDefault()},t.exports=i},function(t,e){function n(t,e,n,i){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,n,i)}n.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},n.prototype.setRange=function(t,e,n,i){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(n))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(n,i)},n.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=n.calculatePrettyStep(t):this._step=t)},n.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},n=Math.pow(10,Math.round(e(t))),i=2*Math.pow(10,Math.round(e(t/2))),r=5*Math.pow(10,Math.round(e(t/5))),o=n;return Math.abs(i-t)<=Math.abs(o-t)&&(o=i),Math.abs(r-t)<=Math.abs(o-t)&&(o=r),o<=0&&(o=1),o},n.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},n.prototype.getStep=function(){return this._step},n.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=n},function(t,e){function n(){this.min=void 0,this.max=void 0}n.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxn)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=n}},n.prototype.range=function(){return this.max-this.min},n.prototype.center=function(){return(this.min+this.max)/2},t.exports=n},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function o(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+o(e)}function a(t,e,n,i){var r,o;for(var a in n)r=n[a],o=s(i,r),e[o]=t[r]}function h(t,e,n,i){var r,o;for(var a in n)r=n[a],void 0!==t[r]&&(o=s(i,r),e[o]=t[r])}function u(t,e){if(void 0===t||r(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");O=t,a(t,e,M),a(t,e,k,"default"),c(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new S(0,0,-1)}function l(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===O||r(O))throw new Error("DEFAULTS not set for module Settings");h(t,e,M),h(t,e,k,"default"),c(t,e)}}function c(t,e){void 0!==t.backgroundColor&&v(t.backgroundColor,e),y(t.dataColor,e),m(t.style,e),f(t.showLegend,e),g(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick),void 0!==t.tooltipStyle&&x.selectiveDeepExtend(["tooltipStyle"],e,t)}function f(t,e){if(void 0===t){var n=void 0===O.showLegend;if(n){var i=e.style===T.DOTCOLOR||e.style===T.DOTSIZE;e.showLegend=i}}else e.showLegend=t}function d(t){var e=D[t];return void 0===e?-1:e}function p(t){var e=!1;for(var n in T)if(T[n]===t){e=!0;break}return e}function m(t,e){if(void 0!==t){var n;if("string"==typeof t){if(n=d(t),n===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!p(t))throw new Error("Style '"+t+"' is invalid");n=t}e.style=n}}function v(t,e){var n="white",i="gray",r=1;if("string"==typeof t)n=t,i="none",r=0;else{if("object"!==("undefined"==typeof t?"undefined":(0,w.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(n=t.fill),void 0!==t.stroke&&(i=t.stroke),void 0!==t.strokeWidth&&(r=t.strokeWidth)}e.frame.style.backgroundColor=n,e.frame.style.borderColor=i,e.frame.style.borderWidth=r+"px",e.frame.style.borderStyle="solid"}function y(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function g(t,e){var n=t;void 0!==n&&(void 0===e.camera&&(e.camera=new b),e.camera.setArmRotation(n.horizontal,n.vertical),e.camera.setArmLength(n.distance))}var _=n(62),w=i(_),x=n(1),b=n(101),S=n(99),T={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},D={dot:T.DOT,"dot-line":T.DOTLINE,"dot-color":T.DOTCOLOR,"dot-size":T.DOTSIZE,line:T.LINE,grid:T.GRID,surface:T.SURFACE,bar:T.BAR,"bar-color":T.BARCOLOR,"bar-size":T.BARSIZE},M=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],k=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],O=void 0;t.exports.STYLE=T,t.exports.setDefaults=u,t.exports.setOptions=l,t.exports.setCameraPosition=g},function(t,e,n){if("undefined"!=typeof window){var i=n(112),r=window.Hammer||n(113);t.exports=i(r,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,n){var i,r,o;!function(n){r=[],i=n,o="function"==typeof i?i.apply(e,r):i,!(void 0!==o&&(t.exports=o))}(function(){var t=null;return function e(n,i){function r(t){return t.match(/[^ ]+/g)}function o(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var n=!1;e.stopPropagation=function(){n=!0};var i=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof i&&(e.srcEvent.stopPropagation=function(){i(),e.stopPropagation()}),e.firstTarget=t;for(var r=t;r&&!n;){var o=r.hammer;if(o)for(var s,a=0;a0?u._handlers[t]=i:(n.off(t,o),delete u._handlers[t]))}),u},u.emit=function(e,i){t=i.target,n.emit(e,i)},u.destroy=function(){var t=n.element.hammer,e=t.indexOf(u);e!==-1&&t.splice(e,1),t.length||delete n.element.hammer,u._handlers={},n.destroy()},u}})},function(t,e,n){var i;/*! Hammer.JS - v2.0.7 - 2016-04-22 +"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){e.util=n(1),e.DOMutil=n(87),e.DataSet=n(88),e.DataView=n(92),e.Queue=n(91),e.Graph3d=n(93),e.graph3d={Camera:n(101),Filter:n(106),Point2d:n(100),Point3d:n(99),Slider:n(107),StepNumber:n(108)},e.moment=n(82),e.Hammer=n(111),e.keycharm=n(114)},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}var r=n(2),o=i(r),s=n(55),a=i(s),h=n(58),u=i(h),l=n(62),c=i(l),f=n(82),d=n(86);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,n,i){if(e==t)return.5;var r=1/(e-t);return Math.max(0,(i-t)*r)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var n=p.exec(t);if(n)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return d.v4()},e.assignAllKeys=function(t,e){for(var n in t)t.hasOwnProperty(n)&&"object"!==(0,c.default)(t[n])&&(t[n]=e)},e.fillIfDefined=function(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var r in t)void 0!==n[r]&&("object"!==(0,c.default)(n[r])?void 0!==n[r]&&null!==n[r]||void 0===t[r]||i!==!0?t[r]=n[r]:delete t[r]:"object"===(0,c.default)(t[r])&&e.fillIfDefined(t[r],n[r],i))},e.protoExtend=function(t,e){for(var n=1;n3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o=2;o3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o in i)if(i.hasOwnProperty(o)&&t.indexOf(o)==-1)if(i[o]&&i[o].constructor===Object)void 0===n[o]&&(n[o]={}),n[o].constructor===Object?e.deepExtend(n[o],i[o]):null===i[o]&&void 0!==n[o]&&r===!0?delete n[o]:n[o]=i[o];else if(Array.isArray(i[o])){n[o]=[];for(var s=0;s=0&&(e="DOMMouseScroll"),t.addEventListener(e,n,i)):t.attachEvent("on"+e,n)},e.removeEventListener=function(t,e,n,i){t.removeEventListener?(void 0===i&&(i=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,n,i)):t.detachEvent("on"+e,n)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,n){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":n||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,n,i){return e+e+n+n+i+i});var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:null},e.overrideOpacity=function(t,n){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var i=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+i[0]+","+i[1]+","+i[2]+","+n+")"}var i=e.hexToRGB(t);return null==i?t:"rgba("+i.r+","+i.g+","+i.b+","+n+")"},e.RGBToHex=function(t,e,n){return"#"+((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},e.parseColor=function(t){var n;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var i=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(i[0],i[1],i[2])}if(e.isValidHex(t)===!0){var r=e.hexToHSV(t),o={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},s={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},a=e.HSVToHex(s.h,s.s,s.v),h=e.HSVToHex(o.h,o.s,o.v);n={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else n={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else n={},n.background=t.background||void 0,n.border=t.border||void 0,e.isString(t.highlight)?n.highlight={border:t.highlight,background:t.highlight}:(n.highlight={},n.highlight.background=t.highlight&&t.highlight.background||void 0,n.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?n.hover={border:t.hover,background:t.hover}:(n.hover={},n.hover.background=t.hover&&t.hover.background||void 0,n.hover.border=t.hover&&t.hover.border||void 0);return n},e.RGBToHSV=function(t,e,n){t/=255,e/=255,n/=255;var i=Math.min(t,Math.min(e,n)),r=Math.max(t,Math.max(e,n));if(i==r)return{h:0,s:0,v:i};var o=t==i?e-n:n==i?t-e:n-t,s=t==i?3:n==i?1:5,a=60*(s-o/(r-i))/360,h=(r-i)/r,u=r;return{h:a,s:h,v:u}};var m={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var n=t.split(":"),i=n[0].trim(),r=n[1].trim();e[i]=r}}),e},join:function(t){return(0,u.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,n){var i=m.split(t.style.cssText),r=m.split(n),o=e.extend(i,r);t.style.cssText=m.join(o)},e.removeCssText=function(t,e){var n=m.split(t.style.cssText),i=m.split(e);for(var r in i)i.hasOwnProperty(r)&&delete n[r];t.style.cssText=m.join(n)},e.HSVToRGB=function(t,e,n){var i,r,o,s=Math.floor(6*t),a=6*t-s,h=n*(1-e),u=n*(1-a*e),l=n*(1-(1-a)*e);switch(s%6){case 0:i=n,r=l,o=h;break;case 1:i=u,r=n,o=h;break;case 2:i=h,r=n,o=l;break;case 3:i=h,r=u,o=n;break;case 4:i=l,r=h,o=n;break;case 5:i=n,r=h,o=u}return{r:Math.floor(255*i),g:Math.floor(255*r),b:Math.floor(255*o)}},e.HSVToHex=function(t,n,i){var r=e.HSVToRGB(t,n,i);return e.RGBToHex(r.r,r.g,r.b)},e.hexToHSV=function(t){var n=e.hexToRGB(t);return e.RGBToHSV(n.r,n.g,n.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,n){if("object"==("undefined"==typeof n?"undefined":(0,c.default)(n))){for(var i=(0,a.default)(n),r=0;r0&&e(i,t[r-1])<0;r--)t[r]=t[r-1];t[r]=i}return t},e.mergeOptions=function(t,e,n){var i=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[n])t[n]=(0,a.default)(i[n]);else if(void 0!==e[n])if("boolean"==typeof e[n])t[n].enabled=e[n];else{void 0===e[n].enabled&&(t[n].enabled=!0);for(var r in e[n])e[n].hasOwnProperty(r)&&(t[n][r]=e[n][r])}},e.binarySearchCustom=function(t,e,n,i){for(var r=1e4,o=0,s=0,a=t.length-1;s<=a&&o0)return"before"==i?Math.max(0,h-1):h;if(r(s,e)<0&&r(a,e)>0)return"before"==i?h:Math.min(t.length-1,h+1);r(s,e)<0?c=h+1:f=h-1,l++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var n=t.offsetWidth;e.style.overflow="scroll";var i=t.offsetWidth;return n==i&&(i=e.clientWidth),document.body.removeChild(e),n-i},e.topMost=function(t,e){var n=void 0;Array.isArray(e)||(e=[e]);var i=!0,r=!1,s=void 0;try{for(var a,h=(0,o.default)(t);!(i=(a=h.next()).done);i=!0){var u=a.value;if(u){n=u[e[0]];for(var l=1;l=t.length?(this._t=void 0,r(1)):"keys"==e?r(0,n):"values"==e?r(0,t[n]):r(0,[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,n){var i=n(10),r=n(12);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var i=n(14),r=n(15),o=n(30),s=n(20),a=n(31),h=n(8),u=n(32),l=n(46),c=n(48),f=n(47)("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",m="keys",v="values",y=function(){return this};t.exports=function(t,e,n,g,_,w,x){u(n,e,g);var b,S,T,D=function(t){if(!d&&t in E)return E[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},M=e+" Iterator",k=_==v,O=!1,E=t.prototype,C=E[f]||E[p]||_&&E[_],P=C||D(_),L=_?k?D("entries"):P:void 0,Y="Array"==e?E.entries||C:C;if(Y&&(T=c(Y.call(new t)),T!==Object.prototype&&(l(T,M,!0),i||a(T,f)||s(T,f,y))),k&&C&&C.name!==v&&(O=!0,P=function(){return C.call(this)}),i&&!x||!d&&!O&&E[f]||s(E,f,P),h[e]=P,h[M]=y,_)if(b={values:k?P:D(v),keys:w?P:D(m),entries:L},x)for(S in b)S in E||o(E,S,b[S]);else r(r.P+r.F*(d||O),e,b);return b}},function(t,e){t.exports=!0},function(t,e,n){var i=n(16),r=n(17),o=n(18),s=n(20),a="prototype",h=function(t,e,n){var u,l,c,f=t&h.F,d=t&h.G,p=t&h.S,m=t&h.P,v=t&h.B,y=t&h.W,g=d?r:r[e]||(r[e]={}),_=g[a],w=d?i:p?i[e]:(i[e]||{})[a];d&&(n=e);for(u in n)l=!f&&w&&void 0!==w[u],l&&u in g||(c=l?w[u]:n[u],g[u]=d&&"function"!=typeof w[u]?n[u]:v&&l?o(c,i):y&&w[u]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e[a]=t[a],e}(c):m&&"function"==typeof c?o(Function.call,c):c,m&&((g.virtual||(g.virtual={}))[u]=c,t&h.R&&_&&!_[u]&&s(_,u,c)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var i=n(19);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var i=n(21),r=n(29);t.exports=n(25)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(22),r=n(24),o=n(28),s=Object.defineProperty;e.f=n(25)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(23);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){t.exports=!n(25)&&!n(26)(function(){return 7!=Object.defineProperty(n(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){t.exports=!n(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(23),r=n(16).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){var i=n(23);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){t.exports=n(20)},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(33),r=n(29),o=n(46),s={};n(20)(s,n(47)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var i=n(22),r=n(34),o=n(44),s=n(41)("IE_PROTO"),a=function(){},h="prototype",u=function(){var t,e=n(27)("iframe"),i=o.length,r="<",s=">";for(e.style.display="none",n(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(r+"script"+s+"document.F=Object"+r+"/script"+s),t.close(),u=t.F;i--;)delete u[h][o[i]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a[h]=i(t),n=new a,a[h]=null,n[s]=t):n=u(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(21),r=n(22),o=n(35);t.exports=n(25)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),a=s.length,h=0;a>h;)i.f(t,n=s[h++],e[n]);return t}},function(t,e,n){var i=n(36),r=n(44);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(31),r=n(9),o=n(37)(!1),s=n(41)("IE_PROTO");t.exports=function(t,e){var n,a=r(t),h=0,u=[];for(n in a)n!=s&&i(a,n)&&u.push(n);for(;e.length>h;)i(a,n=e[h++])&&(~o(u,n)||u.push(n));return u}},function(t,e,n){var i=n(9),r=n(38),o=n(40);t.exports=function(t){return function(e,n,s){var a,h=i(e),u=r(h.length),l=o(s,u);if(t&&n!=n){for(;u>l;)if(a=h[l++],a!=a)return!0}else for(;u>l;l++)if((t||l in h)&&h[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var i=n(39),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(39),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(42)("keys"),r=n(43);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16),r="__core-js_shared__",o=i[r]||(i[r]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){t.exports=n(16).document&&document.documentElement},function(t,e,n){var i=n(21).f,r=n(31),o=n(47)("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(42)("wks"),r=n(43),o=n(16).Symbol,s="function"==typeof o,a=t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)("Symbol."+t))};a.store=i},function(t,e,n){var i=n(31),r=n(49),o=n(41)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(12);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(51)(!0);n(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){var i=n(39),r=n(12);t.exports=function(t){return function(e,n){var o,s,a=String(r(e)),h=i(n),u=a.length;return h<0||h>=u?t?"":void 0:(o=a.charCodeAt(h),o<55296||o>56319||h+1===u||(s=a.charCodeAt(h+1))<56320||s>57343?t?a.charAt(h):o:t?a.slice(h,h+2):(o-55296<<10)+(s-56320)+65536)}}},function(t,e,n){var i=n(22),r=n(53);t.exports=n(17).getIterator=function(t){var e=r(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return i(e.call(t))}},function(t,e,n){var i=n(54),r=n(47)("iterator"),o=n(8);t.exports=n(17).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t["@@iterator"]||o[i(t)]}},function(t,e,n){var i=n(11),r=n(47)("toStringTag"),o="Arguments"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=s(e=Object(t),r))?n:o?i(e):"Object"==(a=i(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){t.exports={default:n(56),__esModule:!0}},function(t,e,n){n(57);var i=n(17).Object;t.exports=function(t,e){return i.create(t,e)}},function(t,e,n){var i=n(15);i(i.S,"Object",{create:n(33)})},function(t,e,n){t.exports={default:n(59),__esModule:!0}},function(t,e,n){n(60),t.exports=n(17).Object.keys},function(t,e,n){var i=n(49),r=n(35);n(61)("keys",function(){return function(t){return r(i(t))}})},function(t,e,n){var i=n(15),r=n(17),o=n(26);t.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],s={};s[t]=e(n),i(i.S+i.F*o(function(){n(1)}),"Object",s)}},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(63),o=i(r),s=n(66),a=i(s),h="function"==typeof a.default&&"symbol"==typeof o.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(o.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,n){t.exports={default:n(64),__esModule:!0}},function(t,e,n){n(50),n(4),t.exports=n(65).f("iterator")},function(t,e,n){e.f=n(47)},function(t,e,n){t.exports={default:n(67),__esModule:!0}},function(t,e,n){n(68),n(79),n(80),n(81),t.exports=n(17).Symbol},function(t,e,n){var i=n(16),r=n(31),o=n(25),s=n(15),a=n(30),h=n(69).KEY,u=n(26),l=n(42),c=n(46),f=n(43),d=n(47),p=n(65),m=n(70),v=n(71),y=n(72),g=n(75),_=n(22),w=n(9),x=n(28),b=n(29),S=n(33),T=n(76),D=n(78),M=n(21),k=n(35),O=D.f,E=M.f,C=T.f,P=i.Symbol,L=i.JSON,Y=L&&L.stringify,R="prototype",A=d("_hidden"),I=d("toPrimitive"),N={}.propertyIsEnumerable,W=l("symbol-registry"),z=l("symbols"),F=l("op-symbols"),j=Object[R],V="function"==typeof P,G=i.QObject,B=!G||!G[R]||!G[R].findChild,U=o&&u(function(){return 7!=S(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(t,e,n){var i=O(j,e);i&&delete j[e],E(t,e,n),i&&t!==j&&E(j,e,i)}:E,H=function(t){var e=z[t]=S(P[R]);return e._k=t,e},X=V&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},Z=function(t,e,n){return t===j&&Z(F,e,n),_(t),e=x(e,!0),_(n),r(z,e)?(n.enumerable?(r(t,A)&&t[A][e]&&(t[A][e]=!1),n=S(n,{enumerable:b(0,!1)})):(r(t,A)||E(t,A,b(1,{})),t[A][e]=!0),U(t,e,n)):E(t,e,n)},q=function(t,e){_(t);for(var n,i=y(e=w(e)),r=0,o=i.length;o>r;)Z(t,n=i[r++],e[n]);return t},$=function(t,e){return void 0===e?S(t):q(S(t),e)},J=function(t){var e=N.call(this,t=x(t,!0));return!(this===j&&r(z,t)&&!r(F,t))&&(!(e||!r(this,t)||!r(z,t)||r(this,A)&&this[A][t])||e)},Q=function(t,e){if(t=w(t),e=x(e,!0),t!==j||!r(z,e)||r(F,e)){var n=O(t,e);return!n||!r(z,e)||r(t,A)&&t[A][e]||(n.enumerable=!0),n}},K=function(t){for(var e,n=C(w(t)),i=[],o=0;n.length>o;)r(z,e=n[o++])||e==A||e==h||i.push(e);return i},tt=function(t){for(var e,n=t===j,i=C(n?F:w(t)),o=[],s=0;i.length>s;)!r(z,e=i[s++])||n&&!r(j,e)||o.push(z[e]);return o};V||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=f(arguments.length>0?arguments[0]:void 0),e=function(n){this===j&&e.call(F,n),r(this,A)&&r(this[A],t)&&(this[A][t]=!1),U(this,t,b(1,n))};return o&&B&&U(j,t,{configurable:!0,set:e}),H(t)},a(P[R],"toString",function(){return this._k}),D.f=Q,M.f=Z,n(77).f=T.f=K,n(74).f=J,n(73).f=tt,o&&!n(14)&&a(j,"propertyIsEnumerable",J,!0),p.f=function(t){return H(d(t))}),s(s.G+s.W+s.F*!V,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)d(et[nt++]);for(var et=k(d.store),nt=0;et.length>nt;)m(et[nt++]);s(s.S+s.F*!V,"Symbol",{for:function(t){return r(W,t+="")?W[t]:W[t]=P(t)},keyFor:function(t){if(X(t))return v(W,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){B=!0},useSimple:function(){B=!1}}),s(s.S+s.F*!V,"Object",{create:$,defineProperty:Z,defineProperties:q,getOwnPropertyDescriptor:Q,getOwnPropertyNames:K,getOwnPropertySymbols:tt}),L&&s(s.S+s.F*(!V||u(function(){var t=P();return"[null]"!=Y([t])||"{}"!=Y({a:t})||"{}"!=Y(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!X(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],"function"==typeof e&&(n=e),!n&&g(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!X(e))return e}),i[1]=e,Y.apply(L,i)}}}),P[R][I]||n(20)(P[R],I,P[R].valueOf),c(P,"Symbol"),c(Math,"Math",!0),c(i.JSON,"JSON",!0)},function(t,e,n){var i=n(43)("meta"),r=n(23),o=n(31),s=n(21).f,a=0,h=Object.isExtensible||function(){return!0},u=!n(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){s(t,i,{value:{i:"O"+ ++a,w:{}}})},c=function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,i)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[i].i},f=function(t,e){if(!o(t,i)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[i].w},d=function(t){return u&&p.NEED&&h(t)&&!o(t,i)&&l(t),t},p=t.exports={KEY:i,NEED:!1,fastKey:c,getWeak:f,onFreeze:d}},function(t,e,n){var i=n(16),r=n(17),o=n(14),s=n(65),a=n(21).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,n){var i=n(35),r=n(9);t.exports=function(t,e){for(var n,o=r(t),s=i(o),a=s.length,h=0;a>h;)if(o[n=s[h++]]===e)return n}},function(t,e,n){var i=n(35),r=n(73),o=n(74);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,a=n(t),h=o.f,u=0;a.length>u;)h.call(t,s=a[u++])&&e.push(s);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(11);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e,n){var i=n(9),r=n(77).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?a(t):r(i(t))}},function(t,e,n){var i=n(36),r=n(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(74),r=n(29),o=n(9),s=n(28),a=n(31),h=n(24),u=Object.getOwnPropertyDescriptor;e.f=n(25)?u:function(t,e){if(t=o(t),e=s(e,!0),h)try{return u(t,e)}catch(t){}if(a(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e){},function(t,e,n){n(70)("asyncIterator")},function(t,e,n){n(70)("observable")},function(t,e,n){t.exports="undefined"!=typeof window&&window.moment||n(83)},function(t,e,n){(function(t){!function(e,n){t.exports=n()}(this,function(){function e(){return wi.apply(null,arguments)}function n(t){wi=t}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function r(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function o(t){var e;for(e in t)return!1;return!0}function s(t){return void 0===t}function a(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function h(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function u(t,e){var n,i=[];for(n=0;n0)for(n=0;n0?"future":"past"];return M(n)?n(e):n.replace(/%s/i,e)}function I(t,e){var n=t.toLowerCase();Ai[n]=Ai[n+"s"]=Ai[e]=t}function N(t){return"string"==typeof t?Ai[t]||Ai[t.toLowerCase()]:void 0}function W(t){var e,n,i={};for(n in t)l(t,n)&&(e=N(n),e&&(i[e]=t[n]));return i}function z(t,e){Ii[t]=e}function F(t){var e=[];for(var n in t)e.push({unit:n,priority:Ii[n]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,n){return function(i){return null!=i?(G(this,t,i),e.updateOffset(this,n),this):V(this,t)}}function V(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function G(t,e,n){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](n)}function B(t){return t=N(t),M(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=W(t);for(var n=F(t),i=0;i=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}function X(t,e,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),t&&(Fi[t]=r),e&&(Fi[e[0]]=function(){return H(r.apply(this,arguments),e[1],e[2])}),n&&(Fi[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function Z(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function q(t){var e,n,i=t.match(Ni);for(e=0,n=i.length;e=0&&Wi.test(t);)t=t.replace(Wi,n),Wi.lastIndex=0,i-=1;return t}function Q(t,e,n){rr[t]=M(e)?e:function(t,i){return t&&n?n:e}}function K(t,e){return l(rr,t)?rr[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,r){return e||n||i||r}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function nt(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),a(e)&&(i=function(t,n){n[e]=x(t)}),n=0;n=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function wt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function xt(t,e,n){var i=7+e-n,r=(7+wt(t,0,i).getUTCDay()-e)%7;return-r+i-1}function bt(t,e,n,i,r){var o,s,a=(7+n-i)%7,h=xt(t,i,r),u=1+7*(e-1)+a+h;return u<=0?(o=t-1,s=vt(o)+u):u>vt(t)?(o=t+1,s=u-vt(t)):(o=t,s=u),{year:o,dayOfYear:s}}function St(t,e,n){var i,r,o=xt(t.year(),e,n),s=Math.floor((t.dayOfYear()-o-1)/7)+1;return s<1?(r=t.year()-1,i=s+Tt(r,e,n)):s>Tt(t.year(),e,n)?(i=s-Tt(t.year(),e,n),r=t.year()+1):(r=t.year(),i=s),{week:i,year:r}}function Tt(t,e,n){var i=xt(t,e,n),r=xt(t+1,e,n);return(vt(t)-i+r)/7}function Dt(t){return St(t,this._week.dow,this._week.doy).week}function Mt(){return this._week.dow}function kt(){return this._week.doy}function Ot(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Et(t){var e=St(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Ct(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Lt(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone}function Yt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Rt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function At(t,e,n){var i,r,o,s=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)o=f([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===e?(r=mr.call(this._weekdaysParse,s),r!==-1?r:null):"ddd"===e?(r=mr.call(this._shortWeekdaysParse,s),r!==-1?r:null):(r=mr.call(this._minWeekdaysParse,s),r!==-1?r:null):"dddd"===e?(r=mr.call(this._weekdaysParse,s),r!==-1?r:(r=mr.call(this._shortWeekdaysParse,s),r!==-1?r:(r=mr.call(this._minWeekdaysParse,s),r!==-1?r:null))):"ddd"===e?(r=mr.call(this._shortWeekdaysParse,s),r!==-1?r:(r=mr.call(this._weekdaysParse,s),r!==-1?r:(r=mr.call(this._minWeekdaysParse,s),r!==-1?r:null))):(r=mr.call(this._minWeekdaysParse,s),r!==-1?r:(r=mr.call(this._weekdaysParse,s),r!==-1?r:(r=mr.call(this._shortWeekdaysParse,s),r!==-1?r:null)))}function It(t,e,n){var i,r,o;if(this._weekdaysParseExact)return At.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(r=f([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}}function Nt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Ct(t,this.localeData()),this.add(t-e,"d")):e}function Wt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function zt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ft(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Gt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=Mr),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Gt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=kr),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Vt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Gt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Or),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Gt(){function t(t,e){return e.length-t.length}var e,n,i,r,o,s=[],a=[],h=[],u=[];for(e=0;e<7;e++)n=f([2e3,1]).day(e),i=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),o=this.weekdays(n,""),s.push(i),a.push(r),h.push(o),u.push(i),u.push(r),u.push(o);for(s.sort(t),a.sort(t),h.sort(t),u.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),u[e]=et(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Bt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function Ht(t,e){X(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Xt(t,e){return e._meridiemParse}function Zt(t){return"p"===(t+"").toLowerCase().charAt(0)}function qt(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function $t(t){return t?t.toLowerCase().replace("_","-"):t}function Jt(t){for(var e,n,i,r,o=0;o0;){if(i=Qt(r.slice(0,e).join("-")))return i;if(n&&n.length>=e&&b(r,n,!0)>=e-1)break;e--}o++}return null}function Qt(e){var n=null;if(!Yr[e]&&"undefined"!=typeof t&&t&&t.exports)try{n=Er._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Kt(n)}catch(t){}return Yr[e]}function Kt(t,e){var n;return t&&(n=s(e)?ne(t):te(t,e),n&&(Er=n)),Er._abbr}function te(t,e){if(null!==e){var n=Lr;if(e.abbr=t,null!=Yr[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=Yr[t]._config;else if(null!=e.parentLocale){if(null==Yr[e.parentLocale])return Rr[e.parentLocale]||(Rr[e.parentLocale]=[]),Rr[e.parentLocale].push({name:t,config:e}),null;n=Yr[e.parentLocale]._config}return Yr[t]=new E(O(n,e)),Rr[t]&&Rr[t].forEach(function(t){te(t.name,t.config)}),Kt(t),Yr[t]}return delete Yr[t],null}function ee(t,e){if(null!=e){var n,i=Lr;null!=Yr[t]&&(i=Yr[t]._config),e=O(i,e),n=new E(e),n.parentLocale=Yr[t],Yr[t]=n,Kt(t)}else null!=Yr[t]&&(null!=Yr[t].parentLocale?Yr[t]=Yr[t].parentLocale:null!=Yr[t]&&delete Yr[t]);return Yr[t]}function ne(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Er;if(!i(t)){if(e=Qt(t))return e;t=[t]}return Jt(t)}function ie(){return Oi(Yr)}function re(t){var e,n=t._a;return n&&p(t).overflow===-2&&(e=n[ar]<0||n[ar]>11?ar:n[hr]<1||n[hr]>ot(n[sr],n[ar])?hr:n[ur]<0||n[ur]>24||24===n[ur]&&(0!==n[lr]||0!==n[cr]||0!==n[fr])?ur:n[lr]<0||n[lr]>59?lr:n[cr]<0||n[cr]>59?cr:n[fr]<0||n[fr]>999?fr:-1,p(t)._overflowDayOfYear&&(ehr)&&(e=hr),p(t)._overflowWeeks&&e===-1&&(e=dr),p(t)._overflowWeekday&&e===-1&&(e=pr),p(t).overflow=e),t}function oe(t){var e,n,i,r,o,s,a=t._i,h=Ar.exec(a)||Ir.exec(a);if(h){for(p(t).iso=!0,e=0,n=Wr.length;e10?"YYYY ":"YY "),o="HH:mm"+(n[4]?":ss":""),n[1]){var c=new Date(n[2]),f=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][c.getDay()];if(n[1].substr(0,3)!==f)return p(t).weekdayMismatch=!0,void(t._isValid=!1)}switch(n[5].length){case 2:0===h?a=" +0000":(h=l.indexOf(n[5][1].toUpperCase())-12,a=(h<0?" -":" +")+(""+h).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:a=u[n[5]];break;default:a=u[" GMT"]}n[5]=a,t._i=n.splice(1).join(""),s=" ZZ",t._f=i+r+o+s,fe(t),p(t).rfc2822=!0}else t._isValid=!1}function ae(t){var n=Fr.exec(t._i);return null!==n?void(t._d=new Date(+n[1])):(oe(t),void(t._isValid===!1&&(delete t._isValid,se(t),t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t)))))}function he(t,e,n){return null!=t?t:null!=e?e:n}function ue(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function le(t){var e,n,i,r,o=[];if(!t._d){for(i=ue(t),t._w&&null==t._a[hr]&&null==t._a[ar]&&ce(t),null!=t._dayOfYear&&(r=he(t._a[sr],i[sr]),(t._dayOfYear>vt(r)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),n=wt(r,0,t._dayOfYear),t._a[ar]=n.getUTCMonth(),t._a[hr]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[ur]&&0===t._a[lr]&&0===t._a[cr]&&0===t._a[fr]&&(t._nextDay=!0,t._a[ur]=0),t._d=(t._useUTC?wt:_t).apply(null,o),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[ur]=24)}}function ce(t){var e,n,i,r,o,s,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)o=1,s=4,n=he(e.GG,t._a[sr],St(we(),1,4).year),i=he(e.W,1),r=he(e.E,1),(r<1||r>7)&&(h=!0);else{o=t._locale._week.dow,s=t._locale._week.doy;var u=St(we(),o,s);n=he(e.gg,t._a[sr],u.year),i=he(e.w,u.week),null!=e.d?(r=e.d,(r<0||r>6)&&(h=!0)):null!=e.e?(r=e.e+o,(e.e<0||e.e>6)&&(h=!0)):r=o}i<1||i>Tt(n,o,s)?p(t)._overflowWeeks=!0:null!=h?p(t)._overflowWeekday=!0:(a=bt(n,i,r,o,s),t._a[sr]=a.year,t._dayOfYear=a.dayOfYear)}function fe(t){if(t._f===e.ISO_8601)return void oe(t);if(t._f===e.RFC_2822)return void se(t);t._a=[],p(t).empty=!0;var n,i,r,o,s,a=""+t._i,h=a.length,u=0;for(r=J(t._f,t._locale).match(Ni)||[],n=0;n0&&p(t).unusedInput.push(s),a=a.slice(a.indexOf(i)+i.length),u+=i.length),Fi[o]?(i?p(t).empty=!1:p(t).unusedTokens.push(o),rt(o,i,t)):t._strict&&!i&&p(t).unusedTokens.push(o);p(t).charsLeftOver=h-u,a.length>0&&p(t).unusedInput.push(a),t._a[ur]<=12&&p(t).bigHour===!0&&t._a[ur]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[ur]=de(t._locale,t._a[ur],t._meridiem),le(t),re(t)}function de(t,e,n){var i;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(i=t.isPM(n),i&&e<12&&(e+=12),i||12!==e||(e=0),e):e}function pe(t){var e,n,i,r,o;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function je(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ye(t),t._a){var e=t._isUTC?f(t._a):we(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ve(){return!!this.isValid()&&!this._isUTC}function Ge(){return!!this.isValid()&&this._isUTC}function Be(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ue(t,e){var n,i,r,o=t,s=null;return Oe(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:a(t)?(o={},e?o[e]=t:o.milliseconds=t):(s=Xr.exec(t))?(n="-"===s[1]?-1:1,o={y:0,d:x(s[hr])*n,h:x(s[ur])*n,m:x(s[lr])*n,s:x(s[cr])*n,ms:x(Ee(1e3*s[fr]))*n}):(s=Zr.exec(t))?(n="-"===s[1]?-1:1,o={y:He(s[2],n),M:He(s[3],n),w:He(s[4],n),d:He(s[5],n),h:He(s[6],n),m:He(s[7],n),s:He(s[8],n)}):null==o?o={}:"object"==typeof o&&("from"in o||"to"in o)&&(r=Ze(we(o.from),we(o.to)),o={},o.ms=r.milliseconds,o.M=r.months),i=new ke(o),Oe(t)&&l(t,"_locale")&&(i._locale=t._locale),i}function He(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Xe(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ze(t,e){var n;return t.isValid()&&e.isValid()?(e=Le(e,t),t.isBefore(e)?n=Xe(t,e):(n=Xe(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function qe(t,e){return function(n,i){var r,o;return null===i||isNaN(+i)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=n,n=i,i=o),n="string"==typeof n?+n:n,r=Ue(n,i),$e(this,r,t),this}}function $e(t,n,i,r){var o=n._milliseconds,s=Ee(n._days),a=Ee(n._months);t.isValid()&&(r=null==r||r,o&&t._d.setTime(t._d.valueOf()+o*i),s&&G(t,"Date",V(t,"Date")+s*i),a&<(t,V(t,"Month")+a*i),r&&e.updateOffset(t,s||a))}function Je(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Qe(t,n){var i=t||we(),r=Le(i,this).startOf("day"),o=e.calendarFormat(this,r)||"sameElse",s=n&&(M(n[o])?n[o].call(this,i):n[o]);return this.format(s||this.localeData().calendar(o,this,we(i)))}function Ke(){return new g(this)}function tn(t,e){var n=_(t)?t:we(t);return!(!this.isValid()||!n.isValid())&&(e=N(s(e)?"millisecond":e),"millisecond"===e?this.valueOf()>n.valueOf():n.valueOf()9999?$(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):M(Date.prototype.toISOString)?this.toDate().toISOString():$(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function cn(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r="-MM-DD[T]HH:mm:ss.SSS",o=e+'[")]';return this.format(n+i+r+o)}function fn(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=$(this,t);return this.localeData().postformat(n)}function dn(t,e){return this.isValid()&&(_(t)&&t.isValid()||we(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function pn(t){return this.from(we(),t)}function mn(t,e){return this.isValid()&&(_(t)&&t.isValid()||we(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function vn(t){return this.to(we(),t)}function yn(t){var e;return void 0===t?this._locale._abbr:(e=ne(t),null!=e&&(this._locale=e),this)}function gn(){return this._locale}function _n(t){switch(t=N(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this}function wn(t){return t=N(t),void 0===t||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function xn(){return this._d.valueOf()-6e4*(this._offset||0)}function bn(){return Math.floor(this.valueOf()/1e3)}function Sn(){return new Date(this.valueOf())}function Tn(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Dn(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Mn(){return this.isValid()?this.toISOString():null}function kn(){return m(this)}function On(){return c({},p(this))}function En(){return p(this).overflow}function Cn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Pn(t,e){X(0,[t,t.length],0,e)}function Ln(t){return In.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Yn(t){return In.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Rn(){return Tt(this.year(),1,4)}function An(){var t=this.localeData()._week;return Tt(this.year(),t.dow,t.doy)}function In(t,e,n,i,r){var o;return null==t?St(this,i,r).year:(o=Tt(t,i,r),e>o&&(e=o),Nn.call(this,t,e,n,i,r))}function Nn(t,e,n,i,r){var o=bt(t,e,n,i,r),s=wt(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}function Wn(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function zn(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Fn(t,e){e[fr]=x(1e3*("0."+t))}function jn(){return this._isUTC?"UTC":""}function Vn(){return this._isUTC?"Coordinated Universal Time":""}function Gn(t){return we(1e3*t)}function Bn(){return we.apply(null,arguments).parseZone()}function Un(t){return t}function Hn(t,e,n,i){var r=ne(),o=f().set(i,e);return r[n](o,t)}function Xn(t,e,n){if(a(t)&&(e=t,t=void 0),t=t||"",null!=e)return Hn(t,e,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=Hn(t,i,n,"month");return r}function Zn(t,e,n,i){"boolean"==typeof t?(a(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,a(e)&&(n=e,e=void 0),e=e||"");var r=ne(),o=t?r._week.dow:0;if(null!=n)return Hn(e,(n+o)%7,i,"day");var s,h=[];for(s=0;s<7;s++)h[s]=Hn(e,(s+o)%7,i,"day");return h; +}function qn(t,e){return Xn(t,e,"months")}function $n(t,e){return Xn(t,e,"monthsShort")}function Jn(t,e,n){return Zn(t,e,n,"weekdays")}function Qn(t,e,n){return Zn(t,e,n,"weekdaysShort")}function Kn(t,e,n){return Zn(t,e,n,"weekdaysMin")}function ti(){var t=this._data;return this._milliseconds=oo(this._milliseconds),this._days=oo(this._days),this._months=oo(this._months),t.milliseconds=oo(t.milliseconds),t.seconds=oo(t.seconds),t.minutes=oo(t.minutes),t.hours=oo(t.hours),t.months=oo(t.months),t.years=oo(t.years),this}function ei(t,e,n,i){var r=Ue(e,n);return t._milliseconds+=i*r._milliseconds,t._days+=i*r._days,t._months+=i*r._months,t._bubble()}function ni(t,e){return ei(this,t,e,1)}function ii(t,e){return ei(this,t,e,-1)}function ri(t){return t<0?Math.floor(t):Math.ceil(t)}function oi(){var t,e,n,i,r,o=this._milliseconds,s=this._days,a=this._months,h=this._data;return o>=0&&s>=0&&a>=0||o<=0&&s<=0&&a<=0||(o+=864e5*ri(ai(a)+s),s=0,a=0),h.milliseconds=o%1e3,t=w(o/1e3),h.seconds=t%60,e=w(t/60),h.minutes=e%60,n=w(e/60),h.hours=n%24,s+=w(n/24),r=w(si(s)),a+=r,s-=ri(ai(r)),i=w(a/12),a%=12,h.days=s,h.months=a,h.years=i,this}function si(t){return 4800*t/146097}function ai(t){return 146097*t/4800}function hi(t){if(!this.isValid())return NaN;var e,n,i=this._milliseconds;if(t=N(t),"month"===t||"year"===t)return e=this._days+i/864e5,n=this._months+si(e),"month"===t?n:n/12;switch(e=this._days+Math.round(ai(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}}function ui(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*x(this._months/12):NaN}function li(t){return function(){return this.as(t)}}function ci(t){return t=N(t),this.isValid()?this[t+"s"]():NaN}function fi(t){return function(){return this.isValid()?this._data[t]:NaN}}function di(){return w(this.days()/7)}function pi(t,e,n,i,r){return r.relativeTime(e||1,!!n,t,i)}function mi(t,e,n){var i=Ue(t).abs(),r=bo(i.as("s")),o=bo(i.as("m")),s=bo(i.as("h")),a=bo(i.as("d")),h=bo(i.as("M")),u=bo(i.as("y")),l=r<=So.ss&&["s",r]||r0,l[4]=n,pi.apply(null,l)}function vi(t){return void 0===t?bo:"function"==typeof t&&(bo=t,!0)}function yi(t,e){return void 0!==So[t]&&(void 0===e?So[t]:(So[t]=e,"s"===t&&(So.ss=e-1),!0))}function gi(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=mi(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function _i(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n,i=To(this._milliseconds)/1e3,r=To(this._days),o=To(this._months);t=w(i/60),e=w(t/60),i%=60,t%=60,n=w(o/12),o%=12;var s=n,a=o,h=r,u=e,l=t,c=i,f=this.asSeconds();return f?(f<0?"-":"")+"P"+(s?s+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(u||l||c?"T":"")+(u?u+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var wi,xi;xi=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,i=0;i68?1900:2e3)};var xr=j("FullYear",!0);X("w",["ww",2],"wo","week"),X("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),z("week",5),z("isoWeek",5),Q("w",Hi),Q("ww",Hi,Vi),Q("W",Hi),Q("WW",Hi,Vi),it(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=x(t)});var br={dow:0,doy:6};X("d",0,"do","day"),X("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),X("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),X("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),X("e",0,0,"weekday"),X("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),z("day",11),z("weekday",11),z("isoWeekday",11),Q("d",Hi),Q("e",Hi),Q("E",Hi),Q("dd",function(t,e){return e.weekdaysMinRegex(t)}),Q("ddd",function(t,e){return e.weekdaysShortRegex(t)}),Q("dddd",function(t,e){return e.weekdaysRegex(t)}),it(["dd","ddd","dddd"],function(t,e,n,i){var r=n._locale.weekdaysParse(t,i,n._strict);null!=r?e.d=r:p(n).invalidWeekday=t}),it(["d","e","E"],function(t,e,n,i){e[i]=x(t)});var Sr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Tr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Dr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Mr=ir,kr=ir,Or=ir;X("H",["HH",2],0,"hour"),X("h",["hh",2],0,Bt),X("k",["kk",2],0,Ut),X("hmm",0,0,function(){return""+Bt.apply(this)+H(this.minutes(),2)}),X("hmmss",0,0,function(){return""+Bt.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),X("Hmm",0,0,function(){return""+this.hours()+H(this.minutes(),2)}),X("Hmmss",0,0,function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),Ht("a",!0),Ht("A",!1),I("hour","h"),z("hour",13),Q("a",Xt),Q("A",Xt),Q("H",Hi),Q("h",Hi),Q("k",Hi),Q("HH",Hi,Vi),Q("hh",Hi,Vi),Q("kk",Hi,Vi),Q("hmm",Xi),Q("hmmss",Zi),Q("Hmm",Xi),Q("Hmmss",Zi),nt(["H","HH"],ur),nt(["k","kk"],function(t,e,n){var i=x(t);e[ur]=24===i?0:i}),nt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),nt(["h","hh"],function(t,e,n){e[ur]=x(t),p(n).bigHour=!0}),nt("hmm",function(t,e,n){var i=t.length-2;e[ur]=x(t.substr(0,i)),e[lr]=x(t.substr(i)),p(n).bigHour=!0}),nt("hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[ur]=x(t.substr(0,i)),e[lr]=x(t.substr(i,2)),e[cr]=x(t.substr(r)),p(n).bigHour=!0}),nt("Hmm",function(t,e,n){var i=t.length-2;e[ur]=x(t.substr(0,i)),e[lr]=x(t.substr(i))}),nt("Hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[ur]=x(t.substr(0,i)),e[lr]=x(t.substr(i,2)),e[cr]=x(t.substr(r))});var Er,Cr=/[ap]\.?m?\.?/i,Pr=j("Hours",!0),Lr={calendar:Ei,longDateFormat:Ci,invalidDate:Pi,ordinal:Li,dayOfMonthOrdinalParse:Yi,relativeTime:Ri,months:yr,monthsShort:gr,week:br,weekdays:Sr,weekdaysMin:Dr,weekdaysShort:Tr,meridiemParse:Cr},Yr={},Rr={},Ar=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ir=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nr=/Z|[+-]\d\d(?::?\d\d)?/,Wr=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],zr=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Fr=/^\/?Date\((\-?\d+)/i,jr=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;e.createFromInputFallback=T("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var Vr=T("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=we.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:v()}),Br=function(){return Date.now?Date.now():+new Date},Ur=["year","quarter","month","week","day","hour","minute","second","millisecond"];Ce("Z",":"),Ce("ZZ",""),Q("Z",er),Q("ZZ",er),nt(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Pe(er,t)});var Hr=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Xr=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Zr=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ue.fn=ke.prototype,Ue.invalid=Me;var qr=qe(1,"add"),$r=qe(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Jr=T("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});X(0,["gg",2],0,function(){return this.weekYear()%100}),X(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Pn("gggg","weekYear"),Pn("ggggg","weekYear"),Pn("GGGG","isoWeekYear"),Pn("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),z("weekYear",1),z("isoWeekYear",1),Q("G",Ki),Q("g",Ki),Q("GG",Hi,Vi),Q("gg",Hi,Vi),Q("GGGG",$i,Bi),Q("gggg",$i,Bi),Q("GGGGG",Ji,Ui),Q("ggggg",Ji,Ui),it(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=x(t)}),it(["gg","GG"],function(t,n,i,r){n[r]=e.parseTwoDigitYear(t)}),X("Q",0,"Qo","quarter"),I("quarter","Q"),z("quarter",7),Q("Q",ji),nt("Q",function(t,e){e[ar]=3*(x(t)-1)}),X("D",["DD",2],"Do","date"),I("date","D"),z("date",9),Q("D",Hi),Q("DD",Hi,Vi),Q("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),nt(["D","DD"],hr),nt("Do",function(t,e){e[hr]=x(t.match(Hi)[0],10)});var Qr=j("Date",!0);X("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),z("dayOfYear",4),Q("DDD",qi),Q("DDDD",Gi),nt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=x(t)}),X("m",["mm",2],0,"minute"),I("minute","m"),z("minute",14),Q("m",Hi),Q("mm",Hi,Vi),nt(["m","mm"],lr);var Kr=j("Minutes",!1);X("s",["ss",2],0,"second"),I("second","s"),z("second",15),Q("s",Hi),Q("ss",Hi,Vi),nt(["s","ss"],cr);var to=j("Seconds",!1);X("S",0,0,function(){return~~(this.millisecond()/100)}),X(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),X(0,["SSS",3],0,"millisecond"),X(0,["SSSS",4],0,function(){return 10*this.millisecond()}),X(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),X(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),X(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),X(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),X(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),I("millisecond","ms"),z("millisecond",16),Q("S",qi,ji),Q("SS",qi,Vi),Q("SSS",qi,Gi);var eo;for(eo="SSSS";eo.length<=9;eo+="S")Q(eo,Qi);for(eo="S";eo.length<=9;eo+="S")nt(eo,Fn);var no=j("Milliseconds",!1);X("z",0,0,"zoneAbbr"),X("zz",0,0,"zoneName");var io=g.prototype;io.add=qr,io.calendar=Qe,io.clone=Ke,io.diff=an,io.endOf=wn,io.format=fn,io.from=dn,io.fromNow=pn,io.to=mn,io.toNow=vn,io.get=B,io.invalidAt=En,io.isAfter=tn,io.isBefore=en,io.isBetween=nn,io.isSame=rn,io.isSameOrAfter=on,io.isSameOrBefore=sn,io.isValid=kn,io.lang=Jr,io.locale=yn,io.localeData=gn,io.max=Gr,io.min=Vr,io.parsingFlags=On,io.set=U,io.startOf=_n,io.subtract=$r,io.toArray=Tn,io.toObject=Dn,io.toDate=Sn,io.toISOString=ln,io.inspect=cn,io.toJSON=Mn,io.toString=un,io.unix=bn,io.valueOf=xn,io.creationData=Cn,io.year=xr,io.isLeapYear=gt,io.weekYear=Ln,io.isoWeekYear=Yn,io.quarter=io.quarters=Wn,io.month=ct,io.daysInMonth=ft,io.week=io.weeks=Ot,io.isoWeek=io.isoWeeks=Et,io.weeksInYear=An,io.isoWeeksInYear=Rn,io.date=Qr,io.day=io.days=Nt,io.weekday=Wt,io.isoWeekday=zt,io.dayOfYear=zn,io.hour=io.hours=Pr,io.minute=io.minutes=Kr,io.second=io.seconds=to,io.millisecond=io.milliseconds=no,io.utcOffset=Re,io.utc=Ie,io.local=Ne,io.parseZone=We,io.hasAlignedHourOffset=ze,io.isDST=Fe,io.isLocal=Ve,io.isUtcOffset=Ge,io.isUtc=Be,io.isUTC=Be,io.zoneAbbr=jn,io.zoneName=Vn,io.dates=T("dates accessor is deprecated. Use date instead.",Qr),io.months=T("months accessor is deprecated. Use month instead",ct),io.years=T("years accessor is deprecated. Use year instead",xr),io.zone=T("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ae),io.isDSTShifted=T("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",je);var ro=E.prototype;ro.calendar=C,ro.longDateFormat=P,ro.invalidDate=L,ro.ordinal=Y,ro.preparse=Un,ro.postformat=Un,ro.relativeTime=R,ro.pastFuture=A,ro.set=k,ro.months=st,ro.monthsShort=at,ro.monthsParse=ut,ro.monthsRegex=pt,ro.monthsShortRegex=dt,ro.week=Dt,ro.firstDayOfYear=kt,ro.firstDayOfWeek=Mt,ro.weekdays=Lt,ro.weekdaysMin=Rt,ro.weekdaysShort=Yt,ro.weekdaysParse=It,ro.weekdaysRegex=Ft,ro.weekdaysShortRegex=jt,ro.weekdaysMinRegex=Vt,ro.isPM=Zt,ro.meridiem=qt,Kt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===x(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),e.lang=T("moment.lang is deprecated. Use moment.locale instead.",Kt),e.langData=T("moment.langData is deprecated. Use moment.localeData instead.",ne);var oo=Math.abs,so=li("ms"),ao=li("s"),ho=li("m"),uo=li("h"),lo=li("d"),co=li("w"),fo=li("M"),po=li("y"),mo=fi("milliseconds"),vo=fi("seconds"),yo=fi("minutes"),go=fi("hours"),_o=fi("days"),wo=fi("months"),xo=fi("years"),bo=Math.round,So={ss:44,s:45,m:45,h:22,d:26,M:11},To=Math.abs,Do=ke.prototype;return Do.isValid=De,Do.abs=ti,Do.add=ni,Do.subtract=ii,Do.as=hi,Do.asMilliseconds=so,Do.asSeconds=ao,Do.asMinutes=ho,Do.asHours=uo,Do.asDays=lo,Do.asWeeks=co,Do.asMonths=fo,Do.asYears=po,Do.valueOf=ui,Do._bubble=oi,Do.get=ci,Do.milliseconds=mo,Do.seconds=vo,Do.minutes=yo,Do.hours=go,Do.days=_o,Do.weeks=di,Do.months=wo,Do.years=xo,Do.humanize=gi,Do.toISOString=_i,Do.toString=_i,Do.toJSON=_i,Do.locale=yn,Do.localeData=gn,Do.toIsoString=T("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",_i),Do.lang=Jr,X("X",0,0,"unix"),X("x",0,0,"valueOf"),Q("x",Ki),Q("X",nr),nt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),nt("x",function(t,e,n){n._d=new Date(x(t))}),e.version="2.18.0",n(we),e.fn=io,e.min=be,e.max=Se,e.now=Br,e.utc=f,e.unix=Gn,e.months=qn,e.isDate=h,e.locale=Kt,e.invalid=v,e.duration=Ue,e.isMoment=_,e.weekdays=Jn,e.parseZone=Bn,e.localeData=ne,e.isDuration=Oe,e.monthsShort=$n,e.weekdaysMin=Kn,e.defineLocale=te,e.updateLocale=ee,e.locales=ie,e.weekdaysShort=Qn,e.normalizeUnits=N,e.relativeTimeRounding=vi,e.relativeTimeThreshold=yi,e.calendarFormat=Je,e.prototype=io,e})}).call(e,n(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function n(t){throw new Error("Cannot find module '"+t+"'.")}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id=85},function(t,e){(function(e){function n(t,e,n){var i=e&&n||0,r=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){r<16&&(e[i+r++]=c[t])});r<16;)e[i+r++]=0;return e}function i(t,e){var n=e||0,i=l;return i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]}function r(t,e,n){var r=e&&n||0,o=e||[];t=t||{};var s=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:y+1,u=a-v+(h-y)/1e4;if(u<0&&void 0===t.clockseq&&(s=s+1&16383),(u<0||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,y=h,m=s,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;o[r++]=l>>>24&255,o[r++]=l>>>16&255,o[r++]=l>>>8&255,o[r++]=255&l;var c=a/4294967296*1e4&268435455;o[r++]=c>>>8&255,o[r++]=255&c,o[r++]=c>>>24&15|16,o[r++]=c>>>16&255,o[r++]=s>>>8|128,o[r++]=255&s;for(var f=t.node||p,d=0;d<6;d++)o[r+d]=f[d];return e?e:i(o)}function o(t,e,n){var r=e&&n||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var o=t.random||(t.rng||s)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e)for(var a=0;a<16;a++)e[r+a]=o[a];return e||i(o)}var s,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);s=function(){return crypto.getRandomValues(h),h}}if(!s){var u=new Array(16);s=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),u[e]=t>>>((3&e)<<3)&255;return u}}for(var l=[],c={},f=0;f<256;f++)l[f]=(f+256).toString(16).substr(1),c[l[f]]=f;var d=s(),p=[1|d[0],d[1],d[2],d[3],d[4],d[5]],m=16383&(d[6]<<8|d[7]),v=0,y=0,g=o;g.v1=r,g.v4=o,g.parse=n,g.unparse=i,t.exports=g}).call(e,function(){return this}())},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 n=0;n0?(i=e[t].redundant[0],e[t].redundant.shift()):(i=document.createElementNS("http://www.w3.org/2000/svg",t),n.appendChild(i)):(i=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},n.appendChild(i)),e[t].used.push(i),i},e.getDOMElement=function(t,e,n,i){var r;return e.hasOwnProperty(t)?e[t].redundant.length>0?(r=e[t].redundant[0],e[t].redundant.shift()):(r=document.createElement(t),void 0!==i?n.insertBefore(r,i):n.appendChild(r)):(r=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==i?n.insertBefore(r,i):n.appendChild(r)),e[t].used.push(r),r},e.drawPoint=function(t,n,i,r,o,s){var a;if("circle"==i.style?(a=e.getSVGElement("circle",r,o),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",n),a.setAttributeNS(null,"r",.5*i.size)):(a=e.getSVGElement("rect",r,o),a.setAttributeNS(null,"x",t-.5*i.size),a.setAttributeNS(null,"y",n-.5*i.size),a.setAttributeNS(null,"width",i.size),a.setAttributeNS(null,"height",i.size)),void 0!==i.styles&&a.setAttributeNS(null,"style",i.styles),a.setAttributeNS(null,"class",i.className+" vis-point"),s){var h=e.getSVGElement("text",r,o);s.xOffset&&(t+=s.xOffset),s.yOffset&&(n+=s.yOffset),s.content&&(h.textContent=s.content),s.className&&h.setAttributeNS(null,"class",s.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",n)}return a},e.drawBar=function(t,n,i,r,o,s,a,h){if(0!=r){r<0&&(r*=-1,n-=r);var u=e.getSVGElement("rect",s,a);u.setAttributeNS(null,"x",t-.5*i),u.setAttributeNS(null,"y",n),u.setAttributeNS(null,"width",i),u.setAttributeNS(null,"height",r),u.setAttributeNS(null,"class",o),h&&u.setAttributeNS(null,"style",h)}}},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var n=(0,l.default)(this._options.type),i=0,r=n.length;ir?1:is)&&(o=h,s=u)}return o},r.prototype.min=function(t){var e,n,i=this._data,r=(0,l.default)(i),o=null,s=null;for(e=0,n=r.length;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},n.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=n},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var n=this;this.listener=function(){n._onEvent.apply(n,arguments)},this.setData(t)}var o=n(58),s=i(o),a=n(1),h=n(88);r.prototype.setData=function(t){var e,n,i,r,o;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),o=[],i=0,r=e.length;io)&&(i=o)}return i},r.prototype.getColumnRange=function(t,e){for(var n=new g,i=0;i0&&(h[i-1].pointNext=s),h.push(s);return h},r.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),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);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),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,n=function(t){e._onMouseDown(t)},i=function(t){e._onTouchStart(t)},r=function(t){e._onWheel(t)},o=function(t){e._onTooltip(t)},s=function(t){e._onClick(t)};f.addEventListener(this.frame.canvas,"mousedown",n),f.addEventListener(this.frame.canvas,"touchstart",i),f.addEventListener(this.frame.canvas,"mousewheel",r),f.addEventListener(this.frame.canvas,"mousemove",o),f.addEventListener(this.frame.canvas,"click",s),this.containerElement.appendChild(this.frame)},r.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},r.prototype._resizeCanvas=function(){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.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},r.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},r.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},r.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},r.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},r.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},r.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},r.prototype.setOptions=function(t){this.animationStop(),_.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},r.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case r.STYLE.BAR:t=r.prototype._redrawBarGraphPoint;break;case r.STYLE.BARCOLOR:t=r.prototype._redrawBarColorGraphPoint;break;case r.STYLE.BARSIZE:t=r.prototype._redrawBarSizeGraphPoint;break;case r.STYLE.DOT:t=r.prototype._redrawDotGraphPoint;break;case r.STYLE.DOTLINE:t=r.prototype._redrawDotLineGraphPoint;break;case r.STYLE.DOTCOLOR:t=r.prototype._redrawDotColorGraphPoint;break;case r.STYLE.DOTSIZE:t=r.prototype._redrawDotSizeGraphPoint;break;case r.STYLE.SURFACE:t=r.prototype._redrawSurfaceGraphPoint;break;case r.STYLE.GRID:t=r.prototype._redrawGridGraphPoint;break;case r.STYLE.LINE:t=r.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},r.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},r.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},r.prototype._redrawClear=function(){var t=this.frame.canvas,e=t.getContext("2d");e.clearRect(0,0,t.width,t.height)},r.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},r.prototype._getLegendWidth=function(){var t;if(this.style===r.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===r.STYLE.BARSIZE?this.xBarWidth:20;return t},r.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==r.STYLE.LINE&&this.style!==r.STYLE.BARSIZE){var t=this.style===r.STYLE.BARSIZE||this.style===r.STYLE.DOTSIZE,e=this.style===r.STYLE.DOTSIZE||this.style===r.STYLE.DOTCOLOR||this.style===r.STYLE.BARCOLOR,n=Math.max(.25*this.frame.clientHeight,100),i=this.margin,o=this._getLegendWidth(),s=this.frame.clientWidth-this.margin,a=s-o,h=i+n,u=this._getContext();if(u.lineWidth=1,u.font="14px arial",t===!1){var l,c=0,f=n;for(l=c;l0?(t.textAlign="center",t.textBaseline="top",o.y+=r):Math.sin(2*i)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(n,o.x,o.y)},r.prototype.drawAxisLabelY=function(t,e,n,i,r){void 0===r&&(r=0);var o=this._convert3Dto2D(e);Math.cos(2*i)<0?(t.textAlign="center",t.textBaseline="top",o.y+=r):Math.sin(2*i)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(n,o.x,o.y)},r.prototype.drawAxisLabelZ=function(t,e,n,i){void 0===i&&(i=0);var r=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(n,r.x-i,r.y)},r.prototype._line3d=function(t,e,n,i){var r=this._convert3Dto2D(e),o=this._convert3Dto2D(n);this._line(t,r,o,i)},r.prototype._redrawAxis=function(){var t,e,n,i,r,o,s,a,h,u,l,c=this._getContext();c.font=24/this.camera.getArmLength()+"px arial";var f=.025/this.scale.x,m=.025/this.scale.y,v=5/this.camera.getArmLength(),g=this.camera.getArmRotation().horizontal,_=new p(Math.cos(g),Math.sin(g)),w=this.xRange,x=this.yRange,b=this.zRange;for(c.lineWidth=1,i=void 0===this.defaultXStep,n=new y(w.min,w.max,this.xStep,i),n.start(!0);!n.end();){var S=n.getCurrent();if(this.showGrid?(t=new d(S,x.min,b.min),e=new d(S,x.max,b.min),this._line3d(c,t,e,this.gridColor)):this.showXAxis&&(t=new d(S,x.min,b.min),e=new d(S,x.min+f,b.min),this._line3d(c,t,e,this.axisColor),t=new d(S,x.max,b.min),e=new d(S,x.max-f,b.min),this._line3d(c,t,e,this.axisColor)),this.showXAxis){s=_.x>0?x.min:x.max;var T=new d(S,s,b.min),D=" "+this.xValueLabel(S)+" ";this.drawAxisLabelX(c,T,D,g,v)}n.next()}for(c.lineWidth=1,i=void 0===this.defaultYStep,n=new y(x.min,x.max,this.yStep,i),n.start(!0);!n.end();){var M=n.getCurrent();if(this.showGrid?(t=new d(w.min,M,b.min),e=new d(w.max,M,b.min),this._line3d(c,t,e,this.gridColor)):this.showYAxis&&(t=new d(w.min,M,b.min),e=new d(w.min+m,M,b.min),this._line3d(c,t,e,this.axisColor),t=new d(w.max,M,b.min),e=new d(w.max-m,M,b.min),this._line3d(c,t,e,this.axisColor)),this.showYAxis){o=_.y>0?w.min:w.max,T=new d(o,M,b.min);var D=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(c,T,D,g,v)}n.next()}if(this.showZAxis){for(c.lineWidth=1,i=void 0===this.defaultZStep,n=new y(b.min,b.max,this.zStep,i),n.start(!0),o=_.x>0?w.min:w.max,s=_.y<0?x.min:x.max;!n.end();){var k=n.getCurrent(),O=new d(o,s,k),E=this._convert3Dto2D(O);e=new p(E.x-v,E.y),this._line(c,E,e,this.axisColor);var D=this.zValueLabel(k)+" ";this.drawAxisLabelZ(c,O,D,5),n.next()}c.lineWidth=1,t=new d(o,s,b.min),e=new d(o,s,b.max),this._line3d(c,t,e,this.axisColor)}if(this.showXAxis){var C,P;c.lineWidth=1,C=new d(w.min,x.min,b.min),P=new d(w.max,x.min,b.min),this._line3d(c,C,P,this.axisColor),C=new d(w.min,x.max,b.min),P=new d(w.max,x.max,b.min),this._line3d(c,C,P,this.axisColor)}this.showYAxis&&(c.lineWidth=1,t=new d(w.min,x.min,b.min),e=new d(w.min,x.max,b.min),this._line3d(c,t,e,this.axisColor),t=new d(w.max,x.min,b.min),e=new d(w.max,x.max,b.min),this._line3d(c,t,e,this.axisColor));var L=this.xLabel;L.length>0&&this.showXAxis&&(l=.1/this.scale.y,o=(w.max+3*w.min)/4,s=_.x>0?x.min-l:x.max+l,r=new d(o,s,b.min),this.drawAxisLabelX(c,r,L,g));var Y=this.yLabel;Y.length>0&&this.showYAxis&&(u=.1/this.scale.x,o=_.y>0?w.min-u:w.max+u,s=(x.max+3*x.min)/4,r=new d(o,s,b.min),this.drawAxisLabelY(c,r,Y,g));var R=this.zLabel;R.length>0&&this.showZAxis&&(h=30,o=_.x>0?w.min:w.max,s=_.y<0?x.min:x.max,a=(b.max+3*b.min)/4,r=new d(o,s,a),this.drawAxisLabelZ(c,r,R,h))},r.prototype._hsv2rgb=function(t,e,n){var i,r,o,s,a,h;switch(s=n*e,a=Math.floor(t/60),h=s*(1-Math.abs(t/60%2-1)),a){case 0:i=s,r=h,o=0;break;case 1:i=h,r=s,o=0;break;case 2:i=0,r=s,o=h;break;case 3:i=0,r=h,o=s;break;case 4:i=h,r=0,o=s;break;case 5:i=s,r=0,o=h;break;default:i=0,r=0,o=0}return"RGB("+parseInt(255*i)+","+parseInt(255*r)+","+parseInt(255*o)+")"},r.prototype._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},r.prototype._redrawBar=function(t,e,n,i,r,o){var s,a,h=this,u=e.point,l=this.zRange.min,c=[{point:new d(u.x-n,u.y-i,u.z)},{point:new d(u.x+n,u.y-i,u.z)},{point:new d(u.x+n,u.y+i,u.z)},{point:new d(u.x-n,u.y+i,u.z)}],f=[{point:new d(u.x-n,u.y-i,l)},{point:new d(u.x+n,u.y-i,l)},{point:new d(u.x+n,u.y+i,l)},{point:new d(u.x-n,u.y+i,l)}];c.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),f.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var p=[{corners:c,center:d.avg(f[0].point,f[2].point)},{corners:[c[0],c[1],f[1],f[0]],center:d.avg(f[1].point,f[0].point)},{corners:[c[1],c[2],f[2],f[1]],center:d.avg(f[2].point,f[1].point)},{corners:[c[2],c[3],f[3],f[2]],center:d.avg(f[3].point,f[2].point)},{corners:[c[3],c[0],f[0],f[3]],center:d.avg(f[0].point,f[3].point)}];for(e.surfaces=p,s=0;s0}if(a){var f,p=(e.point.z+n.point.z+i.point.z+r.point.z)/4,m=240*(1-(p-this.zRange.min)*this.scale.z/this.verticalRatio),v=1;this.showShadow?(f=Math.min(1+l.x/c/2,1),o=this._hsv2rgb(m,v,f),s=o):(f=1,o=this._hsv2rgb(m,v,f),s=this.axisColor)}else o="gray",s=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var y=[e,n,r,i];this._polygon(t,y,o,s)}},r.prototype._drawGridLine=function(t,e,n){if(void 0!==e&&void 0!==n){var i=(e.point.z+n.point.z)/2,r=240*(1-(i-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(r,1,1),this._line(t,e.screen,n.screen)}},r.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},r.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},r.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-1:0}var i=e[0],r=e[1],o=e[2],s=n((r.x-i.x)*(t.y-i.y)-(r.y-i.y)*(t.x-i.x)),a=n((o.x-r.x)*(t.y-r.y)-(o.y-r.y)*(t.x-r.x)),h=n((i.x-o.x)*(t.y-o.y)-(i.y-o.y)*(t.x-o.x));return!(0!=s&&0!=a&&s!=a||0!=a&&0!=h&&a!=h||0!=s&&0!=h&&s!=h)},r.prototype._dataPointFromXY=function(t,e){var n,i=100,o=null,s=null,a=null,h=new p(t,e);if(this.style===r.STYLE.BAR||this.style===r.STYLE.BARCOLOR||this.style===r.STYLE.BARSIZE)for(n=this.dataPoints.length-1;n>=0;n--){o=this.dataPoints[n];var u=o.surfaces;if(u)for(var l=u.length-1;l>=0;l--){var c=u[l],f=c.corners,d=[f[0].screen,f[1].screen,f[2].screen],m=[f[2].screen,f[3].screen,f[0].screen];if(this._insideTriangle(h,d)||this._insideTriangle(h,m))return o}}else for(n=0;n"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+t.point.z+"", +e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(n),this.frame.appendChild(i);var r=e.offsetWidth,o=e.offsetHeight,s=n.offsetHeight,a=i.offsetWidth,u=i.offsetHeight,l=t.screen.x-r/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-r),n.style.left=t.screen.x+"px",n.style.top=t.screen.y-s+"px",e.style.left=l+"px",e.style.top=t.screen.y-s-o+"px",i.style.left=t.screen.x-a/2+"px",i.style.top=t.screen.y-u/2+"px"},r.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)}}},r.prototype.setCameraPosition=function(t){_.setCameraPosition(t,this),this.redraw()},r.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=r},function(t,e,n){t.exports={default:n(95),__esModule:!0}},function(t,e,n){n(96),t.exports=n(17).Object.assign},function(t,e,n){var i=n(15);i(i.S+i.F,"Object",{assign:n(97)})},function(t,e,n){var i=n(35),r=n(73),o=n(74),s=n(49),a=n(10),h=Object.assign;t.exports=!h||n(26)(function(){var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach(function(t){e[t]=t}),7!=h({},t)[n]||Object.keys(h({},e)).join("")!=i})?function(t,e){for(var n=s(t),h=arguments.length,u=1,l=r.f,c=o.f;h>u;)for(var f,d=a(arguments[u++]),p=l?i(d).concat(l(d)):i(d),m=p.length,v=0;m>v;)c.call(d,f=p[v++])&&(n[f]=d[f]);return n}:h},function(t,e){function n(t){if(t)return i(t)}function i(t){for(var e in n.prototype)t[e]=n.prototype[e];return t}t.exports=n,n.prototype.on=n.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},n.prototype.once=function(t,e){function n(){i.off(t,n),e.apply(this,arguments)}var i=this;return this._callbacks=this._callbacks||{},n.fn=e,this.on(t,n),this},n.prototype.off=n.prototype.removeListener=n.prototype.removeAllListeners=n.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n=this._callbacks[t];if(!n)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var i,r=0;ro&&(t=i(t)*o),n(e)>o&&(e=i(e)*o),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},r.prototype.getOffset=function(t,e){return this.cameraOffset},r.prototype.setArmLocation=function(t,e,n){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=n,this.calculateCameraOrientation()},r.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()},r.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},r.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())},r.prototype.getArmLength=function(){return this.armLength},r.prototype.getCameraLocation=function(){return this.cameraLocation},r.prototype.getCameraRotation=function(){return this.cameraRotation},r.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;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),n=this.cameraOffset.x,i=this.cameraOffset.y,r=Math.sin,o=Math.cos;this.cameraLocation.x=this.cameraLocation.x+n*o(e)+i*-r(e)*o(t),this.cameraLocation.y=this.cameraLocation.y+n*r(e)+i*o(e)*o(t),this.cameraLocation.z=this.cameraLocation.z+i*r(t)},t.exports=r},function(t,e,n){t.exports={default:n(103),__esModule:!0}},function(t,e,n){n(104),t.exports=n(17).Math.sign},function(t,e,n){var i=n(15);i(i.S,"Math",{sign:n(105)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){function i(t,e,n){this.data=t,this.column=e,this.graph=n,this.index=void 0,this.value=void 0,this.values=n.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:t0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,n.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var r=n(92);i.prototype.isLoaded=function(){return this.loaded},i.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},i.prototype.getLabel=function(){return this.graph.filterLabel},i.prototype.getColumn=function(){return this.column},i.prototype.getSelectedValue=function(){if(void 0!==this.index)return this.values[this.index]},i.prototype.getValues=function(){return this.values},i.prototype.getValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");return this.values[t]},i.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 n={};n.column=this.column,n.value=this.values[t];var i=new r(this.data,{filter:function(t){return t[n.column]==n.value}}).get();e=this.graph._getDataPoints(i),this.dataPoints[t]=e}return e},i.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},i.prototype.selectValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");this.index=t,this.value=this.values[t]},i.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},i.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},i.prototype.setIndex=function(t){if(!(tthis.values.length-1&&(i=this.values.length-1),i},i.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,n=t/(this.values.length-1)*e,i=n+3;return i},i.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,n=this.startSlideX+e,i=this.leftToIndex(n);this.setIndex(i),r.preventDefault()},i.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",r.removeEventListener(document,"mousemove",this.onmousemove),r.removeEventListener(document,"mouseup",this.onmouseup),r.preventDefault()},t.exports=i},function(t,e){function n(t,e,n,i){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,n,i)}n.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},n.prototype.setRange=function(t,e,n,i){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(n))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(n,i)},n.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=n.calculatePrettyStep(t):this._step=t)},n.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},n=Math.pow(10,Math.round(e(t))),i=2*Math.pow(10,Math.round(e(t/2))),r=5*Math.pow(10,Math.round(e(t/5))),o=n;return Math.abs(i-t)<=Math.abs(o-t)&&(o=i),Math.abs(r-t)<=Math.abs(o-t)&&(o=r),o<=0&&(o=1),o},n.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},n.prototype.getStep=function(){return this._step},n.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=n},function(t,e){function n(){this.min=void 0,this.max=void 0}n.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxn)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=n}},n.prototype.range=function(){return this.max-this.min},n.prototype.center=function(){return(this.min+this.max)/2},t.exports=n},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function o(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+o(e)}function a(t,e,n,i){var r,o;for(var a in n)r=n[a],o=s(i,r),e[o]=t[r]}function h(t,e,n,i){var r,o;for(var a in n)r=n[a],void 0!==t[r]&&(o=s(i,r),e[o]=t[r])}function u(t,e){if(void 0===t||r(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");O=t,a(t,e,M),a(t,e,k,"default"),c(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new S(0,0,-1)}function l(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===O||r(O))throw new Error("DEFAULTS not set for module Settings");h(t,e,M),h(t,e,k,"default"),c(t,e)}}function c(t,e){void 0!==t.backgroundColor&&v(t.backgroundColor,e),y(t.dataColor,e),m(t.style,e),f(t.showLegend,e),g(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick),void 0!==t.tooltipStyle&&x.selectiveDeepExtend(["tooltipStyle"],e,t)}function f(t,e){if(void 0===t){var n=void 0===O.showLegend;if(n){var i=e.style===T.DOTCOLOR||e.style===T.DOTSIZE;e.showLegend=i}}else e.showLegend=t}function d(t){var e=D[t];return void 0===e?-1:e}function p(t){var e=!1;for(var n in T)if(T[n]===t){e=!0;break}return e}function m(t,e){if(void 0!==t){var n;if("string"==typeof t){if(n=d(t),n===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!p(t))throw new Error("Style '"+t+"' is invalid");n=t}e.style=n}}function v(t,e){var n="white",i="gray",r=1;if("string"==typeof t)n=t,i="none",r=0;else{if("object"!==("undefined"==typeof t?"undefined":(0,w.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(n=t.fill),void 0!==t.stroke&&(i=t.stroke),void 0!==t.strokeWidth&&(r=t.strokeWidth)}e.frame.style.backgroundColor=n,e.frame.style.borderColor=i,e.frame.style.borderWidth=r+"px",e.frame.style.borderStyle="solid"}function y(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function g(t,e){var n=t;void 0!==n&&(void 0===e.camera&&(e.camera=new b),e.camera.setArmRotation(n.horizontal,n.vertical),e.camera.setArmLength(n.distance))}var _=n(62),w=i(_),x=n(1),b=n(101),S=n(99),T={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},D={dot:T.DOT,"dot-line":T.DOTLINE,"dot-color":T.DOTCOLOR,"dot-size":T.DOTSIZE,line:T.LINE,grid:T.GRID,surface:T.SURFACE,bar:T.BAR,"bar-color":T.BARCOLOR,"bar-size":T.BARSIZE},M=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],k=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],O=void 0;t.exports.STYLE=T,t.exports.setDefaults=u,t.exports.setOptions=l,t.exports.setCameraPosition=g},function(t,e,n){if("undefined"!=typeof window){var i=n(112),r=window.Hammer||n(113);t.exports=i(r,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,n){var i,r,o;!function(n){r=[],i=n,o="function"==typeof i?i.apply(e,r):i,!(void 0!==o&&(t.exports=o))}(function(){var t=null;return function e(n,i){function r(t){return t.match(/[^ ]+/g)}function o(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var n=!1;e.stopPropagation=function(){n=!0};var i=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof i&&(e.srcEvent.stopPropagation=function(){i(),e.stopPropagation()}),e.firstTarget=t;for(var r=t;r&&!n;){var o=r.hammer;if(o)for(var s,a=0;a0?u._handlers[t]=i:(n.off(t,o),delete u._handlers[t]))}),u},u.emit=function(e,i){t=i.target,n.emit(e,i)},u.destroy=function(){var t=n.element.hammer,e=t.indexOf(u);e!==-1&&t.splice(e,1),t.length||delete n.element.hammer,u._handlers={},n.destroy()},u}})},function(t,e,n){var i;/*! Hammer.JS - v2.0.7 - 2016-04-22 * http://hammerjs.github.io/ * * Copyright (c) 2016 Jorik Tangelder; * Licensed under the MIT license */ -!function(r,o,s,a){function h(t,e,n){return setTimeout(d(t,n),e)}function u(t,e,n){return!!Array.isArray(t)&&(l(t,n[e],n),!0)}function l(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),t.apply(this,arguments)}}function f(t,e,n){var i,r=e.prototype;i=t.prototype=Object.create(r),i.constructor=t,i._super=r,n&&mt(i,n)}function d(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,n){l(w(e),function(e){t.addEventListener(e,n,!1)})}function y(t,e,n){l(w(e),function(e){t.removeEventListener(e,n,!1)})}function g(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function _(t,e){return t.indexOf(e)>-1}function w(t){return t.trim().split(/\s+/g)}function x(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function T(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=Y(e):1===r&&(n.firstMultiple=!1);var o=n.firstInput,s=n.firstMultiple,a=s?s.center:o.center,h=e.center=R(i);e.timeStamp=xt(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=N(a,h),e.distance=W(a,h),P(n,e),e.offsetDirection=I(e.deltaX,e.deltaY);var u=A(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=wt(u.x)>wt(u.y)?u.x:u.y,e.scale=s?F(s.pointers,i):1,e.rotation=s?z(s.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,L(n,e);var l=t.element;g(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};e.eventType!==Rt&&o.eventType!==It||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function L(t,e){var n,i,r,o,s=t.lastInterval||e,h=e.timeStamp-s.timeStamp;if(e.eventType!=Wt&&(h>Yt||s.velocity===a)){var u=e.deltaX-s.deltaX,l=e.deltaY-s.deltaY,c=A(h,u,l);i=c.x,r=c.y,n=wt(c.x)>wt(c.y)?c.x:c.y,o=I(u,l),t.lastInterval=e}else n=s.velocity,i=s.velocityX,r=s.velocityY,o=s.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=o}function Y(t){for(var e=[],n=0;n=wt(e)?t<0?zt:Ft:e<0?jt:Gt}function W(t,e,n){n||(n=Ht);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function N(t,e,n){n||(n=Ht);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function z(t,e){return N(e[1],e[0],Xt)+N(t[1],t[0],Xt)}function F(t,e){return W(e[0],e[1],Xt)/W(t[0],t[1],Xt)}function j(){this.evEl=qt,this.evWin=$t,this.pressed=!1,k.apply(this,arguments)}function G(){this.evEl=Kt,this.evWin=te,k.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function B(){this.evTarget=ne,this.evWin=ie,this.started=!1,k.apply(this,arguments)}function V(t,e){var n=b(t.touches),i=b(t.changedTouches);return e&(It|Wt)&&(n=S(n.concat(i),"identifier",!0)),[n,i]}function U(){this.evTarget=oe,this.targetIds={},k.apply(this,arguments)}function H(t,e){var n=b(t.touches),i=this.targetIds;if(e&(Rt|At)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,s=b(t.changedTouches),a=[],h=this.target;if(o=n.filter(function(t){return g(t.target,h)}),e===Rt)for(r=0;r-1&&i.splice(t,1)};setTimeout(r,se)}}function $(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){n.manager.emit(e,t)}var n=this,i=this.state;i=we&&e(n.options.event+et(i))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=Se)},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return rt.prototype.attrTest.call(this,t)&&(this.state&ge||!(this.state&ge)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=nt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),f(st,rt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[de]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ge)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),f(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||t.eventType&(It|Wt)&&!r)this.reset();else if(t.eventType&Rt)this.reset(),this._timer=h(function(){this.state=xe,this.tryEmit()},e.time,this);else if(t.eventType&It)return xe;return Se},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===xe&&(t&&t.eventType&It?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=xt(),this.manager.emit(this.options.event,this._input)))}}),f(ht,rt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[de]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ge)}}),f(ut,rt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Bt|Vt,pointers:1},getTouchAction:function(){return ot.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(Bt|Vt)?e=t.overallVelocity:n&Bt?e=t.overallVelocityX:n&Vt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&wt(e)>this.options.velocity&&t.eventType&It},emit:function(t){var e=nt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),f(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[fe]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),t.apply(this,arguments)}}function f(t,e,n){var i,r=e.prototype;i=t.prototype=Object.create(r),i.constructor=t,i._super=r,n&&mt(i,n)}function d(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,n){l(w(e),function(e){t.addEventListener(e,n,!1)})}function y(t,e,n){l(w(e),function(e){t.removeEventListener(e,n,!1)})}function g(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function _(t,e){return t.indexOf(e)>-1}function w(t){return t.trim().split(/\s+/g)}function x(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function T(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=Y(e):1===r&&(n.firstMultiple=!1);var o=n.firstInput,s=n.firstMultiple,a=s?s.center:o.center,h=e.center=R(i);e.timeStamp=xt(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=W(a,h),e.distance=N(a,h),P(n,e),e.offsetDirection=I(e.deltaX,e.deltaY);var u=A(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=wt(u.x)>wt(u.y)?u.x:u.y,e.scale=s?F(s.pointers,i):1,e.rotation=s?z(s.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,L(n,e);var l=t.element;g(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};e.eventType!==Rt&&o.eventType!==It||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function L(t,e){var n,i,r,o,s=t.lastInterval||e,h=e.timeStamp-s.timeStamp;if(e.eventType!=Nt&&(h>Yt||s.velocity===a)){var u=e.deltaX-s.deltaX,l=e.deltaY-s.deltaY,c=A(h,u,l);i=c.x,r=c.y,n=wt(c.x)>wt(c.y)?c.x:c.y,o=I(u,l),t.lastInterval=e}else n=s.velocity,i=s.velocityX,r=s.velocityY,o=s.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=o}function Y(t){for(var e=[],n=0;n=wt(e)?t<0?zt:Ft:e<0?jt:Vt}function N(t,e,n){n||(n=Ht);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function W(t,e,n){n||(n=Ht);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function z(t,e){return W(e[1],e[0],Xt)+W(t[1],t[0],Xt)}function F(t,e){return N(e[0],e[1],Xt)/N(t[0],t[1],Xt)}function j(){this.evEl=qt,this.evWin=$t,this.pressed=!1,k.apply(this,arguments)}function V(){this.evEl=Kt,this.evWin=te,k.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=ne,this.evWin=ie,this.started=!1,k.apply(this,arguments)}function B(t,e){var n=b(t.touches),i=b(t.changedTouches);return e&(It|Nt)&&(n=S(n.concat(i),"identifier",!0)),[n,i]}function U(){this.evTarget=oe,this.targetIds={},k.apply(this,arguments)}function H(t,e){var n=b(t.touches),i=this.targetIds;if(e&(Rt|At)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,s=b(t.changedTouches),a=[],h=this.target;if(o=n.filter(function(t){return g(t.target,h)}),e===Rt)for(r=0;r-1&&i.splice(t,1)};setTimeout(r,se)}}function $(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){n.manager.emit(e,t)}var n=this,i=this.state;i=we&&e(n.options.event+et(i))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=Se)},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return rt.prototype.attrTest.call(this,t)&&(this.state&ge||!(this.state&ge)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=nt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),f(st,rt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[de]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ge)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),f(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||t.eventType&(It|Nt)&&!r)this.reset();else if(t.eventType&Rt)this.reset(),this._timer=h(function(){this.state=xe,this.tryEmit()},e.time,this);else if(t.eventType&It)return xe;return Se},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===xe&&(t&&t.eventType&It?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=xt(),this.manager.emit(this.options.event,this._input)))}}),f(ht,rt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[de]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ge)}}),f(ut,rt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Gt|Bt,pointers:1},getTouchAction:function(){return ot.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(Gt|Bt)?e=t.overallVelocity:n&Gt?e=t.overallVelocityX:n&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&wt(e)>this.options.velocity&&t.eventType&It},emit:function(t){var e=nt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),f(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[fe]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),d=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:d,border:a},hover:{background:d,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,d=(n-o)/n,h=n;return{h:a,s:d,v:h}};var v={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,h.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=v.split(t.style.cssText),n=v.split(i),s=e.extend(o,n);t.style.cssText=v.join(s)},e.removeCssText=function(t,e){var i=v.split(t.style.cssText),o=v.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=v.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,d=i*(1-e),h=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=d;break;case 1:o=h,n=i,s=d;break;case 2:o=d,n=i,s=l;break;case 3:o=d,n=h,s=i;break;case 4:o=l,n=d,s=i;break;case 5:o=i,n=d,s=h}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;r<=a&&s0)return"before"==o?Math.max(0,d-1):d;if(n(r,e)<0&&n(a,e)>0)return"before"==o?d:Math.min(t.length-1,d+1);n(r,e)<0?u=d+1:c=d-1,l++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,d=(0,s.default)(t);!(o=(a=d.next()).done);o=!0){var h=a.value;if(h){i=h[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),d=i(8),h=i(32),l=i(46),u=i(48),c=i(47)("iterator"),f=!([].keys&&"next"in[].keys()),p="@@iterator",v="keys",g="values",y=function(){return this};t.exports=function(t,e,i,m,b,_,w){h(i,e,m);var k,x,O,M=function(t){if(!f&&t in C)return C[t];switch(t){case v:return function(){return new i(this,t)};case g:return function(){return new i(this,t)}}return function(){return new i(this,t)}},S=e+" Iterator",E=b==g,D=!1,C=t.prototype,T=C[c]||C[p]||b&&C[b],P=T||M(b),B=b?E?M("entries"):P:void 0,F="Array"==e?C.entries||T:T;if(F&&(O=u(F.call(new t)),O!==Object.prototype&&(l(O,S,!0),o||a(O,c)||r(O,c,y))),E&&T&&T.name!==g&&(D=!0,P=function(){return T.call(this)}),o&&!w||!f&&!D&&C[c]||r(C,c,P),d[e]=P,d[S]=y,b)if(k={values:E?P:M(g),keys:_?P:M(v),entries:B},w)for(x in k)x in C||s(C,x,k[x]);else n(n.P+n.F*(f||D),e,k);return k}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",d=function(t,e,i){var h,l,u,c=t&d.F,f=t&d.G,p=t&d.S,v=t&d.P,g=t&d.B,y=t&d.W,m=f?n:n[e]||(n[e]={}),b=m[a],_=f?o:p?o[e]:(o[e]||{})[a];f&&(i=e);for(h in i)l=!c&&_&&void 0!==_[h],l&&h in m||(u=l?_[h]:i[h],m[h]=f&&"function"!=typeof _[h]?i[h]:g&&l?s(u,o):y&&_[h]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):v&&"function"==typeof u?s(Function.call,u):u,v&&((m.virtual||(m.virtual={}))[h]=u,t&d.R&&b&&!b[h]&&r(b,h,u)))};d.F=1,d.G=2,d.S=4,d.P=8,d.B=16,d.W=32,d.U=64,d.R=128,t.exports=d},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},d="prototype",h=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),h=t.F;o--;)delete h[d][s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[d]=o(t),i=new a,a[d]=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,d=0;a>d;)o.f(t,i=r[d++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),d=0,h=[];for(i in a)i!=r&&o(a,i)&&h.push(i);for(;e.length>d;)o(a,i=e[d++])&&(~s(h,i)||h.push(i));return h}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,d=o(e),h=n(d.length),l=s(r,h);if(t&&i!=i){for(;h>l;)if(a=d[l++],a!=a)return!0}else for(;h>l;l++)if((t||l in d)&&d[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),d=o(i),h=a.length;return d<0||d>=h?t?"":void 0:(s=a.charCodeAt(d),s<55296||s>56319||d+1===h||(r=a.charCodeAt(d+1))<56320||r>57343?t?a.charAt(d):s:t?a.slice(d,d+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),d="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===d(s.default)?function(t){return"undefined"==typeof t?"undefined":d(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":d(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),d=i(69).KEY,h=i(26),l=i(42),u=i(46),c=i(43),f=i(47),p=i(65),v=i(70),g=i(71),y=i(72),m=i(75),b=i(22),_=i(9),w=i(28),k=i(29),x=i(33),O=i(76),M=i(78),S=i(21),E=i(35),D=M.f,C=S.f,T=O.f,P=o.Symbol,B=o.JSON,F=B&&B.stringify,I="prototype",z=f("_hidden"),N=f("toPrimitive"),R={}.propertyIsEnumerable,A=l("symbol-registry"),j=l("symbols"),H=l("op-symbols"),L=Object[I],W="function"==typeof P,Y=o.QObject,U=!Y||!Y[I]||!Y[I].findChild,V=s&&h(function(){return 7!=x(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=D(L,e);o&&delete L[e],C(t,e,i),o&&t!==L&&C(L,e,o)}:C,q=function(t){var e=j[t]=x(P[I]);return e._k=t,e},G=W&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===L&&X(H,e,i),b(t),e=w(e,!0),b(i),n(j,e)?(i.enumerable?(n(t,z)&&t[z][e]&&(t[z][e]=!1),i=x(i,{enumerable:k(0,!1)})):(n(t,z)||C(t,z,k(1,{})),t[z][e]=!0),V(t,e,i)):C(t,e,i)},K=function(t,e){b(t);for(var i,o=y(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?x(t):K(x(t),e)},Q=function(t){var e=R.call(this,t=w(t,!0));return!(this===L&&n(j,t)&&!n(H,t))&&(!(e||!n(this,t)||!n(j,t)||n(this,z)&&this[z][t])||e)},$=function(t,e){if(t=_(t),e=w(e,!0),t!==L||!n(j,e)||n(H,e)){var i=D(t,e);return!i||!n(j,e)||n(t,z)&&t[z][e]||(i.enumerable=!0),i}},J=function(t){for(var e,i=T(_(t)),o=[],s=0;i.length>s;)n(j,e=i[s++])||e==z||e==d||o.push(e);return o},tt=function(t){for(var e,i=t===L,o=T(i?H:_(t)),s=[],r=0;o.length>r;)!n(j,e=o[r++])||i&&!n(L,e)||s.push(j[e]);return s};W||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===L&&e.call(H,i),n(this,z)&&n(this[z],t)&&(this[z][t]=!1),V(this,t,k(1,i))};return s&&U&&V(L,t,{configurable:!0,set:e}),q(t)},a(P[I],"toString",function(){return this._k}),M.f=$,S.f=X,i(77).f=O.f=J,i(74).f=Q,i(73).f=tt,s&&!i(14)&&a(L,"propertyIsEnumerable",Q,!0),p.f=function(t){return q(f(t))}),r(r.G+r.W+r.F*!W,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)f(et[it++]);for(var et=E(f.store),it=0;et.length>it;)v(et[it++]);r(r.S+r.F*!W,"Symbol",{for:function(t){return n(A,t+="")?A[t]:A[t]=P(t)},keyFor:function(t){if(G(t))return g(A,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){U=!0},useSimple:function(){U=!1}}),r(r.S+r.F*!W,"Object",{create:Z,defineProperty:X,defineProperties:K,getOwnPropertyDescriptor:$,getOwnPropertyNames:J,getOwnPropertySymbols:tt}),B&&r(r.S+r.F*(!W||h(function(){var t=P();return"[null]"!=F([t])||"{}"!=F({a:t})||"{}"!=F(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!G(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&m(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!G(e))return e}),o[1]=e,F.apply(B,o)}}}),P[I][N]||i(20)(P[I],N,P[I].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,d=Object.isExtensible||function(){return!0},h=!i(26)(function(){return d(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!d(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!d(t))return!0;if(!e)return!1;l(t)}return t[o].w},f=function(t){return h&&p.NEED&&d(t)&&!s(t,o)&&l(t),t},p=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:f}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,d=0;a>d;)if(s[i=r[d++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),d=s.f,h=0;a.length>h;)d.call(t,r=a[h++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),d=i(24),h=Object.getOwnPropertyDescriptor;e.f=i(25)?h:function(t,e){if(t=s(t),e=r(e,!0),d)try{return h(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(83)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return go.apply(null,arguments)}function i(t){go=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function d(t,e){var i,o=[];for(i=0;i0)for(i in bo)o=bo[i],n=e[o],g(n)||(t[o]=n);return t}function m(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function k(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function N(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function R(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function A(t){var e,i,o={};for(i in t)h(t,i)&&(e=R(i),e&&(o[e]=t[i]));return o}function j(t,e){Bo[t]=e}function H(t){var e=[];for(var i in t)e.push({unit:i,priority:Bo[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function L(t,i){return function(o){return null!=o?(Y(this,t,o),e.updateOffset(this,i),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Y(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function U(t){return t=R(t),S(this[t])?this[t]():this}function V(t,e){if("object"==typeof t){t=A(t);for(var i=H(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function G(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(No[t]=n),e&&(No[e[0]]=function(){return q(n.apply(this,arguments),e[1],e[2])}),i&&(No[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function K(t){var e,i,o=t.match(Fo);for(e=0,i=o.length;e=0&&Io.test(t);)t=t.replace(Io,i),Io.lastIndex=0,o-=1;return t}function $(t,e,i){tn[t]=S(e)?e:function(t,o){return t&&i?i:e}}function J(t,e){return h(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function kt(t,e,i,o,n){var s,r,a=(7+i-o)%7,d=wt(t,o,n),h=1+7*(e-1)+a+d;return h<=0?(s=t-1,r=gt(s)+h):h>gt(t)?(s=t+1,r=h-gt(t)):(s=t,r=h),{year:s,dayOfYear:r}}function xt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+Ot(n,e,i)):r>Ot(t.year(),e,i)?(o=r-Ot(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function Ot(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function Mt(t){return xt(t,this._week.dow,this._week.doy).week}function St(){return this._week.dow}function Et(){return this._week.doy}function Dt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ct(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Bt(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Ft(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function It(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function zt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Nt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return zt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Rt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function At(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function jt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ht(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=xn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Lt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=On),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Mn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],d=[],h=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),d.push(s),h.push(o),h.push(n),h.push(s);for(r.sort(t),a.sort(t),d.sort(t),h.sort(t),e=0;e<7;e++)a[e]=et(a[e]),d[e]=et(d[e]),h[e]=et(h[e]);this._weekdaysRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Ut(){return this.hours()%12||12}function Vt(){return this.hours()||24}function qt(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Gt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Kt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,i,o,n,s=0;s0;){if(o=$t(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&k(n,i,!0)>=e-1)break;e--}s++}return null}function $t(e){var i=null;if(!Tn[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Sn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Jt(i)}catch(t){}return Tn[e]}function Jt(t,e){var i;return t&&(i=g(e)?ie(t):te(t,e),i&&(Sn=i)),Sn._abbr}function te(t,e){if(null!==e){var i=Cn;if(e.abbr=t,null!=Tn[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=Tn[t]._config;else if(null!=e.parentLocale){if(null==Tn[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=Tn[e.parentLocale]._config}return Tn[t]=new C(D(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),Jt(t),Tn[t]}return delete Tn[t],null}function ee(t,e){if(null!=e){var i,o=Cn;null!=Tn[t]&&(o=Tn[t]._config),e=D(o,e),i=new C(e),i.parentLocale=Tn[t],Tn[t]=i,Jt(t)}else null!=Tn[t]&&(null!=Tn[t].parentLocale?Tn[t]=Tn[t].parentLocale:null!=Tn[t]&&delete Tn[t]);return Tn[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Sn;if(!o(t)){if(e=$t(t))return e;t=[t]}return Qt(t)}function oe(){return Oo(Tn)}function ne(t){var e,i=t._a;return i&&f(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[dn]||0!==i[hn])?rn:i[an]<0||i[an]>59?an:i[dn]<0||i[dn]>59?dn:i[hn]<0||i[hn]>999?hn:-1,f(t)._overflowDayOfYear&&(esn)&&(e=sn),f(t)._overflowWeeks&&e===-1&&(e=ln),f(t)._overflowWeekday&&e===-1&&(e=un),f(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,d=Bn.exec(a)||Fn.exec(a);if(d){for(f(t).iso=!0,e=0,i=zn.length;egt(n)&&(f(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[dn]&&0===t._a[hn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,d;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],xt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(d=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var h=xt(be(),s,r);i=ae(e.gg,t._a[on],h.year),o=ae(e.w,h.week),null!=e.d?(n=e.d,(n<0||n>6)&&(d=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(d=!0)):n=s}o<1||o>Ot(i,s,r)?f(t)._overflowWeeks=!0:null!=d?f(t)._overflowWeekday=!0:(a=kt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],f(t).empty=!0;var i,o,n,s,r,a=""+t._i,d=a.length,h=0;for(n=Q(t._f,t._locale).match(Fo)||[],i=0;i0&&f(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),h+=o.length),No[s]?(o?f(t).empty=!1:f(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&f(t).unusedTokens.push(s);f(t).charsLeftOver=d-h,a.length>0&&f(t).unusedInput.push(a),t._a[rn]<=12&&f(t).bigHour===!0&&t._a[rn]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[rn]=ce(t._locale,t._a[rn],t._meridiem),he(t),ne(t)}function ce(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function fe(t){var e,i,o,n,s;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Re(){if(!g(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ge(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&k(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ae(){return!!this.isValid()&&!this._isUTC}function je(){return!!this.isValid()&&this._isUTC}function He(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Le(t,e){var i,o,n,s=t,a=null;return Oe(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[dn])*i,ms:w(Me(1e3*a[hn]))*i}):(a=Yn.exec(t))?(i="-"===a[1]?-1:1,s={y:We(a[2],i),M:We(a[3],i),w:We(a[4],i),d:We(a[5],i),h:We(a[6],i),m:We(a[7],i),s:We(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Ue(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new xe(s),Oe(t)&&h(t,"_locale")&&(o._locale=t._locale),o}function We(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Ye(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Ue(t,e){var i;return t.isValid()&&e.isValid()?(e=De(e,t),t.isBefore(e)?i=Ye(t,e):(i=Ye(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ve(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Le(i,o),qe(this,n,t),this}}function qe(t,i,o,n){var s=i._milliseconds,r=Me(i._days),a=Me(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&Y(t,"Date",W(t,"Date")+r*o),a&<(t,W(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function Ge(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=De(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ke(){return new m(this)}function Ze(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=R(g(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Bi.call(this,t,e,i,o,n))}function Bi(t,e,i,o,n){var s=kt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Fi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ii(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function zi(t,e){e[hn]=w(1e3*("0."+t))}function Ni(){return this._isUTC?"UTC":""}function Ri(){return this._isUTC?"Coordinated Universal Time":""}function Ai(t){return be(1e3*t)}function ji(){return be.apply(null,arguments).parseZone()}function Hi(t){return t}function Li(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Wi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Li(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Li(t,o,i,"month");return n}function Yi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Li(e,(i+s)%7,o,"day");var a,d=[];for(a=0;a<7;a++)d[a]=Li(e,(a+s)%7,o,"day");return d}function Ui(t,e){return Wi(t,e,"months")}function Vi(t,e){return Wi(t,e,"monthsShort")}function qi(t,e,i){return Yi(t,e,i,"weekdays")}function Gi(t,e,i){return Yi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Yi(t,e,i,"weekdaysMin")}function Ki(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Zi(t,e,i,o){var n=Le(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Qi(t,e){return Zi(this,t,e,1)}function $i(t,e){return Zi(this,t,e,-1)}function Ji(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,d=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*Ji(io(a)+r),r=0,a=0),d.milliseconds=s%1e3,t=_(s/1e3),d.seconds=t%60,e=_(t/60),d.minutes=e%60,i=_(e/60),d.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=Ji(io(n)),o=_(a/12),a%=12,d.days=r,d.months=a,d.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800}function oo(t){var e,i,o=this._milliseconds;if(t=R(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e),"month"===t?i:i/12; -switch(e=this._days+Math.round(io(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=R(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=Le(t).abs(),n=gs(o.as("s")),s=gs(o.as("m")),r=gs(o.as("h")),a=gs(o.as("d")),d=gs(o.as("M")),h=gs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function co(t){return void 0===t?gs:"function"==typeof t&&(gs=t,!0)}function fo(t,e){return void 0!==ys[t]&&(void 0===e?ys[t]:(ys[t]=e,!0))}function po(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function vo(){var t,e,i,o=ms(this._milliseconds)/1e3,n=ms(this._days),s=ms(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,d=n,h=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(d?d+"D":"")+(h||l||u?"T":"")+(h?h+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var go,yo;yo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var mn=L("FullYear",!0);G("w",["ww",2],"wo","week"),G("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),j("week",5),j("isoWeek",5),$("w",Wo),$("ww",Wo,Ao),$("W",Wo),$("WW",Wo,Ao),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};G("d",0,"do","day"),G("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),G("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),G("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),G("e",0,0,"weekday"),G("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),$("d",Wo),$("e",Wo),$("E",Wo),$("dd",function(t,e){return e.weekdaysMinRegex(t)}),$("ddd",function(t,e){return e.weekdaysShortRegex(t)}),$("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:f(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),kn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),xn=Jo,On=Jo,Mn=Jo;G("H",["HH",2],0,"hour"),G("h",["hh",2],0,Ut),G("k",["kk",2],0,Vt),G("hmm",0,0,function(){return""+Ut.apply(this)+q(this.minutes(),2)}),G("hmmss",0,0,function(){return""+Ut.apply(this)+q(this.minutes(),2)+q(this.seconds(),2)}),G("Hmm",0,0,function(){return""+this.hours()+q(this.minutes(),2)}),G("Hmmss",0,0,function(){return""+this.hours()+q(this.minutes(),2)+q(this.seconds(),2)}),qt("a",!0),qt("A",!1),N("hour","h"),j("hour",13),$("a",Gt),$("A",Gt),$("H",Wo),$("h",Wo),$("HH",Wo,Ao),$("hh",Wo,Ao),$("hmm",Yo),$("hmmss",Uo),$("Hmm",Yo),$("Hmmss",Uo),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),f(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),f(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[dn]=w(t.substr(n)),f(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[dn]=w(t.substr(n))});var Sn,En=/[ap]\.?m?\.?/i,Dn=L("Hours",!0),Cn={calendar:Mo,longDateFormat:So,invalidDate:Eo,ordinal:Do,ordinalParse:Co,relativeTime:To,months:pn,monthsShort:vn,week:bn,weekdays:_n,weekdaysMin:kn,weekdaysShort:wn,meridiemParse:En},Tn={},Pn={},Bn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Fn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,In=/Z|[+-]\d\d(?::?\d\d)?/,zn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Nn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Rn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=O("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var An=O("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:v()}),Hn=function(){return Date.now?Date.now():+new Date};Se("Z",":"),Se("ZZ",""),$("Z",Qo),$("ZZ",Qo),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Ee(Qo,t)});var Ln=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Wn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Yn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Le.fn=xe.prototype;var Un=Ve(1,"add"),Vn=Ve(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var qn=O("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Si("gggg","weekYear"),Si("ggggg","weekYear"),Si("GGGG","isoWeekYear"),Si("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),$("G",Ko),$("g",Ko),$("GG",Wo,Ao),$("gg",Wo,Ao),$("GGGG",qo,Ho),$("gggg",qo,Ho),$("GGGGG",Go,Lo),$("ggggg",Go,Lo),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),N("quarter","Q"),j("quarter",7),$("Q",Ro),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),G("D",["DD",2],"Do","date"),N("date","D"),j("date",9),$("D",Wo),$("DD",Wo,Ao),$("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(Wo)[0],10)});var Gn=L("Date",!0);G("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),j("dayOfYear",4),$("DDD",Vo),$("DDDD",jo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),G("m",["mm",2],0,"minute"),N("minute","m"),j("minute",14),$("m",Wo),$("mm",Wo,Ao),it(["m","mm"],an);var Xn=L("Minutes",!1);G("s",["ss",2],0,"second"),N("second","s"),j("second",15),$("s",Wo),$("ss",Wo,Ao),it(["s","ss"],dn);var Kn=L("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),j("millisecond",16),$("S",Vo,Ro),$("SS",Vo,Ao),$("SSS",Vo,jo);var Zn;for(Zn="SSSS";Zn.length<=9;Zn+="S")$(Zn,Xo);for(Zn="S";Zn.length<=9;Zn+="S")it(Zn,zi);var Qn=L("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var $n=m.prototype;$n.add=Un,$n.calendar=Xe,$n.clone=Ke,$n.diff=ii,$n.endOf=vi,$n.format=ai,$n.from=di,$n.fromNow=hi,$n.to=li,$n.toNow=ui,$n.get=U,$n.invalidAt=Oi,$n.isAfter=Ze,$n.isBefore=Qe,$n.isBetween=$e,$n.isSame=Je,$n.isSameOrAfter=ti,$n.isSameOrBefore=ei,$n.isValid=ki,$n.lang=qn,$n.locale=ci,$n.localeData=fi,$n.max=jn,$n.min=An,$n.parsingFlags=xi,$n.set=V,$n.startOf=pi,$n.subtract=Vn,$n.toArray=bi,$n.toObject=_i,$n.toDate=mi,$n.toISOString=si,$n.inspect=ri,$n.toJSON=wi,$n.toString=ni,$n.unix=yi,$n.valueOf=gi,$n.creationData=Mi,$n.year=mn,$n.isLeapYear=mt,$n.weekYear=Ei,$n.isoWeekYear=Di,$n.quarter=$n.quarters=Fi,$n.month=ut,$n.daysInMonth=ct,$n.week=$n.weeks=Dt,$n.isoWeek=$n.isoWeeks=Ct,$n.weeksInYear=Ti,$n.isoWeeksInYear=Ci,$n.date=Gn,$n.day=$n.days=Rt,$n.weekday=At,$n.isoWeekday=jt,$n.dayOfYear=Ii,$n.hour=$n.hours=Dn,$n.minute=$n.minutes=Xn,$n.second=$n.seconds=Kn,$n.millisecond=$n.milliseconds=Qn,$n.utcOffset=Te,$n.utc=Be,$n.local=Fe,$n.parseZone=Ie,$n.hasAlignedHourOffset=ze,$n.isDST=Ne,$n.isLocal=Ae,$n.isUtcOffset=je,$n.isUtc=He,$n.isUTC=He,$n.zoneAbbr=Ni,$n.zoneName=Ri,$n.dates=O("dates accessor is deprecated. Use date instead.",Gn),$n.months=O("months accessor is deprecated. Use month instead",ut),$n.years=O("years accessor is deprecated. Use year instead",mn),$n.zone=O("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),$n.isDSTShifted=O("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Re);var Jn=C.prototype;Jn.calendar=T,Jn.longDateFormat=P,Jn.invalidDate=B,Jn.ordinal=F,Jn.preparse=Hi,Jn.postformat=Hi,Jn.relativeTime=I,Jn.pastFuture=z,Jn.set=E,Jn.months=rt,Jn.monthsShort=at,Jn.monthsParse=ht,Jn.monthsRegex=pt,Jn.monthsShortRegex=ft,Jn.week=Mt,Jn.firstDayOfYear=Et,Jn.firstDayOfWeek=St,Jn.weekdays=Bt,Jn.weekdaysMin=It,Jn.weekdaysShort=Ft,Jn.weekdaysParse=Nt,Jn.weekdaysRegex=Ht,Jn.weekdaysShortRegex=Lt,Jn.weekdaysMinRegex=Wt,Jn.isPM=Xt,Jn.meridiem=Kt,Jt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=O("moment.lang is deprecated. Use moment.locale instead.",Jt),e.langData=O("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),ds=so("y"),hs=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),cs=ao("hours"),fs=ao("days"),ps=ao("months"),vs=ao("years"),gs=Math.round,ys={s:45,m:45,h:22,d:26,M:11},ms=Math.abs,bs=xe.prototype;return bs.abs=Ki,bs.add=Qi,bs.subtract=$i,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=ds,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=hs,bs.seconds=ls,bs.minutes=us,bs.hours=cs,bs.days=fs,bs.weeks=ho,bs.months=ps,bs.years=vs,bs.humanize=po,bs.toISOString=vo,bs.toString=vo,bs.toJSON=vo,bs.locale=ci,bs.localeData=fi,bs.toIsoString=O("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",vo),bs.lang=qn,G("X",0,0,"unix"),G("x",0,0,"valueOf"),$("x",Ko),$("X",$o),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=$n,e.min=we,e.max=ke,e.now=Hn,e.utc=u,e.unix=Ai,e.months=Ui,e.isDate=a,e.locale=Jt,e.invalid=v,e.duration=Le,e.isMoment=b,e.weekdays=qi,e.parseZone=ji,e.localeData=ie,e.isDuration=Oe,e.monthsShort=Vi,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=Gi,e.normalizeUnits=R,e.relativeTimeRounding=co,e.relativeTimeThreshold=fo,e.calendarFormat=Ge,e.prototype=$n,e})}).call(e,i(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=85},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:v,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),d=void 0!==t.nsecs?t.nsecs:y+1,h=a-g+(d-y)/1e4;if(h<0&&void 0===t.clockseq&&(r=r+1&16383),(h<0||a>g)&&void 0===t.nsecs&&(d=0),d>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,y=d,v=r,a+=122192928e5;var l=(1e4*(268435455&a)+d)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||p,f=0;f<6;f++)s[n+f]=c[f];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var d=new Uint8Array(16);r=function(){return crypto.getRandomValues(d),d}}if(!r){var h=new Array(16);r=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),h[e]=t>>>((3&e)<<3)&255;return h}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var f=r(),p=[1|f[0],f[1],f[2],f[3],f[4],f[5]],v=16383&(f[6]<<8|f[7]),g=0,y=0,m=s;m.v1=n,m.v4=s,m.parse=i,m.unparse=o,t.exports=m}).call(e,function(){return this}())},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var d=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(d.textContent=r.content),r.className&&d.setAttributeNS(null,"class",r.className+" vis-label"),d.setAttributeNS(null,"x",t),d.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,d){if(0!=n){n<0&&(n*=-1,i-=n);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*o),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",o),h.setAttributeNS(null,"height",n),h.setAttributeNS(null,"class",s),d&&h.setAttributeNS(null,"style",d)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=d,r=h)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var s=i(58),r=o(s),a=i(1),d=i(88);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;o0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e.default=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(102),h=o(d),l=i(103),u=o(l),c=i(1),f=i(88),p=i(92),v=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(h.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(t instanceof f||t instanceof p)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new f,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new f}if(i&&c.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var o=this;c.forEach(this.nodesListeners,function(t,e){o.body.data.nodes.on(e,t)});var n=this.body.data.nodes.getIds();this.add(n,!0)}e===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:h.default;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){for(var i=0;it.left&&this.shape.topt.top; -}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(L.selectiveNotDeepExtend(n,t,e,i),L.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=L.parseColor(e.color);L.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=L.bridgeObject(o.color));void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&null!==e.font?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=L.bridgeObject(o.font)),void 0!==e.scaling&&L.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(2),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,f.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=p.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,h.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=p.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=p.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=p.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===("undefined"==typeof a?"undefined":(0,h.default)(a))){var d=p.topMost(o,["heightConstraint","minimum"]);"number"==typeof d&&(this.fontOptions.minHgt=Number(d));var l=p.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=p.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var d,h=(0,a.default)(o);!(n=(d=h.next()).done);n=!0){var l=d.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*f}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(p)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&h.return&&h.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,d=a*this.body.view.scale;d>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,l=this._setAlignment(t,o,h,r),u=(0,s.default)(l,2);o=u[0],h=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(h-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(h+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=v.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=m,v.strokeWidth>0&&t.strokeText(v.text,o+f,h+v.vadjust),t.fillText(v.text,o+f,h+v.vadjust),f+=v.width}h+=this.lines[c].height}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=p.overrideOpacity(o,s),n=p.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,d,h){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:d,strokeColor:h})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,d,h){this.add(t,e,i,o,n,s,r,a,d,h),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),d=a.length;if(this.elementOptions.font.multi)for(var h=0;h0)for(var v=this.getFormattingValues(t,e,i,l[p].mod),g=l[p].text.split(" "),y=!0,m="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=v.height>c?v.height:c,s.add(r,m,v.font,v.color,_.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,_.width,c),m="",y=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(m=m+k+g[w],w===g.length-1&&(c=v.height>c?v.height:c,u+=b.width,s.add(r,m,v.font,v.color,b.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,b.width,c),p===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,y=!1)}else{var x=this.getFormattingValues(t,e,i,l[p].mod),O=t.measureText(l[p].text);s.addAndAccumulate(r,l[p].text,x.font,x.color,O.width,x.height,x.vadjust,l[p].mod,x.strokeWidth,x.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===p&&(n+=s[r].height,r++)}}}else for(var M=0;M0)for(var E=a[M].split(" "),D="",C={width:0},T=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=T.width?(s.addAndAccumulate(r,D,S.font,S.color,T.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,D="",r++):(D=D+B+E[P],P===E.length-1&&(s.addAndAccumulate(r,D,S.font,S.color,C.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var F=a[M],I=t.measureText(F);s.addAndAccumulate(r,F,S.font,S.color,I.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2],t.vadjust=0}else"object"===(0,h.default)(e.font)&&p.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(105),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,d=(0,a.default)(t);!(o=(r=d.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&d.return&&d.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(106),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(107)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(v.default);e.default=g},function(t,e,i){t.exports={default:i(110),__esModule:!0}},function(t,e,i){i(111),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(62),s=o(n);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"==typeof e?"undefined":(0,s.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(114),s=o(n),r=i(55),a=o(r),d=i(62),h=o(d);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,h.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(115),__esModule:!0}},function(t,e,i){i(116),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(117).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,h.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n.selected=!1,n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"setOptions",value:function(t,e,i){this.options=t,this.setImages(e,i)}},{key:"setImages",value:function(t,e){t&&(this.imageObj=t,e&&(this.imageObjAlt=e))}},{key:"switchImages",value:function(t){if(t&&!this.selected||!t&&this.selected){var e=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=e}this.selected=t}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,d=1;i>2&&d<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,d+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var d=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return d.setImages(n,r),d._swapToImageResizeWhenImageLoaded=!0,d}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.imageObjAlt&&this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor, -t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var d=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,d),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),d>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var h=n+.5*this.height+3;this.labelModule.draw(t,o,h,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){var r=5;this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+r,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var d=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return d.setImages(n,r),d}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.imageObjAlt&&this.switchImages(o),this.selected=o,this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,d=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,d),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),d>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.printStyle=void 0;var n=i(89),s=o(n),r=i(62),a=o(r),d=i(58),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=!1,g=void 0,y="background: #FFeeee; color: #dd0000",m=function(){function t(){(0,u.default)(this,t)}return(0,f.default)(t,null,[{key:"validate",value:function(e,i,o){v=!1,g=i;var n=i;return void 0!==o&&(n=i[o]),t.parse(e,n,[]),v}},{key:"parse",value:function(e,i,o){for(var n in e)e.hasOwnProperty(n)&&t.check(n,e,i,o)}},{key:"check",value:function(e,i,o,n){void 0===o[e]&&void 0===o.__any__?t.getSuggestion(e,o,n):void 0===o[e]&&void 0!==o.__any__?"object"===t.getType(i[e])&&void 0!==o.__any__.__type__?t.checkFields(e,i,o,"__any__",o.__any__.__type__,n):t.checkFields(e,i,o,"__any__",o.__any__,n):void 0!==o[e].__type__?t.checkFields(e,i,o,e,o[e].__type__,n):t.checkFields(e,i,o,e,o[e],n)}},{key:"checkFields",value:function(e,i,o,n,s,r){var a=t.getType(i[e]),d=s[a];void 0!==d?"array"===t.getType(d)&&d.indexOf(i[e])===-1?(console.log('%cInvalid option detected in "'+e+'". Allowed values are:'+t.print(d)+' not "'+i[e]+'". '+t.printLocation(r,e),y),v=!0):"object"===a&&"__any__"!==n&&(r=p.copyAndExtendArray(r,e),t.parse(i[e],o[n],r)):void 0===s.any&&(console.log('%cInvalid type received for "'+e+'". Expected: '+t.print((0,h.default)(s))+". Received ["+a+'] "'+i[e]+'"'+t.printLocation(r,e),y),v=!0)}},{key:"getType",value:function(t){var e="undefined"==typeof t?"undefined":(0,a.default)(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":void 0!==t.nodeType?"dom":t._isAMomentObject===!0?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,o){var n=t.findInOptions(e,i,o,!1),s=t.findInOptions(e,g,[],!0),r=8,a=4;void 0!==n.indexMatch?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+n.indexMatch+'"?\n\n',y):s.distance<=a&&n.distance>s.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),y):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),y):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,h.default)(i))+t.printLocation(o,e),y),v=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],d=e.toLowerCase(),h=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],p.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,h=c.indexMatch)}else l.toLowerCase().indexOf(d)!==-1&&(h=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=p.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:h}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof f||t instanceof p)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new f,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new f}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.shape.height?(r=i.x+.5*i.shape.width,a=i.y-d):(r=i.x+d,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,d,.125),this.labelModule.draw(t,s.x,s.y,n,this.hover)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,d=this.edgeType.getDistanceToEdge(i,o,n,s,r,a); -return d0&&i<0)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,h.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var d=!1;void 0!==e.color.color&&(t.color.color=e.color.color,d=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,d=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,d=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&d===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?v.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=M},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(138),y=o(g),m=function(t){function e(t,i,o){return(0,h.default)(this,e),(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,v.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),d=(0,s.default)(a,2),h=d[0],l=d[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,h,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3);var d=a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,h=a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y;return{x:d,y:h}}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var d=1e9,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=t,v=e,g=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,g[0]=Math.pow(1-u,3),g[1]=3*u*Math.pow(1-u,2),g[2]=3*Math.pow(u,2)*(1-u),g[3]=Math.pow(u,3),c=g[0]*t+g[1]*r.x+g[2]*a.x+g[3]*i,f=g[0]*e+g[1]*r.y+g[2]*a.y+g[3]*o,l>0&&(h=this._getDistanceToLine(p,v,c,f,n,s),d=h2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),d=10,h=0,l=0,u=1,c=.2,f=this.to,p=!1;for(t.id===this.from.id&&(f=this.from,p=!0);l<=u&&h0&&(d=this._getDistanceToLine(f,p,u,c,n,s),a=do.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,d=10,h=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,f=void 0,p=void 0,v=void 0,g=.05,y=.5*(s+r);s<=r&&h0?a>0?s=y:r=y:a>0?r=y:s=y,h++;return u.t=y,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,d){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],f=u[1],p=u[2],v=c-n,g=f-r;h=Math.abs(Math.sqrt(v*v+g*g)-p)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,d=r*r+a*a,h=((n-t)*r+(s-e)*a)/d;h>1?h=1:h<0&&(h=0);var l=t+h*r,u=e+h*a,c=l-n,f=u-s;return Math.sqrt(c*c+f*f)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,d=void 0,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=r.width;if("from"===e?(h=this.from,l=this.to,u=.1,c=r.fromArrowScale,f=r.fromArrowType):"to"===e?(h=this.to,l=this.from,u=-.1,c=r.toArrowScale,f=r.toArrowType):(h=this.to,l=this.from,c=r.middleArrowScale,f=r.middleArrowType),h!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){d=this.findBorderPosition(h,t,{via:i});var v=this.getPoint(Math.max(0,Math.min(1,d.t+u)),i);a=Math.atan2(d.y-v.y,d.x-v.x)}else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.findBorderPosition(h,t);else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.getPoint(.5,i);else{var g=this._getCircleData(t),y=(0,s.default)(g,3),m=y[0],b=y[1],_=y[2];"from"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.25,high:.6,direction:-1}),a=d.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.6,high:1,direction:1}),a=d.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(d=this._pointOnCircle(m,b,_,.175),a=3.9269908169872414)}var w=15*c+3*p,k=d.x-.9*w*Math.cos(a),x=d.y-.9*w*Math.sin(a),O={x:k,y:x};return{point:d,core:O,angle:a,length:w,type:f}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(139),y=o(g),m=function(t){function e(t,i,o){(0,h.default)(this,e);var n=(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,v.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),d=a[0],h=a[1],l=a[2],u=2*Math.PI*(1-i);o=d+l*Math.sin(u),n=h+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=nMath.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=sMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(140),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),d=t.distanceToBorder(e,n),h=(a-d)/a,l={};return l.x=(1-h)*o.x+h*i.x,l.y=(1-h)*o.y+h*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(145),u=o(l),c=i(146),f=o(c),p=i(147),v=o(p),g=i(148),y=o(g),m=i(149),b=o(m),_=i(150),w=o(_),k=i(151),x=o(k),O=i(152),M=o(O),S=i(1),E=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},S.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,h.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,S.selectiveNotDeepExtend(["stabilization"],this.options,t),S.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new x.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new M.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new f.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new v.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick();var e=Date.now()-t;(e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var t=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=t*this.timestep:this.timestep/ts))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;se?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var d=this.modelOptions.damping*s[t].y,h=(n[t].y-d)/i.options.mass;s[t].y+=h*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"), -this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;s0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,d=1;d0&&(hr&&(r=h),la&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,f=Math.max(c,Math.abs(r-n)),p=.5*f,v=.5*(n+r),g=.5*(s+a),y={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:g-p,maxY:g+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(y.root);for(var m=0;m0&&this._placeInTree(y.root,i);return y}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e.default=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,d=this.body.nodes,h=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,f=4/3,p=0;p0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(154),f=o(c),p=i(155),v=o(p),g=i(1),y=function(){function t(e){var i=this;(0,h.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},g.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=0;u0&&(0,s.default)(p).length>0&&g===!0&&o.push({nodes:c,edges:p})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,d=f.default.cloneOptions(o);n[a]=o;for(var h=0;h-1&&(r[y.id]=y)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=(0,s.default)(t),c=[],p=0;p0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=g.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var d in t)if(t.hasOwnProperty(d)){var h=f.default.cloneOptions(t[d]);a.push(h)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=f.default.cloneOptions(e[u],"edge");l.push(c)}if(r=i.processProperties(r,a,l),!r)throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+g.randomUUID());var p=r.id;void 0===r.label&&(r.label="cluster");var y=void 0;void 0===r.x&&(y=this._getClusterPosition(t),r.x=y.x),void 0===r.y&&(void 0===y&&(y=this._getClusterPosition(t)),r.y=y.y),r.id=p;var m=this.body.functions.createNode(r,v.default);m.isCluster=!0,m.containedNodes=t,m.containedEdges=e,m.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=m,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,d=1;do?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var h=this.body.nodes[d];r[d]={x:h.x,y:h.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var p in n)if(n.hasOwnProperty(p)){var v=this.body.nodes[p];v=n[p],v.options.fixed.x===!1&&(v.x=o.x),v.options.fixed.y===!1&&(v.y=o.y)}for(var y in n)if(n.hasOwnProperty(y)){var m=this.body.nodes[y];m.vx=o.vx,m.vy=o.vy,m.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[y]}for(var b=[],_=0;_o&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),d=Math.floor(t+2*a);return d>o&&(d=o),d}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(1),h=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];d.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),d=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),h={top:a.y,left:a.x,bottom:d.y,right:d.x -},l=0;l0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new d(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_ALL}),h.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new d(this.frame),h.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),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=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){if("undefined"!=typeof window){var o=i(159),n=window.Hammer||i(160);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?h._handlers[t]=o:(i.off(t,s),delete h._handlers[t]))}),h},h.emit=function(e,o){t=o.target,i.emit(e,o)},h.destroy=function(){var t=i.element.hammer,e=t.indexOf(h);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,h._handlers={},i.destroy()},h}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 +"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(87),e.DataSet=i(88),e.DataView=i(92),e.Queue=i(91),e.Network=i(93),e.network={Images:i(94),dotparser:i(177),gephiParser:i(178),allOptions:i(172)},e.network.convertDot=function(t){return e.network.dotparser.DOTToGraph(t)},e.network.convertGephi=function(t,i){return e.network.gephiParser.parseGephi(t,i)},e.moment=i(82),e.Hammer=i(158),e.keycharm=i(165)},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}var n=i(2),s=o(n),r=i(55),a=o(r),d=i(58),h=o(d),l=i(62),u=o(l),c=i(82),f=i(86);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=p.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return f.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,u.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),d=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:d,border:a},hover:{background:d,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,d=(n-o)/n,h=n;return{h:a,s:d,v:h}};var v={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,h.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=v.split(t.style.cssText),n=v.split(i),s=e.extend(o,n);t.style.cssText=v.join(s)},e.removeCssText=function(t,e){var i=v.split(t.style.cssText),o=v.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=v.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,d=i*(1-e),h=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=d;break;case 1:o=h,n=i,s=d;break;case 2:o=d,n=i,s=l;break;case 3:o=d,n=h,s=i;break;case 4:o=l,n=d,s=i;break;case 5:o=i,n=d,s=h}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;r<=a&&s0)return"before"==o?Math.max(0,d-1):d;if(n(r,e)<0&&n(a,e)>0)return"before"==o?d:Math.min(t.length-1,d+1);n(r,e)<0?u=d+1:c=d-1,l++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,d=(0,s.default)(t);!(o=(a=d.next()).done);o=!0){var h=a.value;if(h){i=h[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),d=i(8),h=i(32),l=i(46),u=i(48),c=i(47)("iterator"),f=!([].keys&&"next"in[].keys()),p="@@iterator",v="keys",g="values",y=function(){return this};t.exports=function(t,e,i,m,b,_,w){h(i,e,m);var k,x,O,M=function(t){if(!f&&t in C)return C[t];switch(t){case v:return function(){return new i(this,t)};case g:return function(){return new i(this,t)}}return function(){return new i(this,t)}},S=e+" Iterator",E=b==g,D=!1,C=t.prototype,T=C[c]||C[p]||b&&C[b],P=T||M(b),F=b?E?M("entries"):P:void 0,B="Array"==e?C.entries||T:T;if(B&&(O=u(B.call(new t)),O!==Object.prototype&&(l(O,S,!0),o||a(O,c)||r(O,c,y))),E&&T&&T.name!==g&&(D=!0,P=function(){return T.call(this)}),o&&!w||!f&&!D&&C[c]||r(C,c,P),d[e]=P,d[S]=y,b)if(k={values:E?P:M(g),keys:_?P:M(v),entries:F},w)for(x in k)x in C||s(C,x,k[x]);else n(n.P+n.F*(f||D),e,k);return k}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",d=function(t,e,i){var h,l,u,c=t&d.F,f=t&d.G,p=t&d.S,v=t&d.P,g=t&d.B,y=t&d.W,m=f?n:n[e]||(n[e]={}),b=m[a],_=f?o:p?o[e]:(o[e]||{})[a];f&&(i=e);for(h in i)l=!c&&_&&void 0!==_[h],l&&h in m||(u=l?_[h]:i[h],m[h]=f&&"function"!=typeof _[h]?i[h]:g&&l?s(u,o):y&&_[h]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):v&&"function"==typeof u?s(Function.call,u):u,v&&((m.virtual||(m.virtual={}))[h]=u,t&d.R&&b&&!b[h]&&r(b,h,u)))};d.F=1,d.G=2,d.S=4,d.P=8,d.B=16,d.W=32,d.U=64,d.R=128,t.exports=d},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},d="prototype",h=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),h=t.F;o--;)delete h[d][s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[d]=o(t),i=new a,a[d]=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,d=0;a>d;)o.f(t,i=r[d++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),d=0,h=[];for(i in a)i!=r&&o(a,i)&&h.push(i);for(;e.length>d;)o(a,i=e[d++])&&(~s(h,i)||h.push(i));return h}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,d=o(e),h=n(d.length),l=s(r,h);if(t&&i!=i){for(;h>l;)if(a=d[l++],a!=a)return!0}else for(;h>l;l++)if((t||l in d)&&d[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),d=o(i),h=a.length;return d<0||d>=h?t?"":void 0:(s=a.charCodeAt(d),s<55296||s>56319||d+1===h||(r=a.charCodeAt(d+1))<56320||r>57343?t?a.charAt(d):s:t?a.slice(d,d+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),d="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===d(s.default)?function(t){return"undefined"==typeof t?"undefined":d(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":d(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),d=i(69).KEY,h=i(26),l=i(42),u=i(46),c=i(43),f=i(47),p=i(65),v=i(70),g=i(71),y=i(72),m=i(75),b=i(22),_=i(9),w=i(28),k=i(29),x=i(33),O=i(76),M=i(78),S=i(21),E=i(35),D=M.f,C=S.f,T=O.f,P=o.Symbol,F=o.JSON,B=F&&F.stringify,I="prototype",z=f("_hidden"),N=f("toPrimitive"),R={}.propertyIsEnumerable,A=l("symbol-registry"),j=l("symbols"),H=l("op-symbols"),L=Object[I],W="function"==typeof P,Y=o.QObject,V=!Y||!Y[I]||!Y[I].findChild,U=s&&h(function(){return 7!=x(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=D(L,e);o&&delete L[e],C(t,e,i),o&&t!==L&&C(L,e,o)}:C,q=function(t){var e=j[t]=x(P[I]);return e._k=t,e},G=W&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===L&&X(H,e,i),b(t),e=w(e,!0),b(i),n(j,e)?(i.enumerable?(n(t,z)&&t[z][e]&&(t[z][e]=!1),i=x(i,{enumerable:k(0,!1)})):(n(t,z)||C(t,z,k(1,{})),t[z][e]=!0),U(t,e,i)):C(t,e,i)},K=function(t,e){b(t);for(var i,o=y(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?x(t):K(x(t),e)},Q=function(t){var e=R.call(this,t=w(t,!0));return!(this===L&&n(j,t)&&!n(H,t))&&(!(e||!n(this,t)||!n(j,t)||n(this,z)&&this[z][t])||e)},$=function(t,e){if(t=_(t),e=w(e,!0),t!==L||!n(j,e)||n(H,e)){var i=D(t,e);return!i||!n(j,e)||n(t,z)&&t[z][e]||(i.enumerable=!0),i}},J=function(t){for(var e,i=T(_(t)),o=[],s=0;i.length>s;)n(j,e=i[s++])||e==z||e==d||o.push(e);return o},tt=function(t){for(var e,i=t===L,o=T(i?H:_(t)),s=[],r=0;o.length>r;)!n(j,e=o[r++])||i&&!n(L,e)||s.push(j[e]);return s};W||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===L&&e.call(H,i),n(this,z)&&n(this[z],t)&&(this[z][t]=!1),U(this,t,k(1,i))};return s&&V&&U(L,t,{configurable:!0,set:e}),q(t)},a(P[I],"toString",function(){return this._k}),M.f=$,S.f=X,i(77).f=O.f=J,i(74).f=Q,i(73).f=tt,s&&!i(14)&&a(L,"propertyIsEnumerable",Q,!0),p.f=function(t){return q(f(t))}),r(r.G+r.W+r.F*!W,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)f(et[it++]);for(var et=E(f.store),it=0;et.length>it;)v(et[it++]);r(r.S+r.F*!W,"Symbol",{for:function(t){return n(A,t+="")?A[t]:A[t]=P(t)},keyFor:function(t){if(G(t))return g(A,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){V=!0},useSimple:function(){V=!1}}),r(r.S+r.F*!W,"Object",{create:Z,defineProperty:X,defineProperties:K,getOwnPropertyDescriptor:$,getOwnPropertyNames:J,getOwnPropertySymbols:tt}),F&&r(r.S+r.F*(!W||h(function(){var t=P();return"[null]"!=B([t])||"{}"!=B({a:t})||"{}"!=B(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!G(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&m(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!G(e))return e}),o[1]=e,B.apply(F,o)}}}),P[I][N]||i(20)(P[I],N,P[I].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,d=Object.isExtensible||function(){return!0},h=!i(26)(function(){return d(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!d(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!d(t))return!0;if(!e)return!1;l(t)}return t[o].w},f=function(t){return h&&p.NEED&&d(t)&&!s(t,o)&&l(t),t},p=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:f}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,d=0;a>d;)if(s[i=r[d++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),d=s.f,h=0;a.length>h;)d.call(t,r=a[h++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),d=i(24),h=Object.getOwnPropertyDescriptor;e.f=i(25)?h:function(t,e){if(t=s(t),e=r(e,!0),d)try{return h(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(83)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return _o.apply(null,arguments)}function i(t){_o=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return void 0===t}function a(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function d(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i=0;i0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function N(t,e){var i=t.toLowerCase();zo[i]=zo[i+"s"]=zo[e]=t}function R(t){return"string"==typeof t?zo[t]||zo[t.toLowerCase()]:void 0}function A(t){var e,i,o={};for(i in t)l(t,i)&&(e=R(i),e&&(o[e]=t[i]));return o}function j(t,e){No[t]=e}function H(t){var e=[];for(var i in t)e.push({unit:i,priority:No[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function L(t,i){return function(o){return null!=o?(Y(this,t,o),e.updateOffset(this,i),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Y(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function V(t){return t=R(t),S(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=A(t);for(var i=H(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function G(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Ho[t]=n),e&&(Ho[e[0]]=function(){return q(n.apply(this,arguments),e[1],e[2])}),i&&(Ho[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function K(t){var e,i,o=t.match(Ro);for(e=0,i=o.length;e=0&&Ao.test(t);)t=t.replace(Ao,i),Ao.lastIndex=0,o-=1;return t}function $(t,e,i){sn[t]=S(e)?e:function(t,o){return t&&i?i:e}}function J(t,e){return l(sn,t)?sn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),a(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function kt(t,e,i,o,n){var s,r,a=(7+i-o)%7,d=wt(t,o,n),h=1+7*(e-1)+a+d;return h<=0?(s=t-1,r=gt(s)+h):h>gt(t)?(s=t+1,r=h-gt(t)):(s=t,r=h),{year:s,dayOfYear:r}}function xt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+Ot(n,e,i)):r>Ot(t.year(),e,i)?(o=r-Ot(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function Ot(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function Mt(t){return xt(t,this._week.dow,this._week.doy).week}function St(){return this._week.dow}function Et(){return this._week.doy}function Dt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ct(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Ft(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:o(this._weekdays)?this._weekdays:this._weekdays.standalone}function Bt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function It(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function zt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=c([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=gn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=gn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=gn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=gn.call(this._weekdaysParse,r),n!==-1?n:(n=gn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=gn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=gn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=gn.call(this._weekdaysParse,r),n!==-1?n:(n=gn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=gn.call(this._minWeekdaysParse,r),n!==-1?n:(n=gn.call(this._weekdaysParse,r),n!==-1?n:(n=gn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Nt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return zt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=c([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Rt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function At(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function jt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ht(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=En),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Lt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Dn),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Cn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],d=[],h=[];for(e=0;e<7;e++)i=c([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),d.push(s),h.push(o),h.push(n),h.push(s);for(r.sort(t),a.sort(t),d.sort(t),h.sort(t),e=0;e<7;e++)a[e]=et(a[e]),d[e]=et(d[e]),h[e]=et(h[e]);this._weekdaysRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Vt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function qt(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Gt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Kt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,i,o,n,s=0;s0;){if(o=$t(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&k(n,i,!0)>=e-1)break;e--}s++}return null}function $t(e){var i=null;if(!In[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Tn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Jt(i)}catch(t){}return In[e]}function Jt(t,e){var i;return t&&(i=r(e)?ie(t):te(t,e),i&&(Tn=i)),Tn._abbr}function te(t,e){if(null!==e){var i=Bn;if(e.abbr=t,null!=In[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=In[t]._config;else if(null!=e.parentLocale){if(null==In[e.parentLocale])return zn[e.parentLocale]||(zn[e.parentLocale]=[]),zn[e.parentLocale].push({name:t,config:e}),null;i=In[e.parentLocale]._config}return In[t]=new C(D(i,e)),zn[t]&&zn[t].forEach(function(t){te(t.name,t.config)}),Jt(t),In[t]}return delete In[t],null}function ee(t,e){if(null!=e){var i,o=Bn;null!=In[t]&&(o=In[t]._config),e=D(o,e),i=new C(e),i.parentLocale=In[t],In[t]=i,Jt(t)}else null!=In[t]&&(null!=In[t].parentLocale?In[t]=In[t].parentLocale:null!=In[t]&&delete In[t]);return In[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Tn;if(!o(t)){if(e=$t(t))return e;t=[t]}return Qt(t)}function oe(){return Do(In)}function ne(t){var e,i=t._a;return i&&p(t).overflow===-2&&(e=i[dn]<0||i[dn]>11?dn:i[hn]<1||i[hn]>st(i[an],i[dn])?hn:i[ln]<0||i[ln]>24||24===i[ln]&&(0!==i[un]||0!==i[cn]||0!==i[fn])?ln:i[un]<0||i[un]>59?un:i[cn]<0||i[cn]>59?cn:i[fn]<0||i[fn]>999?fn:-1,p(t)._overflowDayOfYear&&(ehn)&&(e=hn),p(t)._overflowWeeks&&e===-1&&(e=pn),p(t)._overflowWeekday&&e===-1&&(e=vn),p(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,d=Nn.exec(a)||Rn.exec(a);if(d){for(p(t).iso=!0,e=0,i=jn.length;e10?"YYYY ":"YY "),s="HH:mm"+(i[4]?":ss":""),i[1]){var u=new Date(i[2]),c=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][u.getDay()];if(i[1].substr(0,3)!==c)return p(t).weekdayMismatch=!0,void(t._isValid=!1)}switch(i[5].length){case 2:0===d?a=" +0000":(d=l.indexOf(i[5][1].toUpperCase())-12,a=(d<0?" -":" +")+(""+d).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:a=h[i[5]];break;default:a=h[" GMT"]}i[5]=a,t._i=i.splice(1).join(""),r=" ZZ",t._f=o+n+s+r,ce(t),p(t).rfc2822=!0}else t._isValid=!1}function ae(t){var i=Ln.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(se(t),void(t._isValid===!1&&(delete t._isValid,re(t),t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t)))))}function de(t,e,i){return null!=t?t:null!=e?e:i}function he(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function le(t){var e,i,o,n,s=[];if(!t._d){for(o=he(t),t._w&&null==t._a[hn]&&null==t._a[dn]&&ue(t),null!=t._dayOfYear&&(n=de(t._a[an],o[an]),(t._dayOfYear>gt(n)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[dn]=i.getUTCMonth(),t._a[hn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[ln]&&0===t._a[un]&&0===t._a[cn]&&0===t._a[fn]&&(t._nextDay=!0,t._a[ln]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[ln]=24)}}function ue(t){var e,i,o,n,s,r,a,d;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=de(e.GG,t._a[an],xt(_e(),1,4).year),o=de(e.W,1),n=de(e.E,1),(n<1||n>7)&&(d=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var h=xt(_e(),s,r);i=de(e.gg,t._a[an],h.year),o=de(e.w,h.week),null!=e.d?(n=e.d,(n<0||n>6)&&(d=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(d=!0)):n=s}o<1||o>Ot(i,s,r)?p(t)._overflowWeeks=!0:null!=d?p(t)._overflowWeekday=!0:(a=kt(i,o,n,s,r),t._a[an]=a.year,t._dayOfYear=a.dayOfYear)}function ce(t){if(t._f===e.ISO_8601)return void se(t);if(t._f===e.RFC_2822)return void re(t);t._a=[],p(t).empty=!0;var i,o,n,s,r,a=""+t._i,d=a.length,h=0;for(n=Q(t._f,t._locale).match(Ro)||[],i=0;i0&&p(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),h+=o.length),Ho[s]?(o?p(t).empty=!1:p(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&p(t).unusedTokens.push(s);p(t).charsLeftOver=d-h,a.length>0&&p(t).unusedInput.push(a),t._a[ln]<=12&&p(t).bigHour===!0&&t._a[ln]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[ln]=fe(t._locale,t._a[ln],t._meridiem),le(t),ne(t)}function fe(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function pe(t){var e,i,o,n,s;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Le(){if(!r(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ye(t),t._a){var e=t._isUTC?c(t._a):_e(t._a);this._isDSTShifted=this.isValid()&&k(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function We(){return!!this.isValid()&&!this._isUTC}function Ye(){return!!this.isValid()&&this._isUTC}function Ve(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ue(t,e){var i,o,n,s=t,r=null;return De(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:a(t)?(s={},e?s[e]=t:s.milliseconds=t):(r=Xn.exec(t))?(i="-"===r[1]?-1:1,s={y:0,d:w(r[hn])*i,h:w(r[ln])*i,m:w(r[un])*i,s:w(r[cn])*i,ms:w(Ce(1e3*r[fn]))*i}):(r=Kn.exec(t))?(i="-"===r[1]?-1:1,s={y:qe(r[2],i),M:qe(r[3],i),w:qe(r[4],i),d:qe(r[5],i),h:qe(r[6],i),m:qe(r[7],i),s:qe(r[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Xe(_e(s.from),_e(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Ee(s),De(t)&&l(t,"_locale")&&(o._locale=t._locale),o}function qe(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Ge(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Xe(t,e){var i;return t.isValid()&&e.isValid()?(e=Fe(e,t),t.isBefore(e)?i=Ge(t,e):(i=Ge(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ke(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ue(i,o),Ze(this,n,t),this}}function Ze(t,i,o,n){var s=i._milliseconds,r=Ce(i._days),a=Ce(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&Y(t,"Date",W(t,"Date")+r*o),a&<(t,W(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function Qe(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function $e(t,i){var o=t||_e(),n=Fe(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,_e(o)))}function Je(){return new m(this)}function ti(t,e){var i=b(t)?t:_e(t);return!(!this.isValid()||!i.isValid())&&(e=R(r(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()9999?Z(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):S(Date.prototype.toISOString)?this.toDate().toISOString():Z(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function li(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var i="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n="-MM-DD[T]HH:mm:ss.SSS",s=e+'[")]';return this.format(i+o+n+s)}function ui(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var i=Z(this,t);return this.localeData().postformat(i)}function ci(t,e){return this.isValid()&&(b(t)&&t.isValid()||_e(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function fi(t){return this.from(_e(),t)}function pi(t,e){return this.isValid()&&(b(t)&&t.isValid()||_e(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function vi(t){return this.to(_e(),t)}function gi(t){var e;return void 0===t?this._locale._abbr:(e=ie(t),null!=e&&(this._locale=e),this)}function yi(){return this._locale}function mi(t){switch(t=R(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this}function bi(t){return t=R(t),void 0===t||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function _i(){return this._d.valueOf()-6e4*(this._offset||0)}function wi(){return Math.floor(this.valueOf()/1e3)}function ki(){return new Date(this.valueOf())}function xi(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Oi(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Mi(){return this.isValid()?this.toISOString():null}function Si(){return v(this)}function Ei(){return u({},p(this))}function Di(){return p(this).overflow}function Ci(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ti(t,e){G(0,[t,t.length],0,e)}function Pi(t){return zi.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fi(t){return zi.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Bi(){return Ot(this.year(),1,4)}function Ii(){var t=this.localeData()._week;return Ot(this.year(),t.dow,t.doy)}function zi(t,e,i,o,n){var s;return null==t?xt(this,o,n).year:(s=Ot(t,o,n),e>s&&(e=s),Ni.call(this,t,e,i,o,n))}function Ni(t,e,i,o,n){var s=kt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ri(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ai(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function ji(t,e){e[fn]=w(1e3*("0."+t))}function Hi(){return this._isUTC?"UTC":""}function Li(){return this._isUTC?"Coordinated Universal Time":""}function Wi(t){return _e(1e3*t)}function Yi(){return _e.apply(null,arguments).parseZone()}function Vi(t){return t}function Ui(t,e,i,o){var n=ie(),s=c().set(o,e);return n[i](s,t)}function qi(t,e,i){if(a(t)&&(e=t,t=void 0),t=t||"",null!=e)return Ui(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Ui(t,o,i,"month");return n}function Gi(t,e,i,o){"boolean"==typeof t?(a(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e, +t=!1,a(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Ui(e,(i+s)%7,o,"day");var r,d=[];for(r=0;r<7;r++)d[r]=Ui(e,(r+s)%7,o,"day");return d}function Xi(t,e){return qi(t,e,"months")}function Ki(t,e){return qi(t,e,"monthsShort")}function Zi(t,e,i){return Gi(t,e,i,"weekdays")}function Qi(t,e,i){return Gi(t,e,i,"weekdaysShort")}function $i(t,e,i){return Gi(t,e,i,"weekdaysMin")}function Ji(){var t=this._data;return this._milliseconds=rs(this._milliseconds),this._days=rs(this._days),this._months=rs(this._months),t.milliseconds=rs(t.milliseconds),t.seconds=rs(t.seconds),t.minutes=rs(t.minutes),t.hours=rs(t.hours),t.months=rs(t.months),t.years=rs(t.years),this}function to(t,e,i,o){var n=Ue(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function eo(t,e){return to(this,t,e,1)}function io(t,e){return to(this,t,e,-1)}function oo(t){return t<0?Math.floor(t):Math.ceil(t)}function no(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,d=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*oo(ro(a)+r),r=0,a=0),d.milliseconds=s%1e3,t=_(s/1e3),d.seconds=t%60,e=_(t/60),d.minutes=e%60,i=_(e/60),d.hours=i%24,r+=_(i/24),n=_(so(r)),a+=n,r-=oo(ro(n)),o=_(a/12),a%=12,d.days=r,d.months=a,d.years=o,this}function so(t){return 4800*t/146097}function ro(t){return 146097*t/4800}function ao(t){if(!this.isValid())return NaN;var e,i,o=this._milliseconds;if(t=R(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+so(e),"month"===t?i:i/12;switch(e=this._days+Math.round(ro(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function ho(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN}function lo(t){return function(){return this.as(t)}}function uo(t){return t=R(t),this.isValid()?this[t+"s"]():NaN}function co(t){return function(){return this.isValid()?this._data[t]:NaN}}function fo(){return _(this.days()/7)}function po(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function vo(t,e,i){var o=Ue(t).abs(),n=ks(o.as("s")),s=ks(o.as("m")),r=ks(o.as("h")),a=ks(o.as("d")),d=ks(o.as("M")),h=ks(o.as("y")),l=n<=xs.ss&&["s",n]||n0,l[4]=i,po.apply(null,l)}function go(t){return void 0===t?ks:"function"==typeof t&&(ks=t,!0)}function yo(t,e){return void 0!==xs[t]&&(void 0===e?xs[t]:(xs[t]=e,"s"===t&&(xs.ss=e-1),!0))}function mo(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),i=vo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function bo(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,o=Os(this._milliseconds)/1e3,n=Os(this._days),s=Os(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,d=n,h=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(d?d+"D":"")+(h||l||u?"T":"")+(h?h+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var _o,wo;wo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var kn=L("FullYear",!0);G("w",["ww",2],"wo","week"),G("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),j("week",5),j("isoWeek",5),$("w",qo),$("ww",qo,Wo),$("W",qo),$("WW",qo,Wo),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var xn={dow:0,doy:6};G("d",0,"do","day"),G("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),G("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),G("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),G("e",0,0,"weekday"),G("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),$("d",qo),$("e",qo),$("E",qo),$("dd",function(t,e){return e.weekdaysMinRegex(t)}),$("ddd",function(t,e){return e.weekdaysShortRegex(t)}),$("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:p(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var On="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Mn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Sn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),En=nn,Dn=nn,Cn=nn;G("H",["HH",2],0,"hour"),G("h",["hh",2],0,Vt),G("k",["kk",2],0,Ut),G("hmm",0,0,function(){return""+Vt.apply(this)+q(this.minutes(),2)}),G("hmmss",0,0,function(){return""+Vt.apply(this)+q(this.minutes(),2)+q(this.seconds(),2)}),G("Hmm",0,0,function(){return""+this.hours()+q(this.minutes(),2)}),G("Hmmss",0,0,function(){return""+this.hours()+q(this.minutes(),2)+q(this.seconds(),2)}),qt("a",!0),qt("A",!1),N("hour","h"),j("hour",13),$("a",Gt),$("A",Gt),$("H",qo),$("h",qo),$("k",qo),$("HH",qo,Wo),$("hh",qo,Wo),$("kk",qo,Wo),$("hmm",Go),$("hmmss",Xo),$("Hmm",Go),$("Hmmss",Xo),it(["H","HH"],ln),it(["k","kk"],function(t,e,i){var o=w(t);e[ln]=24===o?0:o}),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[ln]=w(t),p(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[ln]=w(t.substr(0,o)),e[un]=w(t.substr(o)),p(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[ln]=w(t.substr(0,o)),e[un]=w(t.substr(o,2)),e[cn]=w(t.substr(n)),p(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[ln]=w(t.substr(0,o)),e[un]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[ln]=w(t.substr(0,o)),e[un]=w(t.substr(o,2)),e[cn]=w(t.substr(n))});var Tn,Pn=/[ap]\.?m?\.?/i,Fn=L("Hours",!0),Bn={calendar:Co,longDateFormat:To,invalidDate:Po,ordinal:Fo,dayOfMonthOrdinalParse:Bo,relativeTime:Io,months:mn,monthsShort:bn,week:xn,weekdays:On,weekdaysMin:Sn,weekdaysShort:Mn,meridiemParse:Pn},In={},zn={},Nn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Rn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,An=/Z|[+-]\d\d(?::?\d\d)?/,jn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Hn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ln=/^\/?Date\((\-?\d+)/i,Wn=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;e.createFromInputFallback=O("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var Yn=O("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=_e.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:g()}),Un=function(){return Date.now?Date.now():+new Date},qn=["year","quarter","month","week","day","hour","minute","second","millisecond"];Te("Z",":"),Te("ZZ",""),$("Z",en),$("ZZ",en),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Pe(en,t)});var Gn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Xn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Kn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ue.fn=Ee.prototype,Ue.invalid=Se;var Zn=Ke(1,"add"),Qn=Ke(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var $n=O("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ti("gggg","weekYear"),Ti("ggggg","weekYear"),Ti("GGGG","isoWeekYear"),Ti("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),$("G",Jo),$("g",Jo),$("GG",qo,Wo),$("gg",qo,Wo),$("GGGG",Zo,Vo),$("gggg",Zo,Vo),$("GGGGG",Qo,Uo),$("ggggg",Qo,Uo),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),N("quarter","Q"),j("quarter",7),$("Q",Lo),it("Q",function(t,e){e[dn]=3*(w(t)-1)}),G("D",["DD",2],"Do","date"),N("date","D"),j("date",9),$("D",qo),$("DD",qo,Wo),$("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),it(["D","DD"],hn),it("Do",function(t,e){e[hn]=w(t.match(qo)[0],10)});var Jn=L("Date",!0);G("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),j("dayOfYear",4),$("DDD",Ko),$("DDDD",Yo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),G("m",["mm",2],0,"minute"),N("minute","m"),j("minute",14),$("m",qo),$("mm",qo,Wo),it(["m","mm"],un);var ts=L("Minutes",!1);G("s",["ss",2],0,"second"),N("second","s"),j("second",15),$("s",qo),$("ss",qo,Wo),it(["s","ss"],cn);var es=L("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),j("millisecond",16),$("S",Ko,Lo),$("SS",Ko,Wo),$("SSS",Ko,Yo);var is;for(is="SSSS";is.length<=9;is+="S")$(is,$o);for(is="S";is.length<=9;is+="S")it(is,ji);var os=L("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var ns=m.prototype;ns.add=Zn,ns.calendar=$e,ns.clone=Je,ns.diff=ri,ns.endOf=bi,ns.format=ui,ns.from=ci,ns.fromNow=fi,ns.to=pi,ns.toNow=vi,ns.get=V,ns.invalidAt=Di,ns.isAfter=ti,ns.isBefore=ei,ns.isBetween=ii,ns.isSame=oi,ns.isSameOrAfter=ni,ns.isSameOrBefore=si,ns.isValid=Si,ns.lang=$n,ns.locale=gi,ns.localeData=yi,ns.max=Vn,ns.min=Yn,ns.parsingFlags=Ei,ns.set=U,ns.startOf=mi,ns.subtract=Qn,ns.toArray=xi,ns.toObject=Oi,ns.toDate=ki,ns.toISOString=hi,ns.inspect=li,ns.toJSON=Mi,ns.toString=di,ns.unix=wi,ns.valueOf=_i,ns.creationData=Ci,ns.year=kn,ns.isLeapYear=mt,ns.weekYear=Pi,ns.isoWeekYear=Fi,ns.quarter=ns.quarters=Ri,ns.month=ut,ns.daysInMonth=ct,ns.week=ns.weeks=Dt,ns.isoWeek=ns.isoWeeks=Ct,ns.weeksInYear=Ii,ns.isoWeeksInYear=Bi,ns.date=Jn,ns.day=ns.days=Rt,ns.weekday=At,ns.isoWeekday=jt,ns.dayOfYear=Ai,ns.hour=ns.hours=Fn,ns.minute=ns.minutes=ts,ns.second=ns.seconds=es,ns.millisecond=ns.milliseconds=os,ns.utcOffset=Ie,ns.utc=Ne,ns.local=Re,ns.parseZone=Ae,ns.hasAlignedHourOffset=je,ns.isDST=He,ns.isLocal=We,ns.isUtcOffset=Ye,ns.isUtc=Ve,ns.isUTC=Ve,ns.zoneAbbr=Hi,ns.zoneName=Li,ns.dates=O("dates accessor is deprecated. Use date instead.",Jn),ns.months=O("months accessor is deprecated. Use month instead",ut),ns.years=O("years accessor is deprecated. Use year instead",kn),ns.zone=O("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",ze),ns.isDSTShifted=O("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Le);var ss=C.prototype;ss.calendar=T,ss.longDateFormat=P,ss.invalidDate=F,ss.ordinal=B,ss.preparse=Vi,ss.postformat=Vi,ss.relativeTime=I,ss.pastFuture=z,ss.set=E,ss.months=rt,ss.monthsShort=at,ss.monthsParse=ht,ss.monthsRegex=pt,ss.monthsShortRegex=ft,ss.week=Mt,ss.firstDayOfYear=Et,ss.firstDayOfWeek=St,ss.weekdays=Ft,ss.weekdaysMin=It,ss.weekdaysShort=Bt,ss.weekdaysParse=Nt,ss.weekdaysRegex=Ht,ss.weekdaysShortRegex=Lt,ss.weekdaysMinRegex=Wt,ss.isPM=Xt,ss.meridiem=Kt,Jt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=O("moment.lang is deprecated. Use moment.locale instead.",Jt),e.langData=O("moment.langData is deprecated. Use moment.localeData instead.",ie);var rs=Math.abs,as=lo("ms"),ds=lo("s"),hs=lo("m"),ls=lo("h"),us=lo("d"),cs=lo("w"),fs=lo("M"),ps=lo("y"),vs=co("milliseconds"),gs=co("seconds"),ys=co("minutes"),ms=co("hours"),bs=co("days"),_s=co("months"),ws=co("years"),ks=Math.round,xs={ss:44,s:45,m:45,h:22,d:26,M:11},Os=Math.abs,Ms=Ee.prototype;return Ms.isValid=Me,Ms.abs=Ji,Ms.add=eo,Ms.subtract=io,Ms.as=ao,Ms.asMilliseconds=as,Ms.asSeconds=ds,Ms.asMinutes=hs,Ms.asHours=ls,Ms.asDays=us,Ms.asWeeks=cs,Ms.asMonths=fs,Ms.asYears=ps,Ms.valueOf=ho,Ms._bubble=no,Ms.get=uo,Ms.milliseconds=vs,Ms.seconds=gs,Ms.minutes=ys,Ms.hours=ms,Ms.days=bs,Ms.weeks=fo,Ms.months=_s,Ms.years=ws,Ms.humanize=mo,Ms.toISOString=bo,Ms.toString=bo,Ms.toJSON=bo,Ms.locale=gi,Ms.localeData=yi,Ms.toIsoString=O("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",bo),Ms.lang=$n,G("X",0,0,"unix"),G("x",0,0,"valueOf"),$("x",Jo),$("X",on),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.18.0",i(_e),e.fn=ns,e.min=ke,e.max=xe,e.now=Un,e.utc=c,e.unix=Wi,e.months=Xi,e.isDate=d,e.locale=Jt,e.invalid=g,e.duration=Ue,e.isMoment=b,e.weekdays=Zi,e.parseZone=Yi,e.localeData=ie,e.isDuration=De,e.monthsShort=Ki,e.weekdaysMin=$i,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=Qi,e.normalizeUnits=R,e.relativeTimeRounding=go,e.relativeTimeThreshold=yo,e.calendarFormat=Qe,e.prototype=ns,e})}).call(e,i(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=85},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:v,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),d=void 0!==t.nsecs?t.nsecs:y+1,h=a-g+(d-y)/1e4;if(h<0&&void 0===t.clockseq&&(r=r+1&16383),(h<0||a>g)&&void 0===t.nsecs&&(d=0),d>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,y=d,v=r,a+=122192928e5;var l=(1e4*(268435455&a)+d)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||p,f=0;f<6;f++)s[n+f]=c[f];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var d=new Uint8Array(16);r=function(){return crypto.getRandomValues(d),d}}if(!r){var h=new Array(16);r=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),h[e]=t>>>((3&e)<<3)&255;return h}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var f=r(),p=[1|f[0],f[1],f[2],f[3],f[4],f[5]],v=16383&(f[6]<<8|f[7]),g=0,y=0,m=s;m.v1=n,m.v4=s,m.parse=i,m.unparse=o,t.exports=m}).call(e,function(){return this}())},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var d=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(d.textContent=r.content),r.className&&d.setAttributeNS(null,"class",r.className+" vis-label"),d.setAttributeNS(null,"x",t),d.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,d){if(0!=n){n<0&&(n*=-1,i-=n);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*o),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",o),h.setAttributeNS(null,"height",n),h.setAttributeNS(null,"class",s),d&&h.setAttributeNS(null,"style",d)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=d,r=h)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var s=i(58),r=o(s),a=i(1),d=i(88);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;o0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e.default=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(102),h=o(d),l=i(103),u=o(l),c=i(1),f=i(88),p=i(92),v=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(h.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(t instanceof f||t instanceof p)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new f,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new f}if(i&&c.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var o=this;c.forEach(this.nodesListeners,function(t,e){o.body.data.nodes.on(e,t)});var n=this.body.data.nodes.getIds();this.add(n,!0)}e===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:h.default;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(L.selectiveNotDeepExtend(n,t,e,i),L.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=L.parseColor(e.color);L.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=L.bridgeObject(o.color));void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&null!==e.font?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=L.bridgeObject(o.font)),void 0!==e.scaling&&L.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(2),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,f.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=p.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,h.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=p.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=p.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=p.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===("undefined"==typeof a?"undefined":(0,h.default)(a))){var d=p.topMost(o,["heightConstraint","minimum"]);"number"==typeof d&&(this.fontOptions.minHgt=Number(d));var l=p.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=p.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var d,h=(0,a.default)(o);!(n=(d=h.next()).done);n=!0){var l=d.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*f}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(p)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&h.return&&h.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,d=a*this.body.view.scale;d>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,l=this._setAlignment(t,o,h,r),u=(0,s.default)(l,2);o=u[0],h=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(h-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(h+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=v.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=m,v.strokeWidth>0&&t.strokeText(v.text,o+f,h+v.vadjust),t.fillText(v.text,o+f,h+v.vadjust),f+=v.width}h+=this.lines[c].height}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=p.overrideOpacity(o,s),n=p.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,d,h){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:d,strokeColor:h})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,d,h){this.add(t,e,i,o,n,s,r,a,d,h),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),d=a.length;if(this.elementOptions.font.multi)for(var h=0;h0)for(var v=this.getFormattingValues(t,e,i,l[p].mod),g=l[p].text.split(" "),y=!0,m="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=v.height>c?v.height:c,s.add(r,m,v.font,v.color,_.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,_.width,c),m="",y=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(m=m+k+g[w],w===g.length-1&&(c=v.height>c?v.height:c,u+=b.width,s.add(r,m,v.font,v.color,b.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,b.width,c),p===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,y=!1)}else{var x=this.getFormattingValues(t,e,i,l[p].mod),O=t.measureText(l[p].text);s.addAndAccumulate(r,l[p].text,x.font,x.color,O.width,x.height,x.vadjust,l[p].mod,x.strokeWidth,x.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===p&&(n+=s[r].height,r++)}}}else for(var M=0;M0)for(var E=a[M].split(" "),D="",C={width:0},T=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=T.width?(s.addAndAccumulate(r,D,S.font,S.color,T.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,D="",r++):(D=D+F+E[P],P===E.length-1&&(s.addAndAccumulate(r,D,S.font,S.color,C.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var B=a[M],I=t.measureText(B);s.addAndAccumulate(r,B,S.font,S.color,I.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2],t.vadjust=0}else"object"===(0,h.default)(e.font)&&p.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(105),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,d=(0,a.default)(t);!(o=(r=d.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&d.return&&d.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(106),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(107)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(v.default);e.default=g},function(t,e,i){t.exports={default:i(110),__esModule:!0}},function(t,e,i){i(111),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(62),s=o(n);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"==typeof e?"undefined":(0,s.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(114),s=o(n),r=i(55),a=o(r),d=i(62),h=o(d);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,h.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(115),__esModule:!0}},function(t,e,i){i(116),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(117).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,h.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n.selected=!1,n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"setOptions",value:function(t,e,i){this.options=t,this.setImages(e,i)}},{key:"setImages",value:function(t,e){t&&(this.imageObj=t,e&&(this.imageObjAlt=e))}},{key:"switchImages",value:function(t){if(t&&!this.selected||!t&&this.selected){var e=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=e}this.selected=t}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,d=1;i>2&&d<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,d+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var d=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return d.setImages(n,r),d._swapToImageResizeWhenImageLoaded=!0,d}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){ +var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.imageObjAlt&&this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var d=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,d),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),d>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var h=n+.5*this.height+3;this.labelModule.draw(t,o,h,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){var r=5;this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+r,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var d=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return d.setImages(n,r),d}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.imageObjAlt&&this.switchImages(o),this.selected=o,this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,d=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,d),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),d>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.printStyle=void 0;var n=i(89),s=o(n),r=i(62),a=o(r),d=i(58),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=!1,g=void 0,y="background: #FFeeee; color: #dd0000",m=function(){function t(){(0,u.default)(this,t)}return(0,f.default)(t,null,[{key:"validate",value:function(e,i,o){v=!1,g=i;var n=i;return void 0!==o&&(n=i[o]),t.parse(e,n,[]),v}},{key:"parse",value:function(e,i,o){for(var n in e)e.hasOwnProperty(n)&&t.check(n,e,i,o)}},{key:"check",value:function(e,i,o,n){void 0===o[e]&&void 0===o.__any__?t.getSuggestion(e,o,n):void 0===o[e]&&void 0!==o.__any__?"object"===t.getType(i[e])&&void 0!==o.__any__.__type__?t.checkFields(e,i,o,"__any__",o.__any__.__type__,n):t.checkFields(e,i,o,"__any__",o.__any__,n):void 0!==o[e].__type__?t.checkFields(e,i,o,e,o[e].__type__,n):t.checkFields(e,i,o,e,o[e],n)}},{key:"checkFields",value:function(e,i,o,n,s,r){var a=t.getType(i[e]),d=s[a];void 0!==d?"array"===t.getType(d)&&d.indexOf(i[e])===-1?(console.log('%cInvalid option detected in "'+e+'". Allowed values are:'+t.print(d)+' not "'+i[e]+'". '+t.printLocation(r,e),y),v=!0):"object"===a&&"__any__"!==n&&(r=p.copyAndExtendArray(r,e),t.parse(i[e],o[n],r)):void 0===s.any&&(console.log('%cInvalid type received for "'+e+'". Expected: '+t.print((0,h.default)(s))+". Received ["+a+'] "'+i[e]+'"'+t.printLocation(r,e),y),v=!0)}},{key:"getType",value:function(t){var e="undefined"==typeof t?"undefined":(0,a.default)(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":void 0!==t.nodeType?"dom":t._isAMomentObject===!0?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,o){var n=t.findInOptions(e,i,o,!1),s=t.findInOptions(e,g,[],!0),r=8,a=4;void 0!==n.indexMatch?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+n.indexMatch+'"?\n\n',y):s.distance<=a&&n.distance>s.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),y):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),y):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,h.default)(i))+t.printLocation(o,e),y),v=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],d=e.toLowerCase(),h=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],p.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,h=c.indexMatch)}else l.toLowerCase().indexOf(d)!==-1&&(h=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=p.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:h}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof f||t instanceof p)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new f,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new f}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.shape.height?(r=i.x+.5*i.shape.width,a=i.y-d):(r=i.x+d,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,d,.125),this.labelModule.draw(t,s.x,s.y,n,this.hover)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,d=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return d0&&i<0)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,h.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var d=!1;void 0!==e.color.color&&(t.color.color=e.color.color,d=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,d=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,d=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&d===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?v.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=M},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(138),y=o(g),m=function(t){function e(t,i,o){return(0,h.default)(this,e),(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,v.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),d=(0,s.default)(a,2),h=d[0],l=d[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,h,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3);var d=a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,h=a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y;return{x:d,y:h}}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var d=1e9,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=t,v=e,g=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,g[0]=Math.pow(1-u,3),g[1]=3*u*Math.pow(1-u,2),g[2]=3*Math.pow(u,2)*(1-u),g[3]=Math.pow(u,3),c=g[0]*t+g[1]*r.x+g[2]*a.x+g[3]*i,f=g[0]*e+g[1]*r.y+g[2]*a.y+g[3]*o,l>0&&(h=this._getDistanceToLine(p,v,c,f,n,s),d=h2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),d=10,h=0,l=0,u=1,c=.2,f=this.to,p=!1;for(t.id===this.from.id&&(f=this.from,p=!0);l<=u&&h0&&(d=this._getDistanceToLine(f,p,u,c,n,s),a=do.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,d=10,h=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,f=void 0,p=void 0,v=void 0,g=.05,y=.5*(s+r);s<=r&&h0?a>0?s=y:r=y:a>0?r=y:s=y,h++;return u.t=y,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,d){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],f=u[1],p=u[2],v=c-n,g=f-r;h=Math.abs(Math.sqrt(v*v+g*g)-p)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,d=r*r+a*a,h=((n-t)*r+(s-e)*a)/d;h>1?h=1:h<0&&(h=0);var l=t+h*r,u=e+h*a,c=l-n,f=u-s;return Math.sqrt(c*c+f*f)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,d=void 0,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=r.width;if("from"===e?(h=this.from,l=this.to,u=.1,c=r.fromArrowScale,f=r.fromArrowType):"to"===e?(h=this.to,l=this.from,u=-.1,c=r.toArrowScale,f=r.toArrowType):(h=this.to,l=this.from,c=r.middleArrowScale,f=r.middleArrowType),h!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){d=this.findBorderPosition(h,t,{via:i});var v=this.getPoint(Math.max(0,Math.min(1,d.t+u)),i);a=Math.atan2(d.y-v.y,d.x-v.x)}else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.findBorderPosition(h,t);else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.getPoint(.5,i);else{var g=this._getCircleData(t),y=(0,s.default)(g,3),m=y[0],b=y[1],_=y[2];"from"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.25,high:.6,direction:-1}),a=d.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.6,high:1,direction:1}),a=d.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(d=this._pointOnCircle(m,b,_,.175),a=3.9269908169872414)}var w=15*c+3*p,k=d.x-.9*w*Math.cos(a),x=d.y-.9*w*Math.sin(a),O={x:k,y:x};return{point:d,core:O,angle:a,length:w,type:f}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(139),y=o(g),m=function(t){function e(t,i,o){(0,h.default)(this,e);var n=(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,v.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),d=a[0],h=a[1],l=a[2],u=2*Math.PI*(1-i);o=d+l*Math.sin(u),n=h+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=nMath.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=sMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(140),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),d=t.distanceToBorder(e,n),h=(a-d)/a,l={};return l.x=(1-h)*o.x+h*i.x,l.y=(1-h)*o.y+h*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(145),u=o(l),c=i(146),f=o(c),p=i(147),v=o(p),g=i(148),y=o(g),m=i(149),b=o(m),_=i(150),w=o(_),k=i(151),x=o(k),O=i(152),M=o(O),S=i(1),E=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},S.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,h.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,S.selectiveNotDeepExtend(["stabilization"],this.options,t),S.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new x.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new M.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new f.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new v.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick();var e=Date.now()-t;(e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var t=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=t*this.timestep:this.timestep/ts))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;se?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var d=this.modelOptions.damping*s[t].y,h=(n[t].y-d)/i.options.mass;s[t].y+=h*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;s0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,d=1;d0&&(hr&&(r=h),la&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,f=Math.max(c,Math.abs(r-n)),p=.5*f,v=.5*(n+r),g=.5*(s+a),y={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:g-p,maxY:g+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(y.root);for(var m=0;m0&&this._placeInTree(y.root,i);return y}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e.default=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,d=this.body.nodes,h=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,f=4/3,p=0;p0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(154),f=o(c),p=i(155),v=o(p),g=i(1),y=function(){function t(e){var i=this;(0,h.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},g.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=0;u0&&(0,s.default)(p).length>0&&g===!0&&o.push({nodes:c,edges:p})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,d=f.default.cloneOptions(o);n[a]=o;for(var h=0;h-1&&(r[y.id]=y)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=(0,s.default)(t),c=[],p=0;p0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=g.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var d in t)if(t.hasOwnProperty(d)){var h=f.default.cloneOptions(t[d]);a.push(h)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=f.default.cloneOptions(e[u],"edge");l.push(c)}if(r=i.processProperties(r,a,l),!r)throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+g.randomUUID());var p=r.id;void 0===r.label&&(r.label="cluster");var y=void 0;void 0===r.x&&(y=this._getClusterPosition(t),r.x=y.x),void 0===r.y&&(void 0===y&&(y=this._getClusterPosition(t)),r.y=y.y),r.id=p;var m=this.body.functions.createNode(r,v.default);m.isCluster=!0,m.containedNodes=t,m.containedEdges=e,m.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=m,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,d=1;do?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var h=this.body.nodes[d];r[d]={x:h.x,y:h.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var p in n)if(n.hasOwnProperty(p)){var v=this.body.nodes[p];v=n[p],v.options.fixed.x===!1&&(v.x=o.x),v.options.fixed.y===!1&&(v.y=o.y)}for(var y in n)if(n.hasOwnProperty(y)){var m=this.body.nodes[y];m.vx=o.vx,m.vy=o.vy,m.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[y]}for(var b=[],_=0;_o&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),d=Math.floor(t+2*a);return d>o&&(d=o),d}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(1),h=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];d.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){ +var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),d=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),h={top:a.y,left:a.x,bottom:d.y,right:d.x},l=0;l0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new d(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_ALL}),h.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new d(this.frame),h.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),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=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){if("undefined"!=typeof window){var o=i(159),n=window.Hammer||i(160);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?h._handlers[t]=o:(i.off(t,s),delete h._handlers[t]))}),h},h.emit=function(e,o){t=o.target,i.emit(e,o)},h.destroy=function(){var t=i.element.hammer,e=t.indexOf(h);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,h._handlers={},i.destroy()},h}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 * http://hammerjs.github.io/ * * Copyright (c) 2016 Jorik Tangelder; * Licensed under the MIT license */ -!function(n,s,r,a){function d(t,e,i){return setTimeout(f(t,i),e)}function h(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&vt(o,i)}function f(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==mt?t.apply(e?e[0]||a:a,e):t}function v(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function y(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function m(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=F(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,d=e.center=I(o);e.timeStamp=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=A(a,d),e.distance=R(a,d),P(i,e),e.offsetDirection=N(e.deltaX,e.deltaY);var h=z(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=h.x,e.overallVelocityY=h.y,e.overallVelocity=_t(h.x)>_t(h.y)?h.x:h.y,e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,B(i,e);var l=t.element;m(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==It&&s.eventType!==Nt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function B(t,e){var i,o,n,s,r=t.lastInterval||e,d=e.timeStamp-r.timeStamp;if(e.eventType!=Rt&&(d>Ft||r.velocity===a)){var h=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=z(d,h,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=N(h,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function F(t){for(var e=[],i=0;i=_t(e)?t<0?jt:Ht:e<0?Lt:Wt}function R(t,e,i){i||(i=qt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function A(t,e,i){i||(i=qt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return A(e[1],e[0],Gt)+A(t[1],t[0],Gt)}function H(t,e){return R(e[0],e[1],Gt)/R(t[0],t[1],Gt)}function L(){this.evEl=Kt,this.evWin=Zt,this.pressed=!1,E.apply(this,arguments)}function W(){this.evEl=Jt,this.evWin=te,E.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=ie,this.evWin=oe,this.started=!1,E.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(Nt|Rt)&&(i=x(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=se,this.targetIds={},E.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(It|zt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],d=this.target;if(s=i.filter(function(t){return m(t.target,d)}),e===It)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function Z(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=xe)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&me||!(this.state&me)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&me)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Nt|Rt)&&!n)this.reset();else if(t.eventType&It)this.reset(),this._timer=d(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Nt)return we;return xe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Nt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),c(dt,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&me)}}),c(ht,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|Ut,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|Ut)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&Ut&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Nt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distance0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=h.default.getRange(this.body.nodes,t.nodes);var a=this.body.nodeIndices.length;o=12.662/(a+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=h.default.getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,f=this.canvas.frame.canvas.clientHeight/u;o=c<=f?c:f}o>1?o=1:0===o&&(o=1);var p=h.default.findCenter(i),v={position:p,scale:o,animation:t.animation};this.moveTo(v)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(164),h=o(d),l=i(166),u=o(l),c=i(1),f=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new h.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),d=this.selectionHandler._getSelectedNodeCount(),h=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,h),u=l.nodesChanged,c=l.edgesChanged,f=!1;d-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,f=!0):u===!0&&d>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),f=!0,r=!0):d-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&f===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;n\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&vt(o,i)}function f(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==mt?t.apply(e?e[0]||a:a,e):t}function v(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function y(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function m(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=B(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,d=e.center=I(o);e.timeStamp=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=A(a,d),e.distance=R(a,d),P(i,e),e.offsetDirection=N(e.deltaX,e.deltaY);var h=z(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=h.x,e.overallVelocityY=h.y,e.overallVelocity=_t(h.x)>_t(h.y)?h.x:h.y,e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,F(i,e);var l=t.element;m(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==It&&s.eventType!==Nt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function F(t,e){var i,o,n,s,r=t.lastInterval||e,d=e.timeStamp-r.timeStamp;if(e.eventType!=Rt&&(d>Bt||r.velocity===a)){var h=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=z(d,h,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=N(h,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function B(t){for(var e=[],i=0;i=_t(e)?t<0?jt:Ht:e<0?Lt:Wt}function R(t,e,i){i||(i=qt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function A(t,e,i){i||(i=qt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return A(e[1],e[0],Gt)+A(t[1],t[0],Gt)}function H(t,e){return R(e[0],e[1],Gt)/R(t[0],t[1],Gt)}function L(){this.evEl=Kt,this.evWin=Zt,this.pressed=!1,E.apply(this,arguments)}function W(){this.evEl=Jt,this.evWin=te,E.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=ie,this.evWin=oe,this.started=!1,E.apply(this,arguments)}function V(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(Nt|Rt)&&(i=x(i.concat(o),"identifier",!0)),[i,o]}function U(){this.evTarget=se,this.targetIds={},E.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(It|zt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],d=this.target;if(s=i.filter(function(t){return m(t.target,d)}),e===It)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function Z(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=xe)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&me||!(this.state&me)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&me)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Nt|Rt)&&!n)this.reset();else if(t.eventType&It)this.reset(),this._timer=d(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Nt)return we;return xe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Nt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),c(dt,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&me)}}),c(ht,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|Vt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|Vt)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&Vt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Nt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distance0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=h.default.getRange(this.body.nodes,t.nodes);var a=this.body.nodeIndices.length;o=12.662/(a+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=h.default.getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,f=this.canvas.frame.canvas.clientHeight/u;o=c<=f?c:f}o>1?o=1:0===o&&(o=1);var p=h.default.findCenter(i),v={position:p,scale:o,animation:t.animation};this.moveTo(v)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(164),h=o(d),l=i(166),u=o(l),c=i(1),f=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new h.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),d=this.selectionHandler._getSelectedNodeCount(),h=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,h),u=l.nodesChanged,c=l.edgesChanged,f=!1;d-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,f=!0):u===!0&&d>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),f=!0,r=!0):d-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&f===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;n10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var d=this.canvas.canvasToDOM(o);this.drag.pointer.x=d.x,this.drag.pointer.y=d.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=d[l[l.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var f=this.body.edgeIndices,p=this.body.edges,v=void 0,g=[],y=0;y0&&(this.popupObj=p[g[g.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new u.default(this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=void 0!==o&&o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e.default=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=(i(1),i(158)),h=i(161),l=i(165),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;e<=122;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;e<=90;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)r[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r.delete={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){h(t,"keydown")},d=function(t){h(t,"keyup")},h=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;nn-this.padding&&(a=!0),s=a?this.x-i:this.x,r=d?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof h.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(104),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(154),v=o(p),g=i(1),y=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},g.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,f.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(g.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),g.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),g.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={enabled:void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,h.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||t.physics.enabled,this.optionsBackup.physics.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var e="horizontal";"RL"!==this.options.hierarchical.direction&&"LR"!==this.options.hierarchical.direction||(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;es){for(var r=this.body.nodeIndices.length;this.body.nodeIndices.length>s;){n+=1;var a=this.body.nodeIndices.length;n%3===0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();var d=this.body.nodeIndices.length;if(a==d&&n%3!==0||n>o)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*r)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var h=70,l=0;l0){var t=void 0,e=void 0,i=!1,o=!0,n=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0===t.options.x&&void 0===t.options.y&&(o=!1),void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):n=!0);if(n===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");n===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback()); for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&void 0===this.hierarchicalLevels[s]&&(this.hierarchicalLevels[s]=0);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(){for(var e=d(),i=0,o=0;o0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var d in e)if(e.hasOwnProperty(d)){var h=t.body.nodes[d],l=t.hierarchicalLevels[h.id],u=t._getPositionForHierarchy(h),c=t._getSpaceAroundNode(h,e),f=(0,a.default)(c,2),p=f[0],v=f[1];o=Math.min(p,o),n=Math.min(v,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},u=function(e){var i={},o=function e(o){if(void 0!==i[o])return i[o];var n=t.hierarchicalLevels[o];if(t.hierarchicalChildrenReference[o]){var s=t.hierarchicalChildrenReference[o];if(s.length>0)for(var r=0;r1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o),d=Math.abs(r-s);if(d>t.options.hierarchical.nodeSpacing){var u={},f={};h(i,u),h(o,f);var p=c(i,o),v=l(u,p),g=(0,a.default)(v,4),y=(g[0],g[1]),m=(g[2],g[3],l(f,p)),b=(0,a.default)(m,4),_=b[0],w=(b[1],b[2]),k=(b[3],Math.abs(y-_));if(k>t.options.hierarchical.nodeSpacing){var x=y-_+t.options.hierarchical.nodeSpacing;x<-w+t.options.hierarchical.nodeSpacing&&(x=-w+t.options.hierarchical.nodeSpacing),x<0&&(t._shiftBlock(o.id,x),e=!0,n===!0&&t._centerParent(o))}}},g=function(o,n){for(var s=n.id,r=n.edges,d=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},f=[],p=0;p0?v=Math.min(p,f-t.options.hierarchical.nodeSpacing):p<0&&(v=-Math.min(-p,c-t.options.hierarchical.nodeSpacing)),0!=v&&(t._shiftBlock(n.id,v),e=!0)},w=function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),d=r[0],h=r[1],l=i-o,u=o;l>0?u=Math.min(o+(h-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(d-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)},k=b(o,f);_(k),k=b(o,r),w(k)},y=function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var h=0;h0&&Math.abs(y)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){if(void 0!==this.hierarchicalChildrenReference[t]){for(var i=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var d=1e9,h=-1e9,l=0;l0&&(e=this._getHubSize(),0!==e);)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=1e5,i=function(t,e,i){},o=function(o,n,s){var r=t.hierarchicalLevels[o.id];void 0===r&&(t.hierarchicalLevels[o.id]=e);var a=i(v.default.cloneOptions(o,"node"),v.default.cloneOptions(n,"node"),v.default.cloneOptions(s,"edge"));t.hierarchicalLevels[n.id]=t.hierarchicalLevels[o.id]+a};this._crawlNetwork(o),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=1e4,i=function(i,o,n){var s=t.hierarchicalLevels[i.id];void 0===s&&(t.hierarchicalLevels[i.id]=e),n.toId==o.id?t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]+1:t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]-1};this._crawlNetwork(i),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&void 0!==this.hierarchicalLevels[e]&&(t=Math.min(this.hierarchicalLevels[e],t));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalChildrenReference[o]&&(t.hierarchicalChildrenReference[o]=[]),t.hierarchicalChildrenReference[o].push(n),void 0===t.hierarchicalParentReference[n]&&(t.hierarchicalParentReference[n]=[]),t.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3];o!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(89),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=i(158),g=i(161),y=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},p.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,f.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,p.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=p.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,h.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var t=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(t.from,t.to)}if(this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId){var i=this.body.edges[this.edgeBeingEditedId],o=this._getNewTargetNode(i.from.x,i.from.y),n=this._getNewTargetNode(i.to.x,i.to.y);this.temporaryIds.nodes.push(o.id),this.temporaryIds.nodes.push(n.id),this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id),this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id),this._temporaryBindUI("onTouch",this._controlNodeTouch.bind(this)),this._temporaryBindUI("onTap",function(){}),this._temporaryBindUI("onHold",function(){}),this._temporaryBindUI("onDragStart",this._controlNodeDragStart.bind(this)),this._temporaryBindUI("onDrag",this._controlNodeDrag.bind(this)),this._temporaryBindUI("onDragEnd",this._controlNodeDragEnd.bind(this)),this._temporaryBindUI("onMouseMove",function(){}),this._temporaryBindEvent("beforeDrawing",function(t){var e=i.edgeType.findBorderPositions(t);o.selected===!1&&(o.x=e.from.x,o.y=e.from.y),n.selected===!1&&(n.x=e.to.x,n.y=e.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=p.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+p.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},p.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(p.recursiveDOMDelete(this.editModeDiv),p.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=p.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+p.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y), this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(this.temporaryIds.nodes.indexOf(n[r])===-1){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:p.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(89),s=o(n),r=i(62),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(171),f=o(c),p=i(1),v=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,h.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},p.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new f.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(this.options.showButton===!0){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),h=a.max,d="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var c=this;a.onchange=function(){u.value=this.value,c._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var f=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,f,a,u);""!==d&&this.popupHistory[p]!==h&&(this.popupHistory[p]=h,this._setupPopup(d,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],d=p.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,d,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var h=this._getValue(d);if(a instanceof Array)this._handleArray(a,h,d);else if("string"==typeof a)this._makeTextInput(a,h,d);else if("boolean"==typeof a)this._makeCheckbox(a,h,d);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=p.copyAndExtendArray(d,"enabled"),c=this._getValue(u);if(c===!0){var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}else this._makeCheckbox(a,c,d)}else{var v=this._makeLabel(r,d,!0);this._makeItem(d,v),s=this._handleObject(a,d)||s}}else console.error("dont know how to handle",a,r,d)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,h.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var d=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:d}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=c.extend({},t)),this.color=t;var i=c.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,d=1/360,h=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;r2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=.01,r=1,a=0,d=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),h=5,l=1e9,u=0,c=0,f=0,p=0,v=0;l>n&&ar&&v=.1;)f=n[l++%s],f>h&&(f=h),c=Math.sqrt(f*f/(1+d*d)),c=r<0?-c:c,t+=c,e+=d*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),h-=f,u=!u})},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 o,n=0;n=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function c(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function f(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(j=F.NULL,A="";" "===R||"\t"===R||"\n"===R||"\r"===R;)r();do{var t=!1;if("#"===R){for(var e=N-1;" "===z.charAt(e)||"\t"===z.charAt(e);)e--;if("\n"===z.charAt(e)||""===z.charAt(e)){for(;""!=R&&"\n"!=R;)r();t=!0}}if("/"===R&&"/"===a()){for(;""!=R&&"\n"!=R;)r();t=!0}if("/"===R&&"*"===a()){for(;""!=R;){if("*"===R&&"/"===a()){r(),r();break}r()}t=!0}for(;" "===R||"\t"===R||"\n"===R||"\r"===R;)r()}while(t);if(""===R)return void(j=F.DELIMITER);var i=R+a();if(I[i])return j=F.DELIMITER,A=i,r(),void r();if(I[R])return j=F.DELIMITER,A=R,void r();if(d(R)||"-"===R){for(A+=R,r();d(R);)A+=R,r();return"false"===A?A=!1:"true"===A?A=!0:isNaN(Number(A))||(A=Number(A)),void(j=F.IDENTIFIER)}if('"'===R){for(r();""!=R&&('"'!=R||'"'===R&&'"'===a());)A+=R,'"'===R&&r(),r();if('"'!=R)throw x('End of string " expected');return r(),void(j=F.IDENTIFIER)}for(j=F.UNKNOWN;""!=R;)A+=R,r();throw new SyntaxError('Syntax error in part "'+O(A,30)+'"')}function v(){var t={};if(s(),p(),"strict"===A&&(t.strict=!0,p()),"graph"!==A&&"digraph"!==A||(t.type=A,p()),j===F.IDENTIFIER&&(t.id=A,p()),"{"!=A)throw x("Angle bracket { expected");if(p(),g(t),"}"!=A)throw x("Angle bracket } expected");if(p(),""!==A)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function g(t){for(;""!==A&&"}"!=A;)y(t),";"===A&&p()}function y(t){var e=m(t);if(e)return void w(t,e);var i=b(t);if(!i){if(j!=F.IDENTIFIER)throw x("Identifier expected");var o=A;if(p(),"="===A){if(p(),j!=F.IDENTIFIER)throw x("Identifier expected");t[o]=A,p()}else _(t,o)}}function m(t){var e=null;if("subgraph"===A&&(e={},e.type="subgraph",p(),j===F.IDENTIFIER&&(e.id=A,p())),"{"===A){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,g(e),"}"!=A)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 b(t){return"node"===A?(p(),t.node=k(),"node"):"edge"===A?(p(),t.edge=k(),"edge"):"graph"===A?(p(),t.graph=k(),"graph"):null}function _(t,e){var i={id:e},o=k();o&&(i.attr=o),u(t,i),w(t,e)}function w(t,e){for(;"->"===A||"--"===A;){var i,o=A;p();var n=m(t);if(n)i=n;else{if(j!=F.IDENTIFIER)throw x("Identifier or subgraph expected");i=A,u(t,{id:i}),p()}var s=k(),r=f(t,e,i,o,s);c(t,r),e=i}}function k(){for(var t=null;"["===A;){for(p(),t={};""!==A&&"]"!=A;){if(j!=F.IDENTIFIER)throw x("Attribute name expected");var e=A;if(p(),"="!=A)throw x("Equal sign = expected");if(p(),j!=F.IDENTIFIER)throw x("Attribute value expected");var i=A;l(t,e,i),p(),","==A&&p()}if("]"!=A)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+O(A,30)+'" (char '+N+")")}function O(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},z="",N=0,R="",A="",j=F.NULL,H=/[a-zA-Z_0-9.:#]/;e.parseDOT=n,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=.01,r=1,a=0,d=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),h=5,l=1e9,u=0,c=0,f=0,p=0,v=0;l>n&&ar&&v=.1;)f=n[l++%s],f>h&&(f=h),c=Math.sqrt(f*f/(1+d*d)),c=r<0?-c:c,t+=c,e+=d*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),h-=f,u=!u})},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 o,n=0;n=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function c(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function f(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(j=B.NULL,A="";" "===R||"\t"===R||"\n"===R||"\r"===R;)r();do{var t=!1;if("#"===R){for(var e=N-1;" "===z.charAt(e)||"\t"===z.charAt(e);)e--;if("\n"===z.charAt(e)||""===z.charAt(e)){for(;""!=R&&"\n"!=R;)r();t=!0}}if("/"===R&&"/"===a()){for(;""!=R&&"\n"!=R;)r();t=!0}if("/"===R&&"*"===a()){for(;""!=R;){if("*"===R&&"/"===a()){r(),r();break}r()}t=!0}for(;" "===R||"\t"===R||"\n"===R||"\r"===R;)r()}while(t);if(""===R)return void(j=B.DELIMITER);var i=R+a();if(I[i])return j=B.DELIMITER,A=i,r(),void r();if(I[R])return j=B.DELIMITER,A=R,void r();if(d(R)||"-"===R){for(A+=R,r();d(R);)A+=R,r();return"false"===A?A=!1:"true"===A?A=!0:isNaN(Number(A))||(A=Number(A)),void(j=B.IDENTIFIER)}if('"'===R){for(r();""!=R&&('"'!=R||'"'===R&&'"'===a());)A+=R,'"'===R&&r(),r();if('"'!=R)throw x('End of string " expected');return r(),void(j=B.IDENTIFIER)}for(j=B.UNKNOWN;""!=R;)A+=R,r();throw new SyntaxError('Syntax error in part "'+O(A,30)+'"')}function v(){var t={};if(s(),p(),"strict"===A&&(t.strict=!0,p()),"graph"!==A&&"digraph"!==A||(t.type=A,p()),j===B.IDENTIFIER&&(t.id=A,p()),"{"!=A)throw x("Angle bracket { expected");if(p(),g(t),"}"!=A)throw x("Angle bracket } expected");if(p(),""!==A)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function g(t){for(;""!==A&&"}"!=A;)y(t),";"===A&&p()}function y(t){var e=m(t);if(e)return void w(t,e);var i=b(t);if(!i){if(j!=B.IDENTIFIER)throw x("Identifier expected");var o=A;if(p(),"="===A){if(p(),j!=B.IDENTIFIER)throw x("Identifier expected");t[o]=A,p()}else _(t,o)}}function m(t){var e=null;if("subgraph"===A&&(e={},e.type="subgraph",p(),j===B.IDENTIFIER&&(e.id=A,p())),"{"===A){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,g(e),"}"!=A)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 b(t){return"node"===A?(p(),t.node=k(),"node"):"edge"===A?(p(),t.edge=k(),"edge"):"graph"===A?(p(),t.graph=k(),"graph"):null}function _(t,e){var i={id:e},o=k();o&&(i.attr=o),u(t,i),w(t,e)}function w(t,e){for(;"->"===A||"--"===A;){var i,o=A;p();var n=m(t);if(n)i=n;else{if(j!=B.IDENTIFIER)throw x("Identifier or subgraph expected");i=A,u(t,{id:i}),p()}var s=k(),r=f(t,e,i,o,s);c(t,r),e=i}}function k(){for(var t=null;"["===A;){for(p(),t={};""!==A&&"]"!=A;){if(j!=B.IDENTIFIER)throw x("Attribute name expected");var e=A;if(p(),"="!=A)throw x("Equal sign = expected");if(p(),j!=B.IDENTIFIER)throw x("Attribute value expected");var i=A;l(t,e,i),p(),","==A&&p()}if("]"!=A)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+O(A,30)+'" (char '+N+")")}function O(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},z="",N=0,R="",A="",j=B.NULL,H=/[a-zA-Z_0-9.:#]/;e.parseDOT=n,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var m={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=m.split(t.style.cssText),n=m.split(i),s=e.extend(o,n);t.style.cssText=m.join(s)},e.removeCssText=function(t,e){var i=m.split(t.style.cssText),o=m.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=m.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;r<=a&&s0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?u=h+1:p=h-1,l++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),p=i(47)("iterator"),c=!([].keys&&"next"in[].keys()),f="@@iterator",m="keys",g="values",v=function(){return this};t.exports=function(t,e,i,y,b,_,w){d(i,e,y);var x,D,S,k=function(t){if(!c&&t in O)return O[t];switch(t){case m:return function(){return new i(this,t)};case g:return function(){return new i(this,t)}}return function(){return new i(this,t)}},C=e+" Iterator",T=b==g,M=!1,O=t.prototype,E=O[p]||O[f]||b&&O[b],P=E||k(b),I=b?T?k("entries"):P:void 0,A="Array"==e?O.entries||E:E;if(A&&(S=u(A.call(new t)),S!==Object.prototype&&(l(S,C,!0),o||a(S,p)||r(S,p,v))),T&&E&&E.name!==g&&(M=!0,P=function(){return E.call(this)}),o&&!w||!c&&!M&&O[p]||r(O,p,P),h[e]=P,h[C]=v,b)if(x={values:T?P:k(g),keys:_?P:k(m),entries:I},w)for(D in x)D in O||s(O,D,x[D]);else n(n.P+n.F*(c||M),e,x);return x}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",h=function(t,e,i){var d,l,u,p=t&h.F,c=t&h.G,f=t&h.S,m=t&h.P,g=t&h.B,v=t&h.W,y=c?n:n[e]||(n[e]={}),b=y[a],_=c?o:f?o[e]:(o[e]||{})[a];c&&(i=e);for(d in i)l=!p&&_&&void 0!==_[d],l&&d in y||(u=l?_[d]:i[d],y[d]=c&&"function"!=typeof _[d]?i[d]:g&&l?s(u,o):v&&_[d]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):m&&"function"==typeof u?s(Function.call,u):u,m&&((y.virtual||(y.virtual={}))[d]=u,t&h.R&&b&&!b[d]&&r(b,d,u)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h="prototype",d=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),d=t.F;o--;)delete d[h][s[o]];return d()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[h]=o(t),i=new a,a[h]=null,i[r]=t):i=d(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if(a=h[l++],a!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),p=i(43),c=i(47),f=i(65),m=i(70),g=i(71),v=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),D=i(33),S=i(76),k=i(78),C=i(21),T=i(35),M=k.f,O=C.f,E=S.f,P=o.Symbol,I=o.JSON,A=I&&I.stringify,N="prototype",R=c("_hidden"),L=c("toPrimitive"),F={}.propertyIsEnumerable,H=l("symbol-registry"),Y=l("symbols"),j=l("op-symbols"),G=Object[N],z="function"==typeof P,W=o.QObject,B=!W||!W[N]||!W[N].findChild,U=s&&d(function(){return 7!=D(O({},"a",{get:function(){return O(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=M(G,e);o&&delete G[e],O(t,e,i),o&&t!==G&&O(G,e,o)}:O,V=function(t){var e=Y[t]=D(P[N]);return e._k=t,e},q=z&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===G&&X(j,e,i),b(t),e=w(e,!0),b(i),n(Y,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=D(i,{enumerable:x(0,!1)})):(n(t,R)||O(t,R,x(1,{})),t[R][e]=!0),U(t,e,i)):O(t,e,i)},Z=function(t,e){b(t);for(var i,o=v(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},K=function(t,e){return void 0===e?D(t):Z(D(t),e)},$=function(t){var e=F.call(this,t=w(t,!0));return!(this===G&&n(Y,t)&&!n(j,t))&&(!(e||!n(this,t)||!n(Y,t)||n(this,R)&&this[R][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==G||!n(Y,e)||n(j,e)){var i=M(t,e);return!i||!n(Y,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},Q=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(Y,e=i[s++])||e==R||e==h||o.push(e);return o},tt=function(t){for(var e,i=t===G,o=E(i?j:_(t)),s=[],r=0;o.length>r;)!n(Y,e=o[r++])||i&&!n(G,e)||s.push(Y[e]);return s};z||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(i){this===G&&e.call(j,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),U(this,t,x(1,i))};return s&&B&&U(G,t,{configurable:!0,set:e}),V(t)},a(P[N],"toString",function(){return this._k}),k.f=J,C.f=X,i(77).f=S.f=Q,i(74).f=$,i(73).f=tt,s&&!i(14)&&a(G,"propertyIsEnumerable",$,!0),f.f=function(t){return V(c(t))}),r(r.G+r.W+r.F*!z,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)c(et[it++]);for(var et=T(c.store),it=0;et.length>it;)m(et[it++]);r(r.S+r.F*!z,"Symbol",{for:function(t){return n(H,t+="")?H[t]:H[t]=P(t)},keyFor:function(t){if(q(t))return g(H,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){B=!0},useSimple:function(){B=!1}}),r(r.S+r.F*!z,"Object",{create:K,defineProperty:X,defineProperties:Z,getOwnPropertyDescriptor:J,getOwnPropertyNames:Q,getOwnPropertySymbols:tt}),I&&r(r.S+r.F*(!z||d(function(){var t=P();return"[null]"!=A([t])||"{}"!=A({a:t})||"{}"!=A(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!q(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!q(e))return e}),o[1]=e,A.apply(I,o)}}}),P[N][L]||i(20)(P[N],L,P[N].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},p=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},c=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:p,onFreeze:c}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(83)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return go.apply(null,arguments)}function i(t){go=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i in bo)o=bo[i],n=e[o],g(n)||(t[o]=n);return t}function y(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function x(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return C(i)?i(e):i.replace(/%s/i,e)}function L(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function F(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function H(t){var e,i,o={};for(i in t)d(t,i)&&(e=F(i),e&&(o[e]=t[i]));return o}function Y(t,e){Io[t]=e}function j(t){var e=[];for(var i in t)e.push({unit:i,priority:Io[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function G(t,i){return function(o){return null!=o?(W(this,t,o),e.updateOffset(this,i),this):z(this,t)}}function z(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function W(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function B(t){return t=F(t),C(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=H(t);for(var i=j(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function q(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Lo[t]=n),e&&(Lo[e[0]]=function(){return V(n.apply(this,arguments),e[1],e[2])}),i&&(Lo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Z(t){var e,i,o=t.match(Ao);for(e=0,i=o.length;e=0&&No.test(t);)t=t.replace(No,i),No.lastIndex=0,o-=1;return t}function J(t,e,i){tn[t]=C(e)?e:function(t,o){return t&&i?i:e}}function Q(t,e){return d(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=gt(s)+d):d>gt(t)?(s=t+1,r=d-gt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function Dt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+St(n,e,i)):r>St(t.year(),e,i)?(o=r-St(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function St(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function kt(t){return Dt(t,this._week.dow,this._week.doy).week}function Ct(){return this._week.dow}function Tt(){return this._week.doy}function Mt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ot(t){var e=Dt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function At(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Nt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=pn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=pn.call(this._weekdaysParse,r),n!==-1?n:(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=pn.call(this._weekdaysParse,r),n!==-1?n:(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:(n=pn.call(this._weekdaysParse,r),n!==-1?n:(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Lt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Ft(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Ht(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Yt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Dn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Sn),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function zt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=kn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Wt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),d[e]=et(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Bt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function Vt(t,e){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function $t(t){for(var e,i,o,n,s=0;s0;){if(o=Jt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&x(n,i,!0)>=e-1)break;e--}s++}return null}function Jt(e){var i=null;if(!En[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Cn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return En[e]}function Qt(t,e){var i;return t&&(i=g(e)?ie(t):te(t,e),i&&(Cn=i)),Cn._abbr}function te(t,e){if(null!==e){var i=On;if(e.abbr=t,null!=En[t])k("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=En[t]._config;else if(null!=e.parentLocale){if(null==En[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=En[e.parentLocale]._config}return En[t]=new O(M(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),Qt(t),En[t]}return delete En[t],null}function ee(t,e){if(null!=e){var i,o=On;null!=En[t]&&(o=En[t]._config),e=M(o,e),i=new O(e),i.parentLocale=En[t],En[t]=i,Qt(t)}else null!=En[t]&&(null!=En[t].parentLocale?En[t]=En[t].parentLocale:null!=En[t]&&delete En[t]);return En[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Cn;if(!o(t)){if(e=Jt(t))return e;t=[t]}return $t(t)}function oe(){return So(En)}function ne(t){var e,i=t._a;return i&&c(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[hn]||0!==i[dn])?rn:i[an]<0||i[an]>59?an:i[hn]<0||i[hn]>59?hn:i[dn]<0||i[dn]>999?dn:-1,c(t)._overflowDayOfYear&&(esn)&&(e=sn),c(t)._overflowWeeks&&e===-1&&(e=ln),c(t)._overflowWeekday&&e===-1&&(e=un),c(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,h=In.exec(a)||An.exec(a);if(h){for(c(t).iso=!0,e=0,i=Rn.length;egt(n)&&(c(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[hn]&&0===t._a[dn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],Dt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=Dt(be(),s,r);i=ae(e.gg,t._a[on],d.year),o=ae(e.w,d.week),null!=e.d?(n=e.d,(n<0||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>St(i,s,r)?c(t)._overflowWeeks=!0:null!=h?c(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],c(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=$(t._f,t._locale).match(Ao)||[],i=0;i0&&c(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Lo[s]?(o?c(t).empty=!1:c(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&c(t).unusedTokens.push(s);c(t).charsLeftOver=h-d,a.length>0&&c(t).unusedInput.push(a),t._a[rn]<=12&&c(t).bigHour===!0&&t._a[rn]>0&&(c(t).bigHour=void 0),c(t).parsedDateParts=t._a.slice(0),c(t).meridiem=t._meridiem,t._a[rn]=pe(t._locale,t._a[rn],t._meridiem),de(t),ne(t)}function pe(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function ce(t){var e,i,o,n,s;if(0===t._f.length)return c(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Fe(){if(!g(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=ge(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function He(){return!!this.isValid()&&!this._isUTC}function Ye(){return!!this.isValid()&&this._isUTC}function je(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ge(t,e){var i,o,n,s=t,a=null;return Se(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=zn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[hn])*i,ms:w(ke(1e3*a[dn]))*i}):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:ze(a[2],i),M:ze(a[3],i),w:ze(a[4],i),d:ze(a[5],i),h:ze(a[6],i),m:ze(a[7],i),s:ze(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Be(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new De(s),Se(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function ze(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function We(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Be(t,e){var i;return t.isValid()&&e.isValid()?(e=Me(e,t),t.isBefore(e)?i=We(t,e):(i=We(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ue(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(k(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ge(i,o),Ve(this,n,t),this}}function Ve(t,i,o,n){var s=i._milliseconds,r=ke(i._days),a=ke(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&W(t,"Date",z(t,"Date")+r*o),a&<(t,z(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function qe(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=Me(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(C(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ze(){return new y(this)}function Ke(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=F(g(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Ii.call(this,t,e,i,o,n))}function Ii(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ai(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ni(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Ri(t,e){e[dn]=w(1e3*("0."+t))}function Li(){return this._isUTC?"UTC":""}function Fi(){return this._isUTC?"Coordinated Universal Time":""}function Hi(t){return be(1e3*t)}function Yi(){return be.apply(null,arguments).parseZone()}function ji(t){return t}function Gi(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function zi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Gi(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Gi(t,o,i,"month");return n}function Wi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Gi(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Gi(e,(a+s)%7,o,"day");return h}function Bi(t,e){return zi(t,e,"months")}function Ui(t,e){return zi(t,e,"monthsShort")}function Vi(t,e,i){return Wi(t,e,i,"weekdays")}function qi(t,e,i){return Wi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Wi(t,e,i,"weekdaysMin")}function Zi(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Ki(t,e,i,o){var n=Ge(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function $i(t,e){return Ki(this,t,e,1)}function Ji(t,e){return Ki(this,t,e,-1)}function Qi(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*Qi(io(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=_(s/1e3),h.seconds=t%60,e=_(t/60),h.minutes=e%60,i=_(e/60),h.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=Qi(io(n)),o=_(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800; -}function oo(t){var e,i,o=this._milliseconds;if(t=F(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(io(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=F(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=Ge(t).abs(),n=gs(o.as("s")),s=gs(o.as("m")),r=gs(o.as("h")),a=gs(o.as("d")),h=gs(o.as("M")),d=gs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function po(t){return void 0===t?gs:"function"==typeof t&&(gs=t,!0)}function co(t,e){return void 0!==vs[t]&&(void 0===e?vs[t]:(vs[t]=e,!0))}function fo(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function mo(){var t,e,i,o=ys(this._milliseconds)/1e3,n=ys(this._days),s=ys(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,p=this.asSeconds();return p?(p<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var go,vo;vo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn=G("FullYear",!0);q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),Y("week",5),Y("isoWeek",5),J("w",zo),J("ww",zo,Ho),J("W",zo),J("WW",zo,Ho),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};q("d",0,"do","day"),q("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),q("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),q("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),Y("day",11),Y("weekday",11),Y("isoWeekday",11),J("d",zo),J("e",zo),J("E",zo),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:c(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Dn=Qo,Sn=Qo,kn=Qo;q("H",["HH",2],0,"hour"),q("h",["hh",2],0,Bt),q("k",["kk",2],0,Ut),q("hmm",0,0,function(){return""+Bt.apply(this)+V(this.minutes(),2)}),q("hmmss",0,0,function(){return""+Bt.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)}),Vt("a",!0),Vt("A",!1),L("hour","h"),Y("hour",13),J("a",qt),J("A",qt),J("H",zo),J("h",zo),J("HH",zo,Ho),J("hh",zo,Ho),J("hmm",Wo),J("hmmss",Bo),J("Hmm",Wo),J("Hmmss",Bo),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),c(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),c(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n)),c(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n))});var Cn,Tn=/[ap]\.?m?\.?/i,Mn=G("Hours",!0),On={calendar:ko,longDateFormat:Co,invalidDate:To,ordinal:Mo,ordinalParse:Oo,relativeTime:Eo,months:fn,monthsShort:mn,week:bn,weekdays:_n,weekdaysMin:xn,weekdaysShort:wn,meridiemParse:Tn},En={},Pn={},In=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,An=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nn=/Z|[+-]\d\d(?::?\d\d)?/,Rn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ln=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Fn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=S("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Hn=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),jn=function(){return Date.now?Date.now():+new Date};Ce("Z",":"),Ce("ZZ",""),J("Z",$o),J("ZZ",$o),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Te($o,t)});var Gn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var zn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Wn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ge.fn=De.prototype;var Bn=Ue(1,"add"),Un=Ue(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Vn=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ci("gggg","weekYear"),Ci("ggggg","weekYear"),Ci("GGGG","isoWeekYear"),Ci("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),Y("weekYear",1),Y("isoWeekYear",1),J("G",Zo),J("g",Zo),J("GG",zo,Ho),J("gg",zo,Ho),J("GGGG",Vo,jo),J("gggg",Vo,jo),J("GGGGG",qo,Go),J("ggggg",qo,Go),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),q("Q",0,"Qo","quarter"),L("quarter","Q"),Y("quarter",7),J("Q",Fo),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),q("D",["DD",2],"Do","date"),L("date","D"),Y("date",9),J("D",zo),J("DD",zo,Ho),J("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(zo)[0],10)});var qn=G("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),Y("dayOfYear",4),J("DDD",Uo),J("DDDD",Yo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),q("m",["mm",2],0,"minute"),L("minute","m"),Y("minute",14),J("m",zo),J("mm",zo,Ho),it(["m","mm"],an);var Xn=G("Minutes",!1);q("s",["ss",2],0,"second"),L("second","s"),Y("second",15),J("s",zo),J("ss",zo,Ho),it(["s","ss"],hn);var Zn=G("Seconds",!1);q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),Y("millisecond",16),J("S",Uo,Fo),J("SS",Uo,Ho),J("SSS",Uo,Yo);var Kn;for(Kn="SSSS";Kn.length<=9;Kn+="S")J(Kn,Xo);for(Kn="S";Kn.length<=9;Kn+="S")it(Kn,Ri);var $n=G("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var Jn=y.prototype;Jn.add=Bn,Jn.calendar=Xe,Jn.clone=Ze,Jn.diff=ii,Jn.endOf=mi,Jn.format=ai,Jn.from=hi,Jn.fromNow=di,Jn.to=li,Jn.toNow=ui,Jn.get=B,Jn.invalidAt=Si,Jn.isAfter=Ke,Jn.isBefore=$e,Jn.isBetween=Je,Jn.isSame=Qe,Jn.isSameOrAfter=ti,Jn.isSameOrBefore=ei,Jn.isValid=xi,Jn.lang=Vn,Jn.locale=pi,Jn.localeData=ci,Jn.max=Yn,Jn.min=Hn,Jn.parsingFlags=Di,Jn.set=U,Jn.startOf=fi,Jn.subtract=Un,Jn.toArray=bi,Jn.toObject=_i,Jn.toDate=yi,Jn.toISOString=si,Jn.inspect=ri,Jn.toJSON=wi,Jn.toString=ni,Jn.unix=vi,Jn.valueOf=gi,Jn.creationData=ki,Jn.year=yn,Jn.isLeapYear=yt,Jn.weekYear=Ti,Jn.isoWeekYear=Mi,Jn.quarter=Jn.quarters=Ai,Jn.month=ut,Jn.daysInMonth=pt,Jn.week=Jn.weeks=Mt,Jn.isoWeek=Jn.isoWeeks=Ot,Jn.weeksInYear=Ei,Jn.isoWeeksInYear=Oi,Jn.date=qn,Jn.day=Jn.days=Ft,Jn.weekday=Ht,Jn.isoWeekday=Yt,Jn.dayOfYear=Ni,Jn.hour=Jn.hours=Mn,Jn.minute=Jn.minutes=Xn,Jn.second=Jn.seconds=Zn,Jn.millisecond=Jn.milliseconds=$n,Jn.utcOffset=Ee,Jn.utc=Ie,Jn.local=Ae,Jn.parseZone=Ne,Jn.hasAlignedHourOffset=Re,Jn.isDST=Le,Jn.isLocal=He,Jn.isUtcOffset=Ye,Jn.isUtc=je,Jn.isUTC=je,Jn.zoneAbbr=Li,Jn.zoneName=Fi,Jn.dates=S("dates accessor is deprecated. Use date instead.",qn),Jn.months=S("months accessor is deprecated. Use month instead",ut),Jn.years=S("years accessor is deprecated. Use year instead",yn),Jn.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Jn.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Fe);var Qn=O.prototype;Qn.calendar=E,Qn.longDateFormat=P,Qn.invalidDate=I,Qn.ordinal=A,Qn.preparse=ji,Qn.postformat=ji,Qn.relativeTime=N,Qn.pastFuture=R,Qn.set=T,Qn.months=rt,Qn.monthsShort=at,Qn.monthsParse=dt,Qn.monthsRegex=ft,Qn.monthsShortRegex=ct,Qn.week=kt,Qn.firstDayOfYear=Tt,Qn.firstDayOfWeek=Ct,Qn.weekdays=It,Qn.weekdaysMin=Nt,Qn.weekdaysShort=At,Qn.weekdaysParse=Lt,Qn.weekdaysRegex=jt,Qn.weekdaysShortRegex=Gt,Qn.weekdaysMinRegex=zt,Qn.isPM=Xt,Qn.meridiem=Zt,Qt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=S("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=S("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),hs=so("y"),ds=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),ps=ao("hours"),cs=ao("days"),fs=ao("months"),ms=ao("years"),gs=Math.round,vs={s:45,m:45,h:22,d:26,M:11},ys=Math.abs,bs=De.prototype;return bs.abs=Zi,bs.add=$i,bs.subtract=Ji,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=hs,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=ds,bs.seconds=ls,bs.minutes=us,bs.hours=ps,bs.days=cs,bs.weeks=ho,bs.months=fs,bs.years=ms,bs.humanize=fo,bs.toISOString=mo,bs.toString=mo,bs.toJSON=mo,bs.locale=pi,bs.localeData=ci,bs.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",mo),bs.lang=Vn,q("X",0,0,"unix"),q("x",0,0,"valueOf"),J("x",Zo),J("X",Jo),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=Jn,e.min=we,e.max=xe,e.now=jn,e.utc=u,e.unix=Hi,e.months=Bi,e.isDate=a,e.locale=Qt,e.invalid=m,e.duration=Ge,e.isMoment=b,e.weekdays=Vi,e.parseZone=Yi,e.localeData=ie,e.isDuration=Se,e.monthsShort=Ui,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=qi,e.normalizeUnits=F,e.relativeTimeRounding=po,e.relativeTimeThreshold=co,e.calendarFormat=qe,e.prototype=Jn,e})}).call(e,i(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=85},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:v+1,d=a-g+(h-v)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>g)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,v=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var p=t.node||f,c=0;c<6;c++)s[n+c]=p[c];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},p=0;p<256;p++)l[p]=(p+256).toString(16).substr(1),u[l[p]]=p;var c=r(),f=[1|c[0],c[1],c[2],c[3],c[4],c[5]],m=16383&(c[6]<<8|c[7]),g=0,v=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){n<0&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var s=i(58),r=o(s),a=i(1),h=i(88);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;os)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=!e||void 0===e.animation||e.animation;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=!t||void 0===t.animation||t.animation,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,n=null;if(null!=e&&null!=i){var s=function(t){return l.convert(t.data.start,"Date").valueOf()},r=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()},a=i-e;a<=0&&(a=10);var h=a/this.props.center.width;if(l.forEach(this.itemSet.items,function(t){t.groupShowing&&(t.show(),t.repositionX());var a=s(t),d=r(t);if(this.options.rtl)var l=a-(t.getWidthRight()+10)*h,u=d+(t.getWidthLeft()+10)*h;else var l=a-(t.getWidthLeft()+10)*h,u=d+(t.getWidthRight()+10)*h;li&&(i=u,n=t)}.bind(this)),o&&n){var d=o.getWidthLeft()+10,u=n.getWidthRight()+10,p=this.props.center.width-d-u;p>0&&(this.options.rtl?(e=s(o)-u*a/p,i=r(n)+d*a/p):(e=s(o)-d*a/p,i=r(n)+u*a/p))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=v.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(o),c=h?h(p,d,u):p,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:p,snappedTime:c}},n.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(89),s=o(n),r=i(62),a=o(r),h=i(95),d=o(h),l=i(96),u=o(l),p=i(100),c=o(p),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new c.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(this.options.showButton===!0){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),d=a.max,h="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var p=this;a.onchange=function(){u.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var c=this._makeLabel(i[i.length-1],i),f=this._makeItem(i,c,a,u);""!==h&&this.popupHistory[f]!==d&&(this.popupHistory[f]=d,this._setupPopup(h,f))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),p=this._getValue(u);if(p===!0){var c=this._makeLabel(r,h,!0);this._makeItem(h,c),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,p,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),p.isString(t)===!0){if(p.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(p.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(p.isValidHex(t)===!0){var a=p.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=p.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=p.extend({},t)),this.color=t;var i=p.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=p.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=p.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=p.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/360,d=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;r0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 +"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(87),e.DataSet=i(88),e.DataView=i(92),e.Queue=i(91),e.Timeline=i(93),e.Graph2d=i(129),e.timeline={Core:i(110),DateUtil:i(109),Range:i(107),stack:i(115),TimeStep:i(113),components:{items:{Item:i(117),BackgroundItem:i(121),BoxItem:i(119),PointItem:i(120),RangeItem:i(116)},BackgroundGroup:i(118),Component:i(108),CurrentTime:i(127),CustomTime:i(125),DataAxis:i(131),DataScale:i(132),GraphGroup:i(133),Group:i(114),ItemSet:i(111),Legend:i(137),LineGraph:i(130),TimeAxis:i(122)}},e.moment=i(82),e.Hammer=i(101),e.keycharm=i(124)},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}var n=i(2),s=o(n),r=i(55),a=o(r),h=i(58),d=o(h),l=i(62),u=o(l),p=i(82),c=i(86);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=f.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return c.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,u.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var m={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=m.split(t.style.cssText),n=m.split(i),s=e.extend(o,n);t.style.cssText=m.join(s)},e.removeCssText=function(t,e){var i=m.split(t.style.cssText),o=m.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=m.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;r<=a&&s0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?u=h+1:p=h-1,l++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),p=i(47)("iterator"),c=!([].keys&&"next"in[].keys()),f="@@iterator",m="keys",g="values",v=function(){return this};t.exports=function(t,e,i,y,b,_,w){d(i,e,y);var x,D,S,k=function(t){if(!c&&t in O)return O[t];switch(t){case m:return function(){return new i(this,t)};case g:return function(){return new i(this,t)}}return function(){return new i(this,t)}},T=e+" Iterator",C=b==g,M=!1,O=t.prototype,E=O[p]||O[f]||b&&O[b],P=E||k(b),N=b?C?k("entries"):P:void 0,A="Array"==e?O.entries||E:E;if(A&&(S=u(A.call(new t)),S!==Object.prototype&&(l(S,T,!0),o||a(S,p)||r(S,p,v))),C&&E&&E.name!==g&&(M=!0,P=function(){return E.call(this)}),o&&!w||!c&&!M&&O[p]||r(O,p,P),h[e]=P,h[T]=v,b)if(x={values:C?P:k(g),keys:_?P:k(m),entries:N},w)for(D in x)D in O||s(O,D,x[D]);else n(n.P+n.F*(c||M),e,x);return x}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",h=function(t,e,i){var d,l,u,p=t&h.F,c=t&h.G,f=t&h.S,m=t&h.P,g=t&h.B,v=t&h.W,y=c?n:n[e]||(n[e]={}),b=y[a],_=c?o:f?o[e]:(o[e]||{})[a];c&&(i=e);for(d in i)l=!p&&_&&void 0!==_[d],l&&d in y||(u=l?_[d]:i[d],y[d]=c&&"function"!=typeof _[d]?i[d]:g&&l?s(u,o):v&&_[d]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):m&&"function"==typeof u?s(Function.call,u):u,m&&((y.virtual||(y.virtual={}))[d]=u,t&h.R&&b&&!b[d]&&r(b,d,u)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h="prototype",d=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),d=t.F;o--;)delete d[h][s[o]];return d()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[h]=o(t),i=new a,a[h]=null,i[r]=t):i=d(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if(a=h[l++],a!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),p=i(43),c=i(47),f=i(65),m=i(70),g=i(71),v=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),D=i(33),S=i(76),k=i(78),T=i(21),C=i(35),M=k.f,O=T.f,E=S.f,P=o.Symbol,N=o.JSON,A=N&&N.stringify,I="prototype",R=c("_hidden"),L=c("toPrimitive"),F={}.propertyIsEnumerable,H=l("symbol-registry"),Y=l("symbols"),j=l("op-symbols"),G=Object[I],z="function"==typeof P,W=o.QObject,B=!W||!W[I]||!W[I].findChild,V=s&&d(function(){return 7!=D(O({},"a",{get:function(){return O(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=M(G,e);o&&delete G[e],O(t,e,i),o&&t!==G&&O(G,e,o)}:O,U=function(t){var e=Y[t]=D(P[I]);return e._k=t,e},q=z&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===G&&X(j,e,i),b(t),e=w(e,!0),b(i),n(Y,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=D(i,{enumerable:x(0,!1)})):(n(t,R)||O(t,R,x(1,{})),t[R][e]=!0),V(t,e,i)):O(t,e,i)},Z=function(t,e){b(t);for(var i,o=v(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},K=function(t,e){return void 0===e?D(t):Z(D(t),e)},$=function(t){var e=F.call(this,t=w(t,!0));return!(this===G&&n(Y,t)&&!n(j,t))&&(!(e||!n(this,t)||!n(Y,t)||n(this,R)&&this[R][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==G||!n(Y,e)||n(j,e)){var i=M(t,e);return!i||!n(Y,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},Q=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(Y,e=i[s++])||e==R||e==h||o.push(e);return o},tt=function(t){for(var e,i=t===G,o=E(i?j:_(t)),s=[],r=0;o.length>r;)!n(Y,e=o[r++])||i&&!n(G,e)||s.push(Y[e]);return s};z||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(i){this===G&&e.call(j,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),V(this,t,x(1,i))};return s&&B&&V(G,t,{configurable:!0,set:e}),U(t)},a(P[I],"toString",function(){return this._k}),k.f=J,T.f=X,i(77).f=S.f=Q,i(74).f=$,i(73).f=tt,s&&!i(14)&&a(G,"propertyIsEnumerable",$,!0),f.f=function(t){return U(c(t))}),r(r.G+r.W+r.F*!z,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)c(et[it++]);for(var et=C(c.store),it=0;et.length>it;)m(et[it++]);r(r.S+r.F*!z,"Symbol",{for:function(t){return n(H,t+="")?H[t]:H[t]=P(t)},keyFor:function(t){if(q(t))return g(H,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){B=!0},useSimple:function(){B=!1}}),r(r.S+r.F*!z,"Object",{create:K,defineProperty:X,defineProperties:Z,getOwnPropertyDescriptor:J,getOwnPropertyNames:Q,getOwnPropertySymbols:tt}),N&&r(r.S+r.F*(!z||d(function(){var t=P();return"[null]"!=A([t])||"{}"!=A({a:t})||"{}"!=A(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!q(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!q(e))return e}),o[1]=e,A.apply(N,o)}}}),P[I][L]||i(20)(P[I],L,P[I].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},p=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},c=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:p,onFreeze:c}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(83)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return _o.apply(null,arguments)}function i(t){_o=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return void 0===t}function a(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function h(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function d(t,e){var i,o=[];for(i=0;i0)for(i=0;i0?"future":"past"];return T(i)?i(e):i.replace(/%s/i,e)}function L(t,e){var i=t.toLowerCase();Ro[i]=Ro[i+"s"]=Ro[e]=t}function F(t){return"string"==typeof t?Ro[t]||Ro[t.toLowerCase()]:void 0}function H(t){var e,i,o={};for(i in t)l(t,i)&&(e=F(i),e&&(o[e]=t[i]));return o}function Y(t,e){Lo[t]=e}function j(t){var e=[];for(var i in t)e.push({unit:i,priority:Lo[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function G(t,i){return function(o){return null!=o?(W(this,t,o),e.updateOffset(this,i),this):z(this,t)}}function z(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function W(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function B(t){return t=F(t),T(this[t])?this[t]():this}function V(t,e){if("object"==typeof t){t=H(t);for(var i=j(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function q(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(jo[t]=n),e&&(jo[e[0]]=function(){return U(n.apply(this,arguments),e[1],e[2])}),i&&(jo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Z(t){var e,i,o=t.match(Fo);for(e=0,i=o.length;e=0&&Ho.test(t);)t=t.replace(Ho,i),Ho.lastIndex=0,o-=1;return t}function J(t,e,i){sn[t]=T(e)?e:function(t,o){return t&&i?i:e}}function Q(t,e){return l(sn,t)?sn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),a(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=gt(s)+d):d>gt(t)?(s=t+1,r=d-gt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function Dt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+St(n,e,i)):r>St(t.year(),e,i)?(o=r-St(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function St(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function kt(t){return Dt(t,this._week.dow,this._week.doy).week}function Tt(){return this._week.dow}function Ct(){return this._week.doy}function Mt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ot(t){var e=Dt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Nt(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:o(this._weekdays)?this._weekdays:this._weekdays.standalone}function At(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function It(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=p([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=gn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=gn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=gn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=gn.call(this._weekdaysParse,r),n!==-1?n:(n=gn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=gn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=gn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=gn.call(this._weekdaysParse,r),n!==-1?n:(n=gn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=gn.call(this._minWeekdaysParse,r),n!==-1?n:(n=gn.call(this._weekdaysParse,r),n!==-1?n:(n=gn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Lt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=p([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Ft(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Ht(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Yt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function jt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=Cn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Mn),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function zt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=On),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Wt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=p([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),d[e]=et(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Bt(){return this.hours()%12||12}function Vt(){return this.hours()||24}function Ut(t,e){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function $t(t){for(var e,i,o,n,s=0;s0;){if(o=Jt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&x(n,i,!0)>=e-1)break;e--}s++}return null}function Jt(e){var i=null;if(!In[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=En._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return In[e]}function Qt(t,e){var i;return t&&(i=r(e)?ie(t):te(t,e),i&&(En=i)),En._abbr}function te(t,e){if(null!==e){var i=An;if(e.abbr=t,null!=In[t])k("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=In[t]._config;else if(null!=e.parentLocale){if(null==In[e.parentLocale])return Rn[e.parentLocale]||(Rn[e.parentLocale]=[]),Rn[e.parentLocale].push({name:t,config:e}),null;i=In[e.parentLocale]._config}return In[t]=new O(M(i,e)),Rn[t]&&Rn[t].forEach(function(t){te(t.name,t.config)}),Qt(t),In[t]}return delete In[t],null}function ee(t,e){if(null!=e){var i,o=An;null!=In[t]&&(o=In[t]._config),e=M(o,e),i=new O(e),i.parentLocale=In[t],In[t]=i,Qt(t)}else null!=In[t]&&(null!=In[t].parentLocale?In[t]=In[t].parentLocale:null!=In[t]&&delete In[t]);return In[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return En;if(!o(t)){if(e=Jt(t))return e;t=[t]}return $t(t)}function oe(){return Mo(In)}function ne(t){var e,i=t._a;return i&&f(t).overflow===-2&&(e=i[hn]<0||i[hn]>11?hn:i[dn]<1||i[dn]>st(i[an],i[hn])?dn:i[ln]<0||i[ln]>24||24===i[ln]&&(0!==i[un]||0!==i[pn]||0!==i[cn])?ln:i[un]<0||i[un]>59?un:i[pn]<0||i[pn]>59?pn:i[cn]<0||i[cn]>999?cn:-1,f(t)._overflowDayOfYear&&(edn)&&(e=dn),f(t)._overflowWeeks&&e===-1&&(e=fn),f(t)._overflowWeekday&&e===-1&&(e=mn),f(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,h=Ln.exec(a)||Fn.exec(a);if(h){for(f(t).iso=!0,e=0,i=Yn.length;e10?"YYYY ":"YY "),s="HH:mm"+(i[4]?":ss":""),i[1]){var u=new Date(i[2]),p=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][u.getDay()];if(i[1].substr(0,3)!==p)return f(t).weekdayMismatch=!0,void(t._isValid=!1)}switch(i[5].length){case 2:0===h?a=" +0000":(h=l.indexOf(i[5][1].toUpperCase())-12,a=(h<0?" -":" +")+(""+h).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:a=d[i[5]];break;default:a=d[" GMT"]}i[5]=a,t._i=i.splice(1).join(""),r=" ZZ",t._f=o+n+s+r,pe(t),f(t).rfc2822=!0}else t._isValid=!1}function ae(t){var i=Gn.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(se(t),void(t._isValid===!1&&(delete t._isValid,re(t),t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t)))))}function he(t,e,i){return null!=t?t:null!=e?e:i}function de(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function le(t){var e,i,o,n,s=[];if(!t._d){for(o=de(t),t._w&&null==t._a[dn]&&null==t._a[hn]&&ue(t),null!=t._dayOfYear&&(n=he(t._a[an],o[an]),(t._dayOfYear>gt(n)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[hn]=i.getUTCMonth(),t._a[dn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[ln]&&0===t._a[un]&&0===t._a[pn]&&0===t._a[cn]&&(t._nextDay=!0,t._a[ln]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[ln]=24)}}function ue(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=he(e.GG,t._a[an],Dt(_e(),1,4).year),o=he(e.W,1),n=he(e.E,1),(n<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=Dt(_e(),s,r);i=he(e.gg,t._a[an],d.year),o=he(e.w,d.week),null!=e.d?(n=e.d,(n<0||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>St(i,s,r)?f(t)._overflowWeeks=!0:null!=h?f(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[an]=a.year,t._dayOfYear=a.dayOfYear)}function pe(t){if(t._f===e.ISO_8601)return void se(t);if(t._f===e.RFC_2822)return void re(t);t._a=[],f(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=$(t._f,t._locale).match(Fo)||[],i=0;i0&&f(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),jo[s]?(o?f(t).empty=!1:f(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&f(t).unusedTokens.push(s);f(t).charsLeftOver=h-d,a.length>0&&f(t).unusedInput.push(a),t._a[ln]<=12&&f(t).bigHour===!0&&t._a[ln]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[ln]=ce(t._locale,t._a[ln],t._meridiem),le(t),ne(t)}function ce(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function fe(t){var e,i,o,n,s;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ge(){if(!r(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=ve(t),t._a){var e=t._isUTC?p(t._a):_e(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function ze(){return!!this.isValid()&&!this._isUTC}function We(){return!!this.isValid()&&this._isUTC}function Be(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ve(t,e){var i,o,n,s=t,r=null;return Me(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:a(t)?(s={},e?s[e]=t:s.milliseconds=t):(r=Xn.exec(t))?(i="-"===r[1]?-1:1,s={y:0,d:w(r[dn])*i,h:w(r[ln])*i,m:w(r[un])*i,s:w(r[pn])*i,ms:w(Oe(1e3*r[cn]))*i}):(r=Zn.exec(t))?(i="-"===r[1]?-1:1,s={y:Ue(r[2],i),M:Ue(r[3],i),w:Ue(r[4],i),d:Ue(r[5],i),h:Ue(r[6],i),m:Ue(r[7],i),s:Ue(r[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Xe(_e(s.from),_e(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Ce(s),Me(t)&&l(t,"_locale")&&(o._locale=t._locale),o}function Ue(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function qe(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Xe(t,e){var i;return t.isValid()&&e.isValid()?(e=Ne(e,t),t.isBefore(e)?i=qe(t,e):(i=qe(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ze(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(k(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ve(i,o),Ke(this,n,t),this}}function Ke(t,i,o,n){var s=i._milliseconds,r=Oe(i._days),a=Oe(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&W(t,"Date",z(t,"Date")+r*o),a&<(t,z(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function $e(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Je(t,i){var o=t||_e(),n=Ne(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(T(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,_e(o)))}function Qe(){return new y(this)}function ti(t,e){var i=b(t)?t:_e(t);return!(!this.isValid()||!i.isValid())&&(e=F(r(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()9999?K(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):T(Date.prototype.toISOString)?this.toDate().toISOString():K(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function li(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var i="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n="-MM-DD[T]HH:mm:ss.SSS",s=e+'[")]';return this.format(i+o+n+s)}function ui(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var i=K(this,t);return this.localeData().postformat(i)}function pi(t,e){return this.isValid()&&(b(t)&&t.isValid()||_e(t).isValid())?Ve({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function ci(t){return this.from(_e(),t)}function fi(t,e){return this.isValid()&&(b(t)&&t.isValid()||_e(t).isValid())?Ve({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function mi(t){return this.to(_e(),t)}function gi(t){var e;return void 0===t?this._locale._abbr:(e=ie(t),null!=e&&(this._locale=e),this)}function vi(){return this._locale}function yi(t){switch(t=F(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this}function bi(t){return t=F(t),void 0===t||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function _i(){return this._d.valueOf()-6e4*(this._offset||0)}function wi(){return Math.floor(this.valueOf()/1e3)}function xi(){return new Date(this.valueOf())}function Di(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Si(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function ki(){return this.isValid()?this.toISOString():null}function Ti(){return m(this)}function Ci(){return u({},f(this))}function Mi(){return f(this).overflow}function Oi(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ei(t,e){q(0,[t,t.length],0,e)}function Pi(t){return Ri.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Ni(t){return Ri.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Ai(){return St(this.year(),1,4)}function Ii(){var t=this.localeData()._week;return St(this.year(),t.dow,t.doy)}function Ri(t,e,i,o,n){var s;return null==t?Dt(this,o,n).year:(s=St(t,o,n),e>s&&(e=s),Li.call(this,t,e,i,o,n))}function Li(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Fi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Hi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Yi(t,e){e[cn]=w(1e3*("0."+t))}function ji(){return this._isUTC?"UTC":""}function Gi(){return this._isUTC?"Coordinated Universal Time":""}function zi(t){return _e(1e3*t)}function Wi(){return _e.apply(null,arguments).parseZone()}function Bi(t){return t}function Vi(t,e,i,o){var n=ie(),s=p().set(o,e);return n[i](s,t)}function Ui(t,e,i){if(a(t)&&(e=t,t=void 0),t=t||"",null!=e)return Vi(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Vi(t,o,i,"month");return n; +}function qi(t,e,i,o){"boolean"==typeof t?(a(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,a(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Vi(e,(i+s)%7,o,"day");var r,h=[];for(r=0;r<7;r++)h[r]=Vi(e,(r+s)%7,o,"day");return h}function Xi(t,e){return Ui(t,e,"months")}function Zi(t,e){return Ui(t,e,"monthsShort")}function Ki(t,e,i){return qi(t,e,i,"weekdays")}function $i(t,e,i){return qi(t,e,i,"weekdaysShort")}function Ji(t,e,i){return qi(t,e,i,"weekdaysMin")}function Qi(){var t=this._data;return this._milliseconds=rs(this._milliseconds),this._days=rs(this._days),this._months=rs(this._months),t.milliseconds=rs(t.milliseconds),t.seconds=rs(t.seconds),t.minutes=rs(t.minutes),t.hours=rs(t.hours),t.months=rs(t.months),t.years=rs(t.years),this}function to(t,e,i,o){var n=Ve(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function eo(t,e){return to(this,t,e,1)}function io(t,e){return to(this,t,e,-1)}function oo(t){return t<0?Math.floor(t):Math.ceil(t)}function no(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*oo(ro(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=_(s/1e3),h.seconds=t%60,e=_(t/60),h.minutes=e%60,i=_(e/60),h.hours=i%24,r+=_(i/24),n=_(so(r)),a+=n,r-=oo(ro(n)),o=_(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function so(t){return 4800*t/146097}function ro(t){return 146097*t/4800}function ao(t){if(!this.isValid())return NaN;var e,i,o=this._milliseconds;if(t=F(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+so(e),"month"===t?i:i/12;switch(e=this._days+Math.round(ro(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function ho(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN}function lo(t){return function(){return this.as(t)}}function uo(t){return t=F(t),this.isValid()?this[t+"s"]():NaN}function po(t){return function(){return this.isValid()?this._data[t]:NaN}}function co(){return _(this.days()/7)}function fo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function mo(t,e,i){var o=Ve(t).abs(),n=xs(o.as("s")),s=xs(o.as("m")),r=xs(o.as("h")),a=xs(o.as("d")),h=xs(o.as("M")),d=xs(o.as("y")),l=n<=Ds.ss&&["s",n]||n0,l[4]=i,fo.apply(null,l)}function go(t){return void 0===t?xs:"function"==typeof t&&(xs=t,!0)}function vo(t,e){return void 0!==Ds[t]&&(void 0===e?Ds[t]:(Ds[t]=e,"s"===t&&(Ds.ss=e-1),!0))}function yo(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),i=mo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function bo(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,o=Ss(this._milliseconds)/1e3,n=Ss(this._days),s=Ss(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,p=this.asSeconds();return p?(p<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var _o,wo;wo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var xn=G("FullYear",!0);q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),Y("week",5),Y("isoWeek",5),J("w",Uo),J("ww",Uo,zo),J("W",Uo),J("WW",Uo,zo),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var Dn={dow:0,doy:6};q("d",0,"do","day"),q("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),q("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),q("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),Y("day",11),Y("weekday",11),Y("isoWeekday",11),J("d",Uo),J("e",Uo),J("E",Uo),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:f(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var Sn="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),kn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Tn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Cn=nn,Mn=nn,On=nn;q("H",["HH",2],0,"hour"),q("h",["hh",2],0,Bt),q("k",["kk",2],0,Vt),q("hmm",0,0,function(){return""+Bt.apply(this)+U(this.minutes(),2)}),q("hmmss",0,0,function(){return""+Bt.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Ut("a",!0),Ut("A",!1),L("hour","h"),Y("hour",13),J("a",qt),J("A",qt),J("H",Uo),J("h",Uo),J("k",Uo),J("HH",Uo,zo),J("hh",Uo,zo),J("kk",Uo,zo),J("hmm",qo),J("hmmss",Xo),J("Hmm",qo),J("Hmmss",Xo),it(["H","HH"],ln),it(["k","kk"],function(t,e,i){var o=w(t);e[ln]=24===o?0:o}),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[ln]=w(t),f(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[ln]=w(t.substr(0,o)),e[un]=w(t.substr(o)),f(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[ln]=w(t.substr(0,o)),e[un]=w(t.substr(o,2)),e[pn]=w(t.substr(n)),f(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[ln]=w(t.substr(0,o)),e[un]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[ln]=w(t.substr(0,o)),e[un]=w(t.substr(o,2)),e[pn]=w(t.substr(n))});var En,Pn=/[ap]\.?m?\.?/i,Nn=G("Hours",!0),An={calendar:Oo,longDateFormat:Eo,invalidDate:Po,ordinal:No,dayOfMonthOrdinalParse:Ao,relativeTime:Io,months:yn,monthsShort:bn,week:Dn,weekdays:Sn,weekdaysMin:Tn,weekdaysShort:kn,meridiemParse:Pn},In={},Rn={},Ln=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Fn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Hn=/Z|[+-]\d\d(?::?\d\d)?/,Yn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],jn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Gn=/^\/?Date\((\-?\d+)/i,zn=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;e.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var Wn=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=_e.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:g()}),Vn=function(){return Date.now?Date.now():+new Date},Un=["year","quarter","month","week","day","hour","minute","second","millisecond"];Ee("Z",":"),Ee("ZZ",""),J("Z",en),J("ZZ",en),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Pe(en,t)});var qn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Xn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Zn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ve.fn=Ce.prototype,Ve.invalid=Te;var Kn=Ze(1,"add"),$n=Ze(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Jn=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ei("gggg","weekYear"),Ei("ggggg","weekYear"),Ei("GGGG","isoWeekYear"),Ei("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),Y("weekYear",1),Y("isoWeekYear",1),J("G",Qo),J("g",Qo),J("GG",Uo,zo),J("gg",Uo,zo),J("GGGG",Ko,Bo),J("gggg",Ko,Bo),J("GGGGG",$o,Vo),J("ggggg",$o,Vo),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),q("Q",0,"Qo","quarter"),L("quarter","Q"),Y("quarter",7),J("Q",Go),it("Q",function(t,e){e[hn]=3*(w(t)-1)}),q("D",["DD",2],"Do","date"),L("date","D"),Y("date",9),J("D",Uo),J("DD",Uo,zo),J("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),it(["D","DD"],dn),it("Do",function(t,e){e[dn]=w(t.match(Uo)[0],10)});var Qn=G("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),Y("dayOfYear",4),J("DDD",Zo),J("DDDD",Wo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),q("m",["mm",2],0,"minute"),L("minute","m"),Y("minute",14),J("m",Uo),J("mm",Uo,zo),it(["m","mm"],un);var ts=G("Minutes",!1);q("s",["ss",2],0,"second"),L("second","s"),Y("second",15),J("s",Uo),J("ss",Uo,zo),it(["s","ss"],pn);var es=G("Seconds",!1);q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),Y("millisecond",16),J("S",Zo,Go),J("SS",Zo,zo),J("SSS",Zo,Wo);var is;for(is="SSSS";is.length<=9;is+="S")J(is,Jo);for(is="S";is.length<=9;is+="S")it(is,Yi);var os=G("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var ns=y.prototype;ns.add=Kn,ns.calendar=Je,ns.clone=Qe,ns.diff=ri,ns.endOf=bi,ns.format=ui,ns.from=pi,ns.fromNow=ci,ns.to=fi,ns.toNow=mi,ns.get=B,ns.invalidAt=Mi,ns.isAfter=ti,ns.isBefore=ei,ns.isBetween=ii,ns.isSame=oi,ns.isSameOrAfter=ni,ns.isSameOrBefore=si,ns.isValid=Ti,ns.lang=Jn,ns.locale=gi,ns.localeData=vi,ns.max=Bn,ns.min=Wn,ns.parsingFlags=Ci,ns.set=V,ns.startOf=yi,ns.subtract=$n,ns.toArray=Di,ns.toObject=Si,ns.toDate=xi,ns.toISOString=di,ns.inspect=li,ns.toJSON=ki,ns.toString=hi,ns.unix=wi,ns.valueOf=_i,ns.creationData=Oi,ns.year=xn,ns.isLeapYear=yt,ns.weekYear=Pi,ns.isoWeekYear=Ni,ns.quarter=ns.quarters=Fi,ns.month=ut,ns.daysInMonth=pt,ns.week=ns.weeks=Mt,ns.isoWeek=ns.isoWeeks=Ot,ns.weeksInYear=Ii,ns.isoWeeksInYear=Ai,ns.date=Qn,ns.day=ns.days=Ft,ns.weekday=Ht,ns.isoWeekday=Yt,ns.dayOfYear=Hi,ns.hour=ns.hours=Nn,ns.minute=ns.minutes=ts,ns.second=ns.seconds=es,ns.millisecond=ns.milliseconds=os,ns.utcOffset=Ie,ns.utc=Le,ns.local=Fe,ns.parseZone=He,ns.hasAlignedHourOffset=Ye,ns.isDST=je,ns.isLocal=ze,ns.isUtcOffset=We,ns.isUtc=Be,ns.isUTC=Be,ns.zoneAbbr=ji,ns.zoneName=Gi,ns.dates=S("dates accessor is deprecated. Use date instead.",Qn),ns.months=S("months accessor is deprecated. Use month instead",ut),ns.years=S("years accessor is deprecated. Use year instead",xn),ns.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Re),ns.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ge);var ss=O.prototype;ss.calendar=E,ss.longDateFormat=P,ss.invalidDate=N,ss.ordinal=A,ss.preparse=Bi,ss.postformat=Bi,ss.relativeTime=I,ss.pastFuture=R,ss.set=C,ss.months=rt,ss.monthsShort=at,ss.monthsParse=dt,ss.monthsRegex=ft,ss.monthsShortRegex=ct,ss.week=kt,ss.firstDayOfYear=Ct,ss.firstDayOfWeek=Tt,ss.weekdays=Nt,ss.weekdaysMin=It,ss.weekdaysShort=At,ss.weekdaysParse=Lt,ss.weekdaysRegex=jt,ss.weekdaysShortRegex=Gt,ss.weekdaysMinRegex=zt,ss.isPM=Xt,ss.meridiem=Zt,Qt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=S("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=S("moment.langData is deprecated. Use moment.localeData instead.",ie);var rs=Math.abs,as=lo("ms"),hs=lo("s"),ds=lo("m"),ls=lo("h"),us=lo("d"),ps=lo("w"),cs=lo("M"),fs=lo("y"),ms=po("milliseconds"),gs=po("seconds"),vs=po("minutes"),ys=po("hours"),bs=po("days"),_s=po("months"),ws=po("years"),xs=Math.round,Ds={ss:44,s:45,m:45,h:22,d:26,M:11},Ss=Math.abs,ks=Ce.prototype;return ks.isValid=ke,ks.abs=Qi,ks.add=eo,ks.subtract=io,ks.as=ao,ks.asMilliseconds=as,ks.asSeconds=hs,ks.asMinutes=ds,ks.asHours=ls,ks.asDays=us,ks.asWeeks=ps,ks.asMonths=cs,ks.asYears=fs,ks.valueOf=ho,ks._bubble=no,ks.get=uo,ks.milliseconds=ms,ks.seconds=gs,ks.minutes=vs,ks.hours=ys,ks.days=bs,ks.weeks=co,ks.months=_s,ks.years=ws,ks.humanize=yo,ks.toISOString=bo,ks.toString=bo,ks.toJSON=bo,ks.locale=gi,ks.localeData=vi,ks.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",bo),ks.lang=Jn,q("X",0,0,"unix"),q("x",0,0,"valueOf"),J("x",Qo),J("X",on),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.18.0",i(_e),e.fn=ns,e.min=xe,e.max=De,e.now=Vn,e.utc=p,e.unix=zi,e.months=Xi,e.isDate=h,e.locale=Qt,e.invalid=g,e.duration=Ve,e.isMoment=b,e.weekdays=Ki,e.parseZone=Wi,e.localeData=ie,e.isDuration=Me,e.monthsShort=Zi,e.weekdaysMin=Ji,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=$i,e.normalizeUnits=F,e.relativeTimeRounding=go,e.relativeTimeThreshold=vo,e.calendarFormat=$e,e.prototype=ns,e})}).call(e,i(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=85},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:v+1,d=a-g+(h-v)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>g)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,v=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var p=t.node||f,c=0;c<6;c++)s[n+c]=p[c];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},p=0;p<256;p++)l[p]=(p+256).toString(16).substr(1),u[l[p]]=p;var c=r(),f=[1|c[0],c[1],c[2],c[3],c[4],c[5]],m=16383&(c[6]<<8|c[7]),g=0,v=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){n<0&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var s=i(58),r=o(s),a=i(1),h=i(88);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;os)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=!e||void 0===e.animation||e.animation;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=!t||void 0===t.animation||t.animation,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,n=null;if(null!=e&&null!=i){var s=function(t){return l.convert(t.data.start,"Date").valueOf()},r=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()},a=i-e;a<=0&&(a=10);var h=a/this.props.center.width;if(l.forEach(this.itemSet.items,function(t){t.groupShowing&&(t.show(),t.repositionX());var a=s(t),d=r(t);if(this.options.rtl)var l=a-(t.getWidthRight()+10)*h,u=d+(t.getWidthLeft()+10)*h;else var l=a-(t.getWidthLeft()+10)*h,u=d+(t.getWidthRight()+10)*h;li&&(i=u,n=t)}.bind(this)),o&&n){var d=o.getWidthLeft()+10,u=n.getWidthRight()+10,p=this.props.center.width-d-u;p>0&&(this.options.rtl?(e=s(o)-u*a/p,i=r(n)+d*a/p):(e=s(o)-d*a/p,i=r(n)+u*a/p))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=v.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(o),c=h?h(p,d,u):p,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:p,snappedTime:c}},n.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(89),s=o(n),r=i(62),a=o(r),h=i(95),d=o(h),l=i(96),u=o(l),p=i(100),c=o(p),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new c.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(this.options.showButton===!0){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),d=a.max,h="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var p=this;a.onchange=function(){u.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var c=this._makeLabel(i[i.length-1],i),f=this._makeItem(i,c,a,u);""!==h&&this.popupHistory[f]!==d&&(this.popupHistory[f]=d,this._setupPopup(h,f))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),p=this._getValue(u);if(p===!0){var c=this._makeLabel(r,h,!0);this._makeItem(h,c),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,p,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),p.isString(t)===!0){if(p.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(p.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(p.isValidHex(t)===!0){var a=p.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=p.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=p.extend({},t)),this.color=t;var i=p.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=p.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=p.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=p.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply", +this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/360,d=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;r0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 * http://hammerjs.github.io/ * * Copyright (c) 2016 Jorik Tangelder; * Licensed under the MIT license */ -!function(n,s,r,a){function h(t,e,i){return setTimeout(c(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function p(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&mt(o,i)}function c(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==yt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function v(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function S(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=A(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=N(o);e.timeStamp=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=H(a,h),e.distance=F(a,h),P(i,e),e.offsetDirection=L(e.deltaX,e.deltaY);var d=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=_t(d.x)>_t(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?Y(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Nt&&s.eventType!==Lt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Ft&&(h>At||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=R(h,d,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=L(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function A(t){for(var e=[],i=0;i=_t(e)?t<0?Yt:jt:e<0?Gt:zt}function F(t,e,i){i||(i=Vt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function H(t,e,i){i||(i=Vt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function Y(t,e){return H(e[1],e[0],qt)+H(t[1],t[0],qt)}function j(t,e){return F(e[0],e[1],qt)/F(t[0],t[1],qt)}function G(){this.evEl=Zt,this.evWin=Kt,this.pressed=!1,T.apply(this,arguments)}function z(){this.evEl=Qt,this.evWin=te,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function W(){this.evTarget=ie,this.evWin=oe,this.started=!1,T.apply(this,arguments)}function B(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Lt|Ft)&&(i=D(i.concat(o),"identifier",!0)),[i,o]}function U(){this.evTarget=se,this.targetIds={},T.apply(this,arguments)}function V(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Nt|Rt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Nt)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=De)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),p(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),p(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Lt|Ft)&&!n)this.reset();else if(t.eventType&Nt)this.reset(),this._timer=h(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return we;return De},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),p(ht,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),p(dt,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Wt|Bt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Wt|Bt)?e=t.overallVelocity:i&Wt?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[pe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),v):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),v):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),v),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var p=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>p.distance&&(r=p.closestMatch,a=p.path,s=p.distance,d=p.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?p.convert(t,"Date").valueOf():null,r=void 0!=e?p.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,c=this.end,f="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,g="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",v=p.easingFunctions[g];if(!v)throw new Error("Unknown easing function "+(0,d.default)(g)+". Choose from: "+(0,a.default)(p.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1,_=function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=v(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,p=d||null===r?r:c+(r-c)*a;w=h._applyRange(u,p),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||w;var g={start:new Date(h.start),end:new Date(h.end),byUser:o,event:n};w&&h.body.emitter.emit("rangechange",g),d?b&&h.body.emitter.emit("rangechanged",g):h.animationTimer=setTimeout(t,20)}};return _()}var w=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),w){var x={start:new Date(this.start),end:new Date(this.end),byUser:o,event:n};this.body.emitter.emit("rangechange",x),this.body.emitter.emit("rangechanged",x)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?p.convert(t,"Date").valueOf():this.start,n=null!=e?p.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?p.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?p.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-h&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);d<0&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY; +!function(n,s,r,a){function h(t,e,i){return setTimeout(c(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function p(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&mt(o,i)}function c(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==yt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function v(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function S(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=A(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=I(o);e.timeStamp=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=H(a,h),e.distance=F(a,h),P(i,e),e.offsetDirection=L(e.deltaX,e.deltaY);var d=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=_t(d.x)>_t(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?Y(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,N(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==It&&s.eventType!==Lt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function N(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Ft&&(h>At||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=R(h,d,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=L(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function A(t){for(var e=[],i=0;i=_t(e)?t<0?Yt:jt:e<0?Gt:zt}function F(t,e,i){i||(i=Ut);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function H(t,e,i){i||(i=Ut);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function Y(t,e){return H(e[1],e[0],qt)+H(t[1],t[0],qt)}function j(t,e){return F(e[0],e[1],qt)/F(t[0],t[1],qt)}function G(){this.evEl=Zt,this.evWin=Kt,this.pressed=!1,C.apply(this,arguments)}function z(){this.evEl=Qt,this.evWin=te,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function W(){this.evTarget=ie,this.evWin=oe,this.started=!1,C.apply(this,arguments)}function B(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Lt|Ft)&&(i=D(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=se,this.targetIds={},C.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(It|Rt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===It)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=De)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),p(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),p(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Lt|Ft)&&!n)this.reset();else if(t.eventType&It)this.reset(),this._timer=h(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return we;return De},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),p(ht,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),p(dt,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Wt|Bt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Wt|Bt)?e=t.overallVelocity:i&Wt?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[pe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),v):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),v):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),v),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var p=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>p.distance&&(r=p.closestMatch,a=p.path,s=p.distance,d=p.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?p.convert(t,"Date").valueOf():null,r=void 0!=e?p.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,c=this.end,f="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,g="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",v=p.easingFunctions[g];if(!v)throw new Error("Unknown easing function "+(0,d.default)(g)+". Choose from: "+(0,a.default)(p.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1,_=function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=v(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,p=d||null===r?r:c+(r-c)*a;w=h._applyRange(u,p),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||w;var g={start:new Date(h.start),end:new Date(h.end),byUser:o,event:n};w&&h.body.emitter.emit("rangechange",g),d?b&&h.body.emitter.emit("rangechanged",g):h.animationTimer=setTimeout(t,20)}};return _()}var w=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),w){var x={start:new Date(this.start),end:new Date(this.end),byUser:o,event:n};this.body.emitter.emit("rangechange",x),this.body.emitter.emit("rangechanged",x)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?p.convert(t,"Date").valueOf():this.start,n=null!=e?p.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?p.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?p.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-h&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);d<0&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY; i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var a=i/r*o;else var a=-i/r*o;var h=this.props.touch.start+a,d=this.props.touch.end+a,l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=m.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(l!=h||u!=d)return this.deltaDifference+=i,this.props.touch.start=l,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d);var p=new Date(this.start),c=new Date(this.end);this.body.emitter.emit("rangechange",{start:p,end:c,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-p.getAbsoluteLeft(this.body.dom.centerContainer);else var i=p.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:p.getAbsoluteRight(e)-t.x,y:t.y-p.getAbsoluteTop(e)}:{x:t.x-p.getAbsoluteLeft(e),y:t.y-p.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},n.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,null)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=o},function(t,e){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var p=0,c=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-p,"days"),c.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),c.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(p,"months"),c.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(p,"years"),c.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;d=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a),d=new Date(h+a+t.range.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?o<0?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&t-1||h))return t.dataTransfer.dropEffect="move",h=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e.content)return}catch(t){return!1}return h=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.rollingModeBtn=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.rollingModeBtn.className="vis-rolling-mode-btn",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=p.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={};var a=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];a.forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var h=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(p.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new c(this.body);i.setOptions=function(t){var e=t?p.extend({},t):{};e.orientation="top",c.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=p.deepExtend({},this.options);this.components.forEach(function(t){p.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},n.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?p.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+(0,r.default)(e)+" already exists");var n=new g(this.body,p.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},n.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=!t||void 0===t.animation||t.animation;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=p.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=s/(1+t),a=(s-r)/2,h=o+a,d=n-a;this.setWindow(h,d,e)}},n.prototype.zoomOut=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=o-s*t/2,a=n+s*t/2;this.setWindow(r,a,e)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(p.addClassName(o.root,"vis-top"),p.removeClassName(o.root,"vis-bottom")):(p.removeClassName(o.root,"vis-top"),p.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=p.option.asSize(e.maxHeight,""),o.root.style.minHeight=p.option.asSize(e.minHeight,""),o.root.style.width=p.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=o.root.offsetWidth-o.root.clientWidth,0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(i.borderRootWidth=i.borderRootHeight),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=p.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=p.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var c=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var h=e.get(i.groupId),d=e.get(this.groupTouchParams.group.groupId);d&&h&&(this.options.groupOrderSwap(d,h,e),e.update(d),e.update(h));var l=e.getIds({order:this.options.groupOrder});if(!p.equalArray(l,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,c=this.groupTouchParams.group.groupId,m=Math.min(u.length,l.length),g=0,v=0,y=0;g=m)break;if(l[g+v]!=c)if(u[g+y]!=c){var b=l.indexOf(u[g+y]),_=e.get(l[g+v]),w=e.get(u[g+y]);this.options.groupOrderSwap(_,w,e),e.update(_),e.update(w);var x=l[g+v];l[g+v]=u[g+y],l[b]=x,g++}else y=1;else v=1}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=p.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!p.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),o.update(d),o.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);if(e!==i){var o=e.getTitle();if(o){null==this.popup&&(this.popup=new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(o);var n=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-p.getAbsoluteLeft(n)+n.offsetLeft,t.clientY-p.getAbsoluteTop(n)+n.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);e!==i&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){var e=this.itemFromTarget(t);if(e&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var i=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-p.getAbsoluteLeft(i)+i.offsetLeft,t.clientY-p.getAbsoluteTop(i)+i.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(!o){if(this.options.rtl)var n=p.getAbsoluteRight(this.dom.frame),s=n-t.center.x;else var n=p.getAbsoluteLeft(this.dom.frame),s=t.center.x-n;var r=this.body.util.toTime(s),a=this.body.util.getScale(),h=this.body.util.getStep(),d={start:i?i(r,a,h):r,content:"new item"};if("drop"==t.type){var l=JSON.parse(t.dataTransfer.getData("text"));if(d.content=l.content,d.type=l.type||"box",d[this.itemsData._fieldId]=l.id||p.randomUUID(),"range"==l.type||l.end&&l.start)if(l.end)d.end=l.end,d.start=l.start;else{var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}}else if(d[this.itemsData._fieldId]=p.randomUUID(),"range"===this.options.type){var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}var c=this.groupFromTarget(t);c&&(d.group=c.groupId),d=this._cloneItemData(d),this.options.onAdd(d,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],o=t.srcEvent&&t.srcEvent.shiftKey||!1;if(o&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,u=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&u<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof x||i.push(d.id)}}}else{var p=i.indexOf(e.id);p==-1?i.push(e.id):i.splice(p,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return e(a)+t(a.milliseconds()).trim();case"second":return e(a)+t(a.seconds()).trim();case"minute":return e(a)+t(a.minutes()).trim();case"hour":return"vis-h"+a.hours()+(4==this.step?"-h"+(a.hours()+4):"")+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":return"vis-day"+a.date()+" vis-"+a.format("MMMM").toLowerCase()+e(a)+o(a)+(this.step<=2?e(a):"")+(this.step<=2?" vis-"+a.format("dddd").toLowerCase():""+t(a.date()-1));case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var d=a.year();return"vis-year"+d+n(a)+t(d);default:return""}},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var s=i(58),r=o(s),a=i(1),h=i(115);i(116);n.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},n.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?a.removeClassName(this.dom.inner,"vis-hidden"):a.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,a.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)a.removeClassName(this.dom.label,"collapsed"),a.addClassName(this.dom.label,"expanded");else{a.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";a.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(a.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(a.removeClassName(this.dom.label,this.className),a.removeClassName(this.dom.foreground,this.className),a.removeClassName(this.dom.background,this.className),a.removeClassName(this.dom.axis,this.className)),a.addClassName(this.dom.label,n),a.addClassName(this.dom.foreground,n),a.addClassName(this.dom.background,n),a.addClassName(this.dom.axis,n),this.className=n),this.style&&(a.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(a.addCssText(this.dom.label,t.style),this.style=t.style)},n.prototype.getLabelWidth=function(){return this.props.label.width},n.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,a.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var r=this,d=!1;a.forEach(this.items,function(t){t.displayed||(t.redraw(),r.visibleItems.push(t)),t.repositionX(d)});var l=this.orderedItems.byStart.slice().sort(function(t,e){return r.itemSet.options.order(t.data,e.data)});h.stack(l,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?h.stack(this.visibleItems,e,i):h.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var u=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=a.updateProperty(this,"height",u)||o,o=a.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=a.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=u+"px",this.dom.foreground.style.height=u+"px",this.dom.label.style.height=u+"px";for(var p=0,c=this.visibleItems.length;p0){var e=this;this.resetSubgroups(),a.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},n.prototype._isGroupVisible=function(t,e){var i=this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop;return i},n.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(a.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,a.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},n.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)},n.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},n.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,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},n.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},n.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(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(101),i(117));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=this.editable.updateTime||this.editable.updateGroup,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);void 0!==t&&t!==!0||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this._updateEditStatus()}var s=i(62),r=o(s),a=i(58),h=o(a),d=i(101),l=i(1),u=i(82);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this._updateEditStatus(),this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new d(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=50,s=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=o+this.parent.top-n<-s;r?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var a,h;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(h=this.options.tooltipOnItemUpdateTime.template.bind(this),a=h(this.data)):(a="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(a+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=a}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t,this.data)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.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=(0,h.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-ot.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-o/2t.start&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups;n[o].index;this.dom.box.style.height=this.parent.subgroups[o].height+"px","top"==i?this.dom.box.style.top=this.parent.top+this.parent.subgroups[o].top+"px":this.dom.box.style.top=this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:d.FORMAT,moment:u,timeAxis:null},this.options=a.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var s=i(62),r=o(s),a=i(1),h=i(108),d=i(113),l=i(109),u=i(82);n.prototype=new h,n.prototype.setOptions=function(t){t&&(a.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),a.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,r.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof u.locale?u.locale(t.locale):u.lang(t.locale)))},n.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},n.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},n.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},n.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=a.convert(this.body.range.start,"Number"),i=a.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-l.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new d(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var h,u,c,f,m,g,v,y,b,_,w=0,x=void 0,D=0,S=1e3;for(s.start(),u=s.getCurrent(),f=this.body.util.toScreen(u);s.hasNext()&&D=.4*v;if(this.options.showMinorLabels&&k){var C=this._repaintMinorText(c,b,t,_);C.style.width=w+"px"}m&&this.options.showMajorLabels?(c>0&&(void 0==x&&(x=c),C=this._repaintMajorText(c,s.getLabelMajor(),t,_)),y=this._repaintMajorLine(c,w,t,_)):k?y=this._repaintMinorLine(c,w,t,_):y&&(y.style.width=parseInt(y.style.width)+w+"px")}if(D!==S||p||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+S+" lines."),p=!0),this.options.showMajorLabels){var T=this.body.util.toTime(0),M=s.getLabelMajor(T),O=M.length*(this.props.majorCharWidth||10)+10;(void 0==x||O1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="date",a="object",h="dom",d="moment",l="any",u={configure:{enabled:{boolean:o},filter:{boolean:o,function:"function"},container:{dom:h},__type__:{object:a,boolean:o,function:"function"}},align:{string:i},rtl:{boolean:o,undefined:"undefined"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{boolean:o,undefined:"undefined"},autoResize:{boolean:o},throttleRedraw:{number:n},clickToUse:{boolean:o},dataAttributes:{string:i,array:s},editable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},updateGroup:{boolean:o,undefined:"undefined"},updateTime:{boolean:o,undefined:"undefined"},overrideItems:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},end:{number:n,date:r,string:i,moment:d},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},__type__:{object:a}},moment:{function:"function"},groupOrder:{string:i,function:"function"},groupEditable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},order:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},groupOrderSwap:{function:"function"},height:{string:i,number:n},hiddenDates:{start:{date:r,number:n,string:i,moment:d},end:{date:r,number:n,string:i,moment:d},repeat:{string:i},__type__:{object:a,array:s}},itemsAlwaysDraggable:{boolean:o},locale:{string:i},locales:{__any__:{any:l},__type__:{object:a}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:a,number:n}},__type__:{object:a,number:n}},max:{date:r,number:n,string:i,moment:d},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:r,number:n,string:i,moment:d},minHeight:{number:n,string:i},moveable:{boolean:o},multiselect:{boolean:o},multiselectPerGroup:{boolean:o},onAdd:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},order:{function:"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:a}},selectable:{boolean:o},showCurrentTime:{boolean:o},showMajorLabels:{boolean:o},showMinorLabels:{boolean:o},stack:{boolean:o},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:r,number:n,string:i,moment:d},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:a}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:a}},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:a}},type:{string:i},width:{string:i,number:n},zoomable:{boolean:o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:a}},p={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",format:{minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=u,e.configureOptions=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof p)&&i instanceof Object){var n=o;o=i,i=n}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new c(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new g(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(94),r=o(s),a=i(105),h=o(a),d=(i(106),i(101),i(82)),l=i(1),u=i(88),p=i(92),c=i(107),f=i(110),m=i(122),g=i(127),v=i(125),y=i(130),b=i(105).printStyle,_=i(138).allOptions,w=i(138).configureOptions;n.prototype=new f,n.prototype.setOptions=function(t){var e=h.default.validate(t,_);e===!0&&console.log("%cErrors have been found in the supplied options object.",b), -f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof p?t:new u(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof p?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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]))},n.prototype.getDataRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var o=0;os?s:t,e=null==e?s:e0&&d.push(u.screenToValue(n)),!p.hidden&&this.itemsData.length>0&&d.push(p.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r.default(this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.id=a.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=a.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=a.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var s=i(62),r=o(s),a=i(1),h=i(87),d=i(88),l=i(92),u=i(108),p=i(131),c=i(133),f=i(137),m=i(134),g=i(136),v=i(135),y="__ungrouped__";n.prototype=new u,n.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new p(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new p(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new f(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new f(this.body,this.options.legend,"right",this.options.groups),this.show()},n.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var a={};for(this._getRelevantData(r,a,n,s),this._applySampling(r,a),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(r[e])||(l[r[e]]=g.calcPath(a[r[e]],t)),g.draw(l[r[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(a[r[e]],t,this.framework);break;case"bar":}}}return h.cleanupElements(this.svgElements),!1},n.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},n.prototype._getRelevantData=function(t,e,i,o){var n,s,r,h;if(t.length>0)for(s=0;s0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},n.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var a=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(a=this.props.titleCharHeight);var d=this.options.icons===!0?Math.max(this.options.iconWidth,a)+this.options.labelOffsetX+15:a+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-d&&this.options.visible===!0?(this.width=this.maxLabelSize+d,this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+d),this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),e=!1),e},n.prototype.convertValue=function(t){return this.scale.convertValue(t)},n.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},n.prototype._redrawLabel=function(t,e,i,o,n){var s=h.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>.5*(h.magnitudefactor*h.minorSteps[h.minorStepIdx])?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])===0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},n.prototype.getItems=function(){return this.itemsData},n.prototype.setZeroPosition=function(t){this.zeroPosition=t},n.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];a.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),a.mergeOptions(this.options,t,"interpolation"),a.mergeOptions(this.options,t,"drawPoints"),a.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,r.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},n.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},n.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){var s=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:s,svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":d.drawIcon(this,o,n,t,e,i);break;case"points":case"point":l.drawIcon(this,o,n,t,e,i);break;case"bar":h.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},n.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){var i=[];return i=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;n0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+p*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+p*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+c*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+c*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},n.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,r.default)(this.groups);t.sort(function(t,e){return te&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var h=e.get(i.groupId),d=e.get(this.groupTouchParams.group.groupId);d&&h&&(this.options.groupOrderSwap(d,h,e),e.update(d),e.update(h));var l=e.getIds({order:this.options.groupOrder});if(!p.equalArray(l,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,c=this.groupTouchParams.group.groupId,m=Math.min(u.length,l.length),g=0,v=0,y=0;g=m)break;if(l[g+v]!=c)if(u[g+y]!=c){var b=l.indexOf(u[g+y]),_=e.get(l[g+v]),w=e.get(u[g+y]);this.options.groupOrderSwap(_,w,e),e.update(_),e.update(w);var x=l[g+v];l[g+v]=u[g+y],l[b]=x,g++}else y=1;else v=1}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=p.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!p.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),o.update(d),o.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);if(e!==i){var o=e.getTitle();if(o){null==this.popup&&(this.popup=new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(o);var n=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-p.getAbsoluteLeft(n)+n.offsetLeft,t.clientY-p.getAbsoluteTop(n)+n.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);e!==i&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){var e=this.itemFromTarget(t);if(e&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var i=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-p.getAbsoluteLeft(i)+i.offsetLeft,t.clientY-p.getAbsoluteTop(i)+i.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(!o){if(this.options.rtl)var n=p.getAbsoluteRight(this.dom.frame),s=n-t.center.x;else var n=p.getAbsoluteLeft(this.dom.frame),s=t.center.x-n;var r=this.body.util.toTime(s),a=this.body.util.getScale(),h=this.body.util.getStep(),d={start:i?i(r,a,h):r,content:"new item"};if("drop"==t.type){var l=JSON.parse(t.dataTransfer.getData("text"));if(d.content=l.content,d.type=l.type||"box",d[this.itemsData._fieldId]=l.id||p.randomUUID(),"range"==l.type||l.end&&l.start)if(l.end)d.end=l.end,d.start=l.start;else{var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}}else if(d[this.itemsData._fieldId]=p.randomUUID(),"range"===this.options.type){var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}var c=this.groupFromTarget(t);c&&(d.group=c.groupId),d=this._cloneItemData(d),this.options.onAdd(d,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],o=t.srcEvent&&t.srcEvent.shiftKey||!1;if(o&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,u=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&u<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof x||i.push(d.id)}}}else{var p=i.indexOf(e.id);p==-1?i.push(e.id):i.splice(p,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return e(a)+t(a.milliseconds()).trim();case"second":return e(a)+t(a.seconds()).trim();case"minute":return e(a)+t(a.minutes()).trim();case"hour":return"vis-h"+a.hours()+(4==this.step?"-h"+(a.hours()+4):"")+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":return"vis-day"+a.date()+" vis-"+a.format("MMMM").toLowerCase()+e(a)+o(a)+(this.step<=2?e(a):"")+(this.step<=2?" vis-"+a.format("dddd").toLowerCase():""+t(a.date()-1));case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var d=a.year();return"vis-year"+d+n(a)+t(d);default:return""}},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var s=i(58),r=o(s),a=i(1),h=i(115);i(116);n.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},n.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?a.removeClassName(this.dom.inner,"vis-hidden"):a.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups){this.nestedGroups&&this.nestedGroups==t.nestedGroups||(this.nestedGroups=t.nestedGroups),void 0===t.showNested&&void 0!==this.showNested||(0==t.showNested?this.showNested=!1:this.showNested=!0),a.addClassName(this.dom.label,"vis-nesting-group");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";this.showNested?(a.removeClassName(this.dom.label,o),a.addClassName(this.dom.label,"expanded")):(a.removeClassName(this.dom.label,"expanded"),a.addClassName(this.dom.label,o))}else if(this.nestedGroups){this.nestedGroups=null;var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";a.removeClassName(this.dom.label,o),a.removeClassName(this.dom.label,"expanded"),a.removeClassName(this.dom.label,"vis-nesting-group")}t&&t.nestedInGroup&&(a.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(a.removeClassName(this.dom.label,this.className),a.removeClassName(this.dom.foreground,this.className),a.removeClassName(this.dom.background,this.className),a.removeClassName(this.dom.axis,this.className)),a.addClassName(this.dom.label,n),a.addClassName(this.dom.foreground,n),a.addClassName(this.dom.background,n),a.addClassName(this.dom.axis,n),this.className=n),this.style&&(a.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(a.addCssText(this.dom.label,t.style),this.style=t.style)},n.prototype.getLabelWidth=function(){return this.props.label.width},n.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,a.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var r=this,d=!1;a.forEach(this.items,function(t){t.displayed||(t.redraw(),r.visibleItems.push(t)),t.repositionX(d)});var l=this.orderedItems.byStart.slice().sort(function(t,e){return r.itemSet.options.order(t.data,e.data)});h.stack(l,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?h.stack(this.visibleItems,e,i):h.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var u=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=a.updateProperty(this,"height",u)||o,o=a.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=a.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=u+"px",this.dom.foreground.style.height=u+"px",this.dom.label.style.height=u+"px";for(var p=0,c=this.visibleItems.length;p0){var e=this;this.resetSubgroups(),a.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},n.prototype._isGroupVisible=function(t,e){var i=this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop;return i},n.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(a.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,a.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},n.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)},n.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},n.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(this._addToSubgroup(t),this.orderSubgroups()),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},n.prototype._addToSubgroup=function(t,e){e=e||t.data.subgroup,void 0!=e&&void 0===this.subgroups[e]&&(this.subgroups[e]={height:0,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[e].end)&&(this.subgroups[e].end=t.data.end),this.subgroups[e].items.push(t)},n.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},n.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;i=0&&(i.items.splice(o,1),i.items.length?this._updateSubgroupsSizes():delete this.subgroups[e])}}},n.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},n.prototype.order=function(){for(var t=a.toArray(this.items),e=[],i=[],o=0;o0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(101),i(117));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=this.editable.updateTime||this.editable.updateGroup,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);void 0!==t&&t!==!0||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this._updateEditStatus()}var s=i(62),r=o(s),a=i(58),h=o(a),d=i(101),l=i(1),u=i(82);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this._updateEditStatus(),this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new d(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=50,s=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=o+this.parent.top-n<-s;r?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var a,h;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(h=this.options.tooltipOnItemUpdateTime.template.bind(this),a=h(this.data)):(a="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(a+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=a}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t,this.data)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.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=(0,h.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-ot.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-o/2t.start&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups;n[o].index;this.dom.box.style.height=this.parent.subgroups[o].height+"px","top"==i?this.dom.box.style.top=this.parent.top+this.parent.subgroups[o].top+"px":this.dom.box.style.top=this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:d.FORMAT,moment:u,timeAxis:null},this.options=a.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var s=i(62),r=o(s),a=i(1),h=i(108),d=i(113),l=i(109),u=i(82);n.prototype=new h,n.prototype.setOptions=function(t){t&&(a.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),a.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,r.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof u.locale?u.locale(t.locale):u.lang(t.locale)))},n.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},n.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},n.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},n.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=a.convert(this.body.range.start,"Number"),i=a.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-l.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new d(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var h,u,c,f,m,g,v,y,b,_,w=0,x=void 0,D=0,S=1e3;for(s.start(),u=s.getCurrent(),f=this.body.util.toScreen(u);s.hasNext()&&D=.4*v;if(this.options.showMinorLabels&&k){var T=this._repaintMinorText(c,b,t,_);T.style.width=w+"px"}m&&this.options.showMajorLabels?(c>0&&(void 0==x&&(x=c),T=this._repaintMajorText(c,s.getLabelMajor(),t,_)),y=this._repaintMajorLine(c,w,t,_)):k?y=this._repaintMinorLine(c,w,t,_):y&&(y.style.width=parseInt(y.style.width)+w+"px")}if(D!==S||p||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+S+" lines."),p=!0),this.options.showMajorLabels){var C=this.body.util.toTime(0),M=s.getLabelMajor(C),O=M.length*(this.props.majorCharWidth||10)+10;(void 0==x||O1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="date",a="object",h="dom",d="moment",l="any",u={configure:{enabled:{boolean:o},filter:{boolean:o,function:"function"},container:{dom:h},__type__:{object:a,boolean:o,function:"function"}},align:{string:i},rtl:{boolean:o,undefined:"undefined"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{boolean:o,undefined:"undefined"},autoResize:{boolean:o},throttleRedraw:{number:n},clickToUse:{boolean:o},dataAttributes:{string:i,array:s},editable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},updateGroup:{boolean:o,undefined:"undefined"},updateTime:{boolean:o,undefined:"undefined"},overrideItems:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},end:{number:n,date:r,string:i,moment:d},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},__type__:{object:a}},moment:{function:"function"},groupOrder:{string:i,function:"function"},groupEditable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},order:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},groupOrderSwap:{function:"function"},height:{string:i,number:n},hiddenDates:{start:{date:r,number:n,string:i,moment:d},end:{date:r,number:n,string:i,moment:d},repeat:{string:i},__type__:{object:a,array:s}},itemsAlwaysDraggable:{boolean:o},locale:{string:i},locales:{__any__:{any:l},__type__:{object:a}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:a,number:n}},__type__:{object:a,number:n}},max:{date:r,number:n,string:i,moment:d},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:r,number:n,string:i,moment:d},minHeight:{number:n,string:i},moveable:{boolean:o},multiselect:{boolean:o},multiselectPerGroup:{boolean:o},onAdd:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},order:{function:"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:a}},selectable:{boolean:o},showCurrentTime:{boolean:o},showMajorLabels:{boolean:o},showMinorLabels:{boolean:o},stack:{boolean:o},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:r,number:n,string:i,moment:d},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:a}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:a}},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:a}},type:{string:i},width:{string:i,number:n},zoomable:{boolean:o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:a}},p={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",format:{minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=u,e.configureOptions=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof p)&&i instanceof Object){var n=o;o=i,i=n}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new c(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new g(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null, +this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(94),r=o(s),a=i(105),h=o(a),d=(i(106),i(101),i(82)),l=i(1),u=i(88),p=i(92),c=i(107),f=i(110),m=i(122),g=i(127),v=i(125),y=i(130),b=i(105).printStyle,_=i(138).allOptions,w=i(138).configureOptions;n.prototype=new f,n.prototype.setOptions=function(t){var e=h.default.validate(t,_);e===!0&&console.log("%cErrors have been found in the supplied options object.",b),f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof p?t:new u(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof p?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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]))},n.prototype.getDataRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var o=0;os?s:t,e=null==e?s:e0&&d.push(u.screenToValue(n)),!p.hidden&&this.itemsData.length>0&&d.push(p.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r.default(this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.id=a.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=a.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=a.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var s=i(62),r=o(s),a=i(1),h=i(87),d=i(88),l=i(92),u=i(108),p=i(131),c=i(133),f=i(137),m=i(134),g=i(136),v=i(135),y="__ungrouped__";n.prototype=new u,n.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new p(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new p(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new f(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new f(this.body,this.options.legend,"right",this.options.groups),this.show()},n.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var a={};for(this._getRelevantData(r,a,n,s),this._applySampling(r,a),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(r[e])||(l[r[e]]=g.calcPath(a[r[e]],t)),g.draw(l[r[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(a[r[e]],t,this.framework);break;case"bar":}}}return h.cleanupElements(this.svgElements),!1},n.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},n.prototype._getRelevantData=function(t,e,i,o){var n,s,r,h;if(t.length>0)for(s=0;s0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},n.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var a=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(a=this.props.titleCharHeight);var d=this.options.icons===!0?Math.max(this.options.iconWidth,a)+this.options.labelOffsetX+15:a+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-d&&this.options.visible===!0?(this.width=this.maxLabelSize+d,this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+d),this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),e=!1),e},n.prototype.convertValue=function(t){return this.scale.convertValue(t)},n.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},n.prototype._redrawLabel=function(t,e,i,o,n){var s=h.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>.5*(h.magnitudefactor*h.minorSteps[h.minorStepIdx])?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])===0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},n.prototype.getItems=function(){return this.itemsData},n.prototype.setZeroPosition=function(t){this.zeroPosition=t},n.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];a.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),a.mergeOptions(this.options,t,"interpolation"),a.mergeOptions(this.options,t,"drawPoints"),a.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,r.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},n.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},n.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){var s=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:s,svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":d.drawIcon(this,o,n,t,e,i);break;case"points":case"point":l.drawIcon(this,o,n,t,e,i);break;case"bar":h.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},n.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){var i=[];return i=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;n0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+p*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+p*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+c*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+c*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},n.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,r.default)(this.groups);t.sort(function(t,e){return t 0) { - for (i in momentProperties) { + for (i = 0; i < momentProperties.length; i++) { prop = momentProperties[i]; val = from[prop]; if (!isUndefined(val)) { @@ -3378,8 +3380,11 @@ return /******/ (function(modules) { // webpackBootstrap } this._config = config; // Lenient ordinal parsing accepts just a number in addition to - // number + (possibly) stuff coming from _ordinalParseLenient. - this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + (/\d{1,2}/).source); + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + (/\d{1,2}/).source); } function mergeConfigs(parentConfig, childConfig) { @@ -3477,7 +3482,7 @@ return /******/ (function(modules) { // webpackBootstrap } var defaultOrdinal = '%d'; - var defaultOrdinalParse = /\d{1,2}/; + var defaultDayOfMonthOrdinalParse = /\d{1,2}/; function ordinal (number) { return this._ordinal.replace('%d', number); @@ -3487,6 +3492,7 @@ return /******/ (function(modules) { // webpackBootstrap future : 'in %s', past : '%s ago', s : 'a few seconds', + ss : '%d seconds', m : 'a minute', mm : '%d minutes', h : 'an hour', @@ -3669,7 +3675,7 @@ return /******/ (function(modules) { // webpackBootstrap return function (mom) { var output = '', i; for (i = 0; i < length; i++) { - output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; + output += isFunction(array[i]) ? array[i].call(mom, format) : array[i]; } return output; }; @@ -3872,7 +3878,8 @@ return /******/ (function(modules) { // webpackBootstrap var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); function localeMonths (m, format) { if (!m) { - return this._months; + return isArray(this._months) ? this._months : + this._months['standalone']; } return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; @@ -3881,7 +3888,8 @@ return /******/ (function(modules) { // webpackBootstrap var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); function localeMonthsShort (m, format) { if (!m) { - return this._monthsShort; + return isArray(this._monthsShort) ? this._monthsShort : + this._monthsShort['standalone']; } return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; @@ -4148,11 +4156,11 @@ return /******/ (function(modules) { // webpackBootstrap } function createDate (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 + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 var date = new Date(y, m, d, h, M, s, ms); - //the date constructor remaps years 0-99 to 1900-1999 + // the date constructor remaps years 0-99 to 1900-1999 if (y < 100 && y >= 0 && isFinite(date.getFullYear())) { date.setFullYear(y); } @@ -4162,7 +4170,7 @@ return /******/ (function(modules) { // webpackBootstrap function createUTCDate (y) { var date = new Date(Date.UTC.apply(null, arguments)); - //the Date.UTC function remaps years 0-99 to 1900-1999 + // the Date.UTC function remaps years 0-99 to 1900-1999 if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) { date.setUTCFullYear(y); } @@ -4179,7 +4187,7 @@ return /******/ (function(modules) { // webpackBootstrap return -fwdlw + fwd - 1; } - //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday function dayOfYearFromWeeks(year, week, weekday, dow, doy) { var localWeekday = (7 + weekday - dow) % 7, weekOffset = firstWeekOffset(year, dow, doy), @@ -4380,7 +4388,8 @@ return /******/ (function(modules) { // webpackBootstrap var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); function localeWeekdays (m, format) { if (!m) { - return this._weekdays; + return isArray(this._weekdays) ? this._weekdays : + this._weekdays['standalone']; } return isArray(this._weekdays) ? this._weekdays[m.day()] : this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()]; @@ -4700,8 +4709,10 @@ return /******/ (function(modules) { // webpackBootstrap addRegexToken('A', matchMeridiem); addRegexToken('H', match1to2); addRegexToken('h', match1to2); + addRegexToken('k', match1to2); addRegexToken('HH', match1to2, match2); addRegexToken('hh', match1to2, match2); + addRegexToken('kk', match1to2, match2); addRegexToken('hmm', match3to4); addRegexToken('hmmss', match5to6); @@ -4709,6 +4720,10 @@ return /******/ (function(modules) { // webpackBootstrap addRegexToken('Hmmss', match5to6); addParseToken(['H', 'HH'], HOUR); + addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); addParseToken(['a', 'A'], function (input, array, config) { config._isPm = config._locale.isPM(input); config._meridiem = input; @@ -4779,7 +4794,7 @@ return /******/ (function(modules) { // webpackBootstrap longDateFormat: defaultLongDateFormat, invalidDate: defaultInvalidDate, ordinal: defaultOrdinal, - ordinalParse: defaultOrdinalParse, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, relativeTime: defaultRelativeTime, months: defaultLocaleMonths, @@ -5090,6 +5105,77 @@ return /******/ (function(modules) { // webpackBootstrap } } + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + var basicRfcRegex = /^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/; + + // date and time from ref 2822 format + function configFromRFC2822(config) { + var string, match, dayFormat, + dateFormat, timeFormat, tzFormat; + var timezones = { + ' GMT': ' +0000', + ' EDT': ' -0400', + ' EST': ' -0500', + ' CDT': ' -0500', + ' CST': ' -0600', + ' MDT': ' -0600', + ' MST': ' -0700', + ' PDT': ' -0700', + ' PST': ' -0800' + }; + var military = 'YXWVUTSRQPONZABCDEFGHIKLM'; + var timezone, timezoneIndex; + + string = config._i + .replace(/\([^\)]*\)|[\n\t]/g, ' ') // Remove comments and folding whitespace + .replace(/(\s\s+)/g, ' ') // Replace multiple-spaces with a single space + .replace(/^\s|\s$/g, ''); // Remove leading and trailing spaces + match = basicRfcRegex.exec(string); + + if (match) { + dayFormat = match[1] ? 'ddd' + ((match[1].length === 5) ? ', ' : ' ') : ''; + dateFormat = 'D MMM ' + ((match[2].length > 10) ? 'YYYY ' : 'YY '); + timeFormat = 'HH:mm' + (match[4] ? ':ss' : ''); + + // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. + if (match[1]) { // day of week given + var momentDate = new Date(match[2]); + var momentDay = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'][momentDate.getDay()]; + + if (match[1].substr(0,3) !== momentDay) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return; + } + } + + switch (match[5].length) { + case 2: // military + if (timezoneIndex === 0) { + timezone = ' +0000'; + } else { + timezoneIndex = military.indexOf(match[5][1].toUpperCase()) - 12; + timezone = ((timezoneIndex < 0) ? ' -' : ' +') + + (('' + timezoneIndex).replace(/^-?/, '0')).match(/..$/)[0] + '00'; + } + break; + case 4: // Zone + timezone = timezones[match[5]]; + break; + default: // UT or +/-9999 + timezone = timezones[' GMT']; + } + match[5] = timezone; + config._i = match.splice(1).join(''); + tzFormat = ' ZZ'; + config._f = dayFormat + dateFormat + timeFormat + tzFormat; + configFromStringAndFormat(config); + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } + } + // date from iso format or fallback function configFromString(config) { var matched = aspNetJsonRegex.exec(config._i); @@ -5102,13 +5188,24 @@ return /******/ (function(modules) { // webpackBootstrap configFromISO(config); if (config._isValid === false) { delete config._isValid; - hooks.createFromInputFallback(config); + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; } + + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); } hooks.createFromInputFallback = deprecate( - 'value provided is not in a recognized ISO format. moment construction falls back to js Date(), ' + - 'which is not reliable across all browsers and versions. Non ISO date formats are ' + + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 'discouraged and will be removed in an upcoming major release. Please refer to ' + 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (config) { @@ -5155,10 +5252,10 @@ return /******/ (function(modules) { // webpackBootstrap } //if the day of the year is set, figure out what it is - if (config._dayOfYear) { + if (config._dayOfYear != null) { yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); - if (config._dayOfYear > daysInYear(yearToUse)) { + if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { getParsingFlags(config)._overflowDayOfYear = true; } @@ -5262,6 +5359,9 @@ return /******/ (function(modules) { // webpackBootstrap // constant that refers to the ISO standard hooks.ISO_8601 = function () {}; + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + // date from string and format string function configFromStringAndFormat(config) { // TODO: Move this to another part of the creation flow to prevent circular deps @@ -5269,7 +5369,10 @@ return /******/ (function(modules) { // webpackBootstrap configFromISO(config); return; } - + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } config._a = []; getParsingFlags(config).empty = true; @@ -5461,7 +5564,7 @@ return /******/ (function(modules) { // webpackBootstrap function configFromInput(config) { var input = config._i; - if (input === undefined) { + if (isUndefined(input)) { config._d = new Date(hooks.now()); } else if (isDate(input)) { config._d = new Date(input.valueOf()); @@ -5472,7 +5575,7 @@ return /******/ (function(modules) { // webpackBootstrap return parseInt(obj, 10); }); configFromArray(config); - } else if (typeof(input) === 'object') { + } else if (isObject(input)) { configFromObject(config); } else if (isNumber(input)) { // from milliseconds @@ -5573,6 +5676,38 @@ return /******/ (function(modules) { // webpackBootstrap return Date.now ? Date.now() : +(new Date()); }; + var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; + + function isDurationValid(m) { + for (var key in m) { + if (!(ordering.indexOf(key) !== -1 && (m[key] == null || !isNaN(m[key])))) { + return false; + } + } + + var unitHasDecimal = false; + for (var i = 0; i < ordering.length; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + function Duration (duration) { var normalizedInput = normalizeObjectUnits(duration), years = normalizedInput.year || 0, @@ -5585,6 +5720,8 @@ return /******/ (function(modules) { // webpackBootstrap seconds = normalizedInput.second || 0, milliseconds = normalizedInput.millisecond || 0; + this._isValid = isDurationValid(normalizedInput); + // representation for dateAddRemove this._milliseconds = +milliseconds + seconds * 1e3 + // 1000 @@ -5708,7 +5845,7 @@ return /******/ (function(modules) { // webpackBootstrap // 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. - function getSetOffset (input, keepLocalTime) { + function getSetOffset (input, keepLocalTime, keepMinutes) { var offset = this._offset || 0, localAdjust; if (!this.isValid()) { @@ -5720,7 +5857,7 @@ return /******/ (function(modules) { // webpackBootstrap if (input === null) { return this; } - } else if (Math.abs(input) < 16) { + } else if (Math.abs(input) < 16 && !keepMinutes) { input = input * 60; } if (!this._isUTC && keepLocalTime) { @@ -5778,7 +5915,7 @@ return /******/ (function(modules) { // webpackBootstrap function setOffsetToParsedOffset () { if (this._tzm != null) { - this.utcOffset(this._tzm); + this.utcOffset(this._tzm, false, true); } else if (typeof this._i === 'string') { var tZone = offsetFromString(matchOffset, this._i); if (tZone != null) { @@ -5910,6 +6047,7 @@ return /******/ (function(modules) { // webpackBootstrap } createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; function parseIso (inp, sign) { // We'd normally use ~~inp for this, but unfortunately it also @@ -6146,18 +6284,19 @@ return /******/ (function(modules) { // webpackBootstrap return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); } - function toISOString () { + function toISOString() { + if (!this.isValid()) { + return null; + } var m = this.clone().utc(); - if (0 < m.year() && m.year() <= 9999) { - if (isFunction(Date.prototype.toISOString)) { - // native implementation is ~50x faster, use it when we can - return this.toDate().toISOString(); - } else { - return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); - } - } else { + if (m.year() < 0 || m.year() > 9999) { return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + return this.toDate().toISOString(); + } + return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); } /** @@ -6177,7 +6316,7 @@ return /******/ (function(modules) { // webpackBootstrap zone = 'Z'; } var prefix = '[' + func + '("]'; - var year = (0 < this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; + var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; var datetime = '-MM-DD[T]HH:mm:ss.SSS'; var suffix = zone + '[")]'; @@ -6345,7 +6484,7 @@ return /******/ (function(modules) { // webpackBootstrap return this.isValid() ? this.toISOString() : null; } - function isValid$1 () { + function isValid$2 () { return isValid(this); } @@ -6505,7 +6644,10 @@ return /******/ (function(modules) { // webpackBootstrap addRegexToken('D', match1to2); addRegexToken('DD', match1to2, match2); addRegexToken('Do', function (isStrict, locale) { - return isStrict ? locale._ordinalParse : locale._ordinalParseLenient; + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict ? + (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : + locale._dayOfMonthOrdinalParseLenient; }); addParseToken(['D', 'DD'], DATE); @@ -6685,7 +6827,7 @@ return /******/ (function(modules) { // webpackBootstrap proto.isSame = isSame; proto.isSameOrAfter = isSameOrAfter; proto.isSameOrBefore = isSameOrBefore; - proto.isValid = isValid$1; + proto.isValid = isValid$2; proto.lang = lang; proto.locale = locale; proto.localeData = localeData; @@ -6910,7 +7052,7 @@ return /******/ (function(modules) { // webpackBootstrap } getSetGlobalLocale('en', { - ordinalParse: /\d{1,2}(th|st|nd|rd)/, + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal : function (number) { var b = number % 10, output = (toInt(number % 100 / 10) === 1) ? 'th' : @@ -7031,6 +7173,9 @@ return /******/ (function(modules) { // webpackBootstrap } function as (units) { + if (!this.isValid()) { + return NaN; + } var days; var months; var milliseconds = this._milliseconds; @@ -7059,6 +7204,9 @@ return /******/ (function(modules) { // webpackBootstrap // TODO: Use this.as('ms')? function valueOf$1 () { + if (!this.isValid()) { + return NaN; + } return ( this._milliseconds + this._days * 864e5 + @@ -7084,12 +7232,12 @@ return /******/ (function(modules) { // webpackBootstrap function get$2 (units) { units = normalizeUnits(units); - return this[units + 's'](); + return this.isValid() ? this[units + 's']() : NaN; } function makeGetter(name) { return function () { - return this._data[name]; + return this.isValid() ? this._data[name] : NaN; }; } @@ -7107,11 +7255,12 @@ return /******/ (function(modules) { // webpackBootstrap var round = Math.round; var thresholds = { - 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 + ss: 44, // a few seconds to seconds + 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 }; // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize @@ -7128,16 +7277,17 @@ return /******/ (function(modules) { // webpackBootstrap var months = round(duration.as('M')); var years = round(duration.as('y')); - var a = seconds < thresholds.s && ['s', seconds] || - minutes <= 1 && ['m'] || - minutes < thresholds.m && ['mm', minutes] || - hours <= 1 && ['h'] || - hours < thresholds.h && ['hh', hours] || - days <= 1 && ['d'] || - days < thresholds.d && ['dd', days] || - months <= 1 && ['M'] || - months < thresholds.M && ['MM', months] || - years <= 1 && ['y'] || ['yy', years]; + var a = seconds <= thresholds.ss && ['s', seconds] || + seconds < thresholds.s && ['ss', seconds] || + minutes <= 1 && ['m'] || + minutes < thresholds.m && ['mm', minutes] || + hours <= 1 && ['h'] || + hours < thresholds.h && ['hh', hours] || + days <= 1 && ['d'] || + days < thresholds.d && ['dd', days] || + months <= 1 && ['M'] || + months < thresholds.M && ['MM', months] || + years <= 1 && ['y'] || ['yy', years]; a[2] = withoutSuffix; a[3] = +posNegDuration > 0; @@ -7166,10 +7316,17 @@ return /******/ (function(modules) { // webpackBootstrap return thresholds[threshold]; } thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } return true; } function humanize (withSuffix) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + var locale = this.localeData(); var output = relativeTime$1(this, !withSuffix, locale); @@ -7190,6 +7347,10 @@ return /******/ (function(modules) { // webpackBootstrap // This is because there is no context-free conversion between hours and days // (think of clock changes) // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + var seconds = abs$1(this._milliseconds) / 1000; var days = abs$1(this._days); var months = abs$1(this._months); @@ -7234,6 +7395,7 @@ return /******/ (function(modules) { // webpackBootstrap var proto$2 = Duration.prototype; + proto$2.isValid = isValid$1; proto$2.abs = abs; proto$2.add = add$1; proto$2.subtract = subtract$1; @@ -7289,7 +7451,7 @@ return /******/ (function(modules) { // webpackBootstrap // Side effect imports - hooks.version = '2.17.1'; + hooks.version = '2.18.0'; setHookCallback(createLocal); @@ -23146,6 +23308,11 @@ return /******/ (function(modules) { // webpackBootstrap var oldGroupId = item.data.group; var oldSubGroupId = item.data.subgroup; + if (oldGroupId != itemData.group) { + var oldGroup = this.groups[oldGroupId]; + if (oldGroup) oldGroup.remove(item); + } + // update the items data (will redraw the item when displayed) item.setData(itemData); @@ -23157,10 +23324,12 @@ return /******/ (function(modules) { // webpackBootstrap item.groupShowing = true; } // update group - if (oldGroupId != item.data.group || oldSubGroupId != item.data.subgroup) { - var oldGroup = this.groups[oldGroupId]; - if (oldGroup) oldGroup.remove(item); - if (group) group.add(item); + if (group) { + if (oldGroupId != item.data.group) { + group.add(item); + } else if (oldSubGroupId != item.data.subgroup) { + group.changeSubgroup(item, oldSubGroupId); + } } }; @@ -23572,7 +23741,7 @@ return /******/ (function(modules) { // webpackBootstrap ItemSet.prototype._onGroupClick = function (event) { var group = this.groupFromTarget(event); - if (!group.nestedGroups) return; + if (!group || !group.nestedGroups) return; var groupsData = this.groupsData; if (this.groupsData instanceof DataView) { @@ -25228,21 +25397,34 @@ return /******/ (function(modules) { // webpackBootstrap } if (data && data.nestedGroups) { - if (data.showNested == false) { - this.showNested = false; - } else { - this.showNested = true; + if (!this.nestedGroups || this.nestedGroups != data.nestedGroups) { + this.nestedGroups = data.nestedGroups; + } + + if (data.showNested !== undefined || this.showNested === undefined) { + if (data.showNested == false) { + this.showNested = false; + } else { + this.showNested = true; + } } util.addClassName(this.dom.label, 'vis-nesting-group'); + var collapsedDirClassName = this.itemSet.options.rtl ? 'collapsed-rtl' : 'collapsed'; if (this.showNested) { - util.removeClassName(this.dom.label, 'collapsed'); + util.removeClassName(this.dom.label, collapsedDirClassName); util.addClassName(this.dom.label, 'expanded'); } else { util.removeClassName(this.dom.label, 'expanded'); - var collapsedDirClassName = this.itemSet.options.rtl ? 'collapsed-rtl' : 'collapsed'; util.addClassName(this.dom.label, collapsedDirClassName); } + } else if (this.nestedGroups) { + this.nestedGroups = null; + + var collapsedDirClassName = this.itemSet.options.rtl ? 'collapsed-rtl' : 'collapsed'; + util.removeClassName(this.dom.label, collapsedDirClassName); + util.removeClassName(this.dom.label, 'expanded'); + util.removeClassName(this.dom.label, 'vis-nesting-group'); } if (data && data.nestedInGroup) { @@ -25516,29 +25698,9 @@ return /******/ (function(modules) { // webpackBootstrap // add to if (item.data.subgroup !== undefined) { - if (this.subgroups[item.data.subgroup] === undefined) { - this.subgroups[item.data.subgroup] = { - height: 0, - top: 0, - start: item.data.start, - end: item.data.end, - visible: false, - index: this.subgroupIndex, - items: [] - }; - this.subgroupIndex++; - } - - if (new Date(item.data.start) < new Date(this.subgroups[item.data.subgroup].start)) { - this.subgroups[item.data.subgroup].start = item.data.start; - } - if (new Date(item.data.end) > new Date(this.subgroups[item.data.subgroup].end)) { - this.subgroups[item.data.subgroup].end = item.data.end; - } - - this.subgroups[item.data.subgroup].items.push(item); + this._addToSubgroup(item); + this.orderSubgroups(); } - this.orderSubgroups(); if (this.visibleItems.indexOf(item) == -1) { var range = this.itemSet.body.range; // TODO: not nice accessing the range like this @@ -25546,6 +25708,31 @@ return /******/ (function(modules) { // webpackBootstrap } }; + Group.prototype._addToSubgroup = function (item, subgroupId) { + subgroupId = subgroupId || item.data.subgroup; + if (subgroupId != undefined && this.subgroups[subgroupId] === undefined) { + this.subgroups[subgroupId] = { + height: 0, + top: 0, + start: item.data.start, + end: item.data.end, + visible: false, + index: this.subgroupIndex, + items: [] + }; + this.subgroupIndex++; + } + + if (new Date(item.data.start) < new Date(this.subgroups[subgroupId].start)) { + this.subgroups[subgroupId].start = item.data.start; + } + if (new Date(item.data.end) > new Date(this.subgroups[subgroupId].end)) { + this.subgroups[subgroupId].end = item.data.end; + } + + this.subgroups[subgroupId].items.push(item); + }; + Group.prototype._updateSubgroupsSizes = function () { var me = this; if (me.subgroups) { @@ -25614,17 +25801,26 @@ return /******/ (function(modules) { // webpackBootstrap if (index != -1) this.visibleItems.splice(index, 1); if (item.data.subgroup !== undefined) { - var subgroup = this.subgroups[item.data.subgroup]; + this._removeFromSubgroup(item); + this.orderSubgroups(); + } + }; + + Group.prototype._removeFromSubgroup = function (item, subgroupId) { + subgroupId = subgroupId || item.data.subgroup; + if (subgroupId != undefined) { + var subgroup = this.subgroups[subgroupId]; if (subgroup) { var itemIndex = subgroup.items.indexOf(item); - subgroup.items.splice(itemIndex, 1); - if (!subgroup.items.length) { - delete this.subgroups[item.data.subgroup]; - this.subgroupIndex--; - } else { - this._updateSubgroupsSizes(); + // Check the item is actually in this subgroup. How should items not in the group be handled? + if (itemIndex >= 0) { + subgroup.items.splice(itemIndex, 1); + if (!subgroup.items.length) { + delete this.subgroups[subgroupId]; + } else { + this._updateSubgroupsSizes(); + } } - this.orderSubgroups(); } } }; @@ -25804,6 +26000,12 @@ return /******/ (function(modules) { // webpackBootstrap } }; + Group.prototype.changeSubgroup = function (item, oldSubgroup, newSubgroup) { + this._removeFromSubgroup(item, oldSubgroup); + this._addToSubgroup(item, newSubgroup); + this.orderSubgroups(); + }; + module.exports = Group; /***/ }, diff --git a/dist/vis.map b/dist/vis.map index 987a4721..1720c86a 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"sources":["vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","extend","_interopRequireDefault","obj","__esModule","default","_getIterator2","_getIterator3","_create","_create2","_keys","_keys2","_typeof2","_typeof3","moment","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","match","Boolean","valueOf","isMoment","toDate","getType","toISOString","format","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteRight","right","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","throttle","fn","scheduled","requestAnimationFrame","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","slice","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","cssUtil","cssText","styles","style","trim","parts","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","bridgeObject","insertSort","compare","k","j","mergeOptions","mergeTarget","options","globalOptions","enabled","binarySearchCustom","orderedItems","comparator","field","field2","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","getScrollBarWidth","inner","document","createElement","width","height","outer","position","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","topMost","pile","accessors","candidate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","member","err","global","hide","Iterators","TO_STRING_TAG","collections","NAME","Collection","proto","prototype","addToUnscopables","step","toIObject","iterated","kind","_t","_i","_k","O","Arguments","IObject","defined","it","cof","propertyIsEnumerable","LIBRARY","$export","redefine","has","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","returnThis","Base","Constructor","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","name","values","P","F","core","ctx","source","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","apply","Function","virtual","R","U","self","__g","version","__e","aFunction","that","dP","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","defineProperty","Attributes","isObject","get","is","val","bitmap","enumerable","configurable","writable","create","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","src","contentWindow","open","write","lt","close","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","toLength","toIndex","IS_INCLUDES","$this","el","fromIndex","toInteger","ceil","shared","uid","store","px","random","concat","documentElement","def","tag","stat","Symbol","USE_SYMBOL","toObject","ObjectProto","$at","point","TO_STRING","pos","l","charCodeAt","charAt","getIterator","iterFn","classof","getIteratorMethod","ARG","tryGet","T","callee","$Object","D","fails","KEY","exp","_iterator2","_symbol","_symbol2","_typeof","DESCRIPTORS","META","$fails","wks","wksExt","wksDefine","keyOf","enumKeys","gOPNExt","$GOPD","$DP","gOPD","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","set","symbols","for","keyFor","useSetter","useSimple","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","replacer","$replacer","args","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","gOPS","pIE","getSymbols","arg","windowNames","getWindowNames","hiddenKeys","hooks","hookCallback","input","isObjectEmpty","res","hasOwnProp","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","some$1","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","isUndefined","copyConfig","to","from","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","stack","deprecateSimple","deprecations","isFunction","_config","_ordinalParseLenient","RegExp","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","now","output","_calendar","longDateFormat","_longDateFormat","formatUpper","toUpperCase","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","u","sort","makeGetSet","keepTime","set$1","stringGet","stringSet","prioritized","zeroFill","targetLength","forceSign","absNumber","zerosToFill","pow","addFormatToken","token","padded","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","indexOf$1","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","isLeapYear","getIsLeapYear","createDate","y","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","oldLocale","locales","globalLocale","_abbr","code","getSetGlobalLocale","data","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","x","updateLocale","listLocales","keys$1","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","weekdayOverflow","GG","createLocal","curWeek","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","hour","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","duration","years","quarters","quarter","weeks","days","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","addSubtract","createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","inspect","zone","prefix","suffix","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toJSON","isValid$1","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","toISOString$1","abs$1","Y","asSeconds","some","fun","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","match6","matchWord","o","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","pos1","pos2","getSetHour","ordinalParse","meridiemParse","prototypeMin","prototypeMax","lang","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","invalid","relativeTimeRounding","relativeTimeThreshold","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","n","rnds","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Hammer","keycharm","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","groupTemplate","labelObj","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","_stringify2","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","subscriber","addedIds","me","_addItem","items","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","ids","firstType","returnType","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","av","bv","remove","removedIds","removedItems","_remove","ident","clear","maxField","itemField","minField","distinct","fieldType","count","exists","types","raw","converted","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","original","method","context","entry","clearTimeout","setTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","viewOptions","getArguments","defaultFilter","dataSet","oldItems","updatedItems","container","SyntaxError","containerElement","dataTable","dataPoints","Settings","setDefaults","DEFAULTS","colX","colY","colZ","colValue","colFilter","getMouseX","clientX","targetTouches","getMouseY","clientY","_assign","_assign2","Emitter","Range","STYLE","autoByDefault","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter","DOT","tooltip","tooltipStyle","padding","borderRadius","boxShadow","line","borderLeft","dot","showLegend","backgroundColor","dataColor","fill","stroke","strokeWidth","cameraPosition","horizontal","vertical","distance","xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep","_setScale","xRange","range","yRange","zRange","z","valueRange","center","zCenter","camera","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","cameraLocation","getCameraLocation","cameraRotation","getCameraRotation","ax","ay","az","cx","cy","cz","sinTx","sin","cosTx","cos","sinTy","cosTy","sinTz","cosTz","bx","by","ex","eye","ey","ez","dx","dy","dz","getArmLength","currentXCenter","frame","canvas","currentYCenter","_calcTranslations","points","trans","screen","transBottom","bottom","dist","sortDepth","getNumberOfRows","getNumberOfColumns","counter","column","getDistinctValues","distinctValues","getSmallestDifference","smallest_diff","getColumnRange","_checkValueField","BARCOLOR","BARSIZE","DOTCOLOR","DOTSIZE","_setRangeDefaults","defaultMin","defaultMax","_dataInitialize","rawData","_onChange","withBars","BAR","defaultXBarWidth","defaultYBarWidth","expand","defaultXMin","defaultXMax","defaultXStep","defaultYMin","defaultYMax","defaultYStep","defaultZMin","defaultZMax","defaultZStep","defaultValueMin","defaultValueMax","dataFilter","setOnLoadCallback","redraw","_getDataPoints","GRID","SURFACE","dataX","dataY","sortNumber","dataMatrix","xIndex","yIndex","pointRight","pointTop","pointCross","LINE","pointNext","noCanvas","fontWeight","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onclick","_onClick","_setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","getCameraPosition","getArmRotation","_readData","_redrawFilter","setPointDrawingMethod","_redrawBarGraphPoint","_redrawBarColorGraphPoint","_redrawBarSizeGraphPoint","_redrawDotGraphPoint","DOTLINE","_redrawDotLineGraphPoint","_redrawDotColorGraphPoint","_redrawDotSizeGraphPoint","_redrawSurfaceGraphPoint","_redrawGridGraphPoint","_redrawLineGraphPoint","_pointDrawingMethod","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGraph","_redrawInfo","_redrawLegend","_getContext","getContext","lineJoin","lineCap","clearRect","_dotSize","_getLegendWidth","dotSize","isSizeLegend","isValueLegend","margin","lineWidth","font","ymax","hue","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","widthMin","fillStyle","closePath","legendMin","legendMax","start","end","getCurrent","_line","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","drawAxisLabelX","text","armAngle","yMargin","point2d","drawAxisLabelY","drawAxisLabelZ","_line3d","from2d","to2d","prettyStep","xText","yText","zText","gridLenX","gridLenY","textMargin","armVector","from3d","xMin2d","xMax2d","H","V","Hi","X","_getStrokeWidth","_redrawBar","xWidth","yWidth","borderColor","surface","surfaces","corners","avg","transCenter","_polygon","_drawCircle","radius","_calcRadius","arc","PI","_getColorsRegular","_getColorsColor","_getColorsSize","colors","fraction","cross","topSideVisible","showGrayBottom","aDiff","bDiff","crossproduct","crossProduct","zAvg","_drawGridLine","_storeMousePosition","startMouseX","startMouseY","_startCameraOffset","getOffset","leftButtonDown","_onMouseUp","which","button","touchDown","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","moving","diffX","diffY","ctrlKey","scaleX","scaleY","offXNew","armLength","offYNew","setOffset","horizontalNew","verticalNew","snapValue","setArmRotation","parameters","emit","onclick_callback","boundingRect","mouseX","mouseY","dataPoint","_dataPointFromXY","showTooltip","tooltipTimeout","_hideTooltip","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","setArmLength","_insideTriangle","triangle","bs","cs","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","dom","contentWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","setCameraPosition","setSize","assign","$assign","A","K","aLen","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","cameraOffset","offsetMultiplier","calculateCameraOrientation","_sign","_sign2","mul","rot","xa","za","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","precision","_current","setRange","isNumeric","setStep","calculatePrettyStep","log10","log","LN10","step1","step2","step5","toPrecision","getStep","checkFirst","combine","newMin","newMax","isEmpty","capitalize","str","prefixFieldName","fieldName","forceCopy","dst","srcKey","dstKey","safeCopy","OPTIONKEYS","PREFIXEDOPTIONKEYS","setSpecialSettings","setBackgroundColor","setDataColor","setStyle","setShowLegend","isLegendGraphStyle","getStyleNumberByName","styleName","STYLENAME","checkStyleNumber","valid","styleNumber","borderWidth","borderStyle","camPos","dot-line","dot-color","dot-size","grid","bar-color","bar-size","propagating","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","hammer","events","propagatedHandler","srcEvent","_handled","stopped","stopPropagation","srcStop","bind","firstTarget","elemHammer","_handlers","Manager","PropagatingHammer","wrapper","pointerType","isFirst","handler","eventType","hammers","idx","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","each","message","deprecationMessage","inherit","child","properties","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","property","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","enable","init","createInputInstance","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","touch","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","DEDUP_TIMEOUT","isSyntheticEvent","DEDUP_DISTANCE","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","oldCssProps","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","nextKey","dest","merge","MOBILE_REGEX","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","compute","getTouchAction","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","reset","process","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","force","curRecognizer","existing","STATE_FAILED","Tap","Pan","Swipe","Pinch","Rotate","Press","_exportFunctions","_bound","keydown","keyup","fromCharCode","down","handleEvent","up","keyCode","bound","shiftKey","bindAll","getKey","unbind","newBindings","Timeline","Graph2d","timeline","Core","DateUtil","TimeStep","components","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","DataScale","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","groups","forthArgument","throttleRedraw","defaultOptions","autoResize","orientation","axis","maxHeight","minHeight","rtl","directionFromDom","domNode","getComputedStyle","parentElement","rollingMode","domProps","emitter","hiddenDates","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","ondblclick","oncontextmenu","onmouseover","fitDone","getItemRange","setWindow","animation","fit","setGroups","setItems","_redraw","_Configurator","_Configurator2","_Validator","_Validator2","printStyle","allOptions","configureOptions","_createConfigurator","markDirty","refreshItems","validate","selection","getSelection","setSelection","newDataSet","group","focus","itemData","dataset","getDataRange","minItem","maxItem","getStart","getEnd","factor","groupShowing","show","repositionX","startSide","getWidthRight","endSide","getWidthLeft","lhs","rhs","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","pageY","toggleRollingMode","rolling","stopRolling","startRolling","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","_ColorPicker","_ColorPicker2","Configurator","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_this","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseout","optionsContainer","_push","_showPopupIfNeeded","path","_len","_key","div","objectLabel","select","selectedValue","selected","_update","_makeLabel","popupString","popupValue","oninput","itemIndex","_setupPopup","_this2","html","hideTimeout","deleteTimeout","_this3","correspondingElement","checkbox","checked","_this4","defaultColor","_showColorPicker","_this5","insertTo","setColor","setUpdateCallback","colorString","setCloseCallback","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","_label","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","pointer","getOptions","instance","_defineProperty","_defineProperty2","protoProps","staticProps","desc","hammerUtil","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","_rgbaArray","rgbObj","alpha","_setColor","_generateHueCircle","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","drag","pinch","onTouch","_moveSelector","sat","sfac","fillRect","getImageData","centerY","centerX","newTop","newLeft","onRelease","offTouch","offRelease","disablePreventDefaultVertically","pinchRecognizer","errorFound","Validator","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","_j","_j2","matrix","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","rollingModeBtn","validateDirection","conversion","currentTimeTimer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","_applyRange","updateHiddenDates","getMillisecondsPerPixel","newStart","newEnd","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","startDate","endDate","zoomKey","horizontalScroll","pointerDate","getPointer","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","hiddenBeforeStart","getHiddenDurationBeforeStart","rangeAfterEnd","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","timeOffset","requiredDuration","previousPoint","correctionEnabled","Activator","onMouseWheel","isActive","verticalScroll","scrollTop","adjusted","_setScrollTop","onMouseScrollSide","handleDragOver","itemAddedToTimeline","dataTransfer","dropEffect","handleDrop","getData","_onAddItem","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","scrollTopMin","initialDrawDone","_origRedraw","initialItemSetDrawn","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","removeCustomTime","getVisibleItems","getWindow","zoomIn","percentage","newInterval","zoomOut","borderRootHeight","borderRootWidth","autoHeight","containerHeight","scrollbarWidth","_setDOM","_updateScrollTop","visibilityTop","visibilityBottom","contentsOverflow","centerWidth","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","align","stackSubgroups","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","overrideItems","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","followMouse","overflowMethod","tooltipOnItemUpdateTime","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","popup","touchParams","groupTouchParams","_Popup","_Popup2","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","groupHammer","_onGroupClick","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","_onMouseOver","_onMouseOut","addCallback","dirty","displayed","unselect","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","scrolled","lastRangeStart","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","nestedGroups","nestedGroupId","updatedNestedGroup","nestedInGroup","showNested","_order","getGroups","removeItem","_getType","_removeItem","groupData","groupOptions","_orderNestedGroups","newGroupIdsOrder","nestedGroup","nestedGroupIds","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","itemIsDragging","selectedItem","initialX","dragLeft","_cloneItemData","dragRight","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","initialEnd","initialStart","newOffset","_moveToGroup","collapsedDirClassName","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","itemFromRelatedTarget","getTitle","setText","setPosition","offsetTop","_onUpdateItem","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemFromElement","cur","relatedTarget","itemSetFromTarget","Popup","Element","doShow","maxWidth","isLeft","isTop","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","_moment","currentMonth","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","isVisible","itemsInRange","byStart","byEnd","checkRangedItems","marker","templateFunction","paddingRight","paddingLeft","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","_isGroupVisible","customOrderedItems","_updateItemsInRange","nostack","_updateSubgroupsSizes","_calculateHeight","repositionY","resetSubgroups","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","collidingItem","jj","collision","otherSubgroup","collisionByTimes","baseClassName","visibleFrame","_updateContents","_updateDataAttributes","_updateStyle","_repaintOnItemUpdateTimeTooltip","_repaintDeleteButton","_repaintDragCenter","_repaintDragLeft","_repaintDragRight","limitSize","contentStartPosition","parentWidth","boxWidth","_updateEditStatus","dragCenter","dragCenterItem","deleteButton","onItemUpdateTimeTooltip","itemDistanceFromTop","template","itemVisibleFrameContent","visibleFrameTemplateFunction","frameElement","itemVisibleFrameContentElement","getElementsByClassName","visibleFrameTemplate","_contentToString","dataAttributes","attributes","setAttribute","removeAttribute","outerHTML","widthInMs","previousRight","previousLeft","itemSetHeight","marginLeft","marginRight","itemSubgroup","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","maxMinorChars","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","prevWidth","labelMinor","xFirstMajorLabel","showMinorGrid","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","eventParams","warned","substring","elementsCensor","showCurrentTime","bool","boolean","function","any","null","groupsDraggable","linegraph","initialLoad","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","forceGraphUpdate","lastStart","svgElements","groupsUsingDefaultStyles","svg","framework","Bars","Lines","Points","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","idMap","groupCounts","existing_items","extended","orginalY","_updateGraph","rangePerPixelInv","_getSortedGroupIds","grouplist","zIndex","bz","groupRanges","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","below","excludeFromStacking","_stack","_convertYcoordinates","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","dateComparator","first","dataContainer","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","masterAxis","lineOffset","tempGroups","axisUsed","datapoints","screen_x","screen_y","screen_end","svgHeight","convertValue","setZeroPosition","linegraphOptions","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","alignZeros","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconOffset","groupArray","iconHeight","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","customRange","autoScaleEnd","autoScaleStart","followScale","maxLabelSize","getLines","major","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","zeroAlign","formattingFunction","majorSteps","minorSteps","customLines","minorStepIdx","magnitudefactor","determineScale","rounded","setCharHeight","setHeight","minimumStepValue","orderOfMagnitude","solutionFound","is_major","getFirstMajor","majorStep","formatValue","bottomOffset","oldStepIdx","oldStart","oldEnd","increaseMagnitude","decreaseMagnitude","otherZero","otherStep","newRange","myOriginalZero","majorOffset","zeroOffset","pixels","usingDefaultStyle","zeroPosition","drawIcon","icon","Bargraph","fillHeight","outline","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","amount","resolved","accumulatedNegative","accumulatedPositive","dataWidth","pointData","groupLabel","_getStackedYRange","xpos","getGroupTemplate","callbackResult","getCallback","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","bp1","bp2","d1","d2","d3","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","Network","network","Images","dotparser","gephiParser","convertDot","DOTToGraph","convertGephi","parseGephi","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_Images2","_Groups2","_Canvas2","selectionHandler","_SelectionHandler2","interactionHandler","_InteractionHandler2","_View2","renderer","_CanvasRenderer2","_PhysicsEngine2","layoutEngine","_LayoutEngine2","clustering","_Clustering2","manipulation","_ManipulationSystem2","nodesHandler","_NodesHandler2","edgesHandler","_EdgesHandler2","_KamadaKawai2","_Images","_Groups","_NodesHandler","_EdgesHandler","_PhysicsEngine","_Clustering","_CanvasRenderer","_Canvas","_View","_InteractionHandler","_SelectionHandler","_LayoutEngine","_ManipulationSystem","_KamadaKawai","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","imageBroken","url","imageToCache","brokenUrl","imageToLoadBrokenUrlOn","onerror","_addImageToCache","Image","imageToRedrawWith","cachedImage","img","onload","_redrawWithImage","_tryloadBrokenUrl","Groups","defaultIndex","groupsArray","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_index","_Node","_Node2","_Label","_Label2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","vadjust","multi","bold","mod","boldital","ital","mono","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","nodeOptions","parseOptions","updateShape","updateLabelModule","_reset","_nodeId2","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","clearPositions","dataArray","_node","_node2","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_Box","_Box2","_Circle","_Circle2","_CircularImage","_CircularImage2","_Database","_Database2","_Diamond","_Diamond2","_Dot","_Dot2","_Ellipse","_Ellipse2","_Icon","_Icon2","_Image","_Image2","_Square","_Square2","_Star","_Star2","_Text","_Text2","_Triangle","_Triangle2","_TriangleDown","_TriangleDown2","Node","imagelist","baseSize","baseFontSize","predefinedPosition","labelModule","currentShape","groupObj","choosify","imageObj","load","unselected","imageObjAlt","propagateFonts","chooser","chosen","chosenNode","shadowColor","shadowSize","shadowX","shadowY","constrain","distanceToBorder","sizeDiff","fontDiff","getFormattingValues","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray2","_slicedToArray3","Label","edgelabel","pointToSelf","fontOptions","yLine","isEdgeLabel","elementOptions","labelDirty","constrainWidth","maxWdt","minWdt","widthConstraint","widthConstraintMaximum","widthConstraintMinimum","constrainHeight","minHgt","valign","heightConstraint","heightConstraintMinimum","heightConstraintValign","chosenLabel","margins","widthBias","heightBias","mods","optionsFontMod","modOptionsArray","ratio","_ratio","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","fontSize","_setAlignment2","_setAlignment","_setAlignment3","labelHeight","lineCount","blocks","block","_getColor2","_getColor","_getColor3","fontColor","strokeText","initialStrokeColor","_processLabel","markupSystem","system","decodeMarkupSystem","splitMarkdownBlocks","splitHtmlBlocks","beginable","spacing","buffer","modStack","modName","emitBlock","ch","unshift","selectedState","hoverState","accumulate","addAndAccumulate","_nlLines","splitBlocks","_values","words","atStart","measure","lastMeasure","pre","measureText","_values2","_measure","_values3","_words","_text","_measure2","_lastMeasure","_pre","_text2","_measure3","newOptionsArray","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_e","_s","isIterable","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_NodeBase2","_NodeBase3","Box","_NodeBase","__proto__","_setMargins","differentState","textSize","getTextSize","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","$getPrototypeOf","ReferenceError","_setPrototypeOf","_setPrototypeOf2","subClass","superClass","setPrototypeOf","buggy","NodeBase","adjustSizes","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","setImages","imageTmp","globalAlpha","can2","ctx2","drawImage","iterations","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","switchImages","clip","_drawImageAtPosition","_drawImageLabel","Database","database","_distanceToBorder","_ShapeBase2","_ShapeBase3","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","neutralborderWidth","selectionLineWidth","Square","Star","Text","Triangle","TriangleDown","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","arrowStrikethrough","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","updateEdgeType","_edgeId","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","_CubicBezierEdge","_CubicBezierEdge2","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","Edge","baseWidth","edgeType","connected","_setInteractionWidths","chosenEdge","toArrow","fromArrow","middleArrow","inheritsColor","toArrowScale","toArrowType","middleArrowScale","middleArrowType","fromArrowScale","fromArrowType","selectedWidth","changeInType","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","colorsDefined","_CubicBezierEdgeBase2","_CubicBezierEdgeBase3","CubicBezierEdge","_CubicBezierEdgeBase","viaNodes","via1","via2","bezierCurveTo","x1","y1","x2","y2","_getViaCoordinates","nearNode","_findBorderPositionBezier","x3","y3","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref4","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","minDistance","lastX","lastY","_getDistanceToLine","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","via","EdgeBase","colorDirty","getColor","_drawDashedLine","_drawLine","_getCircleData2","_getCircleData","_getCircleData3","_circle","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData8","_getCircleData9","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData10","_getCircleData11","py","something","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData12","_getCircleData13","circleEndpoint","arrowEndpoint","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","cr","BezierEdgeStatic","xVia","yVia","pi","originalAngle","myAngle","_pi","_originalAngle","_myAngle","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_BarnesHutSolver","_BarnesHutSolver2","_RepulsionSolver","_RepulsionSolver2","_HierarchicalRepulsionSolver","_HierarchicalRepulsionSolver2","_SpringSolver","_SpringSolver2","_HierarchicalSpringSolver","_HierarchicalSpringSolver2","_CentralGravitySolver","_CentralGravitySolver2","_FA2BasedRepulsionSolver","_FA2BasedRepulsionSolver2","_FA2BasedCentralGravitySolver","_FA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestep","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","updateInterval","onlyDynamicEdges","timestep","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","runDoubleSpeed","amountOfIterations","calculateForces","moveNodes","revert","_evaluateStepQuality","nodeIds","positions","vx","vy","reference","maxNodeVelocity","averageNodeVelocity","nodeVelocity","_performStep","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","forceSize","arrowSize","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","_i2","totalFx","totalFy","_i3","correctionFx","correctionFy","_i4","_nodeId3","CentralGravitySolver","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","degree","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_NetworkUtil","_NetworkUtil2","_Cluster","_Cluster2","ClusterEngine","clusteredNodes","clusteredEdges","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","cloneOptions","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","gatheringSuccessful","childNodeId","_getConnectedId","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","childNodeIDs","childNode","childEdge","clusterEdgeProperties","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","edgeReplacedById","_backupEdgeOptions","allowSingleNodeCluster","processProperties","childNodesOptions","childEdgesOptions","_clonedOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","originalOptions","clusterNodeId","releaseFunction","clusterPosition","newPositions","_containedNode","_nodeId4","_containedNode2","_nodeId5","_containedNode3","edgesToBeDeleted","otherCluster","transferEdge","replacedEdge","_restoreEdge","nodesArray","reverse","clusteredNodeId","startEdgeId","allEdgeIds","getClusteredEdges","clusteredEdgeId","baseEdgeId","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node3","Cluster","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","cameraState","canvasViewCenter","hammerFrame","_cleanUp","previousWidth","previousHeight","widthRatio","heightRatio","newScale","currentViewCenter","distanceFromCenter","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","previousRatio","_getCameraState","_setCameraState","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","yDistance","xZoomLevel","yZoomLevel","findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","_NavigationHandler","_NavigationHandler2","InteractionHandler","navigationHandler","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanged","edgesChanged","nodeSelected","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","overlappingEdges","popupTargetType","popupTargetId","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","mindist","overlappingEdge","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","idArray","RangeError","LayoutEngine","initialRandomSeed","setPhysics","optionsBackup","improvedLayout","hierarchical","levelSeparation","nodeSpacing","treeSpacing","blockShifting","edgeMinimization","parentCentralization","sortMethod","setupHierarchicalLayout","layoutNetwork","prevHierarchicalState","adaptAllOptionsForHierarchicalLayout","startLength","before","clusterBridges","_declusterAll","info","kamadaKawai","_shiftToCenter","getRangeCore","clustersPresent","definedLevel","undefinedLevel","hierarchicalLevels","lastNodeOnLevel","hierarchicalChildrenReference","hierarchicalParentReference","hierarchicalTrees","treeIndex","distributionOrdering","distributionIndex","distributionOrderingPresence","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","stillShifting","branches","shiftTree","_getPositionForHierarchy","_setPositionForHierarchy","getTreeSize","getTreeSizes","treeWidths","getBranchNodes","getBranchBoundary","branchMap","maxLevel","minSpace","maxSpace","branchNode","_getSpaceAroundNode2","_getSpaceAroundNode","_getSpaceAroundNode3","minSpaceNode","maxSpaceNode","getMaxLevel","accumulator","_getMaxLevel","getCollisionLevel","maxLevel1","maxLevel2","hasSameParent","parents1","parents2","shiftElementsCloser","levels","centerParents","levelNodes","branchShiftCallback","centerParent","branchNodes1","branchNodes2","_getBranchBoundary","_getBranchBoundary2","max1","_getBranchBoundary3","_getBranchBoundary4","min2","minSpace2","_shiftBlock","_centerParent","minimizeEdgeLength","allEdges","nodeLevel","C2","referenceNodes","aboveEdges","otherNode","getFx","getDFx","getGuess","guess","guessMap","dfx","branchNodes","_getBranchBoundary5","_getBranchBoundary6","minSpaceBranch","maxSpaceBranch","branchOffset","_getSpaceAroundNode4","_getSpaceAroundNode5","newPosition","treeSizes","shiftBy","useMap","prevNode","nextNode","nextPos","parents","parentId","minPos","maxPos","_i5","_getSpaceAroundNode6","_getSpaceAroundNode7","positionedNodes","nodeArray","_indexArrayToNodes","_sortNodeArray","handledNodeCount","_validataPositionAndContinue","parentLevel","_i6","childNodeLevel","_i7","previousPos","sharedParent","_findCommonParent","withChild","_placeBranchNodes","hubSize","levelDownstream","nodeA","nodeB","_crawlNetwork","levelByDirection","_setMinLevelToZero","minLevel","_this6","fillInRelations","_this7","startingNodeId","crawler","tree","_this8","shifter","childA","childB","_this9","iterateParents","findParent","foundParent","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","editWithoutDrag","edgeBeingEditedId","_performEditEdge","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","deleteBtnClass","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","fromSelect","toSelect","overlappingNodeIds","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","eeFunct","maximum","minimum","_FloydWarshall","_FloydWarshall2","KamadaKawai","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","maxIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode3","_moveNode","_getEnergy2","_getEnergy","_getEnergy3","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy4","_getEnergy5","x_m","y_m","iIdx","x_i","y_i","denominator","K_matrix","L_matrix","d2E_dx2","d2E_dxdy","d2E_dy2","FloydWarshall","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","ox","oy","xe","ye","xm","ym","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","xc","yc","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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","file":"vis"} \ No newline at end of file +{"version":3,"sources":["vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","extend","_interopRequireDefault","obj","__esModule","default","_getIterator2","_getIterator3","_create","_create2","_keys","_keys2","_typeof2","_typeof3","moment","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","match","Boolean","valueOf","isMoment","toDate","getType","toISOString","format","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteRight","right","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","throttle","fn","scheduled","requestAnimationFrame","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","slice","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","cssUtil","cssText","styles","style","trim","parts","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","bridgeObject","insertSort","compare","k","j","mergeOptions","mergeTarget","options","globalOptions","enabled","binarySearchCustom","orderedItems","comparator","field","field2","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","getScrollBarWidth","inner","document","createElement","width","height","outer","position","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","topMost","pile","accessors","candidate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","member","err","global","hide","Iterators","TO_STRING_TAG","collections","NAME","Collection","proto","prototype","addToUnscopables","step","toIObject","iterated","kind","_t","_i","_k","O","Arguments","IObject","defined","it","cof","propertyIsEnumerable","LIBRARY","$export","redefine","has","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","returnThis","Base","Constructor","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","name","values","P","F","core","ctx","source","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","apply","Function","virtual","R","U","self","__g","version","__e","aFunction","that","dP","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","defineProperty","Attributes","isObject","get","is","val","bitmap","enumerable","configurable","writable","create","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","src","contentWindow","open","write","lt","close","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","toLength","toIndex","IS_INCLUDES","$this","el","fromIndex","toInteger","ceil","shared","uid","store","px","random","concat","documentElement","def","tag","stat","Symbol","USE_SYMBOL","toObject","ObjectProto","$at","point","TO_STRING","pos","l","charCodeAt","charAt","getIterator","iterFn","classof","getIteratorMethod","ARG","tryGet","T","callee","$Object","D","fails","KEY","exp","_iterator2","_symbol","_symbol2","_typeof","DESCRIPTORS","META","$fails","wks","wksExt","wksDefine","keyOf","enumKeys","gOPNExt","$GOPD","$DP","gOPD","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","set","symbols","for","keyFor","useSetter","useSimple","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","replacer","$replacer","args","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","gOPS","pIE","getSymbols","arg","windowNames","getWindowNames","hiddenKeys","hooks","hookCallback","input","isObjectEmpty","isUndefined","res","hasOwnProp","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","some$1","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","copyConfig","to","from","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","stack","deprecateSimple","deprecations","isFunction","_config","_dayOfMonthOrdinalParseLenient","RegExp","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","now","output","_calendar","longDateFormat","_longDateFormat","formatUpper","toUpperCase","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","u","sort","makeGetSet","keepTime","set$1","stringGet","stringSet","prioritized","zeroFill","targetLength","forceSign","absNumber","zerosToFill","pow","addFormatToken","token","padded","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","indexOf$1","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","isLeapYear","getIsLeapYear","createDate","y","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","oldLocale","locales","globalLocale","_abbr","code","getSetGlobalLocale","data","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","x","updateLocale","listLocales","keys$1","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromRFC2822","dayFormat","timezone","timezoneIndex","timezones"," GMT"," EDT"," EST"," CDT"," CST"," MDT"," MST"," PDT"," PST","military","basicRfcRegex","momentDate","momentDay","configFromString","aspNetJsonRegex","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","weekdayOverflow","GG","createLocal","curWeek","gg","ISO_8601","RFC_2822","parsedInput","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","hour","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","isDurationValid","ordering","unitHasDecimal","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","duration","years","quarters","quarter","weeks","days","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","matchShortOffset","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","inspect","zone","prefix","suffix","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toJSON","isValid$2","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","ss","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","toISOString$1","abs$1","Y","asSeconds","some","fun","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","match6","matchWord","o","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","kInput","_isPm","pos1","pos2","getSetHour","dayOfMonthOrdinalParse","meridiemParse","prototypeMin","prototypeMax","invalid","lang","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","n","rnds","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Hammer","keycharm","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","groupTemplate","labelObj","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","_stringify2","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","subscriber","addedIds","me","_addItem","items","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","ids","firstType","returnType","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","av","bv","remove","removedIds","removedItems","_remove","ident","clear","maxField","itemField","minField","distinct","fieldType","count","exists","types","raw","converted","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","original","method","context","entry","clearTimeout","setTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","viewOptions","getArguments","defaultFilter","dataSet","oldItems","updatedItems","container","SyntaxError","containerElement","dataTable","dataPoints","Settings","setDefaults","DEFAULTS","colX","colY","colZ","colValue","colFilter","getMouseX","clientX","targetTouches","getMouseY","clientY","_assign","_assign2","Emitter","Range","STYLE","autoByDefault","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter","DOT","tooltip","tooltipStyle","padding","borderRadius","boxShadow","line","borderLeft","dot","showLegend","backgroundColor","dataColor","fill","stroke","strokeWidth","cameraPosition","horizontal","vertical","distance","xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep","_setScale","xRange","range","yRange","zRange","z","valueRange","center","zCenter","camera","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","cameraLocation","getCameraLocation","cameraRotation","getCameraRotation","ax","ay","az","cx","cy","cz","sinTx","sin","cosTx","cos","sinTy","cosTy","sinTz","cosTz","bx","by","ex","eye","ey","ez","dx","dy","dz","getArmLength","currentXCenter","frame","canvas","currentYCenter","_calcTranslations","points","trans","screen","transBottom","bottom","dist","sortDepth","getNumberOfRows","getNumberOfColumns","counter","column","getDistinctValues","distinctValues","getSmallestDifference","smallest_diff","getColumnRange","_checkValueField","BARCOLOR","BARSIZE","DOTCOLOR","DOTSIZE","_setRangeDefaults","defaultMin","defaultMax","_dataInitialize","rawData","_onChange","withBars","BAR","defaultXBarWidth","defaultYBarWidth","expand","defaultXMin","defaultXMax","defaultXStep","defaultYMin","defaultYMax","defaultYStep","defaultZMin","defaultZMax","defaultZStep","defaultValueMin","defaultValueMax","dataFilter","setOnLoadCallback","redraw","_getDataPoints","GRID","SURFACE","dataX","dataY","sortNumber","dataMatrix","xIndex","yIndex","pointRight","pointTop","pointCross","LINE","pointNext","noCanvas","fontWeight","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onclick","_onClick","_setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","getCameraPosition","getArmRotation","_readData","_redrawFilter","setPointDrawingMethod","_redrawBarGraphPoint","_redrawBarColorGraphPoint","_redrawBarSizeGraphPoint","_redrawDotGraphPoint","DOTLINE","_redrawDotLineGraphPoint","_redrawDotColorGraphPoint","_redrawDotSizeGraphPoint","_redrawSurfaceGraphPoint","_redrawGridGraphPoint","_redrawLineGraphPoint","_pointDrawingMethod","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGraph","_redrawInfo","_redrawLegend","_getContext","getContext","lineJoin","lineCap","clearRect","_dotSize","_getLegendWidth","dotSize","isSizeLegend","isValueLegend","margin","lineWidth","font","ymax","hue","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","widthMin","fillStyle","closePath","legendMin","legendMax","start","end","getCurrent","_line","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","drawAxisLabelX","text","armAngle","yMargin","point2d","drawAxisLabelY","drawAxisLabelZ","_line3d","from2d","to2d","prettyStep","xText","yText","zText","gridLenX","gridLenY","textMargin","armVector","from3d","xMin2d","xMax2d","H","V","Hi","X","_getStrokeWidth","_redrawBar","xWidth","yWidth","borderColor","surface","surfaces","corners","avg","transCenter","_polygon","_drawCircle","radius","_calcRadius","arc","PI","_getColorsRegular","_getColorsColor","_getColorsSize","colors","fraction","cross","topSideVisible","showGrayBottom","aDiff","bDiff","crossproduct","crossProduct","zAvg","_drawGridLine","_storeMousePosition","startMouseX","startMouseY","_startCameraOffset","getOffset","leftButtonDown","_onMouseUp","which","button","touchDown","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","moving","diffX","diffY","ctrlKey","scaleX","scaleY","offXNew","armLength","offYNew","setOffset","horizontalNew","verticalNew","snapValue","setArmRotation","parameters","emit","onclick_callback","boundingRect","mouseX","mouseY","dataPoint","_dataPointFromXY","showTooltip","tooltipTimeout","_hideTooltip","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","setArmLength","_insideTriangle","triangle","bs","cs","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","dom","contentWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","setCameraPosition","setSize","assign","$assign","A","K","aLen","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","cameraOffset","offsetMultiplier","calculateCameraOrientation","_sign","_sign2","mul","rot","xa","za","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","precision","_current","setRange","isNumeric","setStep","calculatePrettyStep","log10","log","LN10","step1","step2","step5","toPrecision","getStep","checkFirst","combine","newMin","newMax","isEmpty","capitalize","str","prefixFieldName","fieldName","forceCopy","dst","srcKey","dstKey","safeCopy","OPTIONKEYS","PREFIXEDOPTIONKEYS","setSpecialSettings","setBackgroundColor","setDataColor","setStyle","setShowLegend","isLegendGraphStyle","getStyleNumberByName","styleName","STYLENAME","checkStyleNumber","valid","styleNumber","borderWidth","borderStyle","camPos","dot-line","dot-color","dot-size","grid","bar-color","bar-size","propagating","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","hammer","events","propagatedHandler","srcEvent","_handled","stopped","stopPropagation","srcStop","bind","firstTarget","elemHammer","_handlers","Manager","PropagatingHammer","wrapper","pointerType","isFirst","handler","eventType","hammers","idx","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","each","message","deprecationMessage","inherit","child","properties","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","property","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","enable","init","createInputInstance","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","touch","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","DEDUP_TIMEOUT","isSyntheticEvent","DEDUP_DISTANCE","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","oldCssProps","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","nextKey","dest","merge","MOBILE_REGEX","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","compute","getTouchAction","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","reset","process","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","force","curRecognizer","existing","STATE_FAILED","Tap","Pan","Swipe","Pinch","Rotate","Press","_exportFunctions","_bound","keydown","keyup","fromCharCode","down","handleEvent","up","keyCode","bound","shiftKey","bindAll","getKey","unbind","newBindings","Timeline","Graph2d","timeline","Core","DateUtil","TimeStep","components","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","DataScale","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","groups","forthArgument","throttleRedraw","defaultOptions","autoResize","orientation","axis","maxHeight","minHeight","rtl","directionFromDom","domNode","getComputedStyle","parentElement","rollingMode","domProps","emitter","hiddenDates","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","ondblclick","oncontextmenu","onmouseover","fitDone","getItemRange","setWindow","animation","fit","setGroups","setItems","_redraw","_Configurator","_Configurator2","_Validator","_Validator2","printStyle","allOptions","configureOptions","_createConfigurator","markDirty","refreshItems","validate","selection","getSelection","setSelection","newDataSet","group","focus","itemData","dataset","getDataRange","minItem","maxItem","getStart","getEnd","factor","groupShowing","show","repositionX","startSide","getWidthRight","endSide","getWidthLeft","lhs","rhs","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","pageY","toggleRollingMode","rolling","stopRolling","startRolling","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","_ColorPicker","_ColorPicker2","Configurator","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_this","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseout","optionsContainer","_push","_showPopupIfNeeded","path","_len","_key","div","objectLabel","select","selectedValue","selected","_update","_makeLabel","popupString","popupValue","oninput","itemIndex","_setupPopup","_this2","html","hideTimeout","deleteTimeout","_this3","correspondingElement","checkbox","checked","_this4","defaultColor","_showColorPicker","_this5","insertTo","setColor","setUpdateCallback","colorString","setCloseCallback","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","_label","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","pointer","getOptions","instance","_defineProperty","_defineProperty2","protoProps","staticProps","desc","hammerUtil","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","_rgbaArray","rgbObj","alpha","_setColor","_generateHueCircle","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","drag","pinch","onTouch","_moveSelector","sat","sfac","fillRect","getImageData","centerY","centerX","newTop","newLeft","onRelease","offTouch","offRelease","disablePreventDefaultVertically","pinchRecognizer","errorFound","Validator","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","_j","_j2","matrix","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","rollingModeBtn","validateDirection","conversion","currentTimeTimer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","_applyRange","updateHiddenDates","getMillisecondsPerPixel","newStart","newEnd","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","startDate","endDate","zoomKey","horizontalScroll","pointerDate","getPointer","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","hiddenBeforeStart","getHiddenDurationBeforeStart","rangeAfterEnd","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","timeOffset","requiredDuration","previousPoint","correctionEnabled","Activator","onMouseWheel","isActive","verticalScroll","scrollTop","adjusted","_setScrollTop","onMouseScrollSide","handleDragOver","itemAddedToTimeline","dataTransfer","dropEffect","handleDrop","getData","_onAddItem","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","scrollTopMin","initialDrawDone","_origRedraw","initialItemSetDrawn","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","removeCustomTime","getVisibleItems","getWindow","zoomIn","percentage","newInterval","zoomOut","borderRootHeight","borderRootWidth","autoHeight","containerHeight","scrollbarWidth","_setDOM","_updateScrollTop","visibilityTop","visibilityBottom","contentsOverflow","centerWidth","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","align","stackSubgroups","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","overrideItems","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","followMouse","overflowMethod","tooltipOnItemUpdateTime","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","popup","touchParams","groupTouchParams","_Popup","_Popup2","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","groupHammer","_onGroupClick","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","_onMouseOver","_onMouseOut","addCallback","dirty","displayed","unselect","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","scrolled","lastRangeStart","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","nestedGroups","nestedGroupId","updatedNestedGroup","nestedInGroup","showNested","_order","getGroups","removeItem","_getType","_removeItem","groupData","groupOptions","_orderNestedGroups","newGroupIdsOrder","nestedGroup","nestedGroupIds","oldGroupId","oldSubGroupId","subgroup","oldGroup","changeSubgroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","itemIsDragging","selectedItem","initialX","dragLeft","_cloneItemData","dragRight","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","initialEnd","initialStart","newOffset","_moveToGroup","collapsedDirClassName","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","itemFromRelatedTarget","getTitle","setText","setPosition","offsetTop","_onUpdateItem","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemFromElement","cur","relatedTarget","itemSetFromTarget","Popup","Element","doShow","maxWidth","isLeft","isTop","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","_moment","currentMonth","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","isVisible","itemsInRange","byStart","byEnd","checkRangedItems","marker","templateFunction","paddingRight","paddingLeft","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","_isGroupVisible","customOrderedItems","_updateItemsInRange","nostack","_updateSubgroupsSizes","_calculateHeight","repositionY","resetSubgroups","setParent","_addToSubgroup","orderSubgroups","_checkIfVisible","subgroupId","sortArray","sortField","_removeFromSubgroup","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","oldSubgroup","newSubgroup","collidingItem","jj","collision","otherSubgroup","collisionByTimes","baseClassName","visibleFrame","_updateContents","_updateDataAttributes","_updateStyle","_repaintOnItemUpdateTimeTooltip","_repaintDeleteButton","_repaintDragCenter","_repaintDragLeft","_repaintDragRight","limitSize","contentStartPosition","parentWidth","boxWidth","_updateEditStatus","dragCenter","dragCenterItem","deleteButton","onItemUpdateTimeTooltip","itemDistanceFromTop","template","itemVisibleFrameContent","visibleFrameTemplateFunction","frameElement","itemVisibleFrameContentElement","getElementsByClassName","visibleFrameTemplate","_contentToString","dataAttributes","attributes","setAttribute","removeAttribute","outerHTML","widthInMs","previousRight","previousLeft","itemSetHeight","marginLeft","marginRight","itemSubgroup","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","maxMinorChars","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","prevWidth","labelMinor","xFirstMajorLabel","showMinorGrid","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","eventParams","warned","substring","elementsCensor","showCurrentTime","bool","boolean","function","any","null","groupsDraggable","linegraph","initialLoad","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","forceGraphUpdate","lastStart","svgElements","groupsUsingDefaultStyles","svg","framework","Bars","Lines","Points","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","idMap","groupCounts","existing_items","extended","orginalY","_updateGraph","rangePerPixelInv","_getSortedGroupIds","grouplist","zIndex","bz","groupRanges","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","below","excludeFromStacking","_stack","_convertYcoordinates","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","dateComparator","first","dataContainer","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","masterAxis","lineOffset","tempGroups","axisUsed","datapoints","screen_x","screen_y","screen_end","svgHeight","convertValue","setZeroPosition","linegraphOptions","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","alignZeros","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconOffset","groupArray","iconHeight","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","customRange","autoScaleEnd","autoScaleStart","followScale","maxLabelSize","getLines","major","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","zeroAlign","formattingFunction","majorSteps","minorSteps","customLines","minorStepIdx","magnitudefactor","determineScale","rounded","setCharHeight","setHeight","minimumStepValue","orderOfMagnitude","solutionFound","is_major","getFirstMajor","majorStep","formatValue","bottomOffset","oldStepIdx","oldStart","oldEnd","increaseMagnitude","decreaseMagnitude","otherZero","otherStep","newRange","myOriginalZero","majorOffset","zeroOffset","pixels","usingDefaultStyle","zeroPosition","drawIcon","icon","Bargraph","fillHeight","outline","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","amount","resolved","accumulatedNegative","accumulatedPositive","dataWidth","pointData","groupLabel","_getStackedYRange","xpos","getGroupTemplate","callbackResult","getCallback","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","bp1","bp2","d1","d2","d3","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","Network","network","Images","dotparser","gephiParser","convertDot","DOTToGraph","convertGephi","parseGephi","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_Images2","_Groups2","_Canvas2","selectionHandler","_SelectionHandler2","interactionHandler","_InteractionHandler2","_View2","renderer","_CanvasRenderer2","_PhysicsEngine2","layoutEngine","_LayoutEngine2","clustering","_Clustering2","manipulation","_ManipulationSystem2","nodesHandler","_NodesHandler2","edgesHandler","_EdgesHandler2","_KamadaKawai2","_Images","_Groups","_NodesHandler","_EdgesHandler","_PhysicsEngine","_Clustering","_CanvasRenderer","_Canvas","_View","_InteractionHandler","_SelectionHandler","_LayoutEngine","_ManipulationSystem","_KamadaKawai","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","imageBroken","url","imageToCache","brokenUrl","imageToLoadBrokenUrlOn","onerror","_addImageToCache","Image","imageToRedrawWith","cachedImage","img","onload","_redrawWithImage","_tryloadBrokenUrl","Groups","defaultIndex","groupsArray","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_index","_Node","_Node2","_Label","_Label2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","vadjust","multi","bold","mod","boldital","ital","mono","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","nodeOptions","parseOptions","updateShape","updateLabelModule","_reset","_nodeId2","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","clearPositions","dataArray","_node","_node2","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_Box","_Box2","_Circle","_Circle2","_CircularImage","_CircularImage2","_Database","_Database2","_Diamond","_Diamond2","_Dot","_Dot2","_Ellipse","_Ellipse2","_Icon","_Icon2","_Image","_Image2","_Square","_Square2","_Star","_Star2","_Text","_Text2","_Triangle","_Triangle2","_TriangleDown","_TriangleDown2","Node","imagelist","baseSize","baseFontSize","predefinedPosition","labelModule","currentShape","groupObj","choosify","imageObj","load","unselected","imageObjAlt","propagateFonts","chooser","chosen","chosenNode","shadowColor","shadowSize","shadowX","shadowY","constrain","distanceToBorder","sizeDiff","fontDiff","getFormattingValues","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray2","_slicedToArray3","Label","edgelabel","pointToSelf","fontOptions","yLine","isEdgeLabel","elementOptions","labelDirty","constrainWidth","maxWdt","minWdt","widthConstraint","widthConstraintMaximum","widthConstraintMinimum","constrainHeight","minHgt","valign","heightConstraint","heightConstraintMinimum","heightConstraintValign","chosenLabel","margins","widthBias","heightBias","mods","optionsFontMod","modOptionsArray","ratio","_ratio","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","fontSize","_setAlignment2","_setAlignment","_setAlignment3","labelHeight","lineCount","blocks","block","_getColor2","_getColor","_getColor3","fontColor","strokeText","initialStrokeColor","_processLabel","markupSystem","system","decodeMarkupSystem","splitMarkdownBlocks","splitHtmlBlocks","beginable","spacing","buffer","modStack","modName","emitBlock","ch","unshift","selectedState","hoverState","accumulate","addAndAccumulate","_nlLines","splitBlocks","_values","words","atStart","measure","lastMeasure","pre","measureText","_values2","_measure","_values3","_words","_text","_measure2","_lastMeasure","_pre","_text2","_measure3","newOptionsArray","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_e","_s","isIterable","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_NodeBase2","_NodeBase3","Box","_NodeBase","__proto__","_setMargins","differentState","textSize","getTextSize","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","$getPrototypeOf","ReferenceError","_setPrototypeOf","_setPrototypeOf2","subClass","superClass","setPrototypeOf","buggy","NodeBase","adjustSizes","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","setImages","imageTmp","globalAlpha","can2","ctx2","drawImage","iterations","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","switchImages","clip","_drawImageAtPosition","_drawImageLabel","Database","database","_distanceToBorder","_ShapeBase2","_ShapeBase3","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","neutralborderWidth","selectionLineWidth","Square","Star","Text","Triangle","TriangleDown","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","arrowStrikethrough","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","updateEdgeType","_edgeId","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","_CubicBezierEdge","_CubicBezierEdge2","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","Edge","baseWidth","edgeType","connected","_setInteractionWidths","chosenEdge","toArrow","fromArrow","middleArrow","inheritsColor","toArrowScale","toArrowType","middleArrowScale","middleArrowType","fromArrowScale","fromArrowType","selectedWidth","changeInType","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","colorsDefined","_CubicBezierEdgeBase2","_CubicBezierEdgeBase3","CubicBezierEdge","_CubicBezierEdgeBase","viaNodes","via1","via2","bezierCurveTo","x1","y1","x2","y2","_getViaCoordinates","nearNode","_findBorderPositionBezier","x3","y3","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref4","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","minDistance","lastX","lastY","_getDistanceToLine","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","via","EdgeBase","colorDirty","getColor","_drawDashedLine","_drawLine","_getCircleData2","_getCircleData","_getCircleData3","_circle","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData8","_getCircleData9","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData10","_getCircleData11","py","something","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData12","_getCircleData13","circleEndpoint","arrowEndpoint","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","cr","BezierEdgeStatic","xVia","yVia","pi","originalAngle","myAngle","_pi","_originalAngle","_myAngle","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_BarnesHutSolver","_BarnesHutSolver2","_RepulsionSolver","_RepulsionSolver2","_HierarchicalRepulsionSolver","_HierarchicalRepulsionSolver2","_SpringSolver","_SpringSolver2","_HierarchicalSpringSolver","_HierarchicalSpringSolver2","_CentralGravitySolver","_CentralGravitySolver2","_FA2BasedRepulsionSolver","_FA2BasedRepulsionSolver2","_FA2BasedCentralGravitySolver","_FA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestep","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","updateInterval","onlyDynamicEdges","timestep","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","runDoubleSpeed","amountOfIterations","calculateForces","moveNodes","revert","_evaluateStepQuality","nodeIds","positions","vx","vy","reference","maxNodeVelocity","averageNodeVelocity","nodeVelocity","_performStep","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","forceSize","arrowSize","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","_i2","totalFx","totalFy","_i3","correctionFx","correctionFy","_i4","_nodeId3","CentralGravitySolver","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","degree","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_NetworkUtil","_NetworkUtil2","_Cluster","_Cluster2","ClusterEngine","clusteredNodes","clusteredEdges","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","cloneOptions","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","gatheringSuccessful","childNodeId","_getConnectedId","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","childNodeIDs","childNode","childEdge","clusterEdgeProperties","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","edgeReplacedById","_backupEdgeOptions","allowSingleNodeCluster","processProperties","childNodesOptions","childEdgesOptions","_clonedOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","originalOptions","clusterNodeId","releaseFunction","clusterPosition","newPositions","_containedNode","_nodeId4","_containedNode2","_nodeId5","_containedNode3","edgesToBeDeleted","otherCluster","transferEdge","replacedEdge","_restoreEdge","nodesArray","reverse","clusteredNodeId","startEdgeId","allEdgeIds","getClusteredEdges","clusteredEdgeId","baseEdgeId","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node3","Cluster","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","cameraState","canvasViewCenter","hammerFrame","_cleanUp","previousWidth","previousHeight","widthRatio","heightRatio","newScale","currentViewCenter","distanceFromCenter","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","previousRatio","_getCameraState","_setCameraState","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","yDistance","xZoomLevel","yZoomLevel","findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","_NavigationHandler","_NavigationHandler2","InteractionHandler","navigationHandler","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanged","edgesChanged","nodeSelected","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","overlappingEdges","popupTargetType","popupTargetId","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","mindist","overlappingEdge","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","idArray","RangeError","LayoutEngine","initialRandomSeed","setPhysics","optionsBackup","improvedLayout","hierarchical","levelSeparation","nodeSpacing","treeSpacing","blockShifting","edgeMinimization","parentCentralization","sortMethod","setupHierarchicalLayout","layoutNetwork","prevHierarchicalState","adaptAllOptionsForHierarchicalLayout","startLength","before","clusterBridges","_declusterAll","info","kamadaKawai","_shiftToCenter","getRangeCore","clustersPresent","definedLevel","undefinedLevel","hierarchicalLevels","lastNodeOnLevel","hierarchicalChildrenReference","hierarchicalParentReference","hierarchicalTrees","treeIndex","distributionOrdering","distributionIndex","distributionOrderingPresence","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","stillShifting","branches","shiftTree","_getPositionForHierarchy","_setPositionForHierarchy","getTreeSize","getTreeSizes","treeWidths","getBranchNodes","getBranchBoundary","branchMap","maxLevel","minSpace","maxSpace","branchNode","_getSpaceAroundNode2","_getSpaceAroundNode","_getSpaceAroundNode3","minSpaceNode","maxSpaceNode","getMaxLevel","accumulator","_getMaxLevel","getCollisionLevel","maxLevel1","maxLevel2","hasSameParent","parents1","parents2","shiftElementsCloser","levels","centerParents","levelNodes","branchShiftCallback","centerParent","branchNodes1","branchNodes2","_getBranchBoundary","_getBranchBoundary2","max1","_getBranchBoundary3","_getBranchBoundary4","min2","minSpace2","_shiftBlock","_centerParent","minimizeEdgeLength","allEdges","nodeLevel","C2","referenceNodes","aboveEdges","otherNode","getFx","getDFx","getGuess","guess","guessMap","dfx","branchNodes","_getBranchBoundary5","_getBranchBoundary6","minSpaceBranch","maxSpaceBranch","branchOffset","_getSpaceAroundNode4","_getSpaceAroundNode5","newPosition","treeSizes","shiftBy","useMap","prevNode","nextNode","nextPos","parents","parentId","minPos","maxPos","_i5","_getSpaceAroundNode6","_getSpaceAroundNode7","positionedNodes","nodeArray","_indexArrayToNodes","_sortNodeArray","handledNodeCount","_validataPositionAndContinue","parentLevel","_i6","childNodeLevel","_i7","previousPos","sharedParent","_findCommonParent","withChild","_placeBranchNodes","hubSize","levelDownstream","nodeA","nodeB","_crawlNetwork","levelByDirection","_setMinLevelToZero","minLevel","_this6","fillInRelations","_this7","startingNodeId","crawler","tree","_this8","shifter","childA","childB","_this9","iterateParents","findParent","foundParent","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","editWithoutDrag","edgeBeingEditedId","_performEditEdge","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","deleteBtnClass","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","fromSelect","toSelect","overlappingNodeIds","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","eeFunct","maximum","minimum","_FloydWarshall","_FloydWarshall2","KamadaKawai","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","maxIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode3","_moveNode","_getEnergy2","_getEnergy","_getEnergy3","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy4","_getEnergy5","x_m","y_m","iIdx","x_i","y_i","denominator","K_matrix","L_matrix","d2E_dx2","d2E_dxdy","d2E_dy2","FloydWarshall","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","ox","oy","xe","ye","xm","ym","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","xc","yc","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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","file":"vis"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 3486c348..1964beac 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 4.19.0 - * @date 2017-03-18 + * @version 4.19.1 + * @date 2017-03-19 * * @license * Copyright (C) 2011-2017 Almende B.V, http://almende.com @@ -22,25 +22,25 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){var o=i(1);o.extend(e,i(87)),o.extend(e,i(116)),o.extend(e,i(158))},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}var n=i(2),s=o(n),r=i(55),a=o(r),h=i(58),d=o(h),l=i(62),u=o(l),c=i(82),p=i(86);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){if(f.exec(t))return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return p.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,u.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,o){return e+e+i+i+o+o});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null},e.overrideOpacity=function(t,i){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t;return{h:60*((t==o?3:i==o?1:5)-s/(n-o))/360,s:(n-o)/n,v:n}};var m={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=m.split(t.style.cssText),n=m.split(i),s=e.extend(o,n);t.style.cssText=m.join(s)},e.removeCssText=function(t,e){var i=m.split(t.style.cssText),o=m.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=m.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},e.isValidRGB=function(t){return t=t.replace(" ",""),/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t)},e.isValidRGBA=function(t){return t=t.replace(" ",""),/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t)},e.selectiveBridgeObject=function(t,i){if("object"==(void 0===i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=0,s=0,r=t.length-1;s<=r&&n<1e4;){var a=Math.floor((s+r)/2),h=t[a],d=void 0===o?h[i]:h[i][o],l=e(d);if(0==l)return a;l==-1?s=a+1:r=a-1,n++}return-1},e.binarySearchValue=function(t,e,i,o,n){for(var s,r,a,h,d=0,l=0,u=t.length-1,n=void 0!=n?n:function(t,e){return t==e?0:t0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?l=h+1:u=h-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),c=i(47)("iterator"),p=!([].keys&&"next"in[].keys()),f=function(){return this};t.exports=function(t,e,i,m,v,g,y){d(i,e,m);var b,_,w,x=function(t){if(!p&&t in D)return D[t];switch(t){case"keys":return function(){return new i(this,t)};case"values":return function(){return new i(this,t)}}return function(){return new i(this,t)}},k=e+" Iterator",O="values"==v,S=!1,D=t.prototype,M=D[c]||D["@@iterator"]||v&&D[v],C=M||x(v),T=v?O?x("entries"):C:void 0,E="Array"==e?D.entries||M:M;if(E&&(w=u(E.call(new t)))!==Object.prototype&&(l(w,k,!0),o||a(w,c)||r(w,c,f)),O&&M&&"values"!==M.name&&(S=!0,C=function(){return M.call(this)}),o&&!y||!p&&!S&&D[c]||r(D,c,C),h[e]=C,h[k]=f,v)if(b={values:O?C:x("values"),keys:g?C:x("keys"),entries:T},y)for(_ in b)_ in D||s(D,_,b[_]);else n(n.P+n.F*(p||S),e,b);return b}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a=function(t,e,i){var h,d,l,u=t&a.F,c=t&a.G,p=t&a.S,f=t&a.P,m=t&a.B,v=t&a.W,g=c?n:n[e]||(n[e]={}),y=g.prototype,b=c?o:p?o[e]:(o[e]||{}).prototype;c&&(i=e);for(h in i)(d=!u&&b&&void 0!==b[h])&&h in g||(l=d?b[h]:i[h],g[h]=c&&"function"!=typeof b[h]?i[h]:m&&d?s(l,o):v&&b[h]==l?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):f&&"function"==typeof l?s(Function.call,l):l,f&&((g.virtual||(g.virtual={}))[h]=l,t&a.R&&y&&!y[h]&&r(y,h,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h=function(){var t,e=i(27)("iframe"),o=s.length;for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(""),t.close(),h=t.F;o--;)delete h.prototype[s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a.prototype=o(t),i=new a,a.prototype=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if((a=h[l++])!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n=o["__core-js_shared__"]||(o["__core-js_shared__"]={});t.exports=function(t){return n[t]||(n[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s;(t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))}).store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):r-56320+(s-55296<<10)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return void 0===t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":void 0===t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),c=i(43),p=i(47),f=i(65),m=i(70),v=i(71),g=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),k=i(33),O=i(76),S=i(78),D=i(21),M=i(35),C=S.f,T=D.f,E=O.f,P=o.Symbol,I=o.JSON,N=I&&I.stringify,R=p("_hidden"),z=p("toPrimitive"),A={}.propertyIsEnumerable,L=l("symbol-registry"),B=l("symbols"),F=l("op-symbols"),j=Object.prototype,H="function"==typeof P,W=o.QObject,Y=!W||!W.prototype||!W.prototype.findChild,G=s&&d(function(){return 7!=k(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=C(j,e);o&&delete j[e],T(t,e,i),o&&t!==j&&T(j,e,o)}:T,V=function(t){var e=B[t]=k(P.prototype);return e._k=t,e},U=H&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},q=function(t,e,i){return t===j&&q(F,e,i),b(t),e=w(e,!0),b(i),n(B,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=k(i,{enumerable:x(0,!1)})):(n(t,R)||T(t,R,x(1,{})),t[R][e]=!0),G(t,e,i)):T(t,e,i)},X=function(t,e){b(t);for(var i,o=g(e=_(e)),n=0,s=o.length;s>n;)q(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?k(t):X(k(t),e)},K=function(t){var e=A.call(this,t=w(t,!0));return!(this===j&&n(B,t)&&!n(F,t))&&(!(e||!n(this,t)||!n(B,t)||n(this,R)&&this[R][t])||e)},Q=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(B,e)||n(F,e)){var i=C(t,e);return!i||!n(B,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},J=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(B,e=i[s++])||e==R||e==h||o.push(e);return o},$=function(t){for(var e,i=t===j,o=E(i?F:_(t)),s=[],r=0;o.length>r;)!n(B,e=o[r++])||i&&!n(j,e)||s.push(B[e]);return s};H||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(F,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),G(this,t,x(1,i))};return s&&Y&&G(j,t,{configurable:!0,set:e}),V(t)},a(P.prototype,"toString",function(){return this._k}),S.f=Q,D.f=q,i(77).f=O.f=J,i(74).f=K,i(73).f=$,s&&!i(14)&&a(j,"propertyIsEnumerable",K,!0),f.f=function(t){return V(p(t))}),r(r.G+r.W+r.F*!H,{Symbol:P});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)p(tt[et++]);for(var tt=M(p.store),et=0;tt.length>et;)m(tt[et++]);r(r.S+r.F*!H,"Symbol",{for:function(t){return n(L,t+="")?L[t]:L[t]=P(t)},keyFor:function(t){if(U(t))return v(L,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){Y=!0},useSimple:function(){Y=!1}}),r(r.S+r.F*!H,"Object",{create:Z,defineProperty:q,defineProperties:X,getOwnPropertyDescriptor:Q,getOwnPropertyNames:J,getOwnPropertySymbols:$}),I&&r(r.S+r.F*(!H||d(function(){var t=P();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!U(e))return e}),o[1]=e,N.apply(I,o)}}}),P.prototype[z]||i(20)(P.prototype,z,P.prototype.valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},p=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:p}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(83)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(0,function(){function e(){return mo.apply(null,arguments)}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function n(t){var e;for(e in t)return!1;return!0}function s(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function r(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function a(t,e){var i,o=[];for(i=0;i0)for(i in yo)o=yo[i],n=e[o],m(n)||(t[o]=n);return t}function g(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),bo===!1&&(bo=!0,e.updateOffset(this),bo=!1)}function y(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function b(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function _(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=b(e)),i}function w(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function z(t,e){var i=t.toLowerCase();Mo[i]=Mo[i+"s"]=Mo[e]=t}function A(t){return"string"==typeof t?Mo[t]||Mo[t.toLowerCase()]:void 0}function L(t){var e,i,o={};for(i in t)h(t,i)&&(e=A(i))&&(o[e]=t[i]);return o}function B(t,e){Co[t]=e}function F(t){var e=[];for(var i in t)e.push({unit:i,priority:Co[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,i){return function(o){return null!=o?(W(this,t,o),e.updateOffset(this,i),this):H(this,t)}}function H(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function W(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function Y(t){return t=A(t),S(this[t])?this[t]():this}function G(t,e){if("object"==typeof t){t=L(t);for(var i=F(t),o=0;o=0?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function U(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Io[t]=n),e&&(Io[e[0]]=function(){return V(n.apply(this,arguments),e[1],e[2])}),i&&(Io[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function q(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function X(t){var e,i,o=t.match(To);for(e=0,i=o.length;e=0&&Eo.test(t);)t=t.replace(Eo,i),Eo.lastIndex=0,o-=1;return t}function Q(t,e,i){Lo[t]=S(e)?e:function(t,o){return t&&i?i:e}}function J(t,e){return h(Lo,t)?Lo[t](e._strict,e._locale):new RegExp($(t))}function $(t){return tt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function tt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function et(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),s(e)&&(o=function(t,i){i[e]=_(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function bt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function _t(t,e,i){var o=7+e-i;return-((7+bt(t,0,o).getUTCDay()-e)%7)+o-1}function wt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=_t(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=mt(s)+d):d>mt(t)?(s=t+1,r=d-mt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function xt(t,e,i){var o,n,s=_t(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+kt(n,e,i)):r>kt(t.year(),e,i)?(o=r-kt(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function kt(t,e,i){var o=_t(t,e,i),n=_t(t+1,e,i);return(mt(t)-o+n)/7}function Ot(t){return xt(t,this._week.dow,this._week.doy).week}function St(){return this._week.dow}function Dt(){return this._week.doy}function Mt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ct(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Et(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Pt(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function It(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Nt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=l([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=Xo.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=Xo.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=Xo.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=Xo.call(this._weekdaysParse,r))!==-1?n:(n=Xo.call(this._shortWeekdaysParse,r))!==-1?n:(n=Xo.call(this._minWeekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=Xo.call(this._shortWeekdaysParse,r))!==-1?n:(n=Xo.call(this._weekdaysParse,r))!==-1?n:(n=Xo.call(this._minWeekdaysParse,r),n!==-1?n:null):(n=Xo.call(this._minWeekdaysParse,r))!==-1?n:(n=Xo.call(this._weekdaysParse,r))!==-1?n:(n=Xo.call(this._shortWeekdaysParse,r),n!==-1?n:null)}function zt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=l([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function At(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function Lt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Bt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Et(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ft(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=rn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=an),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ht(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=hn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Wt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=l([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=tt(a[e]),h[e]=tt(h[e]),d[e]=tt(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Yt(){return this.hours()%12||12}function Gt(){return this.hours()||24}function Vt(t,e){U(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Ut(t,e){return e._meridiemParse}function qt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Xt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Kt(t){for(var e,i,o,n,s=0;s0;){if(o=Qt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&w(n,i,!0)>=e-1)break;e--}s++}return null}function Qt(e){var i=null;if(!cn[e]&&void 0!==t&&t&&t.exports)try{i=dn._abbr,function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Jt(i)}catch(t){}return cn[e]}function Jt(t,e){var i;return t&&(i=m(e)?ee(t):$t(t,e))&&(dn=i),dn._abbr}function $t(t,e){if(null!==e){var i=un;if(e.abbr=t,null!=cn[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=cn[t]._config;else if(null!=e.parentLocale){if(null==cn[e.parentLocale])return pn[e.parentLocale]||(pn[e.parentLocale]=[]),pn[e.parentLocale].push({name:t,config:e}),null;i=cn[e.parentLocale]._config}return cn[t]=new C(M(i,e)),pn[t]&&pn[t].forEach(function(t){$t(t.name,t.config)}),Jt(t),cn[t]}return delete cn[t],null}function te(t,e){if(null!=e){var i,o=un;null!=cn[t]&&(o=cn[t]._config),e=M(o,e),i=new C(e),i.parentLocale=cn[t],cn[t]=i,Jt(t)}else null!=cn[t]&&(null!=cn[t].parentLocale?cn[t]=cn[t].parentLocale:null!=cn[t]&&delete cn[t]);return cn[t]}function ee(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return dn;if(!i(t)){if(e=Qt(t))return e;t=[t]}return Kt(t)}function ie(){return ko(cn)}function oe(t){var e,i=t._a;return i&&c(t).overflow===-2&&(e=i[jo]<0||i[jo]>11?jo:i[Ho]<1||i[Ho]>nt(i[Fo],i[jo])?Ho:i[Wo]<0||i[Wo]>24||24===i[Wo]&&(0!==i[Yo]||0!==i[Go]||0!==i[Vo])?Wo:i[Yo]<0||i[Yo]>59?Yo:i[Go]<0||i[Go]>59?Go:i[Vo]<0||i[Vo]>999?Vo:-1,c(t)._overflowDayOfYear&&(eHo)&&(e=Ho),c(t)._overflowWeeks&&e===-1&&(e=Uo),c(t)._overflowWeekday&&e===-1&&(e=qo),c(t).overflow=e),t}function ne(t){var e,i,o,n,s,r,a=t._i,h=fn.exec(a)||mn.exec(a);if(h){for(c(t).iso=!0,e=0,i=gn.length;emt(n)&&(c(t)._overflowDayOfYear=!0),i=bt(n,0,t._dayOfYear),t._a[jo]=i.getUTCMonth(),t._a[Ho]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Wo]&&0===t._a[Yo]&&0===t._a[Go]&&0===t._a[Vo]&&(t._nextDay=!0,t._a[Wo]=0),t._d=(t._useUTC?bt:yt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Wo]=24)}}function de(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=re(e.GG,t._a[Fo],xt(ye(),1,4).year),o=re(e.W,1),((n=re(e.E,1))<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=xt(ye(),s,r);i=re(e.gg,t._a[Fo],d.year),o=re(e.w,d.week),null!=e.d?((n=e.d)<0||n>6)&&(h=!0):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>kt(i,s,r)?c(t)._overflowWeeks=!0:null!=h?c(t)._overflowWeekday=!0:(a=wt(i,o,n,s,r),t._a[Fo]=a.year,t._dayOfYear=a.dayOfYear)}function le(t){if(t._f===e.ISO_8601)return void ne(t);t._a=[],c(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=K(t._f,t._locale).match(To)||[],i=0;i0&&c(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Io[s]?(o?c(t).empty=!1:c(t).unusedTokens.push(s),ot(s,o,t)):t._strict&&!o&&c(t).unusedTokens.push(s);c(t).charsLeftOver=h-d,a.length>0&&c(t).unusedInput.push(a),t._a[Wo]<=12&&c(t).bigHour===!0&&t._a[Wo]>0&&(c(t).bigHour=void 0),c(t).parsedDateParts=t._a.slice(0),c(t).meridiem=t._meridiem,t._a[Wo]=ue(t._locale,t._a[Wo],t._meridiem),he(t),oe(t)}function ue(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function ce(t){var e,i,o,n,s;if(0===t._f.length)return c(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ae(){if(!m(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=me(t),t._a){var e=t._isUTC?l(t._a):ye(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Le(){return!!this.isValid()&&!this._isUTC}function Be(){return!!this.isValid()&&this._isUTC}function Fe(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function je(t,e){var i,o,n,r=t,a=null;return ke(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:s(t)?(r={},e?r[e]=t:r.milliseconds=t):(a=On.exec(t))?(i="-"===a[1]?-1:1,r={y:0,d:_(a[Ho])*i,h:_(a[Wo])*i,m:_(a[Yo])*i,s:_(a[Go])*i,ms:_(Oe(1e3*a[Vo]))*i}):(a=Sn.exec(t))?(i="-"===a[1]?-1:1,r={y:He(a[2],i),M:He(a[3],i),w:He(a[4],i),d:He(a[5],i),h:He(a[6],i),m:He(a[7],i),s:He(a[8],i)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(n=Ye(ye(r.from),ye(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),o=new xe(r),ke(t)&&h(t,"_locale")&&(o._locale=t._locale),o}function He(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function We(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Ye(t,e){var i;return t.isValid()&&e.isValid()?(e=Me(e,t),t.isBefore(e)?i=We(t,e):(i=We(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ge(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(O(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=je(i,o),Ve(this,n,t),this}}function Ve(t,i,o,n){var s=i._milliseconds,r=Oe(i._days),a=Oe(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&W(t,"Date",H(t,"Date")+r*o),a&&dt(t,H(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function Ue(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function qe(t,i){var o=t||ye(),n=Me(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,ye(o)))}function Xe(){return new g(this)}function Ze(t,e){var i=y(t)?t:ye(t);return!(!this.isValid()||!i.isValid())&&(e=A(m(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Pi.call(this,t,e,i,o,n))}function Pi(t,e,i,o,n){var s=wt(t,e,i,o,n),r=bt(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ii(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ni(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Ri(t,e){e[Vo]=_(1e3*("0."+t))}function zi(){return this._isUTC?"UTC":""}function Ai(){return this._isUTC?"Coordinated Universal Time":""}function Li(t){return ye(1e3*t)}function Bi(){return ye.apply(null,arguments).parseZone()}function Fi(t){return t}function ji(t,e,i,o){var n=ee(),s=l().set(o,e);return n[i](s,t)}function Hi(t,e,i){if(s(t)&&(e=t,t=void 0),t=t||"",null!=e)return ji(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=ji(t,o,i,"month");return n}function Wi(t,e,i,o){"boolean"==typeof t?(s(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,s(e)&&(i=e,e=void 0),e=e||"");var n=ee(),r=t?n._week.dow:0;if(null!=i)return ji(e,(i+r)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=ji(e,(a+r)%7,o,"day");return h}function Yi(t,e){return Hi(t,e,"months")}function Gi(t,e){return Hi(t,e,"monthsShort")}function Vi(t,e,i){return Wi(t,e,i,"weekdays")}function Ui(t,e,i){return Wi(t,e,i,"weekdaysShort")}function qi(t,e,i){return Wi(t,e,i,"weekdaysMin")}function Xi(){var t=this._data;return this._milliseconds=An(this._milliseconds),this._days=An(this._days),this._months=An(this._months),t.milliseconds=An(t.milliseconds),t.seconds=An(t.seconds),t.minutes=An(t.minutes),t.hours=An(t.hours),t.months=An(t.months),t.years=An(t.years),this}function Zi(t,e,i,o){var n=je(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Ki(t,e){return Zi(this,t,e,1)}function Qi(t,e){return Zi(this,t,e,-1)}function Ji(t){return t<0?Math.floor(t):Math.ceil(t)}function $i(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*Ji(eo(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=b(s/1e3),h.seconds=t%60,e=b(t/60),h.minutes=e%60,i=b(e/60),h.hours=i%24,r+=b(i/24),n=b(to(r)),a+=n,r-=Ji(eo(n)),o=b(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function to(t){return 4800*t/146097}function eo(t){return 146097*t/4800}function io(t){var e,i,o=this._milliseconds;if("month"===(t=A(t))||"year"===t)return e=this._days+o/864e5,i=this._months+to(e),"month"===t?i:i/12;switch(e=this._days+Math.round(eo(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function oo(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12)}function no(t){return function(){ -return this.as(t)}}function so(t){return t=A(t),this[t+"s"]()}function ro(t){return function(){return this._data[t]}}function ao(){return b(this.days()/7)}function ho(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function lo(t,e,i){var o=je(t).abs(),n=Jn(o.as("s")),s=Jn(o.as("m")),r=Jn(o.as("h")),a=Jn(o.as("d")),h=Jn(o.as("M")),d=Jn(o.as("y")),l=n<$n.s&&["s",n]||s<=1&&["m"]||s<$n.m&&["mm",s]||r<=1&&["h"]||r<$n.h&&["hh",r]||a<=1&&["d"]||a<$n.d&&["dd",a]||h<=1&&["M"]||h<$n.M&&["MM",h]||d<=1&&["y"]||["yy",d];return l[2]=e,l[3]=+t>0,l[4]=i,ho.apply(null,l)}function uo(t){return void 0===t?Jn:"function"==typeof t&&(Jn=t,!0)}function co(t,e){return void 0!==$n[t]&&(void 0===e?$n[t]:($n[t]=e,!0))}function po(t){var e=this.localeData(),i=lo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function fo(){var t,e,i,o=ts(this._milliseconds)/1e3,n=ts(this._days),s=ts(this._months);t=b(o/60),e=b(t/60),o%=60,t%=60,i=b(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var mo,vo;vo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var tn=j("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),B("week",5),B("isoWeek",5),Q("w",/\d\d?/),Q("ww",/\d\d?/,/\d\d/),Q("W",/\d\d?/),Q("WW",/\d\d?/,/\d\d/),it(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=_(t)});var en={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),U("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),U("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),B("day",11),B("weekday",11),B("isoWeekday",11),Q("d",/\d\d?/),Q("e",/\d\d?/),Q("E",/\d\d?/),Q("dd",function(t,e){return e.weekdaysMinRegex(t)}),Q("ddd",function(t,e){return e.weekdaysShortRegex(t)}),Q("dddd",function(t,e){return e.weekdaysRegex(t)}),it(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:c(i).invalidWeekday=t}),it(["d","e","E"],function(t,e,i,o){e[o]=_(t)});var on="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),nn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),sn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),rn=Ao,an=Ao,hn=Ao;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Yt),U("k",["kk",2],0,Gt),U("hmm",0,0,function(){return""+Yt.apply(this)+V(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Yt.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)}),Vt("a",!0),Vt("A",!1),z("hour","h"),B("hour",13),Q("a",Ut),Q("A",Ut),Q("H",/\d\d?/),Q("h",/\d\d?/),Q("HH",/\d\d?/,/\d\d/),Q("hh",/\d\d?/,/\d\d/),Q("hmm",/\d\d\d\d?/),Q("hmmss",/\d\d\d\d\d\d?/),Q("Hmm",/\d\d\d\d?/),Q("Hmmss",/\d\d\d\d\d\d?/),et(["H","HH"],Wo),et(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),et(["h","hh"],function(t,e,i){e[Wo]=_(t),c(i).bigHour=!0}),et("hmm",function(t,e,i){var o=t.length-2;e[Wo]=_(t.substr(0,o)),e[Yo]=_(t.substr(o)),c(i).bigHour=!0}),et("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Wo]=_(t.substr(0,o)),e[Yo]=_(t.substr(o,2)),e[Go]=_(t.substr(n)),c(i).bigHour=!0}),et("Hmm",function(t,e,i){var o=t.length-2;e[Wo]=_(t.substr(0,o)),e[Yo]=_(t.substr(o))}),et("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Wo]=_(t.substr(0,o)),e[Yo]=_(t.substr(o,2)),e[Go]=_(t.substr(n))});var dn,ln=j("Hours",!0),un={calendar:Oo,longDateFormat:So,invalidDate:"Invalid date",ordinal:"%d",ordinalParse:/\d{1,2}/,relativeTime:Do,months:Ko,monthsShort:Qo,week:en,weekdays:on,weekdaysMin:sn,weekdaysShort:nn,meridiemParse:/[ap]\.?m?\.?/i},cn={},pn={},fn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,vn=/Z|[+-]\d\d(?::?\d\d)?/,gn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],yn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],bn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=k("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var _n=k("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=ye.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:f()}),xn=function(){return Date.now?Date.now():+new Date};Se("Z",":"),Se("ZZ",""),Q("Z",zo),Q("ZZ",zo),et(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=De(zo,t)});var kn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var On=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Sn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;je.fn=xe.prototype;var Dn=Ge(1,"add"),Mn=Ge(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Cn=k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Si("gggg","weekYear"),Si("ggggg","weekYear"),Si("GGGG","isoWeekYear"),Si("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),B("weekYear",1),B("isoWeekYear",1),Q("G",/[+-]?\d+/),Q("g",/[+-]?\d+/),Q("GG",/\d\d?/,/\d\d/),Q("gg",/\d\d?/,/\d\d/),Q("GGGG",/\d{1,4}/,/\d{4}/),Q("gggg",/\d{1,4}/,/\d{4}/),Q("GGGGG",/[+-]?\d{1,6}/,No),Q("ggggg",/[+-]?\d{1,6}/,No),it(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=_(t)}),it(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),U("Q",0,"Qo","quarter"),z("quarter","Q"),B("quarter",7),Q("Q",/\d/),et("Q",function(t,e){e[jo]=3*(_(t)-1)}),U("D",["DD",2],"Do","date"),z("date","D"),B("date",9),Q("D",/\d\d?/),Q("DD",/\d\d?/,/\d\d/),Q("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),et(["D","DD"],Ho),et("Do",function(t,e){e[Ho]=_(t.match(/\d\d?/)[0],10)});var Tn=j("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),B("dayOfYear",4),Q("DDD",/\d{1,3}/),Q("DDDD",/\d{3}/),et(["DDD","DDDD"],function(t,e,i){i._dayOfYear=_(t)}),U("m",["mm",2],0,"minute"),z("minute","m"),B("minute",14),Q("m",/\d\d?/),Q("mm",/\d\d?/,/\d\d/),et(["m","mm"],Yo);var En=j("Minutes",!1);U("s",["ss",2],0,"second"),z("second","s"),B("second",15),Q("s",/\d\d?/),Q("ss",/\d\d?/,/\d\d/),et(["s","ss"],Go);var Pn=j("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),B("millisecond",16),Q("S",/\d{1,3}/,/\d/),Q("SS",/\d{1,3}/,/\d\d/),Q("SSS",/\d{1,3}/,/\d{3}/);var In;for(In="SSSS";In.length<=9;In+="S")Q(In,/\d+/);for(In="S";In.length<=9;In+="S")et(In,Ri);var Nn=j("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var Rn=g.prototype;Rn.add=Dn,Rn.calendar=qe,Rn.clone=Xe,Rn.diff=ei,Rn.endOf=fi,Rn.format=ri,Rn.from=ai,Rn.fromNow=hi,Rn.to=di,Rn.toNow=li,Rn.get=Y,Rn.invalidAt=ki,Rn.isAfter=Ze,Rn.isBefore=Ke,Rn.isBetween=Qe,Rn.isSame=Je,Rn.isSameOrAfter=$e,Rn.isSameOrBefore=ti,Rn.isValid=wi,Rn.lang=Cn,Rn.locale=ui,Rn.localeData=ci,Rn.max=wn,Rn.min=_n,Rn.parsingFlags=xi,Rn.set=G,Rn.startOf=pi,Rn.subtract=Mn,Rn.toArray=yi,Rn.toObject=bi,Rn.toDate=gi,Rn.toISOString=ni,Rn.inspect=si,Rn.toJSON=_i,Rn.toString=oi,Rn.unix=vi,Rn.valueOf=mi,Rn.creationData=Oi,Rn.year=tn,Rn.isLeapYear=gt,Rn.weekYear=Di,Rn.isoWeekYear=Mi,Rn.quarter=Rn.quarters=Ii,Rn.month=lt,Rn.daysInMonth=ut,Rn.week=Rn.weeks=Mt,Rn.isoWeek=Rn.isoWeeks=Ct,Rn.weeksInYear=Ti,Rn.isoWeeksInYear=Ci,Rn.date=Tn,Rn.day=Rn.days=At,Rn.weekday=Lt,Rn.isoWeekday=Bt,Rn.dayOfYear=Ni,Rn.hour=Rn.hours=ln,Rn.minute=Rn.minutes=En,Rn.second=Rn.seconds=Pn,Rn.millisecond=Rn.milliseconds=Nn,Rn.utcOffset=Te,Rn.utc=Pe,Rn.local=Ie,Rn.parseZone=Ne,Rn.hasAlignedHourOffset=Re,Rn.isDST=ze,Rn.isLocal=Le,Rn.isUtcOffset=Be,Rn.isUtc=Fe,Rn.isUTC=Fe,Rn.zoneAbbr=zi,Rn.zoneName=Ai,Rn.dates=k("dates accessor is deprecated. Use date instead.",Tn),Rn.months=k("months accessor is deprecated. Use month instead",lt),Rn.years=k("years accessor is deprecated. Use year instead",tn),Rn.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ee),Rn.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ae);var zn=C.prototype;zn.calendar=T,zn.longDateFormat=E,zn.invalidDate=P,zn.ordinal=I,zn.preparse=Fi,zn.postformat=Fi,zn.relativeTime=N,zn.pastFuture=R,zn.set=D,zn.months=st,zn.monthsShort=rt,zn.monthsParse=ht,zn.monthsRegex=pt,zn.monthsShortRegex=ct,zn.week=Ot,zn.firstDayOfYear=Dt,zn.firstDayOfWeek=St,zn.weekdays=Pt,zn.weekdaysMin=Nt,zn.weekdaysShort=It,zn.weekdaysParse=zt,zn.weekdaysRegex=Ft,zn.weekdaysShortRegex=jt,zn.weekdaysMinRegex=Ht,zn.isPM=qt,zn.meridiem=Xt,Jt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=k("moment.lang is deprecated. Use moment.locale instead.",Jt),e.langData=k("moment.langData is deprecated. Use moment.localeData instead.",ee);var An=Math.abs,Ln=no("ms"),Bn=no("s"),Fn=no("m"),jn=no("h"),Hn=no("d"),Wn=no("w"),Yn=no("M"),Gn=no("y"),Vn=ro("milliseconds"),Un=ro("seconds"),qn=ro("minutes"),Xn=ro("hours"),Zn=ro("days"),Kn=ro("months"),Qn=ro("years"),Jn=Math.round,$n={s:45,m:45,h:22,d:26,M:11},ts=Math.abs,es=xe.prototype;return es.abs=Xi,es.add=Ki,es.subtract=Qi,es.as=io,es.asMilliseconds=Ln,es.asSeconds=Bn,es.asMinutes=Fn,es.asHours=jn,es.asDays=Hn,es.asWeeks=Wn,es.asMonths=Yn,es.asYears=Gn,es.valueOf=oo,es._bubble=$i,es.get=so,es.milliseconds=Vn,es.seconds=Un,es.minutes=qn,es.hours=Xn,es.days=Zn,es.weeks=ao,es.months=Kn,es.years=Qn,es.humanize=po,es.toISOString=fo,es.toString=fo,es.toJSON=fo,es.locale=ui,es.localeData=ci,es.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",fo),es.lang=Cn,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Q("x",/[+-]?\d+/),Q("X",/[+-]?\d+(\.\d{1,3})?/),et("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),et("x",function(t,e,i){i._d=new Date(_(t))}),e.version="2.17.1",function(t){mo=t}(ye),e.fn=Rn,e.min=_e,e.max=we,e.now=xn,e.utc=l,e.unix=Li,e.months=Yi,e.isDate=r,e.locale=Jt,e.invalid=f,e.duration=je,e.isMoment=y,e.weekdays=Vi,e.parseZone=Bi,e.localeData=ee,e.isDuration=ke,e.monthsShort=Gi,e.weekdaysMin=qi,e.defineLocale=$t,e.updateLocale=te,e.locales=ie,e.weekdaysShort=Ui,e.normalizeUnits=A,e.relativeTimeRounding=uo,e.relativeTimeThreshold=co,e.calendarFormat=Ue,e.prototype=Rn,e})}).call(e,i(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=85},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;p<6;p++)s[n+p]=c[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:void 0!==e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e,i){e.util=i(1),e.DOMutil=i(88),e.DataSet=i(89),e.DataView=i(93),e.Queue=i(92),e.Graph3d=i(94),e.graph3d={Camera:i(102),Filter:i(107),Point2d:i(101),Point3d:i(100),Slider:i(108),StepNumber:i(109)},e.moment=i(82),e.Hammer=i(112),e.keycharm=i(115)},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){n<0&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(58),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(89);o.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;os)&&(o=s)}return o},o.prototype.getColumnRange=function(t,e){for(var i=new g,o=0;o0&&(h[n-1].pointNext=r),h.push(r);return h},o.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),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);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),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,i=function(t){e._onMouseDown(t)},o=function(t){e._onTouchStart(t)},n=function(t){e._onWheel(t)},s=function(t){e._onTooltip(t)},r=function(t){e._onClick(t)};u.addEventListener(this.frame.canvas,"mousedown",i),u.addEventListener(this.frame.canvas,"touchstart",o),u.addEventListener(this.frame.canvas,"mousewheel",n),u.addEventListener(this.frame.canvas,"mousemove",s),u.addEventListener(this.frame.canvas,"click",r),this.containerElement.appendChild(this.frame)},o.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},o.prototype._resizeCanvas=function(){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.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},o.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},o.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},o.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},o.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},o.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},o.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setOptions=function(t){this.animationStop(),y.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case o.STYLE.BAR:t=o.prototype._redrawBarGraphPoint;break;case o.STYLE.BARCOLOR:t=o.prototype._redrawBarColorGraphPoint;break;case o.STYLE.BARSIZE:t=o.prototype._redrawBarSizeGraphPoint;break;case o.STYLE.DOT:t=o.prototype._redrawDotGraphPoint;break;case o.STYLE.DOTLINE:t=o.prototype._redrawDotLineGraphPoint;break;case o.STYLE.DOTCOLOR:t=o.prototype._redrawDotColorGraphPoint;break;case o.STYLE.DOTSIZE:t=o.prototype._redrawDotSizeGraphPoint;break;case o.STYLE.SURFACE:t=o.prototype._redrawSurfaceGraphPoint;break;case o.STYLE.GRID:t=o.prototype._redrawGridGraphPoint;break;case o.STYLE.LINE:t=o.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},o.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},o.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},o.prototype._redrawClear=function(){var t=this.frame.canvas;t.getContext("2d").clearRect(0,0,t.width,t.height)},o.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},o.prototype._getLegendWidth=function(){var t;if(this.style===o.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===o.STYLE.BARSIZE?this.xBarWidth:20;return t},o.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==o.STYLE.LINE&&this.style!==o.STYLE.BARSIZE){var t=this.style===o.STYLE.BARSIZE||this.style===o.STYLE.DOTSIZE,e=this.style===o.STYLE.DOTSIZE||this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),n=this.margin,s=this._getLegendWidth(),r=this.frame.clientWidth-this.margin,a=r-s,h=n+i,d=this._getContext();if(d.lineWidth=1,d.font="14px arial",t===!1){var l,u=i;for(l=0;l0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelY=function(t,e,i,o,n){void 0===n&&(n=0);var s=this._convert3Dto2D(e);Math.cos(2*o)<0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelZ=function(t,e,i,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,n.x-o,n.y)},o.prototype._line3d=function(t,e,i,o){var n=this._convert3Dto2D(e),s=this._convert3Dto2D(i);this._line(t,n,s,o)},o.prototype._redrawAxis=function(){var t,e,i,o,n,s,r,a,h,d,l,u=this._getContext();u.font=24/this.camera.getArmLength()+"px arial";var f=.025/this.scale.x,m=.025/this.scale.y,g=5/this.camera.getArmLength(),y=this.camera.getArmRotation().horizontal,b=new p(Math.cos(y),Math.sin(y)),_=this.xRange,w=this.yRange,x=this.zRange;for(u.lineWidth=1,o=void 0===this.defaultXStep,i=new v(_.min,_.max,this.xStep,o),i.start(!0);!i.end();){var k=i.getCurrent();if(this.showGrid?(t=new c(k,w.min,x.min),e=new c(k,w.max,x.min),this._line3d(u,t,e,this.gridColor)):this.showXAxis&&(t=new c(k,w.min,x.min),e=new c(k,w.min+f,x.min),this._line3d(u,t,e,this.axisColor),t=new c(k,w.max,x.min),e=new c(k,w.max-f,x.min),this._line3d(u,t,e,this.axisColor)),this.showXAxis){r=b.x>0?w.min:w.max;var O=new c(k,r,x.min),S=" "+this.xValueLabel(k)+" ";this.drawAxisLabelX(u,O,S,y,g)}i.next()}for(u.lineWidth=1,o=void 0===this.defaultYStep,i=new v(w.min,w.max,this.yStep,o),i.start(!0);!i.end();){var D=i.getCurrent();if(this.showGrid?(t=new c(_.min,D,x.min),e=new c(_.max,D,x.min),this._line3d(u,t,e,this.gridColor)):this.showYAxis&&(t=new c(_.min,D,x.min),e=new c(_.min+m,D,x.min),this._line3d(u,t,e,this.axisColor),t=new c(_.max,D,x.min),e=new c(_.max-m,D,x.min),this._line3d(u,t,e,this.axisColor)),this.showYAxis){s=b.y>0?_.min:_.max,O=new c(s,D,x.min);var S=" "+this.yValueLabel(D)+" ";this.drawAxisLabelY(u,O,S,y,g)}i.next()}if(this.showZAxis){for(u.lineWidth=1,o=void 0===this.defaultZStep,i=new v(x.min,x.max,this.zStep,o),i.start(!0),s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max;!i.end();){var M=i.getCurrent(),C=new c(s,r,M),T=this._convert3Dto2D(C);e=new p(T.x-g,T.y),this._line(u,T,e,this.axisColor);var S=this.zValueLabel(M)+" ";this.drawAxisLabelZ(u,C,S,5),i.next()}u.lineWidth=1,t=new c(s,r,x.min),e=new c(s,r,x.max),this._line3d(u,t,e,this.axisColor)}if(this.showXAxis){var E,P;u.lineWidth=1,E=new c(_.min,w.min,x.min),P=new c(_.max,w.min,x.min),this._line3d(u,E,P,this.axisColor),E=new c(_.min,w.max,x.min),P=new c(_.max,w.max,x.min),this._line3d(u,E,P,this.axisColor)}this.showYAxis&&(u.lineWidth=1,t=new c(_.min,w.min,x.min),e=new c(_.min,w.max,x.min),this._line3d(u,t,e,this.axisColor),t=new c(_.max,w.min,x.min),e=new c(_.max,w.max,x.min),this._line3d(u,t,e,this.axisColor));var I=this.xLabel;I.length>0&&this.showXAxis&&(l=.1/this.scale.y,s=(_.max+3*_.min)/4,r=b.x>0?w.min-l:w.max+l,n=new c(s,r,x.min),this.drawAxisLabelX(u,n,I,y));var N=this.yLabel;N.length>0&&this.showYAxis&&(d=.1/this.scale.x,s=b.y>0?_.min-d:_.max+d,r=(w.max+3*w.min)/4,n=new c(s,r,x.min),this.drawAxisLabelY(u,n,N,y));var R=this.zLabel;R.length>0&&this.showZAxis&&(h=30,s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max,a=(x.max+3*x.min)/4,n=new c(s,r,a),this.drawAxisLabelZ(u,n,R,h))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},o.prototype._redrawBar=function(t,e,i,o,n,s){var r,a,h=this,d=e.point,l=this.zRange.min,u=[{point:new c(d.x-i,d.y-o,d.z)},{point:new c(d.x+i,d.y-o,d.z)},{point:new c(d.x+i,d.y+o,d.z)},{point:new c(d.x-i,d.y+o,d.z)}],p=[{point:new c(d.x-i,d.y-o,l)},{point:new c(d.x+i,d.y-o,l)},{point:new c(d.x+i,d.y+o,l)},{point:new c(d.x-i,d.y+o,l)}];u.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),p.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var f=[{corners:u,center:c.avg(p[0].point,p[2].point)},{corners:[u[0],u[1],p[1],p[0]],center:c.avg(p[1].point,p[0].point)},{corners:[u[1],u[2],p[2],p[1]],center:c.avg(p[2].point,p[1].point)},{corners:[u[2],u[3],p[3],p[2]],center:c.avg(p[3].point,p[2].point)},{corners:[u[3],u[0],p[0],p[3]],center:c.avg(p[0].point,p[3].point)}];for(e.surfaces=f,r=0;r0}if(a){var p,f=(e.point.z+i.point.z+o.point.z+n.point.z)/4,m=240*(1-(f-this.zRange.min)*this.scale.z/this.verticalRatio);this.showShadow?(p=Math.min(1+l.x/u/2,1),s=this._hsv2rgb(m,1,p),r=s):(p=1,s=this._hsv2rgb(m,1,p),r=this.axisColor)}else s="gray",r=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var v=[e,i,n,o];this._polygon(t,v,s,r)}},o.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var o=(e.point.z+i.point.z)/2,n=240*(1-(o-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(n,1,1),this._line(t,e.screen,i.screen)}},o.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},o.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},o.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=null,s=null,r=null,a=new p(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var h=n.surfaces;if(h)for(var d=h.length-1;d>=0;d--){var l=h[d],u=l.corners,c=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(a,c)||this._insideTriangle(a,f))return n}}else for(i=0;i"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+t.point.z+"",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,h=o.offsetWidth,d=o.offsetHeight,l=t.screen.x-n/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=l+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-h/2+"px",o.style.top=t.screen.y-d/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},o.prototype.setCameraPosition=function(t){y.setCameraPosition(t,this),this.redraw()},o.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=o},function(t,e,i){t.exports={default:i(96),__esModule:!0}},function(t,e,i){i(97),t.exports=i(17).Object.assign},function(t,e,i){var o=i(15);o(o.S+o.F,"Object",{assign:i(98)})},function(t,e,i){var o=i(35),n=i(73),s=i(74),r=i(49),a=i(10),h=Object.assign;t.exports=!h||i(26)(function(){var t={},e={},i=Symbol(),o="abcdefghijklmnopqrst";return t[i]=7,o.split("").forEach(function(t){e[t]=t}),7!=h({},t)[i]||Object.keys(h({},e)).join("")!=o})?function(t,e){for(var i=r(t),h=arguments.length,d=1,l=n.f,u=s.f;h>d;)for(var c,p=a(arguments[d++]),f=l?o(p).concat(l(p)):o(p),m=f.length,v=0;m>v;)u.call(p,c=f[v++])&&(i[c]=p[c]);return i}:h},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 o,n=0;nr&&(t=o(t)*r),i(e)>r&&(e=o(e)*r),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},o.prototype.getOffset=function(t,e){return this.cameraOffset},o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),void 0===t&&void 0===e||this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),i=this.cameraOffset.x,o=this.cameraOffset.y,n=Math.sin,s=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*s(e)+o*-n(e)*s(t),this.cameraLocation.y=this.cameraLocation.y+i*n(e)+o*s(e)*s(t),this.cameraLocation.z=this.cameraLocation.z+o*n(t)},t.exports=o},function(t,e,i){t.exports={default:i(104),__esModule:!0}},function(t,e,i){i(105),t.exports=i(17).Math.sign},function(t,e,i){var o=i(15);o(o.S,"Math",{sign:i(106)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:t0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(93);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){if(void 0!==this.index)return this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(tthis.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10;return t/(this.values.length-1)*e+3},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e){function i(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}i.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},i.prototype.setRange=function(t,e,i,o){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(i))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),s<=0&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=i},function(t,e){function i(){this.min=void 0,this.max=void 0}i.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxi)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=i}},i.prototype.range=function(){return this.max-this.min},i.prototype.center=function(){return(this.min+this.max)/2},t.exports=i},function(t,e,i){function o(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function n(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+n(e)}function r(t,e,i,o){var n,r;for(var a in i)n=i[a],r=s(o,n),e[r]=t[n]}function a(t,e,i,o){var n,r;for(var a in i)n=i[a],void 0!==t[n]&&(r=s(o,n),e[r]=t[n])}function h(t,e){if(void 0===t||o(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");M=t,r(t,e,S),r(t,e,D,"default"),l(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new x(0,0,-1)}function d(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===M||o(M))throw new Error("DEFAULTS not set for module Settings");a(t,e,S),a(t,e,D,"default"),l(t,e)}}function l(t,e){void 0!==t.backgroundColor&&m(t.backgroundColor,e),v(t.dataColor,e),f(t.style,e),u(t.showLegend,e),g(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick),void 0!==t.tooltipStyle&&_.selectiveDeepExtend(["tooltipStyle"],e,t)}function u(t,e){if(void 0===t){if(void 0===M.showLegend){var i=e.style===k.DOTCOLOR||e.style===k.DOTSIZE;e.showLegend=i}}else e.showLegend=t}function c(t){var e=O[t];return void 0===e?-1:e}function p(t){var e=!1;for(var i in k)if(k[i]===t){e=!0;break}return e}function f(t,e){if(void 0!==t){var i;if("string"==typeof t){if((i=c(t))===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!p(t))throw new Error("Style '"+t+"' is invalid");i=t}e.style=i}}function m(t,e){var i="white",o="gray",n=1;if("string"==typeof t)i=t,o="none",n=0;else{if("object"!==(void 0===t?"undefined":(0,b.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(i=t.fill),void 0!==t.stroke&&(o=t.stroke),void 0!==t.strokeWidth&&(n=t.strokeWidth)}e.frame.style.backgroundColor=i,e.frame.style.borderColor=o,e.frame.style.borderWidth=n+"px",e.frame.style.borderStyle="solid"}function v(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function g(t,e){var i=t;void 0!==i&&(void 0===e.camera&&(e.camera=new w),e.camera.setArmRotation(i.horizontal,i.vertical),e.camera.setArmLength(i.distance))}var y=i(62),b=function(t){return t&&t.__esModule?t:{default:t}}(y),_=i(1),w=i(102),x=i(100),k={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},O={dot:k.DOT,"dot-line":k.DOTLINE,"dot-color":k.DOTCOLOR,"dot-size":k.DOTSIZE,line:k.LINE,grid:k.GRID,surface:k.SURFACE,bar:k.BAR,"bar-color":k.BARCOLOR,"bar-size":k.BARSIZE},S=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],D=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],M=void 0;t.exports.STYLE=k,t.exports.setDefaults=h,t.exports.setOptions=d,t.exports.setCameraPosition=g},function(t,e,i){if("undefined"!=typeof window){var o=i(113),n=window.Hammer||i(114);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(p(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ft(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=R(o);e.timeStamp=_t(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=B(a,h),e.distance=L(a,h),P(i,e),e.offsetDirection=A(e.deltaX,e.deltaY);var d=z(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=bt(d.x)>bt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?F(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Tt&&s.eventType!==Pt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=It&&(h>Ct||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=z(h,d,l);o=u.x,n=u.y,i=bt(u.x)>bt(u.y)?u.x:u.y,s=A(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;i=bt(e)?t<0?Rt:zt:e<0?At:Lt}function L(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function B(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function F(t,e){return B(e[1],e[0],Wt)+B(t[1],t[0],Wt)}function j(t,e){return L(e[0],e[1],Wt)/L(t[0],t[1],Wt)}function H(){this.evEl=Gt,this.evWin=Vt,this.pressed=!1,M.apply(this,arguments)}function W(){this.evEl=Xt,this.evWin=Zt,M.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Qt,this.evWin=Jt,this.started=!1,M.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Pt|It)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=te,this.targetIds={},M.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Tt|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Tt)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,ee)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;o=fe&&e(i.options.event+tt(o))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return ot.prototype.attrTest.call(this,t)&&(this.state&ce||!(this.state&ce)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=et(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(st,ot,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ce)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(rt,$,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Pt|It)&&!n)this.reset();else if(t.eventType&Tt)this.reset(),this._timer=h(function(){this.state=me,this.tryEmit()},e.time,this);else if(t.eventType&Pt)return me;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===me&&(t&&t.eventType&Pt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=_t(),this.manager.emit(this.options.event,this._input)))}}),c(at,ot,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ce)}}),c(ht,ot,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Bt|Ft,pointers:1},getTouchAction:function(){return nt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Bt|Ft)?e=t.overallVelocity:i&Bt?e=t.overallVelocityX:i&Ft&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&bt(e)>this.options.velocity&&t.eventType&Pt},emit:function(t){var e=et(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(dt,$,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=!e||void 0===e.animation||e.animation;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=!t||void 0===t.animation||t.animation,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,n=null;if(null!=e&&null!=i){var s=function(t){return l.convert(t.data.start,"Date").valueOf()},r=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()},a=i-e;a<=0&&(a=10);var h=a/this.props.center.width;if(l.forEach(this.itemSet.items,function(t){t.groupShowing&&(t.show(),t.repositionX());var a=s(t),d=r(t);if(this.options.rtl)var l=a-(t.getWidthRight()+10)*h,u=d+(t.getWidthLeft()+10)*h;else var l=a-(t.getWidthLeft()+10)*h,u=d+(t.getWidthRight()+10)*h;li&&(i=u,n=t)}.bind(this)),o&&n){var d=o.getWidthLeft()+10,u=n.getWidthRight()+10,c=this.props.center.width-d-u;c>0&&(this.options.rtl?(e=s(o)-u*a/c,i=r(n)+d*a/c):(e=s(o)-d*a/c,i=r(n)+u*a/c))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=g.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),c=this._toTime(o),p=h?h(c,d,u):c,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:c,snappedTime:p}},n.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(90),s=o(n),r=i(62),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(124),p=o(c),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new p.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===(void 0===t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(this.options.showButton===!0){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,o.innerHTML=i===!0?""+t+":":t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(1.2*e),d=a.max,h="range increased"),a.value=e}else a.value=o;var l=document.createElement("input");l.className="vis-configuration vis-config-rangeinput",l.value=a.value;var u=this;a.onchange=function(){l.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){l.value=this.value};var c=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,c,a,l);""!==h&&this.popupHistory[p]!==d&&(this.popupHistory[p]=d,this._setupPopup(h,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e))===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),c=this._getValue(u);if(c===!0){var p=this._makeLabel(r,h,!0);this._makeItem(h,p),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,c,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9", -navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this;(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])===!0&&(this.initialColor=c.extend({},t)),this.color=t;var e=c.RGBToHSV(t.r,t.g,t.b),i=2*Math.PI,o=this.r*e.s,n=this.centerCoordinates.x+o*Math.sin(i*e.h),s=this.centerCoordinates.y+o*Math.cos(i*e.h);this.colorPickerSelector.style.left=n-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=s-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/this.r,d=void 0;for(s=0;s<360;s++)for(r=0;rs.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),g):n.distance<=8?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),g):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),g),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,d=c.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?c.convert(t,"Date").valueOf():null,r=void 0!=e?c.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,p=this.end,f="object"===(void 0===i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,v="object"===(void 0===i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",g=c.easingFunctions[v];if(!g)throw new Error("Unknown easing function "+(0,d.default)(v)+". Choose from: "+(0,a.default)(c.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1;return function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=g(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,c=d||null===r?r:p+(r-p)*a;_=h._applyRange(u,c),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||_;var v={start:new Date(h.start),end:new Date(h.end),byUser:o,event:n};_&&h.body.emitter.emit("rangechange",v),d?b&&h.body.emitter.emit("rangechanged",v):h.animationTimer=setTimeout(t,20)}}()}var _=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),_){var w={start:new Date(this.start),end:new Date(this.end),byUser:o,event:n};this.body.emitter.emit("rangechange",w),this.body.emitter.emit("rangechanged",w)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?c.convert(t,"Date").valueOf():this.start,n=null!=e?c.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?c.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?c.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-.5&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var h=parseFloat(this.options.zoomMax);h<0&&(h=0),n-o>h&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start;o-=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var n="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var r=i/n*o;else var r=-i/n*o;var a=this.props.touch.start+r,h=this.props.touch.end+r,d=m.snapAwayFromHidden(this.body.hiddenDates,a,this.previousDelta-i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0);if(d!=a||l!=h)return this.deltaDifference+=i,this.props.touch.start=d,this.props.touch.end=l,void this._onDrag(t);this.previousDelta=i,this._applyRange(a,h);var u=new Date(this.start),c=new Date(this.end);this.body.emitter.emit("rangechange",{start:u,end:c,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-c.getAbsoluteLeft(this.body.dom.centerContainer);else var i=c.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:c.getAbsoluteRight(e)-t.x,y:t.y-c.getAbsoluteTop(e)}:{x:t.x-c.getAbsoluteLeft(e),y:t.y-c.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},n.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,null)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=o},function(t,e){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var c=0,p=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;d=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a);return new Date(h+a+t.range.start)},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?o<0?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&t-1||a))return t.dataTransfer.dropEffect="move",a=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{if(!JSON.parse(t.dataTransfer.getData("text")).content)return}catch(t){return!1}return a=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.rollingModeBtn=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.rollingModeBtn.className="vis-rolling-mode-btn",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=c.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={},["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var a=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(c.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new p(this.body);i.setOptions=function(t){var e=t?c.extend({},t):{};e.orientation="top",p.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=c.deepExtend({},this.options);this.components.forEach(function(t){c.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},n.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?c.convert(t,"Date").valueOf():new Date;if(this.customTimes.some(function(t){return t.options.id===e}))throw new Error("A custom time with id "+(0,r.default)(e)+" already exists");var o=new v(this.body,c.extend({},this.options,{time:i,id:e}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e},n.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=!t||void 0===t.animation||t.animation;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=c.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=s/(1+t),a=(s-r)/2,h=o+a,d=n-a;this.setWindow(h,d,e)}},n.prototype.zoomOut=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=o-s*t/2,a=n+s*t/2;this.setWindow(r,a,e)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(c.addClassName(o.root,"vis-top"),c.removeClassName(o.root,"vis-bottom")):(c.removeClassName(o.root,"vis-top"),c.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=c.option.asSize(e.maxHeight,""),o.root.style.minHeight=c.option.asSize(e.minHeight,""),o.root.style.width=c.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=o.root.offsetWidth-o.root.clientWidth,0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(i.borderRootWidth=i.borderRootHeight),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=c.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=c.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});if(t){if(this.redrawCount<5)return void this.body.emitter.emit("_change");console.log("WARNING: infinite loop in redraw?")}else this.redrawCount=0;this.initialDrawDone=!0,this.body.emitter.emit("changed")}},n.prototype._setDOM=function(){var t=this.props,e=this.dom;t.leftContainer.width=t.left.width,t.rightContainer.width=t.right.width;var i=t.root.width-t.left.width-t.right.width-t.borderRootWidth;t.center.width=i,t.centerContainer.width=i,t.top.width=i,t.bottom.width=i,e.background.style.height=t.background.height+"px",e.backgroundVertical.style.height=t.background.height+"px",e.backgroundHorizontal.style.height=t.centerContainer.height+"px",e.centerContainer.style.height=t.centerContainer.height+"px",e.leftContainer.style.height=t.leftContainer.height+"px",e.rightContainer.style.height=t.rightContainer.height+"px",e.background.style.width=t.background.width+"px",e.backgroundVertical.style.width=t.centerContainer.width+"px",e.backgroundHorizontal.style.width=t.background.width+"px",e.centerContainer.style.width=t.center.width+"px",e.top.style.width=t.top.width+"px",e.bottom.style.width=t.bottom.width+"px",e.background.style.left="0",e.background.style.top="0",e.backgroundVertical.style.left=t.left.width+t.border.left+"px",e.backgroundVertical.style.top="0",e.backgroundHorizontal.style.left="0",e.backgroundHorizontal.style.top=t.top.height+"px",e.centerContainer.style.left=t.left.width+"px",e.centerContainer.style.top=t.top.height+"px",e.leftContainer.style.left="0",e.leftContainer.style.top=t.top.height+"px",e.rightContainer.style.left=t.left.width+t.center.width+"px",e.rightContainer.style.top=t.top.height+"px",e.top.style.left=t.left.width+"px",e.top.style.top="0",e.bottom.style.left=t.left.width+"px",e.bottom.style.top=t.top.height+t.centerContainer.height+"px",e.center.style.left="0",e.left.style.left="0",e.right.style.left="0"},n.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},n.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},n.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},n.prototype._toTime=function(t){return m.toTime(this,t,this.props.center.width)},n.prototype._toGlobalTime=function(t){return m.toTime(this,t,this.props.root.width)},n.prototype._toScreen=function(t){return m.toScreen(this,t,this.props.center.width)},n.prototype._toGlobalScreen=function(t){return m.toScreen(this,t,this.props.root.width)},n.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},n.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){if(1!=t.options.autoResize)return void t._stopAutoResize();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.props.scrollbarWidth=c.getScrollBarWidth(),t.body.emitter.emit("_change")))},c.addEventListener(window,"resize",this._onResize),t.dom.root&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)},n.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(c.removeEventListener(window,"resize",this._onResize),this._onResize=null)},n.prototype._onTouch=function(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop},n.prototype._onPinch=function(t){this.touch.allowDragging=!1},n.prototype._onDrag=function(t){if(t&&this.touch.allowDragging){var e=t.deltaY,i=this._getScrollTop(),o=this._setScrollTop(this.touch.initialScrollTop+e);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),o!=i&&this.emit("verticalDrag")}},n.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},n.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("top"!=this.options.orientation.item&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var a=e.get(i.groupId),h=e.get(this.groupTouchParams.group.groupId);h&&a&&(this.options.groupOrderSwap(h,a,e),e.update(h),e.update(a));var d=e.getIds({order:this.options.groupOrder});if(!c.equalArray(d,this.groupTouchParams.originalOrder))for(var l=this.groupTouchParams.originalOrder,u=this.groupTouchParams.group.groupId,p=Math.min(l.length,d.length),m=0,v=0,g=0;m=p)break;if(d[m+v]!=u)if(l[m+g]!=u){var y=d.indexOf(l[m+g]),b=e.get(d[m+v]),_=e.get(l[m+g]);this.options.groupOrderSwap(b,_,e),e.update(b),e.update(_);var w=d[m+v];d[m+v]=l[m+g],d[y]=w,m++}else g=1;else v=1}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=c.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!c.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),o.update(d),o.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){if(e!==this.itemFromRelatedTarget(t)){var i=e.getTitle();if(i){null==this.popup&&(this.popup=new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(i);var o=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-c.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-c.getAbsoluteTop(o)+o.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){e!==this.itemFromRelatedTarget(t)&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){if(this.itemFromTarget(t)&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var e=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-c.getAbsoluteLeft(e)+e.offsetLeft,t.clientY-c.getAbsoluteTop(e)+e.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null;if(!this.itemFromTarget(t)){if(this.options.rtl)var o=c.getAbsoluteRight(this.dom.frame),n=o-t.center.x;else var o=c.getAbsoluteLeft(this.dom.frame),n=t.center.x-o;var s=this.body.util.toTime(n),r=this.body.util.getScale(),a=this.body.util.getStep(),h={start:i?i(s,r,a):s,content:"new item"};if("drop"==t.type){var d=JSON.parse(t.dataTransfer.getData("text"));if(h.content=d.content,h.type=d.type||"box",h[this.itemsData._fieldId]=d.id||c.randomUUID(),"range"==d.type||d.end&&d.start)if(d.end)h.end=d.end,h.start=d.start;else{var l=this.body.util.toTime(n+this.props.width/5);h.end=i?i(l,r,a):l}}else if(h[this.itemsData._fieldId]=c.randomUUID(),"range"===this.options.type){var l=this.body.util.toTime(n+this.props.width/5);h.end=i?i(l,r,a):l}var u=this.groupFromTarget(t);u&&(h.group=u.groupId),h=this._cloneItemData(h),this.options.onAdd(h,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[];if((t.srcEvent&&t.srcEvent.shiftKey||!1)&&this.options.multiselect){var o=this.itemsData.get(e.id).group,s=void 0;this.options.multiselectPerGroup&&i.length>0&&(s=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=s&&s!=o||i.push(e.id);var r=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||s==o){i=[];for(var a in this.items)if(this.items.hasOwnProperty(a)){var h=this.items[a],d=h.data.start,l=void 0!==h.data.end?h.data.end:d;!(d>=r.min&&l<=r.max)||this.options.multiselectPerGroup&&s!=this.itemsData.get(h.id).group||h instanceof x||i.push(h.id)}}}else{var u=i.indexOf(e.id);u==-1?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){31104e9>t&&(this.scale="year",this.step=1e3),15552e9>t&&(this.scale="year",this.step=500),31104e8>t&&(this.scale="year",this.step=100),15552e8>t&&(this.scale="year",this.step=50),31104e7>t&&(this.scale="year",this.step=10),15552e7>t&&(this.scale="year",this.step=5),31104e6>t&&(this.scale="year",this.step=1),7776e6>t&&(this.scale="month",this.step=3),2592e6>t&&(this.scale="month",this.step=1),432e6>t&&(this.scale="day",this.step=5),1728e5>t&&(this.scale="day",this.step=2),864e5>t&&(this.scale="day",this.step=1),432e5>t&&(this.scale="weekday",this.step=1),144e5>t&&(this.scale="hour",this.step=4),36e5>t&&(this.scale="hour",this.step=1),9e5>t&&(this.scale="minute",this.step=15),6e5>t&&(this.scale="minute",this.step=10),3e5>t&&(this.scale="minute",this.step=5),6e4>t&&(this.scale="minute",this.step=1),15e3>t&&(this.scale="second",this.step=15),1e4>t&&(this.scale="second",this.step=10),5e3>t&&(this.scale="second",this.step=5),1e3>t&&(this.scale="second",this.step=1),200>t&&(this.scale="millisecond",this.step=200),100>t&&(this.scale="millisecond",this.step=100),50>t&&(this.scale="millisecond",this.step=50),10>t&&(this.scale="millisecond",this.step=10),5>t&&(this.scale="millisecond",this.step=5),1>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/r%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(o().add(1,"day"),"day")?" vis-tomorrow":t.isSame(o().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"month")?" vis-current-month":""}var o=this.moment,n=this.moment(this.current),s=n.locale?n.locale("en"):n.lang("en"),r=this.step;switch(this.scale){case"millisecond":return e(s)+t(s.milliseconds()).trim();case"second":return e(s)+t(s.seconds()).trim();case"minute":return e(s)+t(s.minutes()).trim();case"hour":return"vis-h"+s.hours()+(4==this.step?"-h"+(s.hours()+4):"")+e(s)+t(s.hours());case"weekday":return"vis-"+s.format("dddd").toLowerCase()+e(s)+function(t){return t.isSame(new Date,"week")?" vis-current-week":""}(s)+t(s.date());case"day":return"vis-day"+s.date()+" vis-"+s.format("MMMM").toLowerCase()+e(s)+i(s)+(this.step<=2?e(s):"")+(this.step<=2?" vis-"+s.format("dddd").toLowerCase():""+t(s.date()-1));case"month":return"vis-"+s.format("MMMM").toLowerCase()+i(s)+t(s.month());case"year":var a=s.year();return"vis-year"+a+function(t){return t.isSame(new Date,"year")?" vis-current-year":""}(s)+t(a);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(58),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(135);i(136);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):this.dom.inner.innerHTML=void 0!==e&&null!==e?e:this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?r.removeClassName(this.dom.inner,"vis-hidden"):r.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,r.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)r.removeClassName(this.dom.label,"collapsed"),r.addClassName(this.dom.label,"expanded");else{r.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";r.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(r.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(r.removeClassName(this.dom.label,this.className),r.removeClassName(this.dom.foreground,this.className),r.removeClassName(this.dom.background,this.className),r.removeClassName(this.dom.axis,this.className)),r.addClassName(this.dom.label,n),r.addClassName(this.dom.foreground,n),r.addClassName(this.dom.background,n),r.addClassName(this.dom.axis,n),this.className=n),this.style&&(r.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(r.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,r.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var h=this;r.forEach(this.items,function(t){t.displayed||(t.redraw(),h.visibleItems.push(t)),t.repositionX(!1)});var d=this.orderedItems.byStart.slice().sort(function(t,e){return h.itemSet.options.order(t.data,e.data)});a.stack(d,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?a.stack(this.visibleItems,e,i):a.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var l=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=r.updateProperty(this,"height",l)||o,o=r.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=r.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=l+"px",this.dom.foreground.style.height=l+"px",this.dom.label.style.height=l+"px";for(var u=0,c=this.visibleItems.length;u0){var e=this;this.resetSubgroups(),r.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},o.prototype._isGroupVisible=function(t,e){return this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height -;if(r.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,r.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;i0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-i.vertical+.001e.top:t.left-i.horizontal+.001e.left&&t.top-i.vertical+.001e.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(112),i(137));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=this.editable.updateTime||this.editable.updateGroup,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);void 0!==t&&t!==!0||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this._updateEditStatus()}var s=i(62),r=o(s),a=i(58),h=o(a),d=i(112),l=i(1),u=i(82);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setData=function(t){void 0!=t.group&&this.data.group!=t.group&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this._updateEditStatus(),this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new d(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;o+this.parent.top-50<-n?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var s,r;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(r=this.options.tooltipOnItemUpdateTime.template.bind(this),s=r(this.data)):(s="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(s+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=s}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t,this.data)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.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=(0,h.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-it.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-i/2t.start&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups;n[o].index;this.dom.box.style.height=this.parent.subgroups[o].height+"px",this.dom.box.style.top="top"==i?this.parent.top+this.parent.subgroups[o].top+"px":this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:h.FORMAT,moment:l,timeAxis:null},this.options=r.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n=i(62),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(128),h=i(133),d=i(129),l=i(82);o.prototype=new a,o.prototype.setOptions=function(t){t&&(r.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),r.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,s.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof l.locale?l.locale(t.locale):l.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=r.convert(this.body.range.start,"Number"),i=r.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new h(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var a=this.dom;a.redundant.lines=a.lines,a.redundant.majorTexts=a.majorTexts,a.redundant.minorTexts=a.minorTexts,a.lines=[],a.majorTexts=[],a.minorTexts=[];var l,c,p,f,m,v,g,y,b=0,_=void 0,w=0;for(s.start(),l=s.getCurrent(),p=this.body.util.toScreen(l);s.hasNext()&&w<1e3;){w++,f=s.isMajor(),y=s.getClassName(),g=s.getLabelMinor(),l,c=p,s.next(),l=s.getCurrent(),s.isMajor(),p=this.body.util.toScreen(l),m=b,b=p-c;var x=b>=.4*m;if(this.options.showMinorLabels&&x){var k=this._repaintMinorText(c,g,t,y);k.style.width=b+"px"}f&&this.options.showMajorLabels?(c>0&&(void 0==_&&(_=c), -k=this._repaintMajorText(c,s.getLabelMajor(),t,y)),v=this._repaintMajorLine(c,b,t,y)):x?v=this._repaintMinorLine(c,b,t,y):v&&(v.style.width=parseInt(v.style.width)+b+"px")}if(1e3!==w||u||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),u=!0),this.options.showMajorLabels){var O=this.body.util.toTime(0),S=s.getLabelMajor(O),D=S.length*(this.props.majorCharWidth||10)+10;(void 0==_||D<_)&&this._repaintMajorText(0,S,t,y)}r.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.innerHTML=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createElement("div");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return n.childNodes[0].innerHTML=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",this.dom.majorTexts.push(n),n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return n.style.top="top"==i?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-minor "+o):(n.style.left=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-minor "+o),n.style.width=e+"px",n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return n.style.top="top"==i?"0":this.body.domProps.top.height+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-major "+o):(n.style.left=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-major "+o),n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth};var u=!1;t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this;["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(115),r=i(99),a=i(112),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={moment:a,locales:h,locale:"en",id:void 0,title:void 0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this.setOptions(e),this._create()}var n=i(112),s=i(1),r=i(128),a=i(82),h=i(145);o.prototype=new r,o.prototype.setOptions=function(t){t&&s.selectiveExtend(["moment","locale","locales","id"],this.options,t)},o.prototype._create=function(){function t(t){this.body.range._onMouseWheel(t)}var e=document.createElement("div");e["custom-time"]=this,e.className="vis-custom-time "+(this.options.id||""),e.style.position="absolute",e.style.top="0px",e.style.height="100%",this.bar=e;var i=document.createElement("div");i.style.position="relative",i.style.top="0px",i.style.left="-10px",i.style.height="100%",i.style.width="20px",i.addEventListener?(i.addEventListener("mousewheel",t.bind(this),!1),i.addEventListener("DOMMouseScroll",t.bind(this),!1)):i.attachEvent("onmousewheel",t.bind(this)),e.appendChild(i),this.hammer=new n(i),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:n.DIRECTION_HORIZONTAL})},o.prototype.destroy=function(){this.hide(),this.hammer.destroy(),this.hammer=null,this.body=null},o.prototype.redraw=function(){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),i=this.options.locales.en);var o=this.options.title;return void 0===o?(o=i.time+": "+this.options.moment(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss"),o=o.charAt(0).toUpperCase()+o.substring(1)):"function"==typeof o&&(o=o.call(this.customTime)),this.bar.style.left=e+"px",this.bar.title=o,!1},o.prototype.hide=function(){this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar)},o.prototype.setCustomTime=function(t){this.customTime=s.convert(t,"Date"),this.redraw()},o.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},o.prototype.setCustomTitle=function(t){this.options.title=t},o.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()},o.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=this.body.util.toScreen(this.eventParams.customTime)+t.deltaX,i=this.body.util.toTime(e);this.setCustomTime(i),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf()),event:s.elementsCensor(t)}),t.stopPropagation()}},o.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf()),event:s.elementsCensor(t)}),t.stopPropagation())},o.customTimeFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("custom-time"))return e["custom-time"];e=e.parentNode}return null},t.exports=o},function(t,e){e.en={current:"current",time:"time"},e.en_EN=e.en,e.en_US=e.en,e.it={current:"attuale",time:"tempo"},e.it_IT=e.it,e.it_CH=e.it,e.nl={current:"huidige",time:"tijd"},e.nl_NL=e.nl,e.nl_BE=e.nl,e.de={current:"Aktuelle",time:"Zeit"},e.de_DE=e.de,e.fr={current:"actuel",time:"heure"},e.fr_FR=e.fr,e.fr_CA=e.fr,e.fr_BE=e.fr,e.es={current:"corriente",time:"hora"},e.es_ES=e.es},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(1),s=i(128),r=i(82),a=i(145);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},o.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=this.options.moment((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;o<30&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="object",r={configure:{enabled:{boolean:o},filter:{boolean:o,function:"function"},container:{dom:"dom"},__type__:{object:s,boolean:o,function:"function"}},align:{string:i},rtl:{boolean:o,undefined:"undefined"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{boolean:o,undefined:"undefined"},autoResize:{boolean:o},throttleRedraw:{number:n},clickToUse:{boolean:o},dataAttributes:{string:i,array:"array"},editable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},updateGroup:{boolean:o,undefined:"undefined"},updateTime:{boolean:o,undefined:"undefined"},overrideItems:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:s}},end:{number:n,date:"date",string:i,moment:"moment"},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:s,function:"function"}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:s,function:"function"}},__type__:{object:s}},moment:{function:"function"},groupOrder:{string:i,function:"function"},groupEditable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},order:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:s}},groupOrderSwap:{function:"function"},height:{string:i,number:n},hiddenDates:{start:{date:"date",number:n,string:i,moment:"moment"},end:{date:"date",number:n,string:i,moment:"moment"},repeat:{string:i},__type__:{object:s,array:"array"}},itemsAlwaysDraggable:{boolean:o},locale:{string:i},locales:{__any__:{any:"any"},__type__:{object:s}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:s,number:n}},__type__:{object:s,number:n}},max:{date:"date",number:n,string:i,moment:"moment"},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:"date",number:n,string:i,moment:"moment"},minHeight:{number:n,string:i},moveable:{boolean:o},multiselect:{boolean:o},multiselectPerGroup:{boolean:o},onAdd:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},order:{function:"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:s}},selectable:{boolean:o},showCurrentTime:{boolean:o},showMajorLabels:{boolean:o},showMinorLabels:{boolean:o},stack:{boolean:o},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:"date",number:n,string:i,moment:"moment"},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:s}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:s}},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:s}},type:{string:i},width:{string:i,number:n},zoomable:{boolean:o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:s}},a={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",format:{minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=r,e.configureOptions=a},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof c)&&i instanceof Object){var n=o;o=i,i=n}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new p(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new v(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(118),r=o(s),a=i(126),h=o(a),d=(i(99),i(112),i(82)),l=i(1),u=i(89),c=i(93),p=i(127),f=i(130),m=i(142),v=i(146),g=i(144),y=i(149),b=i(126).printStyle,_=i(157).allOptions,w=i(157).configureOptions;n.prototype=new f,n.prototype.setOptions=function(t){h.default.validate(t,_)===!0&&console.log("%cErrors have been found in the supplied options object.",b),f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof c?t:new u(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof c?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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]))},n.prototype.getDataRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var o=0;os?s:t,e=null==e?s:e0&&d.push(u.screenToValue(n)),!c.hidden&&this.itemsData.length>0&&d.push(c.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r.default(this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t,e){this.id=r.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=r.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=r.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var n=i(62),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(88),h=i(89),d=i(93),l=i(128),u=i(150),c=i(152),p=i(156),f=i(153),m=i(155),v=i(154);o.prototype=new l,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new u(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new u(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new p(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new p(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var r={};for(this._getRelevantData(s,r,o,n),this._applySampling(s,r),e=0;e0)switch(t.options.style){case"line":d.hasOwnProperty(s[e])||(d[s[e]]=m.calcPath(r[s[e]],t)),m.draw(d[s[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(r[s[e]],t,this.framework);break;case"bar":}}}return a.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,t[a].y=0==o?t[a].orginalY+r.y:t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,s,a,h;if(t.length>0)for(s=0;s0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));f.getStackedYRange(a,i,t,"__barStackLeft","left"),f.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var r=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(r=this.props.titleCharHeight);var h=this.options.icons===!0?Math.max(this.options.iconWidth,r)+this.options.labelOffsetX+15:r+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-h&&this.options.visible===!0?(this.width=this.maxLabelSize+h,this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+h),this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var s=a.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>h.magnitudefactor*h.minorSteps[h.minorStepIdx]*.5?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])==0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];r.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),r.mergeOptions(this.options,t,"interpolation"),r.mergeOptions(this.options,t,"drawPoints"),r.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,s.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){i={svg:document.createElementNS("http://www.w3.org/2000/svg","svg"),svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":h.drawIcon(this,o,n,t,e,i);break;case"points":case"point":d.drawIcon(this,o,n,t,e,i);break;case"bar":a.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){return 1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;n0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i")}this.dom.textArea.innerHTML=r,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,s.default)(this.groups);t.sort(function(t,e){return t0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e.default=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(163),d=o(h),l=i(164),u=o(l),c=i(1),p=i(89),f=i(93),m=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(d.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(t instanceof p||t instanceof f)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new p,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new p}if(i&&c.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var o=this;c.forEach(this.nodesListeners,function(t,e){o.body.data.nodes.on(e,t)});var n=this.body.data.nodes.getIds();this.add(n,!0)}e===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:d.default)(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(H.selectiveNotDeepExtend(n,t,e,i),H.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=H.parseColor(e.color);H.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=H.bridgeObject(o.color));void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&null!==e.font?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=H.bridgeObject(o.font)),void 0!==e.scaling&&H.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(2),a=o(r),h=i(62),d=o(h),l=i(119),u=o(l),c=i(120),p=o(c),f=i(1),m=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,p.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=f.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,d.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=f.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===(void 0===n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=f.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=f.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===(void 0===a?"undefined":(0,d.default)(a))){var h=f.topMost(o,["heightConstraint","minimum"]);"number"==typeof h&&(this.fontOptions.minHgt=Number(h));var l=f.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=f.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===(void 0===n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var h,d=(0,a.default)(o);!(n=(h=d.next()).done);n=!0){var l=h.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*p}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(f)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&d.return&&d.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,h=a*this.body.view.scale;h>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var d=this.size.yLine,l=this._setAlignment(t,o,d,r),u=(0,s.default)(l,2);o=u[0],d=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(d-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(d+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=m.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=y,m.strokeWidth>0&&t.strokeText(m.text,o+p,d+m.vadjust),t.fillText(m.text,o+p,d+m.vadjust),p+=m.width}d+=this.lines[c].height}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=4):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=4):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=f.overrideOpacity(o,s),n=f.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,h,d){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:h,strokeColor:d})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,h,d){this.add(t,e,i,o,n,s,r,a,h,d),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),h=a.length;if(this.elementOptions.font.multi)for(var d=0;d0)for(var m=this.getFormattingValues(t,e,i,l[f].mod),v=l[f].text.split(" "),g=!0,y="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=m.height>c?m.height:c,s.add(r,y,m.font,m.color,_.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,_.width,c),y="",g=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(y=y+x+v[w],w===v.length-1&&(c=m.height>c?m.height:c,u+=b.width,s.add(r,y,m.font,m.color,b.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,b.width,c),f===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,g=!1)}else{var k=this.getFormattingValues(t,e,i,l[f].mod),O=t.measureText(l[f].text);s.addAndAccumulate(r,l[f].text,k.font,k.color,O.width,k.height,k.vadjust,l[f].mod,k.strokeWidth,k.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===f&&(n+=s[r].height,r++)}}}else for(var S=0;S0)for(var M=a[S].split(" "),C="",T={width:0},E=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=E.width?(s.addAndAccumulate(r,C,D.font,D.color,E.width,D.size,D.vadjust,"normal",D.strokeWidth,D.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,C="",r++):(C=C+I+M[P],P===M.length-1&&(s.addAndAccumulate(r,C,D.font,D.color,T.width,D.size,D.vadjust,"normal",D.strokeWidth,D.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var N=a[S],R=t.measureText(N);s.addAndAccumulate(r,N,D.font,D.color,R.width,D.size,D.vadjust,"normal",D.strokeWidth,D.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2],t.vadjust=0}else"object"===(0,d.default)(e.font)&&f.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(166),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,h=(0,a.default)(t);!(o=(r=h.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&h.return&&h.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(167),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(168)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(m.default);e.default=v},function(t,e,i){t.exports={default:i(171),__esModule:!0}},function(t,e,i){i(172),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){e.__esModule=!0;var o=i(62),n=function(t){return t&&t.__esModule?t:{default:t}}(o);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":(0,n.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(175),s=o(n),r=i(55),a=o(r),h=i(62),d=o(h);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":(0,d.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(176),__esModule:!0}},function(t,e,i){i(177),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(178).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,d.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i) -}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.options.size;if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n.selected=!1,n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"setOptions",value:function(t,e,i){this.options=t,this.setImages(e,i)}},{key:"setImages",value:function(t,e){t&&(this.imageObj=t,e&&(this.imageObjAlt=e))}},{key:"switchImages",value:function(t){if(t&&!this.selected||!t&&this.selected){var e=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=e}this.selected=t}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,h=1;i>2&&h<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,h+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h._swapToImageResizeWhenImageLoaded=!0,h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.imageObjAlt&&this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var h=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,h),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),h>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var d=n+.5*this.height+3;this.labelModule.draw(t,o,d,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+5,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.imageObjAlt&&this.switchImages(o),this.selected=o,this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,h),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),h>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(196),d=o(h),l=i(164),u=o(l),c=i(1),p=i(89),f=i(93),m=function(){function t(e,i,o){var n=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=this.create.bind(this),this.edgesListeners={add:function(t,e){n.add(e.items)},update:function(t,e){n.update(e.items)},remove:function(t,e){n.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){"dynamic"===e&&(e="continuous");var i=!1;for(var o in t.body.edges)if(t.body.edges.hasOwnProperty(o)){var n=t.body.edges[o],s=t.body.data.edges._data[o];if(void 0!==s){var r=s.smooth;void 0!==r&&r.enabled===!0&&"dynamic"===r.type&&(void 0===e?n.setOptions({smooth:!1}):n.setOptions({smooth:{type:e}}),i=!0)}}i===!0&&t.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",function(){t.reconnectEdges()}),this.body.emitter.on("refreshEdges",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.edgesListeners,function(e,i){t.body.data.edges&&t.body.data.edges.off(i,e)}),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners})}},{key:"setOptions",value:function(t){if(this.edgeOptions=t,void 0!==t){d.default.parseOptions(this.options,t);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)this.body.edges.hasOwnProperty(i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var o in this.body.edges)this.body.edges.hasOwnProperty(o)&&this.body.edges[o].updateLabelModule()}void 0===t.hidden&&void 0===t.physics&&e!==!0||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof p||t instanceof f)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new p,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new p}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n,this.hover)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,o=this.to.x,n=this.to.y,s=t.left,r=t.top;return this.edgeType.getDistanceToEdge(e,i,o,n,s,r)<10}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(o<-1&&i<0||o>0&&i<0)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,d.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var h=!1;void 0!==e.color.color&&(t.color.color=e.color.color,h=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,h=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,h=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&h===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?m.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=S},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(170),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(173),p=o(c),f=i(174),m=o(f),v=i(198),g=o(v),y=function(t){function e(t,i,o){return(0,d.default)(this,e),(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,m.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),h=(0,s.default)(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];return a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3),{x:a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,y:a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y}}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(199),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var h=1e9,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=t,m=e,v=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,c,p,n,s),h=d2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),h=0,d=0,l=1,u=this.to,c=!1;for(t.id===this.from.id&&(u=this.from,c=!0);d<=l&&h<10;){var p=.5*(d+l);if(i=this.getPoint(p,a),o=Math.atan2(u.y-i.y,u.x-i.x),n=u.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-u.x,2)+Math.pow(i.y-u.y,2)),r=n-s,Math.abs(r)<.2)break;r<0?c===!1?d=p:l=p:c===!1?l=p:d=p,h++}return i.t=p,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=t,f=e;for(d=1;d<10;d++)l=.1*d,u=Math.pow(1-l,2)*t+2*l*(1-l)*r.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=ho.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=0,d=this.options.selfReferenceSize,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=.5*(s+r);s<=r&&h<10&&(m=.5*(s+r),l=this._pointOnCircle(o,n,d,m),u=Math.atan2(t.y-l.y,t.x-l.x),c=t.distanceToBorder(e,u),p=Math.sqrt(Math.pow(l.x-t.x,2)+Math.pow(l.y-t.y,2)),f=c-p,!(Math.abs(f)<.05));)f>0?a>0?s=m:r=m:a>0?r=m:s=m,h++;return l.t=m,l}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,h){var d=0;if(this.from!=this.to)d=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],p=u[1],f=u[2],m=c-n,v=p-r;d=Math.abs(Math.sqrt(m*m+v*v)-f)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:d}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:d<0&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=r.width;if("from"===e?(d=this.from,l=this.to,u=.1,c=r.fromArrowScale,p=r.fromArrowType):"to"===e?(d=this.to,l=this.from,u=-.1,c=r.toArrowScale,p=r.toArrowType):(d=this.to,l=this.from,c=r.middleArrowScale,p=r.middleArrowType),d!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var m=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);a=Math.atan2(h.y-m.y,h.x-m.x)}else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.5,i);else{var v=this._getCircleData(t),g=(0,s.default)(v,3),y=g[0],b=g[1],_=g[2];"from"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),a=h.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),a=h.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(h=this._pointOnCircle(y,b,_,.175),a=3.9269908169872414)}var w=15*c+3*f;return{point:h,core:{x:h.x-.9*w*Math.cos(a),y:h.y-.9*w*Math.sin(a)},angle:a,length:w,type:p}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(170),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(173),p=o(c),f=i(174),m=o(f),v=i(199),g=o(v),y=function(t){function e(t,i,o){(0,d.default)(this,e);var n=(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,m.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),h=a[0],d=a[1],l=a[2],u=2*Math.PI*(1-i);o=h+l*Math.sin(u),n=d+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(199),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=nMath.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=sMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t;return{x:Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,y:Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(200),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),h=t.distanceToBorder(e,n),d=(a-h)/a,l={};return l.x=(1-d)*o.x+d*i.x,l.y=(1-d)*o.y+d*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(205),u=o(l),c=i(206),p=o(c),f=i(207),m=o(f),v=i(208),g=o(v),y=i(209),b=o(y),_=i(210),w=o(_),x=i(211),k=o(x),O=i(212),S=o(O),D=i(1),M=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},D.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,d.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,D.selectiveNotDeepExtend(["stabilization"],this.options,t),D.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new k.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new S.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new p.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new m.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick(),(Date.now()-t<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){this.adaptiveCounter%this.adaptiveInterval==0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=1.2*this.timestep:this.timestep/1.2.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=0;ne?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;return Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2))}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;if("number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length)return void(this.ready=!0);this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(function(){return t._stabilizationBatch()},0)}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;s0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;h0&&(dr&&(r=d),la&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=Math.max(1e-5,Math.abs(r-n)),p=.5*c,f=.5*(n+r),m=.5*(s+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-p,maxX:f+p,minY:m-p,maxY:m+p},size:c,calcSize:1/c,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(v.root);for(var g=0;g0&&this._placeInTree(v.root,i);return v}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e.default=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,h=this.body.nodes,d=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,p=0;p0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(214),p=o(c),f=i(215),m=o(f),v=i(1),g=function(){function t(e){var i=this;(0,d.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},v.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===(void 0===t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=0;u0&&(0,s.default)(f).length>0&&v===!0&&o.push({nodes:c,edges:f})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,h=p.default.cloneOptions(o);n[a]=o;for(var d=0;d-1&&(r[g.id]=g)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=(0,s.default)(t),c=[],f=0;f0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=v.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var h in t)if(t.hasOwnProperty(h)){var d=p.default.cloneOptions(t[h]);a.push(d)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=p.default.cloneOptions(e[u],"edge");l.push(c)}if(!(r=i.processProperties(r,a,l)))throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+v.randomUUID());var f=r.id;void 0===r.label&&(r.label="cluster");var g=void 0;void 0===r.x&&(g=this._getClusterPosition(t),r.x=g.x),void 0===r.y&&(void 0===g&&(g=this._getClusterPosition(t)),r.y=g.y),r.id=f;var y=this.body.functions.createNode(r,m.default);y.isCluster=!0,y.containedNodes=t,y.containedEdges=e,y.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=y,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,h=1;ho?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var h in n)if(n.hasOwnProperty(h)){var d=this.body.nodes[h];r[h]={x:d.x,y:d.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var f in n)if(n.hasOwnProperty(f)){var m=this.body.nodes[f];m=n[f],m.options.fixed.x===!1&&(m.x=o.x),m.options.fixed.y===!1&&(m.y=o.y)}for(var g in n)if(n.hasOwnProperty(g)){var y=this.body.nodes[g];y.vx=o.vx,y.vy=o.vy,y.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[g]}for(var b=[],_=0;_o&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(1),d=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];h.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=this.canvas.DOMtoCanvas({x:-20,y:-20}),a=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+20,y:this.canvas.frame.canvas.clientHeight+20}),h={top:r.y,left:r.x,bottom:a.y,right:a.x},d=0;d0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new h(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:h.DIRECTION_ALL}),d.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new h(this.frame),d.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),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=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(214),d=o(h),l=i(1),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,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=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",this.fit.bind(this)),this.body.emitter.on("animationFinished",function(){o.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",this.releaseNode.bind(this))}return(0,a.default)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=d.default.getRange(this.body.nodes,t.nodes);o=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;o*=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600)}else{this.body.emitter.emit("_resizeNodes"),i=d.default.getRange(this.body.nodes,t.nodes);var a=1.1*Math.abs(i.maxX-i.minX),h=1.1*Math.abs(i.maxY-i.minY),l=this.canvas.frame.canvas.clientWidth/a,u=this.canvas.frame.canvas.clientHeight/h;o=l<=u?l:u}o>1?o=1:0===o&&(o=1);var c=d.default.findCenter(i),p={position:c,scale:o,animation:t.animation};this.moveTo(p)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){if(void 0===t)return void(t={});void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),this.animateView(t)}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(220),d=o(h),l=i(132),u=o(l),c=i(1),p=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new d.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),u=l.nodesChanged,c=l.edgesChanged,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):u===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0):h-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;n10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=h[l[l.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],g=0;g0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new u.default(this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))===!0){var o=this.selectionHandler.getNodeAt(t);i=void 0!==o&&o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e.default=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=(i(1),i(112)),d=i(125),l=i(115),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(163),d=o(h),l=i(196),u=o(l),c=i(1),p=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},c.extend(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",function(){o.updateSelection()})}return(0,a.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){var e=["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"];c.selectiveDeepExtend(e,this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,i.isSelected()===!0?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof d.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(165),a=o(r),h=i(62),d=o(h),l=i(119),u=o(l),c=i(120),p=o(c),f=i(214),m=o(f),v=i(1),g=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},v.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,p.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(v.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),v.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),v.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={enabled:void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,d.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||t.physics.enabled,this.optionsBackup.physics.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var e="horizontal";"RL"!==this.options.hierarchical.direction&&"LR"!==this.options.hierarchical.direction||(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;e100){for(var o=this.body.nodeIndices.length;this.body.nodeIndices.length>100;){i+=1;var n=this.body.nodeIndices.length;i%3==0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();if(n==this.body.nodeIndices.length&&i%3!=0||i>10)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*o)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var s=0;s0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0===t.options.x&&void 0===t.options.y&&!1,void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback());for(var n in this.body.nodes)this.body.nodes.hasOwnProperty(n)&&void 0===this.hierarchicalLevels[n]&&(this.hierarchicalLevels[n]=0);var s=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(s),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(e,i){for(var o in t.hierarchicalTrees)if(t.hierarchicalTrees.hasOwnProperty(o)&&t.hierarchicalTrees[o]===e){var n=t.body.nodes[o],s=t._getPositionForHierarchy(n);t._setPositionForHierarchy(n,s+i,void 0,!0)}},n=function(e){var i=1e9,o=-1e9;for(var n in t.hierarchicalTrees)if(t.hierarchicalTrees.hasOwnProperty(n)&&t.hierarchicalTrees[n]===e){var s=t._getPositionForHierarchy(t.body.nodes[n]);i=Math.min(s,i),o=Math.max(s,o)}return{min:i,max:o}},r=function(){for(var e=[],i=0;i<=t.treeIndex;i++)e.push(n(i));return e},h=function e(i,o){if(!o[i.id]&&(o[i.id]=!0,t.hierarchicalChildrenReference[i.id])){var n=t.hierarchicalChildrenReference[i.id];if(n.length>0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var h in e)if(e.hasOwnProperty(h)){var d=t.body.nodes[h],l=t.hierarchicalLevels[d.id],u=t._getPositionForHierarchy(d),c=t._getSpaceAroundNode(d,e),p=(0,a.default)(c,2),f=p[0],m=p[1];o=Math.min(f,o),n=Math.min(m,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},l=function(e){var i={};return function e(o){if(void 0!==i[o])return i[o];var n=t.hierarchicalLevels[o];if(t.hierarchicalChildrenReference[o]){var s=t.hierarchicalChildrenReference[o];if(s.length>0)for(var r=0;r1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o);if(Math.abs(r-s)>t.options.hierarchical.nodeSpacing){var l={},c={};h(i,l),h(o,c);var p=u(i,o),f=d(l,p),m=(0,a.default)(f,4),v=(m[0],m[1]),g=(m[2],m[3],d(c,p)),y=(0,a.default)(g,4),b=y[0],_=(y[1],y[2]);if(y[3],Math.abs(v-b)>t.options.hierarchical.nodeSpacing){var w=v-b+t.options.hierarchical.nodeSpacing;w<-_+t.options.hierarchical.nodeSpacing&&(w=-_+t.options.hierarchical.nodeSpacing),w<0&&(t._shiftBlock(o.id,w),e=!0,n===!0&&t._centerParent(o))}}},m=function(o,n){for(var s=n.id,r=n.edges,l=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},p=[],f=0;f0?m=Math.min(f,p-t.options.hierarchical.nodeSpacing):f<0&&(m=-Math.min(-f,c-t.options.hierarchical.nodeSpacing)),0!=m&&(t._shiftBlock(n.id,m),e=!0)}(_),_=b(o,r),function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),h=r[0],d=r[1],l=i-o,u=o;l>0?u=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)}(_)};this.options.hierarchical.blockShifting===!0&&(function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var d=0;d0&&Math.abs(g)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){if(void 0!==this.hierarchicalChildrenReference[t]){for(var i=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var h=1e9,d=-1e9,l=0;l0&&0!==(e=this._getHubSize());)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=function(e,i,o){void 0===t.hierarchicalLevels[e.id]&&(t.hierarchicalLevels[e.id]=1e5);var n=(m.default.cloneOptions(e,"node"),m.default.cloneOptions(i,"node"),void m.default.cloneOptions(o,"edge"));t.hierarchicalLevels[i.id]=t.hierarchicalLevels[e.id]+n};this._crawlNetwork(e),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=function(e,i,o){void 0===t.hierarchicalLevels[e.id]&&(t.hierarchicalLevels[e.id]=1e4),o.toId==i.id?t.hierarchicalLevels[i.id]=t.hierarchicalLevels[e.id]+1:t.hierarchicalLevels[i.id]=t.hierarchicalLevels[e.id]-1};this._crawlNetwork(e),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&void 0!==this.hierarchicalLevels[e]&&(t=Math.min(this.hierarchicalLevels[e],t));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalChildrenReference[o]&&(t.hierarchicalChildrenReference[o]=[]),t.hierarchicalChildrenReference[o].push(n),void 0===t.hierarchicalParentReference[n]&&(t.hierarchicalParentReference[n]=[]),t.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3])!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(90),a=o(r),h=i(62),d=o(h),l=i(119),u=o(l),c=i(120),p=o(c),f=i(1),m=i(112),v=i(125),g=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},f.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,p.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,f.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=f.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,d.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var t=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(t.from,t.to)}if(this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId){var i=this.body.edges[this.edgeBeingEditedId],o=this._getNewTargetNode(i.from.x,i.from.y),n=this._getNewTargetNode(i.to.x,i.to.y);this.temporaryIds.nodes.push(o.id),this.temporaryIds.nodes.push(n.id),this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id),this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id),this._temporaryBindUI("onTouch",this._controlNodeTouch.bind(this)),this._temporaryBindUI("onTap",function(){}),this._temporaryBindUI("onHold",function(){}),this._temporaryBindUI("onDragStart",this._controlNodeDragStart.bind(this)),this._temporaryBindUI("onDrag",this._controlNodeDrag.bind(this)),this._temporaryBindUI("onDragEnd",this._controlNodeDragEnd.bind(this)),this._temporaryBindUI("onMouseMove",function(){}),this._temporaryBindEvent("beforeDrawing",function(t){var e=i.edgeType.findBorderPositions(t);o.selected===!1&&(o.x=e.from.x,o.y=e.from.y),n.selected===!1&&(n.x=e.to.x,n.y=e.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=f.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+f.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},f.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(f.recursiveDOMDelete(this.editModeDiv),f.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=f.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+f.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(this.temporaryIds.nodes.indexOf(n[r])===-1){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:f.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===(void 0===n?"undefined":(0,d.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=g},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="object",r={configure:{enabled:{boolean:o},filter:{boolean:o,string:i,array:"array",function:"function"},container:{dom:"dom"},showButton:{boolean:o},__type__:{object:s,boolean:o,string:i,array:"array",function:"function"}},edges:{arrows:{to:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:s,boolean:o}},middle:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:s,boolean:o}},from:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:s,boolean:o}},__type__:{string:["from","to","middle"],object:s}},arrowStrikethrough:{boolean:o},chosen:{label:{boolean:o,function:"function"},edge:{boolean:o,function:"function"},__type__:{object:s,boolean:o}},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],boolean:o},opacity:{number:n},__type__:{object:s,string:i}},dashes:{boolean:o,array:"array"},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},__type__:{object:s,string:i}},hidden:{boolean:o},hoverWidth:{function:"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{boolean:o},length:{number:n,undefined:"undefined"},physics:{boolean:o},scaling:{min:{number:n},max:{number:n},label:{enabled:{boolean:o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:s,boolean:o}},customScalingFunction:{function:"function"},__type__:{object:s}},selectionWidth:{function:"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{boolean:o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:s,boolean:o}},smooth:{enabled:{boolean:o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],boolean:o},__type__:{object:s,boolean:o}},title:{string:i,undefined:"undefined"},width:{number:n},widthConstraint:{maximum:{number:n},__type__:{object:s,boolean:o,number:n}},value:{number:n,undefined:"undefined"},__type__:{object:s}},groups:{useDefaultGroups:{boolean:o},__any__:"get from nodes, will be overwritten below",__type__:{object:s}},interaction:{dragNodes:{boolean:o},dragView:{boolean:o},hideEdgesOnDrag:{boolean:o},hideNodesOnDrag:{boolean:o},hover:{boolean:o},keyboard:{enabled:{boolean:o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:s}},bindToWindow:{boolean:o},__type__:{object:s,boolean:o}},multiselect:{boolean:o},navigationButtons:{boolean:o},selectable:{boolean:o},selectConnectedEdges:{boolean:o},hoverConnectedEdges:{boolean:o},tooltipDelay:{number:n},zoomView:{boolean:o},__type__:{object:s}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{boolean:o},hierarchical:{enabled:{boolean:o},levelSeparation:{number:n},nodeSpacing:{number:n},treeSpacing:{number:n},blockShifting:{boolean:o},edgeMinimization:{boolean:o},parentCentralization:{boolean:o},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:s,boolean:o}},__type__:{object:s}},manipulation:{enabled:{boolean:o},initiallyActive:{boolean:o},addNode:{boolean:o,function:"function"},addEdge:{boolean:o,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:s,boolean:o,function:"function"}},deleteNode:{boolean:o,function:"function"},deleteEdge:{boolean:o,function:"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:s,boolean:o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},chosen:{label:{boolean:o,function:"function"},node:{boolean:o,function:"function"},__type__:{object:s,boolean:o}},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:s,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:s,string:i}},__type__:{object:s,string:i}},fixed:{x:{boolean:o},y:{boolean:o},__type__:{object:s,boolean:o}},font:{align:{string:i},color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},__type__:{object:s,string:i}},group:{string:i,number:n,undefined:"undefined"},heightConstraint:{minimum:{number:n},valign:{string:i},__type__:{object:s,boolean:o,number:n}},hidden:{boolean:o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:s}},id:{string:i,number:n},image:{selected:{string:i,undefined:"undefined"},unselected:{string:i,undefined:"undefined"},__type__:{object:s,string:i}},label:{string:i,undefined:"undefined"},labelHighlightBold:{boolean:o},level:{number:n,undefined:"undefined"},margin:{top:{number:n},right:{number:n},bottom:{number:n},left:{number:n},__type__:{object:s,number:n}},mass:{number:n},physics:{boolean:o},scaling:{min:{number:n},max:{number:n},label:{enabled:{boolean:o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:s,boolean:o}},customScalingFunction:{function:"function"},__type__:{object:s}},shadow:{enabled:{boolean:o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:s,boolean:o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{boolean:o,array:"array"},borderRadius:{number:n},interpolation:{boolean:o},useImageSize:{boolean:o},useBorderWithImage:{boolean:o},__type__:{object:s}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},widthConstraint:{minimum:{number:n},maximum:{number:n},__type__:{object:s,boolean:o,number:n}},x:{number:n},y:{number:n},__type__:{object:s}},physics:{enabled:{boolean:o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:s}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:s}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:s}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:s}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{boolean:o},fit:{boolean:o},__type__:{object:s,boolean:o}},timestep:{number:n},adaptiveTimestep:{boolean:o},__type__:{object:s,boolean:o}},autoResize:{boolean:o},clickToUse:{boolean:o},locale:{string:i},locales:{__any__:{any:"any"},__type__:{object:s}},height:{string:i},width:{string:i},__type__:{object:s}};r.groups.__any__=r.nodes,r.manipulation.controlNodeStyle=r.nodes;var a={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1], -interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]}};e.allOptions=r,e.configureOptions=a},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(226),u=o(l),c=function(){function t(e,i,o){(0,a.default)(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new u.default}return(0,d.default)(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=0,r=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),a=1e9,h=0,d=0,l=0,u=0,c=0;a>.01&&n1&&c<5;){c+=1,this._moveNode(h,d,l);var m=this._getEnergy(h),v=(0,s.default)(m,3);u=v[0],d=v[1],l=v[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],r=0,a=0,h=0;h=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=r<0?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){function o(t){return R=t,f()}function n(){z=0,A=R.charAt(0)}function s(){z++,A=R.charAt(z)}function r(){return R.charAt(z+1)}function a(t){return F.test(t)}function h(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function d(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function l(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;i=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(B=I.NULL,L="";" "===A||"\t"===A||"\n"===A||"\r"===A;)s();do{var t=!1;if("#"===A){for(var e=z-1;" "===R.charAt(e)||"\t"===R.charAt(e);)e--;if("\n"===R.charAt(e)||""===R.charAt(e)){for(;""!=A&&"\n"!=A;)s();t=!0}}if("/"===A&&"/"===r()){for(;""!=A&&"\n"!=A;)s();t=!0}if("/"===A&&"*"===r()){for(;""!=A;){if("*"===A&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===A||"\t"===A||"\n"===A||"\r"===A;)s()}while(t);if(""===A)return void(B=I.DELIMITER);var i=A+r();if(N[i])return B=I.DELIMITER,L=i,s(),void s();if(N[A])return B=I.DELIMITER,L=A,void s();if(a(A)||"-"===A){for(L+=A,s();a(A);)L+=A,s();return"false"===L?L=!1:"true"===L?L=!0:isNaN(Number(L))||(L=Number(L)),void(B=I.IDENTIFIER)}if('"'===A){for(s();""!=A&&('"'!=A||'"'===A&&'"'===r());)L+=A,'"'===A&&s(),s();if('"'!=A)throw x('End of string " expected');return s(),void(B=I.IDENTIFIER)}for(B=I.UNKNOWN;""!=A;)L+=A,s();throw new SyntaxError('Syntax error in part "'+k(L,30)+'"')}function f(){var t={};if(n(),p(),"strict"===L&&(t.strict=!0,p()),"graph"!==L&&"digraph"!==L||(t.type=L,p()),B===I.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),m(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==L&&"}"!=L;)v(t),";"===L&&p()}function v(t){var e=g(t);if(e)return void _(t,e);if(!y(t)){if(B!=I.IDENTIFIER)throw x("Identifier expected");var i=L;if(p(),"="===L){if(p(),B!=I.IDENTIFIER)throw x("Identifier expected");t[i]=L,p()}else b(t,i)}}function g(t){var e=null;if("subgraph"===L&&(e={},e.type="subgraph",p(),B===I.IDENTIFIER&&(e.id=L,p())),"{"===L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=L)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"===L?(p(),t.node=w(),"node"):"edge"===L?(p(),t.edge=w(),"edge"):"graph"===L?(p(),t.graph=w(),"graph"):null}function b(t,e){var i={id:e},o=w();o&&(i.attr=o),l(t,i),_(t,e)}function _(t,e){for(;"->"===L||"--"===L;){var i,o=L;p();var n=g(t);if(n)i=n;else{if(B!=I.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,l(t,{id:i}),p()}u(t,c(t,e,i,o,w())),e=i}}function w(){for(var t=null;"["===L;){for(p(),t={};""!==L&&"]"!=L;){if(B!=I.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),B!=I.IDENTIFIER)throw x("Attribute value expected");d(t,e,L),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(L,30)+'" (char '+z+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function O(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 S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},R="",z=0,A="",L="",B=I.NULL,F=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=M},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,o){return e+e+i+i+o+o});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null},e.overrideOpacity=function(t,i){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t;return{h:60*((t==o?3:i==o?1:5)-s/(n-o))/360,s:(n-o)/n,v:n}};var m={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=m.split(t.style.cssText),n=m.split(i),s=e.extend(o,n);t.style.cssText=m.join(s)},e.removeCssText=function(t,e){var i=m.split(t.style.cssText),o=m.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=m.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},e.isValidRGB=function(t){return t=t.replace(" ",""),/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t)},e.isValidRGBA=function(t){return t=t.replace(" ",""),/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t)},e.selectiveBridgeObject=function(t,i){if("object"==(void 0===i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=0,s=0,r=t.length-1;s<=r&&n<1e4;){var a=Math.floor((s+r)/2),h=t[a],d=void 0===o?h[i]:h[i][o],l=e(d);if(0==l)return a;l==-1?s=a+1:r=a-1,n++}return-1},e.binarySearchValue=function(t,e,i,o,n){for(var s,r,a,h,d=0,l=0,u=t.length-1,n=void 0!=n?n:function(t,e){return t==e?0:t0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?l=h+1:u=h-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),c=i(47)("iterator"),p=!([].keys&&"next"in[].keys()),f=function(){return this};t.exports=function(t,e,i,m,v,g,y){d(i,e,m);var b,_,w,x=function(t){if(!p&&t in M)return M[t];switch(t){case"keys":return function(){return new i(this,t)};case"values":return function(){return new i(this,t)}}return function(){return new i(this,t)}},k=e+" Iterator",O="values"==v,S=!1,M=t.prototype,D=M[c]||M["@@iterator"]||v&&M[v],C=D||x(v),T=v?O?x("entries"):C:void 0,E="Array"==e?M.entries||D:D;if(E&&(w=u(E.call(new t)))!==Object.prototype&&(l(w,k,!0),o||a(w,c)||r(w,c,f)),O&&D&&"values"!==D.name&&(S=!0,C=function(){return D.call(this)}),o&&!y||!p&&!S&&M[c]||r(M,c,C),h[e]=C,h[k]=f,v)if(b={values:O?C:x("values"),keys:g?C:x("keys"),entries:T},y)for(_ in b)_ in M||s(M,_,b[_]);else n(n.P+n.F*(p||S),e,b);return b}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a=function(t,e,i){var h,d,l,u=t&a.F,c=t&a.G,p=t&a.S,f=t&a.P,m=t&a.B,v=t&a.W,g=c?n:n[e]||(n[e]={}),y=g.prototype,b=c?o:p?o[e]:(o[e]||{}).prototype;c&&(i=e);for(h in i)(d=!u&&b&&void 0!==b[h])&&h in g||(l=d?b[h]:i[h],g[h]=c&&"function"!=typeof b[h]?i[h]:m&&d?s(l,o):v&&b[h]==l?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):f&&"function"==typeof l?s(Function.call,l):l,f&&((g.virtual||(g.virtual={}))[h]=l,t&a.R&&y&&!y[h]&&r(y,h,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h=function(){var t,e=i(27)("iframe"),o=s.length;for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(""),t.close(),h=t.F;o--;)delete h.prototype[s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a.prototype=o(t),i=new a,a.prototype=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if((a=h[l++])!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n=o["__core-js_shared__"]||(o["__core-js_shared__"]={});t.exports=function(t){return n[t]||(n[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s;(t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))}).store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):r-56320+(s-55296<<10)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return void 0===t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":void 0===t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),c=i(43),p=i(47),f=i(65),m=i(70),v=i(71),g=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),k=i(33),O=i(76),S=i(78),M=i(21),D=i(35),C=S.f,T=M.f,E=O.f,P=o.Symbol,I=o.JSON,N=I&&I.stringify,R=p("_hidden"),z=p("toPrimitive"),A={}.propertyIsEnumerable,L=l("symbol-registry"),F=l("symbols"),B=l("op-symbols"),j=Object.prototype,H="function"==typeof P,W=o.QObject,Y=!W||!W.prototype||!W.prototype.findChild,G=s&&d(function(){return 7!=k(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=C(j,e);o&&delete j[e],T(t,e,i),o&&t!==j&&T(j,e,o)}:T,V=function(t){var e=F[t]=k(P.prototype);return e._k=t,e},U=H&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},q=function(t,e,i){return t===j&&q(B,e,i),b(t),e=w(e,!0),b(i),n(F,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=k(i,{enumerable:x(0,!1)})):(n(t,R)||T(t,R,x(1,{})),t[R][e]=!0),G(t,e,i)):T(t,e,i)},X=function(t,e){b(t);for(var i,o=g(e=_(e)),n=0,s=o.length;s>n;)q(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?k(t):X(k(t),e)},K=function(t){var e=A.call(this,t=w(t,!0));return!(this===j&&n(F,t)&&!n(B,t))&&(!(e||!n(this,t)||!n(F,t)||n(this,R)&&this[R][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(F,e)||n(B,e)){var i=C(t,e);return!i||!n(F,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},Q=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(F,e=i[s++])||e==R||e==h||o.push(e);return o},$=function(t){for(var e,i=t===j,o=E(i?B:_(t)),s=[],r=0;o.length>r;)!n(F,e=o[r++])||i&&!n(j,e)||s.push(F[e]);return s};H||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(B,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),G(this,t,x(1,i))};return s&&Y&&G(j,t,{configurable:!0,set:e}),V(t)},a(P.prototype,"toString",function(){return this._k}),S.f=J,M.f=q,i(77).f=O.f=Q,i(74).f=K,i(73).f=$,s&&!i(14)&&a(j,"propertyIsEnumerable",K,!0),f.f=function(t){return V(p(t))}),r(r.G+r.W+r.F*!H,{Symbol:P});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)p(tt[et++]);for(var tt=D(p.store),et=0;tt.length>et;)m(tt[et++]);r(r.S+r.F*!H,"Symbol",{for:function(t){return n(L,t+="")?L[t]:L[t]=P(t)},keyFor:function(t){if(U(t))return v(L,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){Y=!0},useSimple:function(){Y=!1}}),r(r.S+r.F*!H,"Object",{create:Z,defineProperty:q,defineProperties:X,getOwnPropertyDescriptor:J,getOwnPropertyNames:Q,getOwnPropertySymbols:$}),I&&r(r.S+r.F*(!H||d(function(){var t=P();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!U(e))return e}),o[1]=e,N.apply(I,o)}}}),P.prototype[z]||i(20)(P.prototype,z,P.prototype.valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},p=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:p}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(83)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(0,function(){function e(){return bo.apply(null,arguments)}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function n(t){var e;for(e in t)return!1;return!0}function s(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i=0;i0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function z(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function A(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function L(t){var e,i,o={};for(i in t)d(t,i)&&(e=A(i))&&(o[e]=t[i]);return o}function F(t,e){Io[t]=e}function B(t){var e=[];for(var i in t)e.push({unit:i,priority:Io[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,i){return function(o){return null!=o?(W(this,t,o),e.updateOffset(this,i),this):H(this,t)}}function H(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function W(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function Y(t){return t=A(t),S(this[t])?this[t]():this}function G(t,e){if("object"==typeof t){t=L(t);for(var i=B(t),o=0;o=0?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function U(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Ao[t]=n),e&&(Ao[e[0]]=function(){return V(n.apply(this,arguments),e[1],e[2])}),i&&(Ao[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function q(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function X(t){var e,i,o=t.match(No);for(e=0,i=o.length;e=0&&Ro.test(t);)t=t.replace(Ro,i),Ro.lastIndex=0,o-=1;return t}function J(t,e,i){Ho[t]=S(e)?e:function(t,o){return t&&i?i:e}}function Q(t,e){return d(Ho,t)?Ho[t](e._strict,e._locale):new RegExp($(t))}function $(t){return tt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function tt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function et(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=_(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function bt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function _t(t,e,i){var o=7+e-i;return-((7+bt(t,0,o).getUTCDay()-e)%7)+o-1}function wt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=_t(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=mt(s)+d):d>mt(t)?(s=t+1,r=d-mt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function xt(t,e,i){var o,n,s=_t(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+kt(n,e,i)):r>kt(t.year(),e,i)?(o=r-kt(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function kt(t,e,i){var o=_t(t,e,i),n=_t(t+1,e,i);return(mt(t)-o+n)/7}function Ot(t){return xt(t,this._week.dow,this._week.doy).week}function St(){return this._week.dow}function Mt(){return this._week.doy}function Dt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ct(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Et(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Pt(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone}function It(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Nt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=Qo.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=Qo.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=Qo.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=Qo.call(this._weekdaysParse,r))!==-1?n:(n=Qo.call(this._shortWeekdaysParse,r))!==-1?n:(n=Qo.call(this._minWeekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=Qo.call(this._shortWeekdaysParse,r))!==-1?n:(n=Qo.call(this._weekdaysParse,r))!==-1?n:(n=Qo.call(this._minWeekdaysParse,r),n!==-1?n:null):(n=Qo.call(this._minWeekdaysParse,r))!==-1?n:(n=Qo.call(this._weekdaysParse,r))!==-1?n:(n=Qo.call(this._shortWeekdaysParse,r),n!==-1?n:null)}function zt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function At(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function Lt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Ft(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Et(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Bt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=ln),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=un),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ht(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=cn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Wt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=tt(a[e]),h[e]=tt(h[e]),d[e]=tt(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Yt(){return this.hours()%12||12}function Gt(){return this.hours()||24}function Vt(t,e){U(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Ut(t,e){return e._meridiemParse}function qt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Xt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Kt(t){for(var e,i,o,n,s=0;s0;){if(o=Jt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&w(n,i,!0)>=e-1)break;e--}s++}return null}function Jt(e){var i=null;if(!vn[e]&&void 0!==t&&t&&t.exports)try{i=pn._abbr,function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return vn[e]}function Qt(t,e){var i;return t&&(i=s(e)?ee(t):$t(t,e))&&(pn=i),pn._abbr}function $t(t,e){if(null!==e){var i=mn;if(e.abbr=t,null!=vn[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=vn[t]._config;else if(null!=e.parentLocale){if(null==vn[e.parentLocale])return gn[e.parentLocale]||(gn[e.parentLocale]=[]),gn[e.parentLocale].push({name:t,config:e}),null;i=vn[e.parentLocale]._config}return vn[t]=new C(D(i,e)),gn[t]&&gn[t].forEach(function(t){$t(t.name,t.config)}),Qt(t),vn[t]}return delete vn[t],null}function te(t,e){if(null!=e){var i,o=mn;null!=vn[t]&&(o=vn[t]._config),e=D(o,e),i=new C(e),i.parentLocale=vn[t],vn[t]=i,Qt(t)}else null!=vn[t]&&(null!=vn[t].parentLocale?vn[t]=vn[t].parentLocale:null!=vn[t]&&delete vn[t]);return vn[t]}function ee(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return pn;if(!i(t)){if(e=Jt(t))return e;t=[t]}return Kt(t)}function ie(){return Do(vn)}function oe(t){var e,i=t._a;return i&&p(t).overflow===-2&&(e=i[Go]<0||i[Go]>11?Go:i[Vo]<1||i[Vo]>nt(i[Yo],i[Go])?Vo:i[Uo]<0||i[Uo]>24||24===i[Uo]&&(0!==i[qo]||0!==i[Xo]||0!==i[Zo])?Uo:i[qo]<0||i[qo]>59?qo:i[Xo]<0||i[Xo]>59?Xo:i[Zo]<0||i[Zo]>999?Zo:-1,p(t)._overflowDayOfYear&&(eVo)&&(e=Vo),p(t)._overflowWeeks&&e===-1&&(e=Ko),p(t)._overflowWeekday&&e===-1&&(e=Jo),p(t).overflow=e),t}function ne(t){var e,i,o,n,s,r,a=t._i,h=yn.exec(a)||bn.exec(a);if(h){for(p(t).iso=!0,e=0,i=wn.length;e10?"YYYY ":"YY "),s="HH:mm"+(i[4]?":ss":""),i[1]){var u=new Date(i[2]),c=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][u.getDay()];if(i[1].substr(0,3)!==c)return p(t).weekdayMismatch=!0,void(t._isValid=!1)}switch(i[5].length){case 2:0===h?a=" +0000":(h=l.indexOf(i[5][1].toUpperCase())-12,a=(h<0?" -":" +")+(""+h).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:a=d[i[5]];break;default:a=d[" GMT"]}i[5]=a,t._i=i.splice(1).join(""),r=" ZZ",t._f=o+n+s+r,ue(t),p(t).rfc2822=!0}else t._isValid=!1}function re(t){var i=kn.exec(t._i);if(null!==i)return void(t._d=new Date(+i[1]));ne(t),t._isValid===!1&&(delete t._isValid,se(t),t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t)))}function ae(t,e,i){return null!=t?t:null!=e?e:i}function he(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function de(t){var e,i,o,n,s=[];if(!t._d){for(o=he(t),t._w&&null==t._a[Vo]&&null==t._a[Go]&&le(t),null!=t._dayOfYear&&(n=ae(t._a[Yo],o[Yo]),(t._dayOfYear>mt(n)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),i=bt(n,0,t._dayOfYear),t._a[Go]=i.getUTCMonth(),t._a[Vo]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Uo]&&0===t._a[qo]&&0===t._a[Xo]&&0===t._a[Zo]&&(t._nextDay=!0,t._a[Uo]=0),t._d=(t._useUTC?bt:yt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Uo]=24)}}function le(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[Yo],xt(be(),1,4).year),o=ae(e.W,1),((n=ae(e.E,1))<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=xt(be(),s,r);i=ae(e.gg,t._a[Yo],d.year),o=ae(e.w,d.week),null!=e.d?((n=e.d)<0||n>6)&&(h=!0):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>kt(i,s,r)?p(t)._overflowWeeks=!0:null!=h?p(t)._overflowWeekday=!0:(a=wt(i,o,n,s,r),t._a[Yo]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void ne(t);if(t._f===e.RFC_2822)return void se(t);t._a=[],p(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=K(t._f,t._locale).match(No)||[],i=0;i0&&p(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Ao[s]?(o?p(t).empty=!1:p(t).unusedTokens.push(s),ot(s,o,t)):t._strict&&!o&&p(t).unusedTokens.push(s);p(t).charsLeftOver=h-d,a.length>0&&p(t).unusedInput.push(a),t._a[Uo]<=12&&p(t).bigHour===!0&&t._a[Uo]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[Uo]=ce(t._locale,t._a[Uo],t._meridiem),de(t),oe(t)}function ce(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function pe(t){var e,i,o,n,s;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function je(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=ve(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function He(){return!!this.isValid()&&!this._isUTC}function We(){return!!this.isValid()&&this._isUTC}function Ye(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ge(t,e){var i,o,n,s=t,a=null;return De(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=En.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:_(a[Vo])*i,h:_(a[Uo])*i,m:_(a[qo])*i,s:_(a[Xo])*i,ms:_(Ce(1e3*a[Zo]))*i}):(a=Pn.exec(t))?(i="-"===a[1]?-1:1,s={y:Ve(a[2],i),M:Ve(a[3],i),w:Ve(a[4],i),d:Ve(a[5],i),h:Ve(a[6],i),m:Ve(a[7],i),s:Ve(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=qe(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Me(s),De(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function Ve(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Ue(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function qe(t,e){var i;return t.isValid()&&e.isValid()?(e=Pe(e,t),t.isBefore(e)?i=Ue(t,e):(i=Ue(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Xe(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(O(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ge(i,o),Ze(this,n,t),this}}function Ze(t,i,o,n){var s=i._milliseconds,r=Ce(i._days),a=Ce(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&W(t,"Date",H(t,"Date")+r*o),a&&dt(t,H(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function Ke(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Je(t,i){var o=t||be(),n=Pe(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Qe(){return new g(this)}function $e(t,e){var i=y(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=A(s(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()9999?Z(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):S(Date.prototype.toISOString)?this.toDate().toISOString():Z(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function di(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var i="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(i+o+"-MM-DD[T]HH:mm:ss.SSS"+n)}function li(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var i=Z(this,t);return this.localeData().postformat(i)}function ui(t,e){return this.isValid()&&(y(t)&&t.isValid()||be(t).isValid())?Ge({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function ci(t){return this.from(be(),t)}function pi(t,e){return this.isValid()&&(y(t)&&t.isValid()||be(t).isValid())?Ge({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function fi(t){return this.to(be(),t)}function mi(t){var e;return void 0===t?this._locale._abbr:(e=ee(t),null!=e&&(this._locale=e),this)}function vi(){return this._locale}function gi(t){switch(t=A(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this}function yi(t){return void 0===(t=A(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function bi(){return this._d.valueOf()-6e4*(this._offset||0)}function _i(){return Math.floor(this.valueOf()/1e3)}function wi(){return new Date(this.valueOf())}function xi(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function ki(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Oi(){return this.isValid()?this.toISOString():null}function Si(){return f(this)}function Mi(){return l({},p(this))}function Di(){return p(this).overflow}function Ci(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ti(t,e){U(0,[t,t.length],0,e)}function Ei(t){return Ri.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Pi(t){return Ri.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Ii(){return kt(this.year(),1,4)}function Ni(){var t=this.localeData()._week;return kt(this.year(),t.dow,t.doy)}function Ri(t,e,i,o,n){var s;return null==t?xt(this,o,n).year:(s=kt(t,o,n),e>s&&(e=s),zi.call(this,t,e,i,o,n))}function zi(t,e,i,o,n){var s=wt(t,e,i,o,n),r=bt(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ai(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Li(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Fi(t,e){e[Zo]=_(1e3*("0."+t))}function Bi(){return this._isUTC?"UTC":""}function ji(){return this._isUTC?"Coordinated Universal Time":""}function Hi(t){return be(1e3*t)}function Wi(){return be.apply(null,arguments).parseZone()}function Yi(t){return t}function Gi(t,e,i,o){var n=ee(),s=u().set(o,e);return n[i](s,t)}function Vi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Gi(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Gi(t,o,i,"month");return n}function Ui(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ee(),s=t?n._week.dow:0;if(null!=i)return Gi(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Gi(e,(a+s)%7,o,"day");return h}function qi(t,e){return Vi(t,e,"months")}function Xi(t,e){return Vi(t,e,"monthsShort")}function Zi(t,e,i){return Ui(t,e,i,"weekdays")}function Ki(t,e,i){return Ui(t,e,i,"weekdaysShort")}function Ji(t,e,i){return Ui(t,e,i,"weekdaysMin")}function Qi(){var t=this._data +;return this._milliseconds=Wn(this._milliseconds),this._days=Wn(this._days),this._months=Wn(this._months),t.milliseconds=Wn(t.milliseconds),t.seconds=Wn(t.seconds),t.minutes=Wn(t.minutes),t.hours=Wn(t.hours),t.months=Wn(t.months),t.years=Wn(t.years),this}function $i(t,e,i,o){var n=Ge(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function to(t,e){return $i(this,t,e,1)}function eo(t,e){return $i(this,t,e,-1)}function io(t){return t<0?Math.floor(t):Math.ceil(t)}function oo(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*io(so(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=b(s/1e3),h.seconds=t%60,e=b(t/60),h.minutes=e%60,i=b(e/60),h.hours=i%24,r+=b(i/24),n=b(no(r)),a+=n,r-=io(so(n)),o=b(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function no(t){return 4800*t/146097}function so(t){return 146097*t/4800}function ro(t){if(!this.isValid())return NaN;var e,i,o=this._milliseconds;if("month"===(t=A(t))||"year"===t)return e=this._days+o/864e5,i=this._months+no(e),"month"===t?i:i/12;switch(e=this._days+Math.round(so(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function ao(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12):NaN}function ho(t){return function(){return this.as(t)}}function lo(t){return t=A(t),this.isValid()?this[t+"s"]():NaN}function uo(t){return function(){return this.isValid()?this._data[t]:NaN}}function co(){return b(this.days()/7)}function po(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function fo(t,e,i){var o=Ge(t).abs(),n=ns(o.as("s")),s=ns(o.as("m")),r=ns(o.as("h")),a=ns(o.as("d")),h=ns(o.as("M")),d=ns(o.as("y")),l=n<=ss.ss&&["s",n]||n0,l[4]=i,po.apply(null,l)}function mo(t){return void 0===t?ns:"function"==typeof t&&(ns=t,!0)}function vo(t,e){return void 0!==ss[t]&&(void 0===e?ss[t]:(ss[t]=e,"s"===t&&(ss.ss=e-1),!0))}function go(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),i=fo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function yo(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,o=rs(this._milliseconds)/1e3,n=rs(this._days),s=rs(this._months);t=b(o/60),e=b(t/60),o%=60,t%=60,i=b(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var bo,_o;_o=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var sn=j("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),F("week",5),F("isoWeek",5),J("w",/\d\d?/),J("ww",/\d\d?/,/\d\d/),J("W",/\d\d?/),J("WW",/\d\d?/,/\d\d/),it(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=_(t)});var rn={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),U("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),U("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),J("d",/\d\d?/),J("e",/\d\d?/),J("E",/\d\d?/),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),it(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:p(i).invalidWeekday=t}),it(["d","e","E"],function(t,e,i,o){e[o]=_(t)});var an="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),hn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),dn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ln=jo,un=jo,cn=jo;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Yt),U("k",["kk",2],0,Gt),U("hmm",0,0,function(){return""+Yt.apply(this)+V(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Yt.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)}),Vt("a",!0),Vt("A",!1),z("hour","h"),F("hour",13),J("a",Ut),J("A",Ut),J("H",/\d\d?/),J("h",/\d\d?/),J("k",/\d\d?/),J("HH",/\d\d?/,/\d\d/),J("hh",/\d\d?/,/\d\d/),J("kk",/\d\d?/,/\d\d/),J("hmm",/\d\d\d\d?/),J("hmmss",/\d\d\d\d\d\d?/),J("Hmm",/\d\d\d\d?/),J("Hmmss",/\d\d\d\d\d\d?/),et(["H","HH"],Uo),et(["k","kk"],function(t,e,i){var o=_(t);e[Uo]=24===o?0:o}),et(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),et(["h","hh"],function(t,e,i){e[Uo]=_(t),p(i).bigHour=!0}),et("hmm",function(t,e,i){var o=t.length-2;e[Uo]=_(t.substr(0,o)),e[qo]=_(t.substr(o)),p(i).bigHour=!0}),et("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Uo]=_(t.substr(0,o)),e[qo]=_(t.substr(o,2)),e[Xo]=_(t.substr(n)),p(i).bigHour=!0}),et("Hmm",function(t,e,i){var o=t.length-2;e[Uo]=_(t.substr(0,o)),e[qo]=_(t.substr(o))}),et("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Uo]=_(t.substr(0,o)),e[qo]=_(t.substr(o,2)),e[Xo]=_(t.substr(n))});var pn,fn=j("Hours",!0),mn={calendar:Co,longDateFormat:To,invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:Eo,months:tn,monthsShort:en,week:rn,weekdays:an,weekdaysMin:dn,weekdaysShort:hn,meridiemParse:/[ap]\.?m?\.?/i},vn={},gn={},yn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,bn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_n=/Z|[+-]\d\d(?::?\d\d)?/,wn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],xn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],kn=/^\/?Date\((\-?\d+)/i,On=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;e.createFromInputFallback=k("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var Sn=k("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),Dn=function(){return Date.now?Date.now():+new Date},Cn=["year","quarter","month","week","day","hour","minute","second","millisecond"];Te("Z",":"),Te("ZZ",""),J("Z",Bo),J("ZZ",Bo),et(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Ee(Bo,t)});var Tn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var En=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Pn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ge.fn=Me.prototype,Ge.invalid=Se;var In=Xe(1,"add"),Nn=Xe(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Rn=k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ti("gggg","weekYear"),Ti("ggggg","weekYear"),Ti("GGGG","isoWeekYear"),Ti("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),J("G",/[+-]?\d+/),J("g",/[+-]?\d+/),J("GG",/\d\d?/,/\d\d/),J("gg",/\d\d?/,/\d\d/),J("GGGG",/\d{1,4}/,/\d{4}/),J("gggg",/\d{1,4}/,/\d{4}/),J("GGGGG",/[+-]?\d{1,6}/,Lo),J("ggggg",/[+-]?\d{1,6}/,Lo),it(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=_(t)}),it(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),U("Q",0,"Qo","quarter"),z("quarter","Q"),F("quarter",7),J("Q",/\d/),et("Q",function(t,e){e[Go]=3*(_(t)-1)}),U("D",["DD",2],"Do","date"),z("date","D"),F("date",9),J("D",/\d\d?/),J("DD",/\d\d?/,/\d\d/),J("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),et(["D","DD"],Vo),et("Do",function(t,e){e[Vo]=_(t.match(/\d\d?/)[0],10)});var zn=j("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),F("dayOfYear",4),J("DDD",/\d{1,3}/),J("DDDD",/\d{3}/),et(["DDD","DDDD"],function(t,e,i){i._dayOfYear=_(t)}),U("m",["mm",2],0,"minute"),z("minute","m"),F("minute",14),J("m",/\d\d?/),J("mm",/\d\d?/,/\d\d/),et(["m","mm"],qo);var An=j("Minutes",!1);U("s",["ss",2],0,"second"),z("second","s"),F("second",15),J("s",/\d\d?/),J("ss",/\d\d?/,/\d\d/),et(["s","ss"],Xo);var Ln=j("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),F("millisecond",16),J("S",/\d{1,3}/,/\d/),J("SS",/\d{1,3}/,/\d\d/),J("SSS",/\d{1,3}/,/\d{3}/);var Fn;for(Fn="SSSS";Fn.length<=9;Fn+="S")J(Fn,/\d+/);for(Fn="S";Fn.length<=9;Fn+="S")et(Fn,Fi);var Bn=j("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var jn=g.prototype;jn.add=In,jn.calendar=Je,jn.clone=Qe,jn.diff=si,jn.endOf=yi,jn.format=li,jn.from=ui,jn.fromNow=ci,jn.to=pi,jn.toNow=fi,jn.get=Y,jn.invalidAt=Di,jn.isAfter=$e,jn.isBefore=ti,jn.isBetween=ei,jn.isSame=ii,jn.isSameOrAfter=oi,jn.isSameOrBefore=ni,jn.isValid=Si,jn.lang=Rn,jn.locale=mi,jn.localeData=vi,jn.max=Mn,jn.min=Sn,jn.parsingFlags=Mi,jn.set=G,jn.startOf=gi,jn.subtract=Nn,jn.toArray=xi,jn.toObject=ki,jn.toDate=wi,jn.toISOString=hi,jn.inspect=di,jn.toJSON=Oi,jn.toString=ai,jn.unix=_i,jn.valueOf=bi,jn.creationData=Ci,jn.year=sn,jn.isLeapYear=gt,jn.weekYear=Ei,jn.isoWeekYear=Pi,jn.quarter=jn.quarters=Ai,jn.month=lt,jn.daysInMonth=ut,jn.week=jn.weeks=Dt,jn.isoWeek=jn.isoWeeks=Ct,jn.weeksInYear=Ni,jn.isoWeeksInYear=Ii,jn.date=zn,jn.day=jn.days=At,jn.weekday=Lt,jn.isoWeekday=Ft,jn.dayOfYear=Li,jn.hour=jn.hours=fn,jn.minute=jn.minutes=An,jn.second=jn.seconds=Ln,jn.millisecond=jn.milliseconds=Bn,jn.utcOffset=Ne,jn.utc=ze,jn.local=Ae,jn.parseZone=Le,jn.hasAlignedHourOffset=Fe,jn.isDST=Be,jn.isLocal=He,jn.isUtcOffset=We,jn.isUtc=Ye,jn.isUTC=Ye,jn.zoneAbbr=Bi,jn.zoneName=ji,jn.dates=k("dates accessor is deprecated. Use date instead.",zn),jn.months=k("months accessor is deprecated. Use month instead",lt),jn.years=k("years accessor is deprecated. Use year instead",sn),jn.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Re),jn.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",je);var Hn=C.prototype;Hn.calendar=T,Hn.longDateFormat=E,Hn.invalidDate=P,Hn.ordinal=I,Hn.preparse=Yi,Hn.postformat=Yi,Hn.relativeTime=N,Hn.pastFuture=R,Hn.set=M,Hn.months=st,Hn.monthsShort=rt,Hn.monthsParse=ht,Hn.monthsRegex=pt,Hn.monthsShortRegex=ct,Hn.week=Ot,Hn.firstDayOfYear=Mt,Hn.firstDayOfWeek=St,Hn.weekdays=Pt,Hn.weekdaysMin=Nt,Hn.weekdaysShort=It,Hn.weekdaysParse=zt,Hn.weekdaysRegex=Bt,Hn.weekdaysShortRegex=jt,Hn.weekdaysMinRegex=Ht,Hn.isPM=qt,Hn.meridiem=Xt,Qt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=k("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=k("moment.langData is deprecated. Use moment.localeData instead.",ee);var Wn=Math.abs,Yn=ho("ms"),Gn=ho("s"),Vn=ho("m"),Un=ho("h"),qn=ho("d"),Xn=ho("w"),Zn=ho("M"),Kn=ho("y"),Jn=uo("milliseconds"),Qn=uo("seconds"),$n=uo("minutes"),ts=uo("hours"),es=uo("days"),is=uo("months"),os=uo("years"),ns=Math.round,ss={ss:44,s:45,m:45,h:22,d:26,M:11},rs=Math.abs,as=Me.prototype;return as.isValid=Oe,as.abs=Qi,as.add=to,as.subtract=eo,as.as=ro,as.asMilliseconds=Yn,as.asSeconds=Gn,as.asMinutes=Vn,as.asHours=Un,as.asDays=qn,as.asWeeks=Xn,as.asMonths=Zn,as.asYears=Kn,as.valueOf=ao,as._bubble=oo,as.get=lo,as.milliseconds=Jn,as.seconds=Qn,as.minutes=$n,as.hours=ts,as.days=es,as.weeks=co,as.months=is,as.years=os,as.humanize=go,as.toISOString=yo,as.toString=yo,as.toJSON=yo,as.locale=mi,as.localeData=vi,as.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",yo),as.lang=Rn,U("X",0,0,"unix"),U("x",0,0,"valueOf"),J("x",/[+-]?\d+/),J("X",/[+-]?\d+(\.\d{1,3})?/),et("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),et("x",function(t,e,i){i._d=new Date(_(t))}),e.version="2.18.0",function(t){bo=t}(be),e.fn=jn,e.min=we,e.max=xe,e.now=Dn,e.utc=u,e.unix=Hi,e.months=qi,e.isDate=a,e.locale=Qt,e.invalid=m,e.duration=Ge,e.isMoment=y,e.weekdays=Zi,e.parseZone=Wi,e.localeData=ee,e.isDuration=De,e.monthsShort=Xi,e.weekdaysMin=Ji,e.defineLocale=$t,e.updateLocale=te,e.locales=ie,e.weekdaysShort=Ki,e.normalizeUnits=A,e.relativeTimeRounding=mo,e.relativeTimeThreshold=vo,e.calendarFormat=Ke,e.prototype=jn,e})}).call(e,i(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=85},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;p<6;p++)s[n+p]=c[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:void 0!==e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e,i){e.util=i(1),e.DOMutil=i(88),e.DataSet=i(89),e.DataView=i(93),e.Queue=i(92),e.Graph3d=i(94),e.graph3d={Camera:i(102),Filter:i(107),Point2d:i(101),Point3d:i(100),Slider:i(108),StepNumber:i(109)},e.moment=i(82),e.Hammer=i(112),e.keycharm=i(115)},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){n<0&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(58),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(89);o.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;os)&&(o=s)}return o},o.prototype.getColumnRange=function(t,e){for(var i=new g,o=0;o0&&(h[n-1].pointNext=r),h.push(r);return h},o.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),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);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),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,i=function(t){e._onMouseDown(t)},o=function(t){e._onTouchStart(t)},n=function(t){e._onWheel(t)},s=function(t){e._onTooltip(t)},r=function(t){e._onClick(t)};u.addEventListener(this.frame.canvas,"mousedown",i),u.addEventListener(this.frame.canvas,"touchstart",o),u.addEventListener(this.frame.canvas,"mousewheel",n),u.addEventListener(this.frame.canvas,"mousemove",s),u.addEventListener(this.frame.canvas,"click",r),this.containerElement.appendChild(this.frame)},o.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},o.prototype._resizeCanvas=function(){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.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},o.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},o.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},o.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},o.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},o.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},o.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setOptions=function(t){this.animationStop(),y.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case o.STYLE.BAR:t=o.prototype._redrawBarGraphPoint;break;case o.STYLE.BARCOLOR:t=o.prototype._redrawBarColorGraphPoint;break;case o.STYLE.BARSIZE:t=o.prototype._redrawBarSizeGraphPoint;break;case o.STYLE.DOT:t=o.prototype._redrawDotGraphPoint;break;case o.STYLE.DOTLINE:t=o.prototype._redrawDotLineGraphPoint;break;case o.STYLE.DOTCOLOR:t=o.prototype._redrawDotColorGraphPoint;break;case o.STYLE.DOTSIZE:t=o.prototype._redrawDotSizeGraphPoint;break;case o.STYLE.SURFACE:t=o.prototype._redrawSurfaceGraphPoint;break;case o.STYLE.GRID:t=o.prototype._redrawGridGraphPoint;break;case o.STYLE.LINE:t=o.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},o.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},o.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},o.prototype._redrawClear=function(){var t=this.frame.canvas;t.getContext("2d").clearRect(0,0,t.width,t.height)},o.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},o.prototype._getLegendWidth=function(){var t;if(this.style===o.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===o.STYLE.BARSIZE?this.xBarWidth:20;return t},o.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==o.STYLE.LINE&&this.style!==o.STYLE.BARSIZE){var t=this.style===o.STYLE.BARSIZE||this.style===o.STYLE.DOTSIZE,e=this.style===o.STYLE.DOTSIZE||this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),n=this.margin,s=this._getLegendWidth(),r=this.frame.clientWidth-this.margin,a=r-s,h=n+i,d=this._getContext();if(d.lineWidth=1,d.font="14px arial",t===!1){var l,u=i;for(l=0;l0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelY=function(t,e,i,o,n){void 0===n&&(n=0);var s=this._convert3Dto2D(e);Math.cos(2*o)<0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelZ=function(t,e,i,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,n.x-o,n.y)},o.prototype._line3d=function(t,e,i,o){var n=this._convert3Dto2D(e),s=this._convert3Dto2D(i);this._line(t,n,s,o)},o.prototype._redrawAxis=function(){var t,e,i,o,n,s,r,a,h,d,l,u=this._getContext();u.font=24/this.camera.getArmLength()+"px arial";var f=.025/this.scale.x,m=.025/this.scale.y,g=5/this.camera.getArmLength(),y=this.camera.getArmRotation().horizontal,b=new p(Math.cos(y),Math.sin(y)),_=this.xRange,w=this.yRange,x=this.zRange;for(u.lineWidth=1,o=void 0===this.defaultXStep,i=new v(_.min,_.max,this.xStep,o),i.start(!0);!i.end();){var k=i.getCurrent();if(this.showGrid?(t=new c(k,w.min,x.min),e=new c(k,w.max,x.min),this._line3d(u,t,e,this.gridColor)):this.showXAxis&&(t=new c(k,w.min,x.min),e=new c(k,w.min+f,x.min),this._line3d(u,t,e,this.axisColor),t=new c(k,w.max,x.min),e=new c(k,w.max-f,x.min),this._line3d(u,t,e,this.axisColor)),this.showXAxis){r=b.x>0?w.min:w.max;var O=new c(k,r,x.min),S=" "+this.xValueLabel(k)+" ";this.drawAxisLabelX(u,O,S,y,g)}i.next()}for(u.lineWidth=1,o=void 0===this.defaultYStep,i=new v(w.min,w.max,this.yStep,o),i.start(!0);!i.end();){var M=i.getCurrent();if(this.showGrid?(t=new c(_.min,M,x.min),e=new c(_.max,M,x.min),this._line3d(u,t,e,this.gridColor)):this.showYAxis&&(t=new c(_.min,M,x.min),e=new c(_.min+m,M,x.min),this._line3d(u,t,e,this.axisColor),t=new c(_.max,M,x.min),e=new c(_.max-m,M,x.min),this._line3d(u,t,e,this.axisColor)),this.showYAxis){s=b.y>0?_.min:_.max,O=new c(s,M,x.min);var S=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(u,O,S,y,g)}i.next()}if(this.showZAxis){for(u.lineWidth=1,o=void 0===this.defaultZStep,i=new v(x.min,x.max,this.zStep,o),i.start(!0),s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max;!i.end();){var D=i.getCurrent(),C=new c(s,r,D),T=this._convert3Dto2D(C);e=new p(T.x-g,T.y),this._line(u,T,e,this.axisColor);var S=this.zValueLabel(D)+" ";this.drawAxisLabelZ(u,C,S,5),i.next()}u.lineWidth=1,t=new c(s,r,x.min),e=new c(s,r,x.max),this._line3d(u,t,e,this.axisColor)}if(this.showXAxis){var E,P;u.lineWidth=1,E=new c(_.min,w.min,x.min),P=new c(_.max,w.min,x.min),this._line3d(u,E,P,this.axisColor),E=new c(_.min,w.max,x.min),P=new c(_.max,w.max,x.min),this._line3d(u,E,P,this.axisColor)}this.showYAxis&&(u.lineWidth=1,t=new c(_.min,w.min,x.min),e=new c(_.min,w.max,x.min),this._line3d(u,t,e,this.axisColor),t=new c(_.max,w.min,x.min),e=new c(_.max,w.max,x.min),this._line3d(u,t,e,this.axisColor));var I=this.xLabel;I.length>0&&this.showXAxis&&(l=.1/this.scale.y,s=(_.max+3*_.min)/4,r=b.x>0?w.min-l:w.max+l,n=new c(s,r,x.min),this.drawAxisLabelX(u,n,I,y));var N=this.yLabel;N.length>0&&this.showYAxis&&(d=.1/this.scale.x,s=b.y>0?_.min-d:_.max+d,r=(w.max+3*w.min)/4,n=new c(s,r,x.min),this.drawAxisLabelY(u,n,N,y));var R=this.zLabel;R.length>0&&this.showZAxis&&(h=30,s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max,a=(x.max+3*x.min)/4,n=new c(s,r,a),this.drawAxisLabelZ(u,n,R,h))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},o.prototype._redrawBar=function(t,e,i,o,n,s){var r,a,h=this,d=e.point,l=this.zRange.min,u=[{point:new c(d.x-i,d.y-o,d.z)},{point:new c(d.x+i,d.y-o,d.z)},{point:new c(d.x+i,d.y+o,d.z)},{point:new c(d.x-i,d.y+o,d.z)}],p=[{point:new c(d.x-i,d.y-o,l)},{point:new c(d.x+i,d.y-o,l)},{point:new c(d.x+i,d.y+o,l)},{point:new c(d.x-i,d.y+o,l)}];u.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),p.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var f=[{corners:u,center:c.avg(p[0].point,p[2].point)},{corners:[u[0],u[1],p[1],p[0]],center:c.avg(p[1].point,p[0].point)},{corners:[u[1],u[2],p[2],p[1]],center:c.avg(p[2].point,p[1].point)},{corners:[u[2],u[3],p[3],p[2]],center:c.avg(p[3].point,p[2].point)},{corners:[u[3],u[0],p[0],p[3]],center:c.avg(p[0].point,p[3].point)}];for(e.surfaces=f,r=0;r0}if(a){var p,f=(e.point.z+i.point.z+o.point.z+n.point.z)/4,m=240*(1-(f-this.zRange.min)*this.scale.z/this.verticalRatio);this.showShadow?(p=Math.min(1+l.x/u/2,1),s=this._hsv2rgb(m,1,p),r=s):(p=1,s=this._hsv2rgb(m,1,p),r=this.axisColor)}else s="gray",r=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var v=[e,i,n,o];this._polygon(t,v,s,r)}},o.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var o=(e.point.z+i.point.z)/2,n=240*(1-(o-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(n,1,1),this._line(t,e.screen,i.screen)}},o.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},o.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},o.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=null,s=null,r=null,a=new p(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var h=n.surfaces;if(h)for(var d=h.length-1;d>=0;d--){var l=h[d],u=l.corners,c=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(a,c)||this._insideTriangle(a,f))return n}}else for(i=0;i"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+t.point.z+"",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,h=o.offsetWidth,d=o.offsetHeight,l=t.screen.x-n/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=l+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-h/2+"px",o.style.top=t.screen.y-d/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},o.prototype.setCameraPosition=function(t){y.setCameraPosition(t,this),this.redraw()},o.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=o},function(t,e,i){t.exports={default:i(96),__esModule:!0}},function(t,e,i){i(97),t.exports=i(17).Object.assign},function(t,e,i){var o=i(15);o(o.S+o.F,"Object",{assign:i(98)})},function(t,e,i){var o=i(35),n=i(73),s=i(74),r=i(49),a=i(10),h=Object.assign;t.exports=!h||i(26)(function(){var t={},e={},i=Symbol(),o="abcdefghijklmnopqrst";return t[i]=7,o.split("").forEach(function(t){e[t]=t}),7!=h({},t)[i]||Object.keys(h({},e)).join("")!=o})?function(t,e){for(var i=r(t),h=arguments.length,d=1,l=n.f,u=s.f;h>d;)for(var c,p=a(arguments[d++]),f=l?o(p).concat(l(p)):o(p),m=f.length,v=0;m>v;)u.call(p,c=f[v++])&&(i[c]=p[c]);return i}:h},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 o,n=0;nr&&(t=o(t)*r),i(e)>r&&(e=o(e)*r),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},o.prototype.getOffset=function(t,e){return this.cameraOffset},o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),void 0===t&&void 0===e||this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),i=this.cameraOffset.x,o=this.cameraOffset.y,n=Math.sin,s=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*s(e)+o*-n(e)*s(t),this.cameraLocation.y=this.cameraLocation.y+i*n(e)+o*s(e)*s(t),this.cameraLocation.z=this.cameraLocation.z+o*n(t)},t.exports=o},function(t,e,i){t.exports={default:i(104),__esModule:!0}},function(t,e,i){i(105),t.exports=i(17).Math.sign},function(t,e,i){var o=i(15);o(o.S,"Math",{sign:i(106)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:t0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(93);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){if(void 0!==this.index)return this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(tthis.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10;return t/(this.values.length-1)*e+3},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e){function i(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}i.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},i.prototype.setRange=function(t,e,i,o){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(i))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),s<=0&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=i},function(t,e){function i(){this.min=void 0,this.max=void 0}i.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxi)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=i}},i.prototype.range=function(){return this.max-this.min},i.prototype.center=function(){return(this.min+this.max)/2},t.exports=i},function(t,e,i){function o(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function n(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+n(e)}function r(t,e,i,o){var n,r;for(var a in i)n=i[a],r=s(o,n),e[r]=t[n]}function a(t,e,i,o){var n,r;for(var a in i)n=i[a],void 0!==t[n]&&(r=s(o,n),e[r]=t[n])}function h(t,e){if(void 0===t||o(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");D=t,r(t,e,S),r(t,e,M,"default"),l(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new x(0,0,-1)}function d(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===D||o(D))throw new Error("DEFAULTS not set for module Settings");a(t,e,S),a(t,e,M,"default"),l(t,e)}}function l(t,e){void 0!==t.backgroundColor&&m(t.backgroundColor,e),v(t.dataColor,e),f(t.style,e),u(t.showLegend,e),g(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick),void 0!==t.tooltipStyle&&_.selectiveDeepExtend(["tooltipStyle"],e,t)}function u(t,e){if(void 0===t){if(void 0===D.showLegend){var i=e.style===k.DOTCOLOR||e.style===k.DOTSIZE;e.showLegend=i}}else e.showLegend=t}function c(t){var e=O[t];return void 0===e?-1:e}function p(t){var e=!1;for(var i in k)if(k[i]===t){e=!0;break}return e}function f(t,e){if(void 0!==t){var i;if("string"==typeof t){if((i=c(t))===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!p(t))throw new Error("Style '"+t+"' is invalid");i=t}e.style=i}}function m(t,e){var i="white",o="gray",n=1;if("string"==typeof t)i=t,o="none",n=0;else{if("object"!==(void 0===t?"undefined":(0,b.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(i=t.fill),void 0!==t.stroke&&(o=t.stroke),void 0!==t.strokeWidth&&(n=t.strokeWidth)}e.frame.style.backgroundColor=i,e.frame.style.borderColor=o,e.frame.style.borderWidth=n+"px",e.frame.style.borderStyle="solid"}function v(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function g(t,e){var i=t;void 0!==i&&(void 0===e.camera&&(e.camera=new w),e.camera.setArmRotation(i.horizontal,i.vertical),e.camera.setArmLength(i.distance))}var y=i(62),b=function(t){return t&&t.__esModule?t:{default:t}}(y),_=i(1),w=i(102),x=i(100),k={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},O={dot:k.DOT,"dot-line":k.DOTLINE,"dot-color":k.DOTCOLOR,"dot-size":k.DOTSIZE,line:k.LINE,grid:k.GRID,surface:k.SURFACE,bar:k.BAR,"bar-color":k.BARCOLOR,"bar-size":k.BARSIZE},S=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],M=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],D=void 0;t.exports.STYLE=k,t.exports.setDefaults=h,t.exports.setOptions=d,t.exports.setCameraPosition=g},function(t,e,i){if("undefined"!=typeof window){var o=i(113),n=window.Hammer||i(114);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(p(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ft(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=R(o);e.timeStamp=_t(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=F(a,h),e.distance=L(a,h),P(i,e),e.offsetDirection=A(e.deltaX,e.deltaY);var d=z(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=bt(d.x)>bt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?B(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Tt&&s.eventType!==Pt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=It&&(h>Ct||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=z(h,d,l);o=u.x,n=u.y,i=bt(u.x)>bt(u.y)?u.x:u.y,s=A(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;i=bt(e)?t<0?Rt:zt:e<0?At:Lt}function L(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function F(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function B(t,e){return F(e[1],e[0],Wt)+F(t[1],t[0],Wt)}function j(t,e){return L(e[0],e[1],Wt)/L(t[0],t[1],Wt)}function H(){this.evEl=Gt,this.evWin=Vt,this.pressed=!1,D.apply(this,arguments)}function W(){this.evEl=Xt,this.evWin=Zt,D.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Jt,this.evWin=Qt,this.started=!1,D.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Pt|It)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=te,this.targetIds={},D.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Tt|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Tt)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,ee)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;o=fe&&e(i.options.event+tt(o))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return ot.prototype.attrTest.call(this,t)&&(this.state&ce||!(this.state&ce)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=et(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(st,ot,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ce)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(rt,$,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Pt|It)&&!n)this.reset();else if(t.eventType&Tt)this.reset(),this._timer=h(function(){this.state=me,this.tryEmit()},e.time,this);else if(t.eventType&Pt)return me;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===me&&(t&&t.eventType&Pt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=_t(),this.manager.emit(this.options.event,this._input)))}}),c(at,ot,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ce)}}),c(ht,ot,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Ft|Bt,pointers:1},getTouchAction:function(){return nt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Ft|Bt)?e=t.overallVelocity:i&Ft?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&bt(e)>this.options.velocity&&t.eventType&Pt},emit:function(t){var e=et(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(dt,$,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=!e||void 0===e.animation||e.animation;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=!t||void 0===t.animation||t.animation,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,n=null;if(null!=e&&null!=i){var s=function(t){return l.convert(t.data.start,"Date").valueOf()},r=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()},a=i-e;a<=0&&(a=10);var h=a/this.props.center.width;if(l.forEach(this.itemSet.items,function(t){t.groupShowing&&(t.show(),t.repositionX());var a=s(t),d=r(t);if(this.options.rtl)var l=a-(t.getWidthRight()+10)*h,u=d+(t.getWidthLeft()+10)*h;else var l=a-(t.getWidthLeft()+10)*h,u=d+(t.getWidthRight()+10)*h;li&&(i=u,n=t)}.bind(this)),o&&n){var d=o.getWidthLeft()+10,u=n.getWidthRight()+10,c=this.props.center.width-d-u;c>0&&(this.options.rtl?(e=s(o)-u*a/c,i=r(n)+d*a/c):(e=s(o)-d*a/c,i=r(n)+u*a/c))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=g.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),c=this._toTime(o),p=h?h(c,d,u):c,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:c,snappedTime:p}},n.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(90),s=o(n),r=i(62),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(124),p=o(c),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new p.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===(void 0===t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(this.options.showButton===!0){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,o.innerHTML=i===!0?""+t+":":t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(1.2*e),d=a.max,h="range increased"),a.value=e}else a.value=o;var l=document.createElement("input");l.className="vis-configuration vis-config-rangeinput",l.value=a.value;var u=this;a.onchange=function(){l.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){l.value=this.value};var c=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,c,a,l);""!==h&&this.popupHistory[p]!==d&&(this.popupHistory[p]=d,this._setupPopup(h,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e))===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),c=this._getValue(u);if(c===!0){var p=this._makeLabel(r,h,!0);this._makeItem(h,p),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,c,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={ +black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this;(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])===!0&&(this.initialColor=c.extend({},t)),this.color=t;var e=c.RGBToHSV(t.r,t.g,t.b),i=2*Math.PI,o=this.r*e.s,n=this.centerCoordinates.x+o*Math.sin(i*e.h),s=this.centerCoordinates.y+o*Math.cos(i*e.h);this.colorPickerSelector.style.left=n-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=s-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/this.r,d=void 0;for(s=0;s<360;s++)for(r=0;rs.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),g):n.distance<=8?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),g):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),g),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,d=c.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?c.convert(t,"Date").valueOf():null,r=void 0!=e?c.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,p=this.end,f="object"===(void 0===i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,v="object"===(void 0===i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",g=c.easingFunctions[v];if(!g)throw new Error("Unknown easing function "+(0,d.default)(v)+". Choose from: "+(0,a.default)(c.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1;return function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=g(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,c=d||null===r?r:p+(r-p)*a;_=h._applyRange(u,c),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||_;var v={start:new Date(h.start),end:new Date(h.end),byUser:o,event:n};_&&h.body.emitter.emit("rangechange",v),d?b&&h.body.emitter.emit("rangechanged",v):h.animationTimer=setTimeout(t,20)}}()}var _=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),_){var w={start:new Date(this.start),end:new Date(this.end),byUser:o,event:n};this.body.emitter.emit("rangechange",w),this.body.emitter.emit("rangechanged",w)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?c.convert(t,"Date").valueOf():this.start,n=null!=e?c.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?c.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?c.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-.5&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var h=parseFloat(this.options.zoomMax);h<0&&(h=0),n-o>h&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start;o-=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var n="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var r=i/n*o;else var r=-i/n*o;var a=this.props.touch.start+r,h=this.props.touch.end+r,d=m.snapAwayFromHidden(this.body.hiddenDates,a,this.previousDelta-i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0);if(d!=a||l!=h)return this.deltaDifference+=i,this.props.touch.start=d,this.props.touch.end=l,void this._onDrag(t);this.previousDelta=i,this._applyRange(a,h);var u=new Date(this.start),c=new Date(this.end);this.body.emitter.emit("rangechange",{start:u,end:c,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-c.getAbsoluteLeft(this.body.dom.centerContainer);else var i=c.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:c.getAbsoluteRight(e)-t.x,y:t.y-c.getAbsoluteTop(e)}:{x:t.x-c.getAbsoluteLeft(e),y:t.y-c.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},n.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,null)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=o},function(t,e){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var c=0,p=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;d=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a);return new Date(h+a+t.range.start)},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?o<0?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&t-1||a))return t.dataTransfer.dropEffect="move",a=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{if(!JSON.parse(t.dataTransfer.getData("text")).content)return}catch(t){return!1}return a=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.rollingModeBtn=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.rollingModeBtn.className="vis-rolling-mode-btn",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=c.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={},["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var a=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(c.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new p(this.body);i.setOptions=function(t){var e=t?c.extend({},t):{};e.orientation="top",p.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=c.deepExtend({},this.options);this.components.forEach(function(t){c.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},n.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?c.convert(t,"Date").valueOf():new Date;if(this.customTimes.some(function(t){return t.options.id===e}))throw new Error("A custom time with id "+(0,r.default)(e)+" already exists");var o=new v(this.body,c.extend({},this.options,{time:i,id:e}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e},n.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=!t||void 0===t.animation||t.animation;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=c.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=s/(1+t),a=(s-r)/2,h=o+a,d=n-a;this.setWindow(h,d,e)}},n.prototype.zoomOut=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=o-s*t/2,a=n+s*t/2;this.setWindow(r,a,e)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(c.addClassName(o.root,"vis-top"),c.removeClassName(o.root,"vis-bottom")):(c.removeClassName(o.root,"vis-top"),c.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=c.option.asSize(e.maxHeight,""),o.root.style.minHeight=c.option.asSize(e.minHeight,""),o.root.style.width=c.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=o.root.offsetWidth-o.root.clientWidth,0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(i.borderRootWidth=i.borderRootHeight),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=c.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=c.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});if(t){if(this.redrawCount<5)return void this.body.emitter.emit("_change");console.log("WARNING: infinite loop in redraw?")}else this.redrawCount=0;this.initialDrawDone=!0,this.body.emitter.emit("changed")}},n.prototype._setDOM=function(){var t=this.props,e=this.dom;t.leftContainer.width=t.left.width,t.rightContainer.width=t.right.width;var i=t.root.width-t.left.width-t.right.width-t.borderRootWidth;t.center.width=i,t.centerContainer.width=i,t.top.width=i,t.bottom.width=i,e.background.style.height=t.background.height+"px",e.backgroundVertical.style.height=t.background.height+"px",e.backgroundHorizontal.style.height=t.centerContainer.height+"px",e.centerContainer.style.height=t.centerContainer.height+"px",e.leftContainer.style.height=t.leftContainer.height+"px",e.rightContainer.style.height=t.rightContainer.height+"px",e.background.style.width=t.background.width+"px",e.backgroundVertical.style.width=t.centerContainer.width+"px",e.backgroundHorizontal.style.width=t.background.width+"px",e.centerContainer.style.width=t.center.width+"px",e.top.style.width=t.top.width+"px",e.bottom.style.width=t.bottom.width+"px",e.background.style.left="0",e.background.style.top="0",e.backgroundVertical.style.left=t.left.width+t.border.left+"px",e.backgroundVertical.style.top="0",e.backgroundHorizontal.style.left="0",e.backgroundHorizontal.style.top=t.top.height+"px",e.centerContainer.style.left=t.left.width+"px",e.centerContainer.style.top=t.top.height+"px",e.leftContainer.style.left="0",e.leftContainer.style.top=t.top.height+"px",e.rightContainer.style.left=t.left.width+t.center.width+"px",e.rightContainer.style.top=t.top.height+"px",e.top.style.left=t.left.width+"px",e.top.style.top="0",e.bottom.style.left=t.left.width+"px",e.bottom.style.top=t.top.height+t.centerContainer.height+"px",e.center.style.left="0",e.left.style.left="0",e.right.style.left="0"},n.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},n.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},n.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},n.prototype._toTime=function(t){return m.toTime(this,t,this.props.center.width)},n.prototype._toGlobalTime=function(t){return m.toTime(this,t,this.props.root.width)},n.prototype._toScreen=function(t){return m.toScreen(this,t,this.props.center.width)},n.prototype._toGlobalScreen=function(t){return m.toScreen(this,t,this.props.root.width)},n.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},n.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){if(1!=t.options.autoResize)return void t._stopAutoResize();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.props.scrollbarWidth=c.getScrollBarWidth(),t.body.emitter.emit("_change")))},c.addEventListener(window,"resize",this._onResize),t.dom.root&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)},n.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(c.removeEventListener(window,"resize",this._onResize),this._onResize=null)},n.prototype._onTouch=function(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop},n.prototype._onPinch=function(t){this.touch.allowDragging=!1},n.prototype._onDrag=function(t){if(t&&this.touch.allowDragging){var e=t.deltaY,i=this._getScrollTop(),o=this._setScrollTop(this.touch.initialScrollTop+e);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),o!=i&&this.emit("verticalDrag")}},n.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},n.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("top"!=this.options.orientation.item&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var a=e.get(i.groupId),h=e.get(this.groupTouchParams.group.groupId);h&&a&&(this.options.groupOrderSwap(h,a,e),e.update(h),e.update(a));var d=e.getIds({order:this.options.groupOrder});if(!c.equalArray(d,this.groupTouchParams.originalOrder))for(var l=this.groupTouchParams.originalOrder,u=this.groupTouchParams.group.groupId,p=Math.min(l.length,d.length),m=0,v=0,g=0;m=p)break;if(d[m+v]!=u)if(l[m+g]!=u){var y=d.indexOf(l[m+g]),b=e.get(d[m+v]),_=e.get(l[m+g]);this.options.groupOrderSwap(b,_,e),e.update(b),e.update(_);var w=d[m+v];d[m+v]=l[m+g],d[y]=w,m++}else g=1;else v=1}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=c.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!c.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),o.update(d),o.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){if(e!==this.itemFromRelatedTarget(t)){var i=e.getTitle();if(i){null==this.popup&&(this.popup=new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(i);var o=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-c.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-c.getAbsoluteTop(o)+o.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){e!==this.itemFromRelatedTarget(t)&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){if(this.itemFromTarget(t)&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var e=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-c.getAbsoluteLeft(e)+e.offsetLeft,t.clientY-c.getAbsoluteTop(e)+e.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null;if(!this.itemFromTarget(t)){if(this.options.rtl)var o=c.getAbsoluteRight(this.dom.frame),n=o-t.center.x;else var o=c.getAbsoluteLeft(this.dom.frame),n=t.center.x-o;var s=this.body.util.toTime(n),r=this.body.util.getScale(),a=this.body.util.getStep(),h={start:i?i(s,r,a):s,content:"new item"};if("drop"==t.type){var d=JSON.parse(t.dataTransfer.getData("text"));if(h.content=d.content,h.type=d.type||"box",h[this.itemsData._fieldId]=d.id||c.randomUUID(),"range"==d.type||d.end&&d.start)if(d.end)h.end=d.end,h.start=d.start;else{var l=this.body.util.toTime(n+this.props.width/5);h.end=i?i(l,r,a):l}}else if(h[this.itemsData._fieldId]=c.randomUUID(),"range"===this.options.type){var l=this.body.util.toTime(n+this.props.width/5);h.end=i?i(l,r,a):l}var u=this.groupFromTarget(t);u&&(h.group=u.groupId),h=this._cloneItemData(h),this.options.onAdd(h,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[];if((t.srcEvent&&t.srcEvent.shiftKey||!1)&&this.options.multiselect){var o=this.itemsData.get(e.id).group,s=void 0;this.options.multiselectPerGroup&&i.length>0&&(s=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=s&&s!=o||i.push(e.id);var r=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||s==o){i=[];for(var a in this.items)if(this.items.hasOwnProperty(a)){var h=this.items[a],d=h.data.start,l=void 0!==h.data.end?h.data.end:d;!(d>=r.min&&l<=r.max)||this.options.multiselectPerGroup&&s!=this.itemsData.get(h.id).group||h instanceof x||i.push(h.id)}}}else{var u=i.indexOf(e.id);u==-1?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){31104e9>t&&(this.scale="year",this.step=1e3),15552e9>t&&(this.scale="year",this.step=500),31104e8>t&&(this.scale="year",this.step=100),15552e8>t&&(this.scale="year",this.step=50),31104e7>t&&(this.scale="year",this.step=10),15552e7>t&&(this.scale="year",this.step=5),31104e6>t&&(this.scale="year",this.step=1),7776e6>t&&(this.scale="month",this.step=3),2592e6>t&&(this.scale="month",this.step=1),432e6>t&&(this.scale="day",this.step=5),1728e5>t&&(this.scale="day",this.step=2),864e5>t&&(this.scale="day",this.step=1),432e5>t&&(this.scale="weekday",this.step=1),144e5>t&&(this.scale="hour",this.step=4),36e5>t&&(this.scale="hour",this.step=1),9e5>t&&(this.scale="minute",this.step=15),6e5>t&&(this.scale="minute",this.step=10),3e5>t&&(this.scale="minute",this.step=5),6e4>t&&(this.scale="minute",this.step=1),15e3>t&&(this.scale="second",this.step=15),1e4>t&&(this.scale="second",this.step=10),5e3>t&&(this.scale="second",this.step=5),1e3>t&&(this.scale="second",this.step=1),200>t&&(this.scale="millisecond",this.step=200),100>t&&(this.scale="millisecond",this.step=100),50>t&&(this.scale="millisecond",this.step=50),10>t&&(this.scale="millisecond",this.step=10),5>t&&(this.scale="millisecond",this.step=5),1>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/r%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(o().add(1,"day"),"day")?" vis-tomorrow":t.isSame(o().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"month")?" vis-current-month":""}var o=this.moment,n=this.moment(this.current),s=n.locale?n.locale("en"):n.lang("en"),r=this.step;switch(this.scale){case"millisecond":return e(s)+t(s.milliseconds()).trim();case"second":return e(s)+t(s.seconds()).trim();case"minute":return e(s)+t(s.minutes()).trim();case"hour":return"vis-h"+s.hours()+(4==this.step?"-h"+(s.hours()+4):"")+e(s)+t(s.hours());case"weekday":return"vis-"+s.format("dddd").toLowerCase()+e(s)+function(t){return t.isSame(new Date,"week")?" vis-current-week":""}(s)+t(s.date());case"day":return"vis-day"+s.date()+" vis-"+s.format("MMMM").toLowerCase()+e(s)+i(s)+(this.step<=2?e(s):"")+(this.step<=2?" vis-"+s.format("dddd").toLowerCase():""+t(s.date()-1));case"month":return"vis-"+s.format("MMMM").toLowerCase()+i(s)+t(s.month());case"year":var a=s.year();return"vis-year"+a+function(t){return t.isSame(new Date,"year")?" vis-current-year":""}(s)+t(a);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(58),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(135);i(136);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):this.dom.inner.innerHTML=void 0!==e&&null!==e?e:this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?r.removeClassName(this.dom.inner,"vis-hidden"):r.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups){this.nestedGroups&&this.nestedGroups==t.nestedGroups||(this.nestedGroups=t.nestedGroups),void 0===t.showNested&&void 0!==this.showNested||(0==t.showNested?this.showNested=!1:this.showNested=!0),r.addClassName(this.dom.label,"vis-nesting-group");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";this.showNested?(r.removeClassName(this.dom.label,o),r.addClassName(this.dom.label,"expanded")):(r.removeClassName(this.dom.label,"expanded"),r.addClassName(this.dom.label,o))}else if(this.nestedGroups){this.nestedGroups=null;var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";r.removeClassName(this.dom.label,o),r.removeClassName(this.dom.label,"expanded"),r.removeClassName(this.dom.label,"vis-nesting-group")}t&&t.nestedInGroup&&(r.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null +;n!=this.className&&(this.className&&(r.removeClassName(this.dom.label,this.className),r.removeClassName(this.dom.foreground,this.className),r.removeClassName(this.dom.background,this.className),r.removeClassName(this.dom.axis,this.className)),r.addClassName(this.dom.label,n),r.addClassName(this.dom.foreground,n),r.addClassName(this.dom.background,n),r.addClassName(this.dom.axis,n),this.className=n),this.style&&(r.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(r.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,r.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var h=this;r.forEach(this.items,function(t){t.displayed||(t.redraw(),h.visibleItems.push(t)),t.repositionX(!1)});var d=this.orderedItems.byStart.slice().sort(function(t,e){return h.itemSet.options.order(t.data,e.data)});a.stack(d,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?a.stack(this.visibleItems,e,i):a.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var l=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=r.updateProperty(this,"height",l)||o,o=r.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=r.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=l+"px",this.dom.foreground.style.height=l+"px",this.dom.label.style.height=l+"px";for(var u=0,c=this.visibleItems.length;u0){var e=this;this.resetSubgroups(),r.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},o.prototype._isGroupVisible=function(t,e){return this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(r.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,r.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(this._addToSubgroup(t),this.orderSubgroups()),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype._addToSubgroup=function(t,e){e=e||t.data.subgroup,void 0!=e&&void 0===this.subgroups[e]&&(this.subgroups[e]={height:0,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[e].end)&&(this.subgroups[e].end=t.data.end),this.subgroups[e].items.push(t)},o.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;i=0&&(i.items.splice(o,1),i.items.length?this._updateSubgroupsSizes():delete this.subgroups[e])}}},o.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},o.prototype.order=function(){for(var t=r.toArray(this.items),e=[],i=[],o=0;o0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-i.vertical+.001e.top:t.left-i.horizontal+.001e.left&&t.top-i.vertical+.001e.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(112),i(137));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=this.editable.updateTime||this.editable.updateGroup,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);void 0!==t&&t!==!0||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this._updateEditStatus()}var s=i(62),r=o(s),a=i(58),h=o(a),d=i(112),l=i(1),u=i(82);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setData=function(t){void 0!=t.group&&this.data.group!=t.group&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this._updateEditStatus(),this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new d(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;o+this.parent.top-50<-n?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var s,r;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(r=this.options.tooltipOnItemUpdateTime.template.bind(this),s=r(this.data)):(s="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(s+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=s}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t,this.data)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.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=(0,h.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-it.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-i/2t.start&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups;n[o].index;this.dom.box.style.height=this.parent.subgroups[o].height+"px",this.dom.box.style.top="top"==i?this.parent.top+this.parent.subgroups[o].top+"px":this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:h.FORMAT,moment:l,timeAxis:null},this.options=r.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n=i(62),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(128),h=i(133),d=i(129),l=i(82);o.prototype=new a,o.prototype.setOptions=function(t){t&&(r.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),r.selectiveDeepExtend(["format"],this.options,t), +"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,s.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof l.locale?l.locale(t.locale):l.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=r.convert(this.body.range.start,"Number"),i=r.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new h(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var a=this.dom;a.redundant.lines=a.lines,a.redundant.majorTexts=a.majorTexts,a.redundant.minorTexts=a.minorTexts,a.lines=[],a.majorTexts=[],a.minorTexts=[];var l,c,p,f,m,v,g,y,b=0,_=void 0,w=0;for(s.start(),l=s.getCurrent(),p=this.body.util.toScreen(l);s.hasNext()&&w<1e3;){w++,f=s.isMajor(),y=s.getClassName(),g=s.getLabelMinor(),l,c=p,s.next(),l=s.getCurrent(),s.isMajor(),p=this.body.util.toScreen(l),m=b,b=p-c;var x=b>=.4*m;if(this.options.showMinorLabels&&x){var k=this._repaintMinorText(c,g,t,y);k.style.width=b+"px"}f&&this.options.showMajorLabels?(c>0&&(void 0==_&&(_=c),k=this._repaintMajorText(c,s.getLabelMajor(),t,y)),v=this._repaintMajorLine(c,b,t,y)):x?v=this._repaintMinorLine(c,b,t,y):v&&(v.style.width=parseInt(v.style.width)+b+"px")}if(1e3!==w||u||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),u=!0),this.options.showMajorLabels){var O=this.body.util.toTime(0),S=s.getLabelMajor(O),M=S.length*(this.props.majorCharWidth||10)+10;(void 0==_||M<_)&&this._repaintMajorText(0,S,t,y)}r.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.innerHTML=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createElement("div");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return n.childNodes[0].innerHTML=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",this.dom.majorTexts.push(n),n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return n.style.top="top"==i?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-minor "+o):(n.style.left=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-minor "+o),n.style.width=e+"px",n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return n.style.top="top"==i?"0":this.body.domProps.top.height+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-major "+o):(n.style.left=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-major "+o),n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth};var u=!1;t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this;["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(115),r=i(99),a=i(112),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={moment:a,locales:h,locale:"en",id:void 0,title:void 0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this.setOptions(e),this._create()}var n=i(112),s=i(1),r=i(128),a=i(82),h=i(145);o.prototype=new r,o.prototype.setOptions=function(t){t&&s.selectiveExtend(["moment","locale","locales","id"],this.options,t)},o.prototype._create=function(){function t(t){this.body.range._onMouseWheel(t)}var e=document.createElement("div");e["custom-time"]=this,e.className="vis-custom-time "+(this.options.id||""),e.style.position="absolute",e.style.top="0px",e.style.height="100%",this.bar=e;var i=document.createElement("div");i.style.position="relative",i.style.top="0px",i.style.left="-10px",i.style.height="100%",i.style.width="20px",i.addEventListener?(i.addEventListener("mousewheel",t.bind(this),!1),i.addEventListener("DOMMouseScroll",t.bind(this),!1)):i.attachEvent("onmousewheel",t.bind(this)),e.appendChild(i),this.hammer=new n(i),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:n.DIRECTION_HORIZONTAL})},o.prototype.destroy=function(){this.hide(),this.hammer.destroy(),this.hammer=null,this.body=null},o.prototype.redraw=function(){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),i=this.options.locales.en);var o=this.options.title;return void 0===o?(o=i.time+": "+this.options.moment(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss"),o=o.charAt(0).toUpperCase()+o.substring(1)):"function"==typeof o&&(o=o.call(this.customTime)),this.bar.style.left=e+"px",this.bar.title=o,!1},o.prototype.hide=function(){this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar)},o.prototype.setCustomTime=function(t){this.customTime=s.convert(t,"Date"),this.redraw()},o.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},o.prototype.setCustomTitle=function(t){this.options.title=t},o.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()},o.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=this.body.util.toScreen(this.eventParams.customTime)+t.deltaX,i=this.body.util.toTime(e);this.setCustomTime(i),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf()),event:s.elementsCensor(t)}),t.stopPropagation()}},o.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf()),event:s.elementsCensor(t)}),t.stopPropagation())},o.customTimeFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("custom-time"))return e["custom-time"];e=e.parentNode}return null},t.exports=o},function(t,e){e.en={current:"current",time:"time"},e.en_EN=e.en,e.en_US=e.en,e.it={current:"attuale",time:"tempo"},e.it_IT=e.it,e.it_CH=e.it,e.nl={current:"huidige",time:"tijd"},e.nl_NL=e.nl,e.nl_BE=e.nl,e.de={current:"Aktuelle",time:"Zeit"},e.de_DE=e.de,e.fr={current:"actuel",time:"heure"},e.fr_FR=e.fr,e.fr_CA=e.fr,e.fr_BE=e.fr,e.es={current:"corriente",time:"hora"},e.es_ES=e.es},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(1),s=i(128),r=i(82),a=i(145);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},o.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=this.options.moment((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;o<30&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="object",r={configure:{enabled:{boolean:o},filter:{boolean:o,function:"function"},container:{dom:"dom"},__type__:{object:s,boolean:o,function:"function"}},align:{string:i},rtl:{boolean:o,undefined:"undefined"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{boolean:o,undefined:"undefined"},autoResize:{boolean:o},throttleRedraw:{number:n},clickToUse:{boolean:o},dataAttributes:{string:i,array:"array"},editable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},updateGroup:{boolean:o,undefined:"undefined"},updateTime:{boolean:o,undefined:"undefined"},overrideItems:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:s}},end:{number:n,date:"date",string:i,moment:"moment"},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:s,function:"function"}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:s,function:"function"}},__type__:{object:s}},moment:{function:"function"},groupOrder:{string:i,function:"function"},groupEditable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},order:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:s}},groupOrderSwap:{function:"function"},height:{string:i,number:n},hiddenDates:{start:{date:"date",number:n,string:i,moment:"moment"},end:{date:"date",number:n,string:i,moment:"moment"},repeat:{string:i},__type__:{object:s,array:"array"}},itemsAlwaysDraggable:{boolean:o},locale:{string:i},locales:{__any__:{any:"any"},__type__:{object:s}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:s,number:n}},__type__:{object:s,number:n}},max:{date:"date",number:n,string:i,moment:"moment"},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:"date",number:n,string:i,moment:"moment"},minHeight:{number:n,string:i},moveable:{boolean:o},multiselect:{boolean:o},multiselectPerGroup:{boolean:o},onAdd:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},order:{function:"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:s}},selectable:{boolean:o},showCurrentTime:{boolean:o},showMajorLabels:{boolean:o},showMinorLabels:{boolean:o},stack:{boolean:o},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:"date",number:n,string:i,moment:"moment"},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:s}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:s}},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:s}},type:{string:i},width:{string:i,number:n},zoomable:{boolean:o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:s}},a={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",format:{minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=r,e.configureOptions=a},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof c)&&i instanceof Object){var n=o;o=i,i=n}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new p(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new v(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(118),r=o(s),a=i(126),h=o(a),d=(i(99),i(112),i(82)),l=i(1),u=i(89),c=i(93),p=i(127),f=i(130),m=i(142),v=i(146),g=i(144),y=i(149),b=i(126).printStyle,_=i(157).allOptions,w=i(157).configureOptions;n.prototype=new f,n.prototype.setOptions=function(t){h.default.validate(t,_)===!0&&console.log("%cErrors have been found in the supplied options object.",b),f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof c?t:new u(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof c?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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]))},n.prototype.getDataRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var o=0;os?s:t,e=null==e?s:e0&&d.push(u.screenToValue(n)),!c.hidden&&this.itemsData.length>0&&d.push(c.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r.default(this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t,e){this.id=r.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=r.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=r.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var n=i(62),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(88),h=i(89),d=i(93),l=i(128),u=i(150),c=i(152),p=i(156),f=i(153),m=i(155),v=i(154);o.prototype=new l,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new u(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new u(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new p(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new p(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var r={};for(this._getRelevantData(s,r,o,n),this._applySampling(s,r),e=0;e0)switch(t.options.style){case"line":d.hasOwnProperty(s[e])||(d[s[e]]=m.calcPath(r[s[e]],t)),m.draw(d[s[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(r[s[e]],t,this.framework);break;case"bar":}}}return a.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,t[a].y=0==o?t[a].orginalY+r.y:t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,s,a,h;if(t.length>0)for(s=0;s0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));f.getStackedYRange(a,i,t,"__barStackLeft","left"),f.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var r=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(r=this.props.titleCharHeight);var h=this.options.icons===!0?Math.max(this.options.iconWidth,r)+this.options.labelOffsetX+15:r+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-h&&this.options.visible===!0?(this.width=this.maxLabelSize+h,this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+h),this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var s=a.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>h.magnitudefactor*h.minorSteps[h.minorStepIdx]*.5?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])==0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];r.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),r.mergeOptions(this.options,t,"interpolation"),r.mergeOptions(this.options,t,"drawPoints"),r.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,s.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){i={svg:document.createElementNS("http://www.w3.org/2000/svg","svg"),svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":h.drawIcon(this,o,n,t,e,i);break;case"points":case"point":d.drawIcon(this,o,n,t,e,i);break;case"bar":a.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){return 1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;n0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i")}this.dom.textArea.innerHTML=r,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,s.default)(this.groups);t.sort(function(t,e){return t0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e.default=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(163),d=o(h),l=i(164),u=o(l),c=i(1),p=i(89),f=i(93),m=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(d.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){ +var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(t instanceof p||t instanceof f)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new p,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new p}if(i&&c.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var o=this;c.forEach(this.nodesListeners,function(t,e){o.body.data.nodes.on(e,t)});var n=this.body.data.nodes.getIds();this.add(n,!0)}e===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:d.default)(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(H.selectiveNotDeepExtend(n,t,e,i),H.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=H.parseColor(e.color);H.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=H.bridgeObject(o.color));void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&null!==e.font?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=H.bridgeObject(o.font)),void 0!==e.scaling&&H.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(2),a=o(r),h=i(62),d=o(h),l=i(119),u=o(l),c=i(120),p=o(c),f=i(1),m=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,p.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=f.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,d.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=f.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===(void 0===n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=f.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=f.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===(void 0===a?"undefined":(0,d.default)(a))){var h=f.topMost(o,["heightConstraint","minimum"]);"number"==typeof h&&(this.fontOptions.minHgt=Number(h));var l=f.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=f.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===(void 0===n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var h,d=(0,a.default)(o);!(n=(h=d.next()).done);n=!0){var l=h.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*p}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(f)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&d.return&&d.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,h=a*this.body.view.scale;h>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var d=this.size.yLine,l=this._setAlignment(t,o,d,r),u=(0,s.default)(l,2);o=u[0],d=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(d-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(d+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=m.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=y,m.strokeWidth>0&&t.strokeText(m.text,o+p,d+m.vadjust),t.fillText(m.text,o+p,d+m.vadjust),p+=m.width}d+=this.lines[c].height}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=4):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=4):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=f.overrideOpacity(o,s),n=f.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,h,d){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:h,strokeColor:d})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,h,d){this.add(t,e,i,o,n,s,r,a,h,d),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),h=a.length;if(this.elementOptions.font.multi)for(var d=0;d0)for(var m=this.getFormattingValues(t,e,i,l[f].mod),v=l[f].text.split(" "),g=!0,y="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=m.height>c?m.height:c,s.add(r,y,m.font,m.color,_.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,_.width,c),y="",g=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(y=y+x+v[w],w===v.length-1&&(c=m.height>c?m.height:c,u+=b.width,s.add(r,y,m.font,m.color,b.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,b.width,c),f===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,g=!1)}else{var k=this.getFormattingValues(t,e,i,l[f].mod),O=t.measureText(l[f].text);s.addAndAccumulate(r,l[f].text,k.font,k.color,O.width,k.height,k.vadjust,l[f].mod,k.strokeWidth,k.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===f&&(n+=s[r].height,r++)}}}else for(var S=0;S0)for(var D=a[S].split(" "),C="",T={width:0},E=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=E.width?(s.addAndAccumulate(r,C,M.font,M.color,E.width,M.size,M.vadjust,"normal",M.strokeWidth,M.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,C="",r++):(C=C+I+D[P],P===D.length-1&&(s.addAndAccumulate(r,C,M.font,M.color,T.width,M.size,M.vadjust,"normal",M.strokeWidth,M.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var N=a[S],R=t.measureText(N);s.addAndAccumulate(r,N,M.font,M.color,R.width,M.size,M.vadjust,"normal",M.strokeWidth,M.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2],t.vadjust=0}else"object"===(0,d.default)(e.font)&&f.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(166),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,h=(0,a.default)(t);!(o=(r=h.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&h.return&&h.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(167),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(168)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(m.default);e.default=v},function(t,e,i){t.exports={default:i(171),__esModule:!0}},function(t,e,i){i(172),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){ +var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){e.__esModule=!0;var o=i(62),n=function(t){return t&&t.__esModule?t:{default:t}}(o);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":(0,n.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(175),s=o(n),r=i(55),a=o(r),h=i(62),d=o(h);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":(0,d.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(176),__esModule:!0}},function(t,e,i){i(177),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(178).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,d.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.options.size;if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n.selected=!1,n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"setOptions",value:function(t,e,i){this.options=t,this.setImages(e,i)}},{key:"setImages",value:function(t,e){t&&(this.imageObj=t,e&&(this.imageObjAlt=e))}},{key:"switchImages",value:function(t){if(t&&!this.selected||!t&&this.selected){var e=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=e}this.selected=t}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,h=1;i>2&&h<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,h+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h._swapToImageResizeWhenImageLoaded=!0,h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.imageObjAlt&&this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var h=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,h),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),h>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var d=n+.5*this.height+3;this.labelModule.draw(t,o,d,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+5,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.imageObjAlt&&this.switchImages(o),this.selected=o,this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,h),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),h>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(196),d=o(h),l=i(164),u=o(l),c=i(1),p=i(89),f=i(93),m=function(){function t(e,i,o){var n=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=this.create.bind(this),this.edgesListeners={add:function(t,e){n.add(e.items)},update:function(t,e){n.update(e.items)},remove:function(t,e){n.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){"dynamic"===e&&(e="continuous");var i=!1;for(var o in t.body.edges)if(t.body.edges.hasOwnProperty(o)){var n=t.body.edges[o],s=t.body.data.edges._data[o];if(void 0!==s){var r=s.smooth;void 0!==r&&r.enabled===!0&&"dynamic"===r.type&&(void 0===e?n.setOptions({smooth:!1}):n.setOptions({smooth:{type:e}}),i=!0)}}i===!0&&t.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",function(){t.reconnectEdges()}),this.body.emitter.on("refreshEdges",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.edgesListeners,function(e,i){t.body.data.edges&&t.body.data.edges.off(i,e)}),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners})}},{key:"setOptions",value:function(t){if(this.edgeOptions=t,void 0!==t){d.default.parseOptions(this.options,t);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)this.body.edges.hasOwnProperty(i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var o in this.body.edges)this.body.edges.hasOwnProperty(o)&&this.body.edges[o].updateLabelModule()}void 0===t.hidden&&void 0===t.physics&&e!==!0||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof p||t instanceof f)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new p,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new p}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n,this.hover)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,o=this.to.x,n=this.to.y,s=t.left,r=t.top;return this.edgeType.getDistanceToEdge(e,i,o,n,s,r)<10}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(o<-1&&i<0||o>0&&i<0)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,d.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var h=!1;void 0!==e.color.color&&(t.color.color=e.color.color,h=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,h=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,h=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&h===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?m.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=S},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(170),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(173),p=o(c),f=i(174),m=o(f),v=i(198),g=o(v),y=function(t){function e(t,i,o){return(0,d.default)(this,e),(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,m.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),h=(0,s.default)(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];return a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3),{x:a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,y:a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y}}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(199),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var h=1e9,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=t,m=e,v=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,c,p,n,s),h=d2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),h=0,d=0,l=1,u=this.to,c=!1;for(t.id===this.from.id&&(u=this.from,c=!0);d<=l&&h<10;){var p=.5*(d+l);if(i=this.getPoint(p,a),o=Math.atan2(u.y-i.y,u.x-i.x),n=u.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-u.x,2)+Math.pow(i.y-u.y,2)),r=n-s,Math.abs(r)<.2)break;r<0?c===!1?d=p:l=p:c===!1?l=p:d=p,h++}return i.t=p,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=t,f=e;for(d=1;d<10;d++)l=.1*d,u=Math.pow(1-l,2)*t+2*l*(1-l)*r.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=ho.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=0,d=this.options.selfReferenceSize,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=.5*(s+r);s<=r&&h<10&&(m=.5*(s+r),l=this._pointOnCircle(o,n,d,m),u=Math.atan2(t.y-l.y,t.x-l.x),c=t.distanceToBorder(e,u),p=Math.sqrt(Math.pow(l.x-t.x,2)+Math.pow(l.y-t.y,2)),f=c-p,!(Math.abs(f)<.05));)f>0?a>0?s=m:r=m:a>0?r=m:s=m,h++;return l.t=m,l}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,h){var d=0;if(this.from!=this.to)d=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],p=u[1],f=u[2],m=c-n,v=p-r;d=Math.abs(Math.sqrt(m*m+v*v)-f)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:d}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:d<0&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=r.width;if("from"===e?(d=this.from,l=this.to,u=.1,c=r.fromArrowScale,p=r.fromArrowType):"to"===e?(d=this.to,l=this.from,u=-.1,c=r.toArrowScale,p=r.toArrowType):(d=this.to,l=this.from,c=r.middleArrowScale,p=r.middleArrowType),d!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var m=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);a=Math.atan2(h.y-m.y,h.x-m.x)}else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.5,i);else{var v=this._getCircleData(t),g=(0,s.default)(v,3),y=g[0],b=g[1],_=g[2];"from"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),a=h.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),a=h.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(h=this._pointOnCircle(y,b,_,.175),a=3.9269908169872414)}var w=15*c+3*f;return{point:h,core:{x:h.x-.9*w*Math.cos(a),y:h.y-.9*w*Math.sin(a)},angle:a,length:w,type:p}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(170),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(173),p=o(c),f=i(174),m=o(f),v=i(199),g=o(v),y=function(t){function e(t,i,o){(0,d.default)(this,e);var n=(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,m.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),h=a[0],d=a[1],l=a[2],u=2*Math.PI*(1-i);o=h+l*Math.sin(u),n=d+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(199),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=nMath.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=sMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t;return{x:Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,y:Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(200),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),h=t.distanceToBorder(e,n),d=(a-h)/a,l={};return l.x=(1-d)*o.x+d*i.x,l.y=(1-d)*o.y+d*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(205),u=o(l),c=i(206),p=o(c),f=i(207),m=o(f),v=i(208),g=o(v),y=i(209),b=o(y),_=i(210),w=o(_),x=i(211),k=o(x),O=i(212),S=o(O),M=i(1),D=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},M.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,d.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,M.selectiveNotDeepExtend(["stabilization"],this.options,t),M.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new k.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t), +this.gravitySolver=new S.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new p.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new m.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick(),(Date.now()-t<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){this.adaptiveCounter%this.adaptiveInterval==0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=1.2*this.timestep:this.timestep/1.2.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=0;ne?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;return Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2))}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;if("number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length)return void(this.ready=!0);this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(function(){return t._stabilizationBatch()},0)}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;s0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;h0&&(dr&&(r=d),la&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=Math.max(1e-5,Math.abs(r-n)),p=.5*c,f=.5*(n+r),m=.5*(s+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-p,maxX:f+p,minY:m-p,maxY:m+p},size:c,calcSize:1/c,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(v.root);for(var g=0;g0&&this._placeInTree(v.root,i);return v}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e.default=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,h=this.body.nodes,d=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,p=0;p0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(214),p=o(c),f=i(215),m=o(f),v=i(1),g=function(){function t(e){var i=this;(0,d.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},v.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===(void 0===t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=0;u0&&(0,s.default)(f).length>0&&v===!0&&o.push({nodes:c,edges:f})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,h=p.default.cloneOptions(o);n[a]=o;for(var d=0;d-1&&(r[g.id]=g)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=(0,s.default)(t),c=[],f=0;f0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=v.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var h in t)if(t.hasOwnProperty(h)){var d=p.default.cloneOptions(t[h]);a.push(d)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=p.default.cloneOptions(e[u],"edge");l.push(c)}if(!(r=i.processProperties(r,a,l)))throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+v.randomUUID());var f=r.id;void 0===r.label&&(r.label="cluster");var g=void 0;void 0===r.x&&(g=this._getClusterPosition(t),r.x=g.x),void 0===r.y&&(void 0===g&&(g=this._getClusterPosition(t)),r.y=g.y),r.id=f;var y=this.body.functions.createNode(r,m.default);y.isCluster=!0,y.containedNodes=t,y.containedEdges=e,y.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=y,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,h=1;ho?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var h in n)if(n.hasOwnProperty(h)){var d=this.body.nodes[h];r[h]={x:d.x,y:d.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var f in n)if(n.hasOwnProperty(f)){var m=this.body.nodes[f];m=n[f],m.options.fixed.x===!1&&(m.x=o.x),m.options.fixed.y===!1&&(m.y=o.y)}for(var g in n)if(n.hasOwnProperty(g)){var y=this.body.nodes[g];y.vx=o.vx,y.vy=o.vy,y.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[g]}for(var b=[],_=0;_o&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i +;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(1),d=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];h.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=this.canvas.DOMtoCanvas({x:-20,y:-20}),a=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+20,y:this.canvas.frame.canvas.clientHeight+20}),h={top:r.y,left:r.x,bottom:a.y,right:a.x},d=0;d0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new h(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:h.DIRECTION_ALL}),d.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new h(this.frame),d.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),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=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(214),d=o(h),l=i(1),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,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=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",this.fit.bind(this)),this.body.emitter.on("animationFinished",function(){o.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",this.releaseNode.bind(this))}return(0,a.default)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=d.default.getRange(this.body.nodes,t.nodes);o=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;o*=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600)}else{this.body.emitter.emit("_resizeNodes"),i=d.default.getRange(this.body.nodes,t.nodes);var a=1.1*Math.abs(i.maxX-i.minX),h=1.1*Math.abs(i.maxY-i.minY),l=this.canvas.frame.canvas.clientWidth/a,u=this.canvas.frame.canvas.clientHeight/h;o=l<=u?l:u}o>1?o=1:0===o&&(o=1);var c=d.default.findCenter(i),p={position:c,scale:o,animation:t.animation};this.moveTo(p)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){if(void 0===t)return void(t={});void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),this.animateView(t)}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(220),d=o(h),l=i(132),u=o(l),c=i(1),p=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new d.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),u=l.nodesChanged,c=l.edgesChanged,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):u===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0):h-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;n10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=h[l[l.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],g=0;g0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new u.default(this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){ +if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))===!0){var o=this.selectionHandler.getNodeAt(t);i=void 0!==o&&o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e.default=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=(i(1),i(112)),d=i(125),l=i(115),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(163),d=o(h),l=i(196),u=o(l),c=i(1),p=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},c.extend(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",function(){o.updateSelection()})}return(0,a.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){var e=["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"];c.selectiveDeepExtend(e,this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,i.isSelected()===!0?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof d.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(165),a=o(r),h=i(62),d=o(h),l=i(119),u=o(l),c=i(120),p=o(c),f=i(214),m=o(f),v=i(1),g=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},v.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,p.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(v.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),v.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),v.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={enabled:void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,d.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||t.physics.enabled,this.optionsBackup.physics.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var e="horizontal";"RL"!==this.options.hierarchical.direction&&"LR"!==this.options.hierarchical.direction||(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;e100){for(var o=this.body.nodeIndices.length;this.body.nodeIndices.length>100;){i+=1;var n=this.body.nodeIndices.length;i%3==0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();if(n==this.body.nodeIndices.length&&i%3!=0||i>10)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*o)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var s=0;s0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0===t.options.x&&void 0===t.options.y&&!1,void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback());for(var n in this.body.nodes)this.body.nodes.hasOwnProperty(n)&&void 0===this.hierarchicalLevels[n]&&(this.hierarchicalLevels[n]=0);var s=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(s),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(e,i){for(var o in t.hierarchicalTrees)if(t.hierarchicalTrees.hasOwnProperty(o)&&t.hierarchicalTrees[o]===e){var n=t.body.nodes[o],s=t._getPositionForHierarchy(n);t._setPositionForHierarchy(n,s+i,void 0,!0)}},n=function(e){var i=1e9,o=-1e9;for(var n in t.hierarchicalTrees)if(t.hierarchicalTrees.hasOwnProperty(n)&&t.hierarchicalTrees[n]===e){var s=t._getPositionForHierarchy(t.body.nodes[n]);i=Math.min(s,i),o=Math.max(s,o)}return{min:i,max:o}},r=function(){for(var e=[],i=0;i<=t.treeIndex;i++)e.push(n(i));return e},h=function e(i,o){if(!o[i.id]&&(o[i.id]=!0,t.hierarchicalChildrenReference[i.id])){var n=t.hierarchicalChildrenReference[i.id];if(n.length>0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var h in e)if(e.hasOwnProperty(h)){var d=t.body.nodes[h],l=t.hierarchicalLevels[d.id],u=t._getPositionForHierarchy(d),c=t._getSpaceAroundNode(d,e),p=(0,a.default)(c,2),f=p[0],m=p[1];o=Math.min(f,o),n=Math.min(m,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},l=function(e){var i={};return function e(o){if(void 0!==i[o])return i[o];var n=t.hierarchicalLevels[o];if(t.hierarchicalChildrenReference[o]){var s=t.hierarchicalChildrenReference[o];if(s.length>0)for(var r=0;r1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o);if(Math.abs(r-s)>t.options.hierarchical.nodeSpacing){var l={},c={};h(i,l),h(o,c);var p=u(i,o),f=d(l,p),m=(0,a.default)(f,4),v=(m[0],m[1]),g=(m[2],m[3],d(c,p)),y=(0,a.default)(g,4),b=y[0],_=(y[1],y[2]);if(y[3],Math.abs(v-b)>t.options.hierarchical.nodeSpacing){var w=v-b+t.options.hierarchical.nodeSpacing;w<-_+t.options.hierarchical.nodeSpacing&&(w=-_+t.options.hierarchical.nodeSpacing),w<0&&(t._shiftBlock(o.id,w),e=!0,n===!0&&t._centerParent(o))}}},m=function(o,n){for(var s=n.id,r=n.edges,l=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},p=[],f=0;f0?m=Math.min(f,p-t.options.hierarchical.nodeSpacing):f<0&&(m=-Math.min(-f,c-t.options.hierarchical.nodeSpacing)),0!=m&&(t._shiftBlock(n.id,m),e=!0)}(_),_=b(o,r),function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),h=r[0],d=r[1],l=i-o,u=o;l>0?u=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)}(_)};this.options.hierarchical.blockShifting===!0&&(function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var d=0;d0&&Math.abs(g)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){if(void 0!==this.hierarchicalChildrenReference[t]){for(var i=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var h=1e9,d=-1e9,l=0;l0&&0!==(e=this._getHubSize());)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=function(e,i,o){void 0===t.hierarchicalLevels[e.id]&&(t.hierarchicalLevels[e.id]=1e5);var n=(m.default.cloneOptions(e,"node"),m.default.cloneOptions(i,"node"),void m.default.cloneOptions(o,"edge"));t.hierarchicalLevels[i.id]=t.hierarchicalLevels[e.id]+n};this._crawlNetwork(e),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=function(e,i,o){void 0===t.hierarchicalLevels[e.id]&&(t.hierarchicalLevels[e.id]=1e4),o.toId==i.id?t.hierarchicalLevels[i.id]=t.hierarchicalLevels[e.id]+1:t.hierarchicalLevels[i.id]=t.hierarchicalLevels[e.id]-1};this._crawlNetwork(e),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&void 0!==this.hierarchicalLevels[e]&&(t=Math.min(this.hierarchicalLevels[e],t));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalChildrenReference[o]&&(t.hierarchicalChildrenReference[o]=[]),t.hierarchicalChildrenReference[o].push(n),void 0===t.hierarchicalParentReference[n]&&(t.hierarchicalParentReference[n]=[]),t.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3])!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(90),a=o(r),h=i(62),d=o(h),l=i(119),u=o(l),c=i(120),p=o(c),f=i(1),m=i(112),v=i(125),g=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},f.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,p.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,f.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=f.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,d.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var t=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(t.from,t.to)}if(this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId){var i=this.body.edges[this.edgeBeingEditedId],o=this._getNewTargetNode(i.from.x,i.from.y),n=this._getNewTargetNode(i.to.x,i.to.y);this.temporaryIds.nodes.push(o.id),this.temporaryIds.nodes.push(n.id),this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id),this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id),this._temporaryBindUI("onTouch",this._controlNodeTouch.bind(this)),this._temporaryBindUI("onTap",function(){}),this._temporaryBindUI("onHold",function(){}),this._temporaryBindUI("onDragStart",this._controlNodeDragStart.bind(this)),this._temporaryBindUI("onDrag",this._controlNodeDrag.bind(this)),this._temporaryBindUI("onDragEnd",this._controlNodeDragEnd.bind(this)),this._temporaryBindUI("onMouseMove",function(){}),this._temporaryBindEvent("beforeDrawing",function(t){var e=i.edgeType.findBorderPositions(t);o.selected===!1&&(o.x=e.from.x,o.y=e.from.y),n.selected===!1&&(n.x=e.to.x,n.y=e.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=f.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+f.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},f.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(f.recursiveDOMDelete(this.editModeDiv),f.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=f.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+f.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(this.temporaryIds.nodes.indexOf(n[r])===-1){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:f.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===(void 0===n?"undefined":(0,d.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=g},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="object",r={configure:{enabled:{boolean:o},filter:{boolean:o,string:i,array:"array",function:"function"},container:{dom:"dom"},showButton:{boolean:o},__type__:{object:s,boolean:o,string:i,array:"array",function:"function"}},edges:{arrows:{to:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:s,boolean:o}},middle:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:s,boolean:o}},from:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:s,boolean:o}},__type__:{string:["from","to","middle"],object:s}},arrowStrikethrough:{boolean:o},chosen:{label:{boolean:o,function:"function"},edge:{boolean:o,function:"function"},__type__:{object:s,boolean:o}},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],boolean:o},opacity:{number:n},__type__:{object:s,string:i}},dashes:{boolean:o,array:"array"},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},__type__:{object:s,string:i}},hidden:{boolean:o},hoverWidth:{function:"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{boolean:o},length:{number:n,undefined:"undefined"},physics:{boolean:o},scaling:{min:{number:n},max:{number:n},label:{enabled:{boolean:o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:s,boolean:o}},customScalingFunction:{function:"function"},__type__:{object:s}},selectionWidth:{function:"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{boolean:o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:s,boolean:o}},smooth:{enabled:{boolean:o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],boolean:o},__type__:{object:s,boolean:o}},title:{string:i,undefined:"undefined"},width:{number:n},widthConstraint:{maximum:{number:n},__type__:{object:s,boolean:o,number:n}},value:{number:n,undefined:"undefined"},__type__:{object:s}},groups:{useDefaultGroups:{boolean:o},__any__:"get from nodes, will be overwritten below",__type__:{object:s}},interaction:{dragNodes:{boolean:o},dragView:{boolean:o},hideEdgesOnDrag:{boolean:o},hideNodesOnDrag:{boolean:o},hover:{boolean:o},keyboard:{enabled:{boolean:o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:s}},bindToWindow:{boolean:o},__type__:{object:s,boolean:o}},multiselect:{boolean:o},navigationButtons:{boolean:o},selectable:{boolean:o},selectConnectedEdges:{boolean:o},hoverConnectedEdges:{boolean:o},tooltipDelay:{number:n},zoomView:{boolean:o},__type__:{object:s}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{boolean:o},hierarchical:{enabled:{boolean:o},levelSeparation:{number:n},nodeSpacing:{number:n},treeSpacing:{number:n},blockShifting:{boolean:o},edgeMinimization:{boolean:o},parentCentralization:{boolean:o},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:s,boolean:o}},__type__:{object:s}},manipulation:{enabled:{boolean:o},initiallyActive:{boolean:o},addNode:{boolean:o,function:"function"},addEdge:{boolean:o,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:s,boolean:o,function:"function"}},deleteNode:{boolean:o,function:"function"},deleteEdge:{boolean:o,function:"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:s,boolean:o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},chosen:{label:{boolean:o,function:"function"},node:{boolean:o,function:"function"},__type__:{object:s,boolean:o}},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:s,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:s,string:i}},__type__:{object:s,string:i}},fixed:{x:{boolean:o},y:{boolean:o},__type__:{object:s,boolean:o}},font:{align:{string:i},color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},__type__:{object:s,string:i}},group:{string:i,number:n,undefined:"undefined"},heightConstraint:{minimum:{number:n},valign:{string:i},__type__:{object:s,boolean:o,number:n}},hidden:{boolean:o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:s}},id:{string:i,number:n},image:{selected:{string:i,undefined:"undefined"},unselected:{string:i,undefined:"undefined"},__type__:{object:s,string:i}},label:{string:i,undefined:"undefined"},labelHighlightBold:{boolean:o},level:{number:n,undefined:"undefined"},margin:{top:{number:n},right:{number:n},bottom:{number:n},left:{number:n},__type__:{object:s,number:n}},mass:{number:n},physics:{boolean:o},scaling:{min:{number:n},max:{number:n},label:{enabled:{boolean:o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:s,boolean:o}},customScalingFunction:{function:"function"}, +__type__:{object:s}},shadow:{enabled:{boolean:o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:s,boolean:o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{boolean:o,array:"array"},borderRadius:{number:n},interpolation:{boolean:o},useImageSize:{boolean:o},useBorderWithImage:{boolean:o},__type__:{object:s}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},widthConstraint:{minimum:{number:n},maximum:{number:n},__type__:{object:s,boolean:o,number:n}},x:{number:n},y:{number:n},__type__:{object:s}},physics:{enabled:{boolean:o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:s}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:s}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:s}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:s}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{boolean:o},fit:{boolean:o},__type__:{object:s,boolean:o}},timestep:{number:n},adaptiveTimestep:{boolean:o},__type__:{object:s,boolean:o}},autoResize:{boolean:o},clickToUse:{boolean:o},locale:{string:i},locales:{__any__:{any:"any"},__type__:{object:s}},height:{string:i},width:{string:i},__type__:{object:s}};r.groups.__any__=r.nodes,r.manipulation.controlNodeStyle=r.nodes;var a={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]}};e.allOptions=r,e.configureOptions=a},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(226),u=o(l),c=function(){function t(e,i,o){(0,a.default)(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new u.default}return(0,d.default)(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=0,r=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),a=1e9,h=0,d=0,l=0,u=0,c=0;a>.01&&n1&&c<5;){c+=1,this._moveNode(h,d,l);var m=this._getEnergy(h),v=(0,s.default)(m,3);u=v[0],d=v[1],l=v[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],r=0,a=0,h=0;h=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=r<0?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){function o(t){return R=t,f()}function n(){z=0,A=R.charAt(0)}function s(){z++,A=R.charAt(z)}function r(){return R.charAt(z+1)}function a(t){return B.test(t)}function h(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function d(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function l(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;i=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(F=I.NULL,L="";" "===A||"\t"===A||"\n"===A||"\r"===A;)s();do{var t=!1;if("#"===A){for(var e=z-1;" "===R.charAt(e)||"\t"===R.charAt(e);)e--;if("\n"===R.charAt(e)||""===R.charAt(e)){for(;""!=A&&"\n"!=A;)s();t=!0}}if("/"===A&&"/"===r()){for(;""!=A&&"\n"!=A;)s();t=!0}if("/"===A&&"*"===r()){for(;""!=A;){if("*"===A&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===A||"\t"===A||"\n"===A||"\r"===A;)s()}while(t);if(""===A)return void(F=I.DELIMITER);var i=A+r();if(N[i])return F=I.DELIMITER,L=i,s(),void s();if(N[A])return F=I.DELIMITER,L=A,void s();if(a(A)||"-"===A){for(L+=A,s();a(A);)L+=A,s();return"false"===L?L=!1:"true"===L?L=!0:isNaN(Number(L))||(L=Number(L)),void(F=I.IDENTIFIER)}if('"'===A){for(s();""!=A&&('"'!=A||'"'===A&&'"'===r());)L+=A,'"'===A&&s(),s();if('"'!=A)throw x('End of string " expected');return s(),void(F=I.IDENTIFIER)}for(F=I.UNKNOWN;""!=A;)L+=A,s();throw new SyntaxError('Syntax error in part "'+k(L,30)+'"')}function f(){var t={};if(n(),p(),"strict"===L&&(t.strict=!0,p()),"graph"!==L&&"digraph"!==L||(t.type=L,p()),F===I.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),m(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==L&&"}"!=L;)v(t),";"===L&&p()}function v(t){var e=g(t);if(e)return void _(t,e);if(!y(t)){if(F!=I.IDENTIFIER)throw x("Identifier expected");var i=L;if(p(),"="===L){if(p(),F!=I.IDENTIFIER)throw x("Identifier expected");t[i]=L,p()}else b(t,i)}}function g(t){var e=null;if("subgraph"===L&&(e={},e.type="subgraph",p(),F===I.IDENTIFIER&&(e.id=L,p())),"{"===L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=L)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"===L?(p(),t.node=w(),"node"):"edge"===L?(p(),t.edge=w(),"edge"):"graph"===L?(p(),t.graph=w(),"graph"):null}function b(t,e){var i={id:e},o=w();o&&(i.attr=o),l(t,i),_(t,e)}function _(t,e){for(;"->"===L||"--"===L;){var i,o=L;p();var n=g(t);if(n)i=n;else{if(F!=I.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,l(t,{id:i}),p()}u(t,c(t,e,i,o,w())),e=i}}function w(){for(var t=null;"["===L;){for(p(),t={};""!==L&&"]"!=L;){if(F!=I.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),F!=I.IDENTIFIER)throw x("Attribute value expected");d(t,e,L),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(L,30)+'" (char '+z+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function O(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 S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},R="",z=0,A="",L="",F=I.NULL,B=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a