/*! bespoke-vis v1.0.0 © 2019 Flávio, MIT License */ !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;(e=(e=(e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).bespoke||(e.bespoke={})).plugins||(e.plugins={})).math=t()}}(function(){return function(){return function t(e,i,g){function o(s,A){if(!i[s]){if(!e[s]){var C="function"==typeof require&&require;if(!A&&C)return C(s,!0);if(n)return n(s,!0);var I=new Error("Cannot find module '"+s+"'");throw I.code="MODULE_NOT_FOUND",I}var r=i[s]={exports:{}};e[s][0].call(r.exports,function(t){return o(e[s][1][t]||t)},r,r.exports,t,e,i,g)}return i[s].exports}for(var n="function"==typeof require&&require,s=0;s0&&t("vis/dist/vis.min.css"),Array.from(i).forEach(t=>{const i=e.slides.indexOf(t.closest(".bespoke-slide")),n=t.dataset.vis;let s=Promise.resolve(t.innerHTML);const A=getComputedStyle(t);t.style.minWidth=A.width,t.style.minHeight=A.height,t.innerHTML="",t.dataset.visUrl&&(s=fetch(t.dataset.visUrl).then(t=>t.text())),s.then(e=>(function(t,e,i){const o=["timeline","network","lines","bars"];try{if(-1===o.indexOf(t.toLowerCase()))throw new Error("A non-supported type of visualization was asked from bespoke-vis: "+t);const n=(e=JSON.parse(e)).items||[],s=e.groups||[],A=e.options||{},C=t.charAt(0).toUpperCase()+t.slice(1),I=new g[C](i);return I.setOptions(A),Array.isArray(s)&&s.length>0&&I.setGroups(s),I.setItems(n),new Promise(e=>{e({type:t,el:i,vis:I})})}catch(t){return console.log('Visjs error trying to parse: "'+e+'". Description: ',t),Promise.reject(t)}})(n,e,t)).then(({type:t,el:g,vis:n})=>(function(t,e,i,g,n){o.push({type:t,el:e,slideIndex:n,vis:i}),g.on("activate",t=>{const e=t.index;o.filter(t=>t.slideIndex===e).forEach(t=>setTimeout(()=>t.vis.fit({animation:{duration:2e3,easingFunction:"easeOutQuad"}}),200))})})(t,g,n,e,i))})}}},{fs:3,vis:4,"vis/dist/vis.min.css":5}],2:[function(t,e,i){"use strict";var g=[],o=function(t,e){var i=document.head||document.getElementsByTagName("head")[0],o=g[g.length-1];if((e=e||{}).insertAt=e.insertAt||"bottom","top"===e.insertAt)o?o.nextSibling?i.insertBefore(t,o.nextSibling):i.appendChild(t):i.insertBefore(t,i.firstChild),g.push(t);else{if("bottom"!==e.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");i.appendChild(t)}};e.exports={createLink:function(t,e){var i=document.head||document.getElementsByTagName("head")[0],g=document.createElement("link");for(var o in g.href=t,g.rel="stylesheet",e)if(e.hasOwnProperty(o)){var n=e[o];g.setAttribute("data-"+o,n)}i.appendChild(g)},createStyle:function(t,e,i){i=i||{};var g=document.createElement("style");for(var n in g.type="text/css",e)if(e.hasOwnProperty(n)){var s=e[n];g.setAttribute("data-"+n,s)}g.sheet?(g.innerHTML=t,g.sheet.cssText=t,o(g,{insertAt:i.insertAt})):g.styleSheet?(o(g,{insertAt:i.insertAt}),g.styleSheet.cssText=t):(g.appendChild(document.createTextNode(t)),o(g,{insertAt:i.insertAt}))}}},{}],3:[function(t,e,i){},{}],4:[function(t,e,i){"use strict";var g,o;g=this,o=function(){return function(t){var e={};function i(g){if(e[g])return e[g].exports;var o=e[g]={i:g,l:!1,exports:{}};return t[g].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.d=function(t,e,g){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:g})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=123)}([function(t,e,i){e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,i){e.__esModule=!0;var g,o=i(169),n=(g=o)&&g.__esModule?g:{default:g};e.default=function(){function t(t,e){for(var i=0;i2&&void 0!==arguments[2]&&arguments[2];for(var o in t)void 0!==i[o]&&(null===i[o]||"object"!==(0,s.default)(i[o])?r(t,i,o,g):"object"===(0,s.default)(t[o])&&e.fillIfDefined(t[o],i[o],g))},e.extend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(g))throw new TypeError("Arrays are not supported by deepExtend");for(var n=0;n3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(g))throw new TypeError("Arrays are not supported by deepExtend");for(var n in g)if(g.hasOwnProperty(n)&&-1===t.indexOf(n))if(g[n]&&g[n].constructor===Object)void 0===i[n]&&(i[n]={}),i[n].constructor===Object?e.deepExtend(i[n],g[n]):r(i,g,n,o);else if(Array.isArray(g[n])){i[n]=[];for(var s=0;s2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var n in i)if(i.hasOwnProperty(n)||!0===g)if(i[n]&&i[n].constructor===Object)void 0===t[n]&&(t[n]={}),t[n].constructor===Object?e.deepExtend(t[n],i[n],g):r(t,i,n,o);else if(Array.isArray(i[n])){t[n]=[];for(var s=0;s=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,g)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,g){t.removeEventListener?(void 0===g&&(g=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,g)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){var e;return t||(t=window.event),t.target?e=t.target:t.srcElement&&(e=t.srcElement),null!=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,g){return e+e+i+i+g+g});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){var g;return-1!=t.indexOf("rgba")?t:-1!=t.indexOf("rgb")?"rgba("+(g=t.substr(t.indexOf("(")+1).replace(")","").split(","))[0]+","+g[1]+","+g[2]+","+i+")":null==(g=e.hexToRGB(t))?t:"rgba("+g.r+","+g.g+","+g.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(!0===e.isString(t)){if(!0===e.isValidRGB(t)){var g=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(g[0],g[1],g[2])}if(!0===e.isValidHex(t)){var o=e.hexToHSV(t),n={h:o.h,s:.8*o.s,v:Math.min(1,1.02*o.v)},s={h:o.h,s:Math.min(1,1.25*o.s),v:.8*o.v},A=e.HSVToHex(s.h,s.s,s.v),C=e.HSVToHex(n.h,n.s,n.v);i={background:t,border:A,highlight:{background:C,border:A},hover:{background:C,border:A}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else(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 g=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));return g==o?{h:0,s:0,v:g}:{h:60*((t==g?3:i==g?1:5)-(t==g?e-i:i==g?t-e:i-t)/(o-g))/360,s:(o-g)/o,v:o}};var d=function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),g=i[0].trim(),o=i[1].trim();e[g]=o}}),e},h=function(t){return(0,n.default)(t).map(function(e){return e+": "+t[e]}).join("; ")};e.addCssText=function(t,i){var g=d(t.style.cssText),o=d(i),n=e.extend(g,o);t.style.cssText=h(n)},e.removeCssText=function(t,e){var i=d(t.style.cssText),g=d(e);for(var o in g)g.hasOwnProperty(o)&&delete i[o];t.style.cssText=h(i)},e.HSVToRGB=function(t,e,i){var g,o,n,s=Math.floor(6*t),A=6*t-s,C=i*(1-e),I=i*(1-A*e),r=i*(1-(1-A)*e);switch(s%6){case 0:g=i,o=r,n=C;break;case 1:g=I,o=i,n=C;break;case 2:g=C,o=i,n=r;break;case 3:g=C,o=I,n=i;break;case 4:g=r,o=C,n=i;break;case 5:g=i,o=C,n=I}return{r:Math.floor(255*g),g:Math.floor(255*o),b:Math.floor(255*n)}},e.HSVToHex=function(t,i,g){var o=e.HSVToRGB(t,i,g);return e.RGBToHex(o.r,o.g,o.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(null!==i&&"object"===(void 0===i?"undefined":(0,s.default)(i))){for(var g=(0,o.default)(i),n=0;n0&&e(g,t[o-1])<0;o--)t[o]=t[o-1];t[o]=g}return t},e.mergeOptions=function(t,e,i){var g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=function(t){return null!=t},A=function(t){return null!==t&&"object"===(void 0===t?"undefined":(0,s.default)(t))};if(!A(t))throw new Error("Parameter mergeTarget must be an object");if(!A(e))throw new Error("Parameter options must be an object");if(!n(i))throw new Error("Parameter option must have a value");if(!A(g))throw new Error("Parameter globalOptions must be an object");var C=e[i],I=A(g)&&!function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}(g)?g[i]:void 0,r=I?I.enabled:void 0;if(void 0!==C){if("boolean"==typeof C)return A(t[i])||(t[i]={}),void(t[i].enabled=C);if(null===C&&!A(t[i])){if(!n(I))return;t[i]=(0,o.default)(I)}if(A(C)){var a=!0;void 0!==C.enabled?a=C.enabled:void 0!==r&&(a=I.enabled),function(t,e,i){A(t[i])||(t[i]={});var g=e[i],o=t[i];for(var n in g)g.hasOwnProperty(n)&&(o[n]=g[n])}(t,e,i),t[i].enabled=a}}},e.binarySearchCustom=function(t,e,i,g){for(var o=0,n=0,s=t.length-1;n<=s&&o<1e4;){var A=Math.floor((n+s)/2),C=t[A],I=e(void 0===g?C[i]:C[i][g]);if(0==I)return A;-1==I?n=A+1:s=A-1,o++}return-1},e.binarySearchValue=function(t,e,i,g,o){var n,s,A,C,I=0,r=0,a=t.length-1;for(o=null!=o?o:function(t,e){return t==e?0:t0)return"before"==g?Math.max(0,C-1):C;if(o(s,e)<0&&o(A,e)>0)return"before"==g?C:Math.min(t.length-1,C+1);o(s,e)<0?r=C+1:a=C-1,I++}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 g=t.offsetWidth;return i==g&&(g=e.clientWidth),document.body.removeChild(e),i-g},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,s=void 0;try{for(var A,C=(0,g.default)(t);!(o=(A=C.next()).done);o=!0){var I=A.value;if(I){i=I[e[0]];for(var r=1;ro?1:gA)&&(s=C,A=I)}return s},I.prototype.min=function(t){var e,i,g=this._data,o=(0,n.default)(g),s=null,A=null;for(e=0,i=o.length;e0?(g=e[t].redundant[0],e[t].redundant.shift()):(g=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(g)):(g=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(g)),e[t].used.push(g),g},e.getDOMElement=function(t,e,i,g){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==g?i.insertBefore(o,g):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==g?i.insertBefore(o,g):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,g,o,n,s){var A;if("circle"==g.style?((A=e.getSVGElement("circle",o,n)).setAttributeNS(null,"cx",t),A.setAttributeNS(null,"cy",i),A.setAttributeNS(null,"r",.5*g.size)):((A=e.getSVGElement("rect",o,n)).setAttributeNS(null,"x",t-.5*g.size),A.setAttributeNS(null,"y",i-.5*g.size),A.setAttributeNS(null,"width",g.size),A.setAttributeNS(null,"height",g.size)),void 0!==g.styles&&A.setAttributeNS(null,"style",g.styles),A.setAttributeNS(null,"class",g.className+" vis-point"),s){var C=e.getSVGElement("text",o,n);s.xOffset&&(t+=s.xOffset),s.yOffset&&(i+=s.yOffset),s.content&&(C.textContent=s.content),s.className&&C.setAttributeNS(null,"class",s.className+" vis-label"),C.setAttributeNS(null,"x",t),C.setAttributeNS(null,"y",i)}return A},e.drawBar=function(t,i,g,o,n,s,A,C){if(0!=o){o<0&&(i-=o*=-1);var I=e.getSVGElement("rect",s,A);I.setAttributeNS(null,"x",t-.5*g),I.setAttributeNS(null,"y",i),I.setAttributeNS(null,"width",g),I.setAttributeNS(null,"height",o),I.setAttributeNS(null,"class",n),C&&I.setAttributeNS(null,"style",C)}}},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0}),e.printStyle=void 0;var g=C(i(19)),o=C(i(6)),n=C(i(8)),s=C(i(0)),A=C(i(1));function C(t){return t&&t.__esModule?t:{default:t}}var I=i(2),r=!1,a=void 0,d="background: #FFeeee; color: #dd0000",h=function(){function t(){(0,s.default)(this,t)}return(0,A.default)(t,null,[{key:"validate",value:function(e,i,g){r=!1,a=i;var o=i;return void 0!==g&&(o=i[g]),t.parse(e,o,[]),r}},{key:"parse",value:function(e,i,g){for(var o in e)e.hasOwnProperty(o)&&t.check(o,e,i,g)}},{key:"check",value:function(e,i,g,o){if(void 0!==g[e]||void 0!==g.__any__){var n=e,s=!0;void 0===g[e]&&void 0!==g.__any__&&(n="__any__",s="object"===t.getType(i[e]));var A=g[n];s&&void 0!==A.__type__&&(A=A.__type__),t.checkFields(e,i,g,n,A,o)}else t.getSuggestion(e,g,o)}},{key:"checkFields",value:function(e,i,g,o,s,A){var C=function(i){console.log("%c"+i+t.printLocation(A,e),d)},a=t.getType(i[e]),h=s[a];void 0!==h?"array"===t.getType(h)&&-1===h.indexOf(i[e])?(C('Invalid option detected in "'+e+'". Allowed values are:'+t.print(h)+' not "'+i[e]+'". '),r=!0):"object"===a&&"__any__"!==o&&(A=I.copyAndExtendArray(A,e),t.parse(i[e],g[o],A)):void 0===s.any&&(C('Invalid type received for "'+e+'". Expected: '+t.print((0,n.default)(s))+". Received ["+a+'] "'+i[e]+'"'),r=!0)}},{key:"getType",value:function(t){var e=void 0===t?"undefined":(0,o.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":!0===t._isAMomentObject?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,g){var o=t.findInOptions(e,i,g,!1),s=t.findInOptions(e,a,[],!0),A=void 0;A=void 0!==o.indexMatch?" in "+t.printLocation(o.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+o.indexMatch+'"?\n\n':s.distance<=4&&o.distance>s.distance?" in "+t.printLocation(o.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""):o.distance<=8?'. Did you mean "'+o.closestMatch+'"?'+t.printLocation(o.path,e):". Did you mean one of these: "+t.print((0,n.default)(i))+t.printLocation(g,e),console.log('%cUnknown option detected: "'+e+'"'+A,d),r=!0}},{key:"findInOptions",value:function(e,i,g){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=1e9,s="",A=[],C=e.toLowerCase(),r=void 0;for(var a in i){var d=void 0;if(void 0!==i[a].__type__&&!0===o){var h=t.findInOptions(e,i[a],I.copyAndExtendArray(g,a));n>h.distance&&(s=h.closestMatch,A=h.path,n=h.distance,r=h.indexMatch)}else-1!==a.toLowerCase().indexOf(C)&&(r=a),n>(d=t.levenshteinDistance(e,a))&&(s=a,A=I.copyArray(g),n=d)}return{closestMatch:s,path:A,distance:n,indexMatch:r}}},{key:"printLocation",value:function(t,e){for(var i="\n\n"+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n")+"options = {\n",g=0;g0&&(this.enableBorderDashes(t,e),t.stroke(),this.disableBorderDashes(t,e)),t.restore()}},{key:"performFill",value:function(t,e){this.enableShadow(t,e),t.fill(),this.disableShadow(t,e),this.performStroke(t,e)}},{key:"_addBoundingBoxMargin",value:function(t){this.boundingBox.left-=t,this.boundingBox.top-=t,this.boundingBox.bottom+=t,this.boundingBox.right+=t}},{key:"_updateBoundingBox",value:function(t,e,i,g,o){void 0!==i&&this.resize(i,g,o),this.left=t-this.width/2,this.top=e-this.height/2,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:"updateBoundingBox",value:function(t,e,i,g,o){this._updateBoundingBox(t,e,i,g,o)}},{key:"getDimensionsFromLabel",value:function(t,e,i){this.textSize=this.labelModule.getTextSize(t,e,i);var g=this.textSize.width,o=this.textSize.height;return 0===g&&(g=14,o=14),{width:g,height:o}}}]),t}();e.default=A},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.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,g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(e,i)){this.labelModule.getTextSize(t,e,i);var o=2*g.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,g,o,n,s,A){if(this.resize(t,n,s,A),this.left=g-this.width/2,this.top=o-this.height/2,this.initContextForDraw(t,A),t[e](g,o,A.size),this.performFill(t,A),void 0!==this.options.label){this.labelModule.calculateLabelSize(t,n,s,g,o,"hanging");var C=o+.5*this.height+.5*this.labelModule.size.height;this.labelModule.draw(t,g,C,n,s,"hanging")}this.updateBoundingBox(g,o)}},{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))}}]),e}(C(i(23)).default);e.default=I},function(t,e,i){var g=i(78),o=i(51);t.exports=function(t){return g(o(t))}},function(t,e,i){var g=i(20),o=i(39);t.exports=i(21)?function(t,e,i){return g.f(t,e,o(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var g=i(32);t.exports=function(t){if(!g(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){t.exports={default:i(138),__esModule:!0}},function(t,e,i){e.__esModule=!0;var g=n(i(188)),o=n(i(77));function n(t){return t&&t.__esModule?t:{default:t}}e.default=function(){return function(t,e){if(Array.isArray(t))return t;if((0,g.default)(Object(t)))return function(t,e){var i=[],g=!0,n=!1,s=void 0;try{for(var A,C=(0,o.default)(t);!(g=(A=C.next()).done)&&(i.push(A.value),!e||i.length!==e);g=!0);}catch(t){n=!0,s=t}finally{try{!g&&C.return&&C.return()}finally{if(n)throw s}}return i}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e){t.exports={}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){var g=i(84),o=i(58);t.exports=Object.keys||function(t){return g(t,o)}},function(t,e,i){function g(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}g.subtract=function(t,e){var i=new g;return i.x=t.x-e.x,i.y=t.y-e.y,i.z=t.z-e.z,i},g.add=function(t,e){var i=new g;return i.x=t.x+e.x,i.y=t.y+e.y,i.z=t.z+e.z,i},g.avg=function(t,e){return new g((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},g.crossProduct=function(t,e){var i=new g;return i.x=t.y*e.z-t.z*e.y,i.y=t.z*e.x-t.x*e.z,i.z=t.x*e.y-t.y*e.x,i},g.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=g},function(t,e,i){var g,o,n;o=[],void 0===(n="function"==typeof(g=function(){return function(t){var e,i=t&&t.preventDefault||!1,g=t&&t.container||window,o={},n={keydown:{},keyup:{}},s={};for(e=97;e<=122;e++)s[String.fromCharCode(e)]={code:e-97+65,shift:!1};for(e=65;e<=90;e++)s[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)s[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)s["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;e++)s["num"+e]={code:96+e,shift:!1};s["num*"]={code:106,shift:!1},s["num+"]={code:107,shift:!1},s["num-"]={code:109,shift:!1},s["num/"]={code:111,shift:!1},s["num."]={code:110,shift:!1},s.left={code:37,shift:!1},s.up={code:38,shift:!1},s.right={code:39,shift:!1},s.down={code:40,shift:!1},s.space={code:32,shift:!1},s.enter={code:13,shift:!1},s.shift={code:16,shift:void 0},s.esc={code:27,shift:!1},s.backspace={code:8,shift:!1},s.tab={code:9,shift:!1},s.ctrl={code:17,shift:!1},s.alt={code:18,shift:!1},s.delete={code:46,shift:!1},s.pageup={code:33,shift:!1},s.pagedown={code:34,shift:!1},s["="]={code:187,shift:!1},s["-"]={code:189,shift:!1},s["]"]={code:221,shift:!1},s["["]={code:219,shift:!1};var A=function(t){I(t,"keydown")},C=function(t){I(t,"keyup")},I=function(t,e){if(void 0!==n[e][t.keyCode]){for(var g=n[e][t.keyCode],o=0;o=4*s){var r=0,a=n.clone();switch(g[A].repeat){case"daily":C.day()!=I.day()&&(r=1),C.dayOfYear(o.dayOfYear()),C.year(o.year()),C.subtract(7,"days"),I.dayOfYear(o.dayOfYear()),I.year(o.year()),I.subtract(7-r,"days"),a.add(1,"weeks");break;case"weekly":var d=I.diff(C,"days"),h=C.day();C.date(o.date()),C.month(o.month()),C.year(o.year()),I=C.clone(),C.day(h),I.day(h),I.add(d,"days"),C.subtract(1,"weeks"),I.subtract(1,"weeks"),a.add(1,"weeks");break;case"monthly":C.month()!=I.month()&&(r=1),C.month(o.month()),C.year(o.year()),C.subtract(1,"months"),I.month(o.month()),I.year(o.year()),I.subtract(1,"months"),I.add(r,"months"),a.add(1,"months");break;case"yearly":C.year()!=I.year()&&(r=1),C.year(o.year()),C.subtract(1,"years"),I.year(o.year()),I.subtract(1,"years"),I.add(r,"years"),a.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",g[A].repeat)}for(;C=e[g].start&&e[o].end<=e[g].end?e[o].remove=!0:e[o].start>=e[g].start&&e[o].start<=e[g].end?(e[g].end=e[o].end,e[o].remove=!0):e[o].end>=e[g].start&&e[o].end<=e[g].end&&(e[g].start=e[o].start,e[o].remove=!0));for(g=0;g=s&&ot.range.end){var C={start:t.range.start,end:i};return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,C,i),o=t.range.conversion(g,s),(i.valueOf()-o.offset)*o.scale}return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i),o=t.range.conversion(g,s),(i.valueOf()-o.offset)*o.scale},e.toTime=function(t,i,g){if(0==t.body.hiddenDates.length){var o=t.range.conversion(g);return new Date(i/o.scale+o.offset)}var n=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),s=(t.range.end-t.range.start-n)*i/g,A=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,s);return new Date(A+s+t.range.start)},e.getHiddenDurationBetween=function(t,e,i){for(var g=0,o=0;o=e&&s=e&&s<=i&&(g+=s-n)}return g},e.correctTimeForHidden=function(t,i,g,o){return o=t(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,g,o)},e.getHiddenDurationBefore=function(t,e,i,g){var o=0;g=t(g).toDate().valueOf();for(var n=0;n=i.start&&A=A&&(o+=A-s)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var g=0,o=0,n=e.start,s=0;s=e.start&&C=i)break;g+=C-A}}return g},e.snapAwayFromHidden=function(t,i,g,o){var n=e.isHidden(i,t);return 1==n.hidden?g<0?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=g&&t0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=(0,o.default)(this.data)}for(var i=0;ithis.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)}},g.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=g},function(t,e){function i(t){if(t)return function(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}(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){var i=this;function g(){i.off(t,g),e.apply(this,arguments)}return this._callbacks=this._callbacks||{},g.fn=e,this.on(t,g),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,g=this._callbacks[t];if(!g)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var o=0;o=.4*c}if(this.options.showMinorLabels&&l){var w=this._repaintMinorText(r,f,t,m);w.style.width=v+"px"}h&&this.options.showMajorLabels?(r>0&&(null==y&&(y=r),w=this._repaintMajorText(r,n.getLabelMajor(),t,m)),p=this._repaintMajorLine(r,v,t,m)):l?p=this._repaintMinorLine(r,v,t,m):p&&(p.style.width=parseInt(p.style.width)+v+"px")}if(1e3!==b||d||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),d=!0),this.options.showMajorLabels){var x=this.body.util.toTime(0),k=n.getLabelMajor(x),D=k.length*(this.props.majorCharWidth||10)+10;(null==y||Dt.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"updateGroupOptions",value:function(t,e,i){if(void 0!==i){var g=t.group;if(void 0!==e&&void 0!==e.group&&g!==e.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof g||"string"==typeof g&&""!=g){var o=i.get(g);s.selectiveNotDeepExtend(["font"],t,o),t.color=s.parseColor(t.color)}}}},{key:"parseOptions",value:function(e,i){var g=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=arguments[4];if(s.selectiveNotDeepExtend(["color","fixed","shadow"],e,i,g),t.checkMass(i),s.mergeOptions(e,i,"shadow",o),void 0!==i.color&&null!==i.color){var A=s.parseColor(i.color);s.fillIfDefined(e.color,A)}else!0===g&&null===i.color&&(e.color=s.bridgeObject(o.color));void 0!==i.fixed&&null!==i.fixed&&("boolean"==typeof i.fixed?(e.fixed.x=i.fixed,e.fixed.y=i.fixed):(void 0!==i.fixed.x&&"boolean"==typeof i.fixed.x&&(e.fixed.x=i.fixed.x),void 0!==i.fixed.y&&"boolean"==typeof i.fixed.y&&(e.fixed.y=i.fixed.y))),!0===g&&null===i.font&&(e.font=s.bridgeObject(o.font)),t.updateGroupOptions(e,i,n),void 0!==i.scaling&&s.mergeOptions(e.scaling,i.scaling,"label",o.scaling)}},{key:"checkMass",value:function(t,e){if(void 0!==t.mass&&t.mass<=0){var i="";void 0!==e&&(i=" in node id: "+e),console.log("%cNegative or zero mass disallowed"+i+", setting mass to 1.",x),t.mass=1}}}]),t}();e.default=k},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=s(i(6)),o=s(i(0)),n=s(i(1));function s(t){return t&&t.__esModule?t:{default:t}}var A=i(2),C=function(){function t(){(0,o.default)(this,t)}return(0,n.default)(t,null,[{key:"choosify",value:function(t,e){var i=["node","edge","label"],o=!0,n=A.topMost(e,"chosen");if("boolean"==typeof n)o=n;else if("object"===(void 0===n?"undefined":(0,g.default)(n))){if(-1===i.indexOf(t))throw new Error("choosify: subOption '"+t+"' should be one of '"+i.join("', '")+"'");var s=A.topMost(e,["chosen",t]);"boolean"!=typeof s&&"function"!=typeof s||(o=s)}return o}},{key:"pointInRect",value:function(t,e,i){if(t.width<=0||t.height<=0)return!1;if(void 0!==i){var g={x:e.x-i.x,y:e.y-i.y};if(0!==i.angle){var o=-i.angle;e={x:Math.cos(o)*g.x-Math.sin(o)*g.y,y:Math.sin(o)*g.x+Math.cos(o)*g.y}}else e=g}var n=t.x+t.width,s=t.y+t.width;return t.lefte.x&&t.tope.y}},{key:"isValidLabel",value:function(t){return"string"==typeof t&&""!==t}}]),t}();e.default=C},function(t,e,i){i(125);for(var g=i(18),o=i(26),n=i(31),s=i(13)("toStringTag"),A="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),C=0;Cdocument.F=Object<\/script>"),t.close(),C=t.F;g--;)delete C.prototype[n[g]];return C()};t.exports=Object.create||function(t,e){var i;return null!==t?(A.prototype=g(t),i=new A,A.prototype=null,i[s]=t):i=C(),void 0===e?i:o(i,e)}},function(t,e){var i=Math.ceil,g=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?g:i)(t)}},function(t,e,i){var g=i(57)("keys"),o=i(40);t.exports=function(t){return g[t]||(g[t]=o(t))}},function(t,e,i){var g=i(18),o=g["__core-js_shared__"]||(g["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){var g=i(20).f,o=i(22),n=i(13)("toStringTag");t.exports=function(t,e,i){t&&!o(t=i?t:t.prototype,n)&&g(t,n,{configurable:!0,value:e})}},function(t,e,i){var g=i(135)(!0);i(79)(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=g(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){e.f=i(13)},function(t,e,i){var g=i(18),o=i(7),n=i(52),s=i(61),A=i(20).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=n?{}:g.Symbol||{});"_"==t.charAt(0)||t in e||A(e,t,{value:s.f(t)})}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,i){var g=s(i(8)),o=s(i(19)),n=s(i(6));function s(t){return t&&t.__esModule?t:{default:t}}var A=i(2),C=i(9),I=i(16),r=i(36);function a(t,e){var i=C().hours(0).minutes(0).seconds(0).milliseconds(0),g=i.clone().add(-3,"days").valueOf(),o=i.clone().add(3,"days").valueOf();this.millisecondsPerPixelCache=void 0,void 0===e?(this.start=g,this.end=o):(this.start=e.start||g,this.end=e.end||o),this.rolling=!1,this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={rtl:!1,start:null,end:null,moment:C,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10,rollingMode:{follow:!1,offset:.5}},this.options=A.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.body.dom.rollingModeBtn.addEventListener("click",this.startRolling.bind(this)),this.setOptions(e)}function d(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}a.prototype=new I,a.prototype.setOptions=function(t){if(t){A.selectiveExtend(["animation","direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey","rtl","showCurrentTime","rollingMode","horizontalScroll"],this.options,t),t.rollingMode&&t.rollingMode.follow&&this.startRolling(),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},a.prototype.startRolling=function(){var t=this;!function e(){t.stopRolling(),t.rolling=!0;var i=t.end-t.start,g=A.convert(new Date,"Date").valueOf(),o=g-i*t.options.rollingMode.offset,n=g+i*(1-t.options.rollingMode.offset);t.setRange(o,n,{animation:!1}),(i=1/t.conversion(t.body.domProps.center.width).scale/10)<30&&(i=30),i>1e3&&(i=1e3),t.body.dom.rollingModeBtn.style.visibility="hidden",t.currentTimeTimer=setTimeout(e,i)}()},a.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},a.prototype.setRange=function(t,e,i,s,C){i||(i={}),!0!==i.byUser&&(i.byUser=!1);var I=this,a=null!=t?A.convert(t,"Date").valueOf():null,d=null!=e?A.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),this.millisecondsPerPixelCache=void 0,i.animation){var h=this.start,l=this.end,u="object"===(0,n.default)(i.animation)&&"duration"in i.animation?i.animation.duration:500,c="object"===(0,n.default)(i.animation)&&"easingFunction"in i.animation?i.animation.easingFunction:"easeInOutQuad",p=A.easingFunctions[c];if(!p)throw new Error("Unknown easing function "+(0,o.default)(c)+". Choose from: "+(0,g.default)(A.easingFunctions).join(", "));var f=(new Date).valueOf(),m=!1;return function t(){if(!I.props.touch.dragging){var e=(new Date).valueOf()-f,g=p(e/u),o=e>u,n=o||null===a?a:h+(a-h)*g,A=o||null===d?d:l+(d-l)*g;v=I._applyRange(n,A),r.updateHiddenDates(I.options.moment,I.body,I.options.hiddenDates),m=m||v;var c={start:new Date(I.start),end:new Date(I.end),byUser:i.byUser,event:i.event};if(C&&C(g,v,o),v&&I.body.emitter.emit("rangechange",c),o){if(m&&(I.body.emitter.emit("rangechanged",c),s))return s()}else I.animationTimer=setTimeout(t,20)}}()}var v=this._applyRange(a,d);if(r.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),v){var y={start:new Date(this.start),end:new Date(this.end),byUser:i.byUser,event:i.event};if(this.body.emitter.emit("rangechange",y),clearTimeout(I.timeoutID),I.timeoutID=setTimeout(function(){I.body.emitter.emit("rangechanged",y)},200),s)return s()}},a.prototype.getMillisecondsPerPixel=function(){return void 0===this.millisecondsPerPixelCache&&(this.millisecondsPerPixelCache=(this.end-this.start)/this.body.dom.center.clientWidth),this.millisecondsPerPixelCache},a.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},a.prototype._applyRange=function(t,e){var i,g=null!=t?A.convert(t,"Date").valueOf():this.start,o=null!=e?A.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?A.convert(this.options.max,"Date").valueOf():null,s=null!=this.options.min?A.convert(this.options.min,"Date").valueOf():null;if(isNaN(g)||null===g)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(on&&(o=n)),null!==n&&o>n&&(g-=i=o-n,o-=i,null!=s&&g=this.start-.5&&o<=this.end?(g=this.start,o=this.end):(g-=(i=C-(o-g))/2,o+=i/2)}}if(null!==this.options.zoomMax){var I=parseFloat(this.options.zoomMax);I<0&&(I=0),o-g>I&&(this.end-this.start===I&&gthis.end?(g=this.start,o=this.end):(g+=(i=o-g-I)/2,o-=i/2))}var r=this.start!=g||this.end!=o;return g>=this.start&&g<=this.end||o>=this.start&&o<=this.end||this.start>=g&&this.start<=o||this.end>=g&&this.end<=o||this.body.emitter.emit("checkRangedItems"),this.start=g,this.end=o,r},a.prototype.getRange=function(){return{start:this.start,end:this.end}},a.prototype.conversion=function(t,e){return a.conversion(this.start,this.end,t,e)},a.conversion=function(t,e,i,g){return void 0===g&&(g=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-g)}:{offset:0,scale:1}},a.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"))},a.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;d(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var g=this.props.touch.end-this.props.touch.start;g-=r.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var o,n="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;o=this.options.rtl?i/n*g:-i/n*g;var s=this.props.touch.start+o,A=this.props.touch.end+o,C=r.snapAwayFromHidden(this.body.hiddenDates,s,this.previousDelta-i,!0),I=r.snapAwayFromHidden(this.body.hiddenDates,A,this.previousDelta-i,!0);if(C!=s||I!=A)return this.deltaDifference+=i,this.props.touch.start=C,this.props.touch.end=I,void this._onDrag(t);this.previousDelta=i,this._applyRange(s,A);var a=new Date(this.start),h=new Date(this.end);this.body.emitter.emit("rangechange",{start:a,end:h,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},a.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}))},a.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)&&this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var i,g;if(i=e<0?1-e/5:1/(1+e/5),this.rolling)g=this.start+(this.end-this.start)*this.options.rollingMode.offset;else{var o=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);g=this._pointerToDate(o)}this.zoom(i,g,e,t),t.preventDefault()}},a.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,A.preventDefault(t)},a.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){A.preventDefault(t),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),g=r.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=r.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),n=g-o,s=i-o+(this.props.touch.start-(i-o))*e,C=i+n+(this.props.touch.end-(i+n))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var I=r.snapAwayFromHidden(this.body.hiddenDates,s,1-e,!0),a=r.snapAwayFromHidden(this.body.hiddenDates,C,e-1,!0);I==s&&a==C||(this.props.touch.start=I,this.props.touch.end=a,this.scaleOffset=1-t.scale,s=I,C=a);var d={animation:!1,byUser:!0,event:t};this.setRange(s,C,d),this.startToFront=!1,this.endToFront=!0}},a.prototype._isInsideRange=function(t){var e,i=t.center?t.center.x:t.clientX;e=this.options.rtl?i-A.getAbsoluteLeft(this.body.dom.centerContainer):A.getAbsoluteRight(this.body.dom.centerContainer)-i;var g=this.body.util.toTime(e);return g>=this.start&&g<=this.end},a.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(d(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var g=this.body.domProps.center.height;return e=this.conversion(g),t.y/e.scale+e.offset},a.prototype.getPointer=function(t,e){return this.options.rtl?{x:A.getAbsoluteRight(e)-t.x,y:t.y-A.getAbsoluteTop(e)}:{x:t.x-A.getAbsoluteLeft(e),y:t.y-A.getAbsoluteTop(e)}},a.prototype.zoom=function(t,e,i,g){null==e&&(e=(this.start+this.end)/2);var o=r.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=r.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),s=o-n,A=e-n+(this.start-(e-n))*t,C=e+s+(this.end-(e+s))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var I=r.snapAwayFromHidden(this.body.hiddenDates,A,i,!0),a=r.snapAwayFromHidden(this.body.hiddenDates,C,-i,!0);I==A&&a==C||(A=I,C=a);var d={animation:!1,byUser:!0,event:g};this.setRange(A,C,d),this.startToFront=!1,this.endToFront=!0},a.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,g=this.end+e*t;this.start=i,this.end=g},a.prototype.moveTo=function(t){var e=(this.start+this.end)/2-t,i=this.start-e,g=this.end-e;this.setRange(i,g,{animation:!1,byUser:!0,event:null})},t.exports=a},function(t,e,i){var g=n(i(19)),o=n(i(6));function n(t){return t&&t.__esModule?t:{default:t}}var s=i(44),A=i(10),C=i(37),I=i(2),r=i(45),a=i(97),d=i(36),h=i(46);function l(){}s(l.prototype),l.prototype._create=function(t){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(){!0===this.initialDrawDone&&this._redraw()}.bind(this)),this.on("rangechanged",function(){this.initialRangeChangeDone||(this.initialRangeChangeDone=!0)}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var e=this;this._origRedraw=this._redraw.bind(this),this._redraw=I.throttle(this._origRedraw),this.on("_change",function(t){e.itemSet&&e.itemSet.initialItemSetDrawn&&t&&1==t.queue?e._redraw():e._origRedraw()}),this.hammer=new A(this.dom.root);var i=this.hammer.get("pinch").set({enable:!0});C.disablePreventDefaultVertically(i),this.hammer.get("pan").set({threshold:5,direction:A.DIRECTION_HORIZONTAL}),this.listeners={};function g(t){this.isActive()&&this.emit("mousewheel",t);var e=0,i=0;if("detail"in t&&(i=-1*t.detail),"wheelDelta"in t&&(i=t.wheelDelta),"wheelDeltaY"in t&&(i=t.wheelDeltaY),"wheelDeltaX"in t&&(e=-1*t.wheelDeltaX),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=-1*i,i=0),"deltaY"in t&&(i=-1*t.deltaY),"deltaX"in t&&(e=t.deltaX),this.options.zoomKey&&!t[this.options.zoomKey])if(t.preventDefault(),this.options.verticalScroll&&Math.abs(i)>=Math.abs(e)){var g=this.props.scrollTop+i;this.isActive()&&(this._setScrollTop(g),this._redraw(),this.emit("scroll",t))}else if(this.options.horizontalScroll){var o=(Math.abs(e)>=Math.abs(i)?e:i)/120*(this.range.end-this.range.start)/20,n=this.range.start+o,s=this.range.end+o,A={animation:!1,byUser:!0,event:t};this.range.setRange(n,s,A)}}function o(t){if(e.options.verticalScroll&&(t.preventDefault(),e.isActive())){var i=-t.target.scrollTop;e._setScrollTop(i),e._redraw(),e.emit("scrollSide",t)}}["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){var i=function(i){e.isActive()&&e.emit(t,i)};e.hammer.on(t,i),e.listeners[t]=i}),C.onTouch(this.hammer,function(t){e.emit("touch",t)}.bind(this)),C.onRelease(this.hammer,function(t){e.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",g.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",g.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",g.bind(this)),this.dom.left.parentNode.addEventListener("scroll",o.bind(this)),this.dom.right.parentNode.addEventListener("scroll",o.bind(this));var n=!1;if(this.dom.center.addEventListener("dragover",function(t){if(t.preventDefault&&t.preventDefault(),!(!t.target.className.indexOf("vis")>-1||n))return t.dataTransfer.dropEffect="move",n=!0,!1}.bind(this),!1),this.dom.center.addEventListener("drop",function(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{var i=JSON.parse(t.dataTransfer.getData("text"));if(!i||!i.content)return}catch(t){return!1}return n=!1,t.center={x:t.clientX,y:t.clientY},"item"!==i.target?e.itemSet._onAddItem(t):e.itemSet._onDropObjectOnItem(t),e.emit("drop",e.getEventProperties(t)),!1}.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,this.initialRangeChangeDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},l.prototype.setOptions=function(t){if(t){if(I.selectiveExtend(["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"],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"),"object"!==(0,o.default)(this.options.orientation)&&(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,o.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 e=this.timeAxis2=new r(this.body);e.setOptions=function(t){var i=t?I.extend({},t):{};i.orientation="top",r.prototype.setOptions.call(e,i)},this.components.push(e)}}else if(this.timeAxis2){var i=this.components.indexOf(this.timeAxis2);-1!==i&&this.components.splice(i,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&d.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new a(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 g=I.deepExtend({},this.options);this.components.forEach(function(t){I.deepExtend(g,t.options)}),this.configurator.setModuleOptions({global:g})}this._redraw()},l.prototype.isActive=function(){return!this.activator||this.activator.active},l.prototype.destroy=function(){for(var t in 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),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},l.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,g.default)(e));i.length>0&&i[0].setCustomTime(t)},l.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,g.default)(t));return e[0].getCustomTime()},l.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,g.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},l.prototype.getEventProperties=function(t){return{event:t}},l.prototype.addCustomTime=function(t,e){var i=void 0!==t?I.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,g.default)(e)+" already exists");var o=new h(this.body,I.extend({},this.options,{time:i,id:e}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e},l.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,g.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))},l.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},l.prototype.fit=function(t,e){var i=this.getDataRange();if(null!==i.min||null!==i.max){var g=i.max-i.min,o=new Date(i.min.valueOf()-.01*g),n=new Date(i.max.valueOf()+.01*g),s=!t||void 0===t.animation||t.animation;this.range.setRange(o,n,{animation:s},e)}},l.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},l.prototype.setWindow=function(t,e,i,g){var o,n;"function"==typeof arguments[2]&&(g=arguments[2],i={}),1==arguments.length?(o=void 0===(n=arguments[0]).animation||n.animation,this.range.setRange(n.start,n.end,{animation:o})):2==arguments.length&&"function"==typeof arguments[1]?(n=arguments[0],g=arguments[1],o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,{animation:o},g)):(o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,{animation:o},g))},l.prototype.moveTo=function(t,e,i){"function"==typeof arguments[1]&&(i=arguments[1],e={});var g=this.range.end-this.range.start,o=I.convert(t,"Date").valueOf(),n=o-g/2,s=o+g/2,A=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,{animation:A},i)},l.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},l.prototype.zoomIn=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var g=this.getWindow(),o=g.start.valueOf(),n=g.end.valueOf(),s=n-o,A=(s-s/(1+t))/2,C=o+A,I=n-A;this.setWindow(C,I,e,i)}},l.prototype.zoomOut=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var g=this.getWindow(),o=g.start.valueOf(),n=g.end.valueOf(),s=n-o,A=o-s*t/2,C=n+s*t/2;this.setWindow(A,C,e,i)}},l.prototype.redraw=function(){this._redraw()},l.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,g=this.dom;if(g&&g.container&&0!=g.root.offsetWidth){d.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(I.addClassName(g.root,"vis-top"),I.removeClassName(g.root,"vis-bottom")):(I.removeClassName(g.root,"vis-top"),I.addClassName(g.root,"vis-bottom")),g.root.style.maxHeight=I.option.asSize(e.maxHeight,""),g.root.style.minHeight=I.option.asSize(e.minHeight,""),g.root.style.width=I.option.asSize(e.width,""),i.border.left=(g.centerContainer.offsetWidth-g.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(g.centerContainer.offsetHeight-g.centerContainer.clientHeight)/2,i.border.bottom=i.border.top,i.borderRootHeight=g.root.offsetHeight-g.root.clientHeight,i.borderRootWidth=g.root.offsetWidth-g.root.clientWidth,0===g.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===g.root.clientHeight&&(i.borderRootWidth=i.borderRootHeight),i.center.height=g.center.offsetHeight,i.left.height=g.left.offsetHeight,i.right.height=g.right.offsetHeight,i.top.height=g.top.clientHeight||-i.border.top,i.bottom.height=g.bottom.clientHeight||-i.border.bottom;var o=Math.max(i.left.height,i.center.height,i.right.height),n=i.top.height+o+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;g.root.style.height=I.option.asSize(e.height,n+"px"),i.root.height=g.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var s=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=s,i.leftContainer.height=s,i.rightContainer.height=i.leftContainer.height,i.root.width=g.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=I.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=g.leftContainer.clientWidth||-i.border.left,i.right.width=g.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=g.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=g.rightContainer.clientWidth||-i.border.right):(i.left.width=g.leftContainer.clientWidth||-i.border.left,i.right.width=g.rightContainer.clientWidth||-i.border.right),this._setDOM();var C=this._updateScrollTop();"top"!=e.orientation.item&&(C+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),g.center.style.top=C+"px";var r=0==i.scrollTop?"hidden":"",a=i.scrollTop==i.scrollTopMin?"hidden":"";g.shadowTop.style.visibility=r,g.shadowBottom.style.visibility=a,g.shadowTopLeft.style.visibility=r,g.shadowBottomLeft.style.visibility=a,g.shadowTopRight.style.visibility=r,g.shadowBottomRight.style.visibility=a,e.verticalScroll&&(g.rightContainer.className="vis-panel vis-right vis-vertical-scroll",g.leftContainer.className="vis-panel vis-left vis-vertical-scroll",g.shadowTopRight.style.visibility="hidden",g.shadowBottomRight.style.visibility="hidden",g.shadowTopLeft.style.visibility="hidden",g.shadowBottomLeft.style.visibility="hidden",g.left.style.top="0px",g.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:h?A.DIRECTION_ALL:A.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.body.emitter.emit("changed")}},l.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"},l.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},l.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},l.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},l.prototype._toTime=function(t){return d.toTime(this,t,this.props.center.width)},l.prototype._toGlobalTime=function(t){return d.toTime(this,t,this.props.root.width)},l.prototype._toScreen=function(t){return d.toScreen(this,t,this.props.center.width)},l.prototype._toGlobalScreen=function(t){return d.toScreen(this,t,this.props.root.width)},l.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},l.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){1==t.options.autoResize?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=I.getScrollBarWidth(),t.body.emitter.emit("_change"))):t._stopAutoResize()},I.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)},l.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(I.removeEventListener(window,"resize",this._onResize),this._onResize=null)},l.prototype._onTouch=function(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop},l.prototype._onPinch=function(t){this.touch.allowDragging=!1},l.prototype._onDrag=function(t){if(t&&this.touch.allowDragging){var e=t.deltaY,i=this._getScrollTop(),g=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),g!=i&&this.emit("verticalDrag")}},l.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},l.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.scrollTop0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(null!=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)}},s.snap=function(t,e,i){var o=g(t);if("year"==e){var n=o.year()+Math.round(o.month()/12);o.year(Math.round(n/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("week"==e)o.weekday()>2?(o.weekday(0),o.add(1,"week")):o.weekday(0),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 s=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/s)*s)}return o},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"week":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"week":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":case"week":return 1==t.date();case"month":return 0==t.month();case"year":default:return!1}},s.prototype.getLabelMinor=function(t){if(null==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];switch(this.scale){case"week":if(this.isMajor()&&0!==t.weekday())return"";default:return e&&e.length>0?this.moment(t).format(e):""}},s.prototype.getLabelMajor=function(t){if(null==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):""},s.prototype.getClassName=function(){var t=this.moment,e=this.moment(this.current),i=e.locale?e.locale("en"):e.lang("en"),g=this.step,o=[];function n(t){return t/g%2==0?" vis-even":" vis-odd"}function s(e){return e.isSame(new Date,"day")?" vis-today":e.isSame(t().add(1,"day"),"day")?" vis-tomorrow":e.isSame(t().add(-1,"day"),"day")?" vis-yesterday":""}function A(t){return t.isSame(new Date,"week")?" vis-current-week":""}function C(t){return t.isSame(new Date,"month")?" vis-current-month":""}switch(this.scale){case"millisecond":o.push(s(i)),o.push(n(i.milliseconds()));break;case"second":o.push(s(i)),o.push(n(i.seconds()));break;case"minute":o.push(s(i)),o.push(n(i.minutes()));break;case"hour":o.push("vis-h"+i.hours()+(4==this.step?"-h"+(i.hours()+4):"")),o.push(s(i)),o.push(n(i.hours()));break;case"weekday":o.push("vis-"+i.format("dddd").toLowerCase()),o.push(s(i)),o.push(A(i)),o.push(n(i.date()));break;case"day":o.push("vis-day"+i.date()),o.push("vis-"+i.format("MMMM").toLowerCase()),o.push(s(i)),o.push(C(i)),o.push(this.step<=2?s(i):""),o.push(this.step<=2?"vis-"+i.format("dddd").toLowerCase():""),o.push(n(i.date()-1));break;case"week":o.push("vis-week"+i.format("w")),o.push(A(i)),o.push(n(i.week()));break;case"month":o.push("vis-"+i.format("MMMM").toLowerCase()),o.push(C(i)),o.push(n(i.month()));break;case"year":o.push("vis-year"+i.year()),o.push(i.isSame(new Date,"year")?" vis-current-year":""),o.push(n(i.year()))}return o.filter(String).join(" ")},t.exports=s},function(t,e,i){var g=i(2),o=i(16),n=i(9),s=i(98);function A(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:n,locales:s,locale:"en"},this.options=g.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}A.prototype=new o,A.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},A.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},A.prototype.setOptions=function(t){t&&g.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},A.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),g=this.options.locales[this.options.locale];g||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),g=this.options.locales.en);var o=g.current+" "+g.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},A.prototype.start=function(){var t=this;!function e(){t.stop();var i=1/t.body.range.conversion(t.body.domProps.center.width).scale/10;i<30&&(i=30),i>1e3&&(i=1e3),t.redraw(),t.body.emitter.emit("currentTimeTick"),t.currentTimeTimer=setTimeout(e,i)}()},A.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},A.prototype.setCurrentTime=function(t){var e=g.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},A.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=A},function(t,e,i){var g,o=i(8),n=(g=o)&&g.__esModule?g:{default:g};var s=i(2),A=i(100);function C(t,e,i){if(this.groupId=t,this.subgroups={},this.subgroupStack={},this.subgroupStackAll=!1,this.doInnerStack=!1,this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,this.stackDirty=!0,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),e&&e.subgroupStack)if("boolean"==typeof e.subgroupStack)this.doInnerStack=e.subgroupStack,this.subgroupStackAll=e.subgroupStack;else for(var g in e.subgroupStack)this.subgroupStack[g]=e.subgroupStack[g],this.doInnerStack=this.doInnerStack||e.subgroupStack[g];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)}C.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)},C.prototype.setData=function(t){var e,i;if((e=this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this))(t,this.dom.inner):t&&t.content)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=null!=e?e:this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?s.removeClassName(this.dom.inner,"vis-hidden"):s.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),s.addClassName(this.dom.label,"vis-nesting-group");var g=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";this.showNested?(s.removeClassName(this.dom.label,g),s.addClassName(this.dom.label,"expanded")):(s.removeClassName(this.dom.label,"expanded"),s.addClassName(this.dom.label,g))}else this.nestedGroups&&(this.nestedGroups=null,g=this.itemSet.options.rtl?"collapsed-rtl":"collapsed",s.removeClassName(this.dom.label,g),s.removeClassName(this.dom.label,"expanded"),s.removeClassName(this.dom.label,"vis-nesting-group"));t&&t.nestedInGroup&&(s.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 o=t&&t.className||null;o!=this.className&&(this.className&&(s.removeClassName(this.dom.label,this.className),s.removeClassName(this.dom.foreground,this.className),s.removeClassName(this.dom.background,this.className),s.removeClassName(this.dom.axis,this.className)),s.addClassName(this.dom.label,o),s.addClassName(this.dom.foreground,o),s.addClassName(this.dom.background,o),s.addClassName(this.dom.axis,o),this.className=o),this.style&&(s.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(s.addCssText(this.dom.label,t.style),this.style=t.style)},C.prototype.getLabelWidth=function(){return this.props.label.width},C.prototype._didMarkerHeightChange=function(){var t=this.dom.marker.clientHeight;if(t!=this.lastMarkerHeight){this.lastMarkerHeight=t;var e={},i=0;if(s.forEach(this.items,function(t,g){if(t.dirty=!0,t.displayed){e[g]=t.redraw(!0),i=e[g].length}}),i>0)for(var g=0;g0)for(var a=0;a0){var e=this;this.resetSubgroups(),s.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)})}},C.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},C.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var g=i[0].top,o=i[0].top+i[0].height;if(s.forEach(i,function(t){g=Math.min(g,t.top),o=Math.max(o,t.top+t.height)}),g>t.axis){var n=g-t.axis;o-=n,s.forEach(i,function(t){t.top-=n})}e=o+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},C.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)},C.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 g=this.dom.axis;g.parentNode&&g.parentNode.removeChild(g)},C.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),this.stackDirty=!0,void 0!==t.data.subgroup&&(this._addToSubgroup(t),this.orderSubgroups()),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},C.prototype._addToSubgroup=function(t,e){null!=(e=e||t.data.subgroup)&&void 0===this.subgroups[e]&&(this.subgroups[e]={height:0,top:0,start:t.data.start,end:t.data.end||t.data.start,visible:!1,index:this.subgroupIndex,items:[],stack:this.subgroupStackAll||this.subgroupStack[e]||!1},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[e].end)&&(this.subgroups[e].end=i),this.subgroups[e].items.push(t)},C.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.end||t.subgroups[e].items[0].data.start,g=t.subgroups[e].items[0].data.start,o=i-1;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=e)}),t.subgroups[e].start=g,t.subgroups[e].end=new Date(o-1)}},C.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t,e=[];if("string"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push({subgroup:t,sortField:this.subgroups[t].items[0].data[this.subgroupOrderer]});e.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push(this.subgroups[t].items[0].data);e.sort(this.subgroupOrderer)}if(e.length>0)for(var i=0;i=0&&(i.items.splice(g,1),i.items.length?this._updateSubgroupsSizes():delete this.subgroups[e])}}},C.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},C.prototype.order=function(){for(var t=s.toArray(this.items),e=[],i=[],g=0;g0)for(var r=0;rC}),1==this.checkRangedItems)for(this.checkRangedItems=!1,r=0;rC})}var h={},l=0;for(r=0;r0)for(var c=0;c=0&&!o(s=e[n]);n--)void 0===g[s.id]&&(g[s.id]=!0,i.push(s));for(n=t+1;nt.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.visibleFrame=document.createElement("div"),this.dom.visibleFrame.className="vis-item-visible-frame",this.dom.box.appendChild(this.dom.visibleFrame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dom.box["timeline-item"]=this,this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.foreground;if(!t)throw new Error("Cannot redraw item: parent has no foreground container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var t=this.editable.updateTime||this.editable.updateGroup,e=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(t?" vis-editable":" vis-readonly");this.dom.box.className=this.baseClassName+e,this.dom.content.style.maxWidth="none"}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.frame).overflow,{content:{width:this.dom.content.offsetWidth},box:{height:this.dom.box.offsetHeight}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=t.box.height,this.dom.content.style.maxWidth="",this.dirty=!1},o.prototype._repaintDomAdditionals=function(){this._repaintOnItemUpdateTimeTooltip(this.dom.box),this._repaintDeleteButton(this.dom.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.redraw=function(t){var e,i,g=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];return t?g:(g.forEach(function(t){i=t()}),i)},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,g=this.parent.width,o=this.conversion.toScreen(this.data.start),n=this.conversion.toScreen(this.data.end),s=void 0===this.data.align?this.options.align:this.data.align;!1===this.data.limitSize||void 0!==t&&!0!==t||(o<-g&&(o=-g),n>2*g&&(n=2*g));var A=Math.max(n-o+.5,1);switch(this.overflow?(this.options.rtl?this.right=o:this.left=o,this.width=A+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=o:this.left=o,this.width=A,i=Math.min(n-o,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=A+"px",s){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(A-i,0)+"px":this.dom.content.style.left=Math.max(A-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((A-i)/2,0)+"px":this.dom.content.style.left=Math.max((A-i)/2,0)+"px";break;default:e=this.overflow?n>0?Math.max(-o,0):-i:o<0?-o: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.itemsAlwaysDraggable.range)&&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.options.itemsAlwaysDraggable.range||!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.itemsAlwaysDraggable.range)&&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.options.itemsAlwaysDraggable.range||!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){Object.defineProperty(e,"__esModule",{value:!0});var g=A(i(19)),o=A(i(6)),n=A(i(0)),s=A(i(1));function A(t){return t&&t.__esModule?t:{default:t}}var C=i(2),I=i(179).default,r=function(){function t(e,i,g){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,n.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},C.extend(this.options,this.defaultOptions),this.configureOptions=g,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new I(o),this.wrapper=void 0}return(0,s.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,o.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),!1===this.options.filter&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(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,g=!1;for(var o in this.configureOptions)this.configureOptions.hasOwnProperty(o)&&(this.allowCreation=!1,g=!1,"function"==typeof e?g=(g=e(o,[]))||this._handleObject(this.configureOptions[o],[o],!0):!0!==e&&-1===e.indexOf(o)||(g=!0),!1!==g&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(o),this._handleObject(this.configureOptions[o],[o])),i++);if(!0===this.options.showButton){var n=document.createElement("div");n.className="vis-configuration vis-config-button",n.innerHTML="generate options",n.onclick=function(){t._printOptions()},n.onmouseover=function(){n.className="vis-configuration vis-config-button hover"},n.onmouseout=function(){n.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(n)}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),o=1;o2&&void 0!==arguments[2]&&arguments[2],g=document.createElement("div");return g.className="vis-configuration vis-config-label vis-config-s"+e.length,g.innerHTML=!0===i?""+t+":":t+":",g}},{key:"_makeDropdown",value:function(t,e,i){var g=document.createElement("select");g.className="vis-configuration vis-config-select";var o=0;void 0!==e&&-1!==t.indexOf(e)&&(o=t.indexOf(e));for(var n=0;nn&&1!==n&&(A.max=Math.ceil(1.2*e),I=A.max,C="range increased"),A.value=e}else A.value=g;var r=document.createElement("input");r.className="vis-configuration vis-config-rangeinput",r.value=A.value;var a=this;A.onchange=function(){r.value=this.value,a._update(Number(this.value),i)},A.oninput=function(){r.value=this.value};var d=this._makeLabel(i[i.length-1],i),h=this._makeItem(i,d,A,r);""!==C&&this.popupHistory[h]!==I&&(this.popupHistory[h]=I,this._setupPopup(C,h))}},{key:"_setupPopup",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],g=!1,o=this.options.filter,n=!1;for(var s in t)if(t.hasOwnProperty(s)){g=!0;var A=t[s],I=C.copyAndExtendArray(e,s);if("function"==typeof o&&!1===(g=o(s,e))&&!(A instanceof Array)&&"string"!=typeof A&&"boolean"!=typeof A&&A instanceof Object&&(this.allowCreation=!1,g=this._handleObject(A,I,!0),this.allowCreation=!1===i),!1!==g){n=!0;var r=this._getValue(I);if(A instanceof Array)this._handleArray(A,r,I);else if("string"==typeof A)this._makeTextInput(A,r,I);else if("boolean"==typeof A)this._makeCheckbox(A,r,I);else if(A instanceof Object){var a=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==s&&(a=!1),!0===a)if(void 0!==A.enabled){var d=C.copyAndExtendArray(I,"enabled"),h=this._getValue(d);if(!0===h){var l=this._makeLabel(s,I,!0);this._makeItem(I,l),n=this._handleObject(A,I)||n}else this._makeCheckbox(A,h,I)}else{var u=this._makeLabel(s,I,!0);this._makeItem(I,u),n=this._handleObject(A,I)||n}}else console.error("dont know how to handle",A,s,I)}}return n}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value: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]:{},g=i;t="false"!==(t="true"===t||t)&&t;for(var o=0;ovar options = "+(0,g.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;ethis.imageObj.height?i=this.imageObj.width/this.imageObj.height:g=this.imageObj.height/this.imageObj.width),t=2*this.options.size*i,e=2*this.options.size*g}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(t,e,i,g){this.initContextForDraw(t,g),t.circle(e,i,g.size),this.performFill(t,g)}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=1;!0===this.options.shapeProperties.interpolation&&(i=this.imageObj.width/this.width/this.body.view.scale),this.imageObj.drawImageAtPosition(t,i,this.left,this.top,this.width,this.height),this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,g,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var A=this.labelModule.getTextSize(t,g,o);A.lineCount>=1&&(s+=A.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,g,o,"hanging")}}]),e}(C(i(23)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(19)),o=C(i(6)),n=C(i(29)),s=C(i(0)),A=C(i(1));function C(t){return t&&t.__esModule?t:{default:t}}var I=i(2),r=i(117).default,a=i(48).default,d=i(215).default,h=i(217).default,l=i(218).default,u=i(219).default,c=function(){function t(e,i,g,o){if((0,s.default)(this,t),void 0===i)throw new Error("No body provided");this.options=I.bridgeObject(g),this.globalOptions=g,this.defaultOptions=o,this.body=i,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new r(this.body,this.options,!0),this.setOptions(e)}return(0,A.default)(t,[{key:"setOptions",value:function(e){if(e){t.parseOptions(this.options,e,!0,this.globalOptions),void 0!==e.id&&(this.id=e.id),void 0!==e.from&&(this.fromId=e.from),void 0!==e.to&&(this.toId=e.to),void 0!==e.title&&(this.title=e.title),void 0!==e.value&&(e.value=parseFloat(e.value));var i=[e,this.options,this.defaultOptions];this.chooser=a.choosify("edge",i),this.updateLabelModule(e);var g=this.updateEdgeType();return this._setInteractionWidths(),this.connect(),void 0===e.hidden&&void 0===e.physics||(g=!0),g}}},{key:"getFormattingValues",value:function(){var t=!0===this.options.arrows.to||!0===this.options.arrows.to.enabled,e=!0===this.options.arrows.from||!0===this.options.arrows.from.enabled,i=!0===this.options.arrows.middle||!0===this.options.arrows.middle.enabled,g=this.options.color.inherit,o={toArrow:t,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,middleArrow:i,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,fromArrow:e,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,arrowStrikethrough:this.options.arrowStrikethrough,color:g?void 0:this.options.color.color,inheritsColor:g,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width};if(this.selected||this.hover)if(!0===this.chooser){if(this.selected){var n=this.options.selectionWidth;"function"==typeof n?o.width=n(o.width):"number"==typeof n&&(o.width+=n),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.highlight,o.shadow=this.options.shadow.enabled}else if(this.hover){var s=this.options.hoverWidth;"function"==typeof s?o.width=s(o.width):"number"==typeof s&&(o.width+=s),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.hover,o.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(o,this.options.id,this.selected,this.hover),void 0!==o.color&&(o.inheritsColor=!1),!1===o.shadow&&(o.shadowColor===this.options.shadow.color&&o.shadowSize===this.options.shadow.size&&o.shadowX===this.options.shadow.x&&o.shadowY===this.options.shadow.y||(o.shadow=!0)));else o.shadow=this.options.shadow.enabled,o.width=Math.max(o.width,.3/this.body.view.scale);return o}},{key:"updateLabelModule",value:function(t){var e=[t,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateEdgeType",value:function(){var t=this.options.smooth,e=!1,i=!0;return void 0!==this.edgeType&&((this.edgeType instanceof h&&!0===t.enabled&&"dynamic"===t.type||this.edgeType instanceof d&&!0===t.enabled&&"cubicBezier"===t.type||this.edgeType instanceof l&&!0===t.enabled&&"dynamic"!==t.type&&"cubicBezier"!==t.type||this.edgeType instanceof u&&!1===t.type.enabled)&&(i=!1),!0===i&&(e=this.cleanup())),!0===i?!0===t.enabled?"dynamic"===t.type?(e=!0,this.edgeType=new h(this.options,this.body,this.labelModule)):"cubicBezier"===t.type?this.edgeType=new d(this.options,this.body,this.labelModule):this.edgeType=new l(this.options,this.body,this.labelModule):this.edgeType=new u(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),e}},{key:"connect",value:function(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=void 0!==this.from&&void 0!==this.to,!0===this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}},{key:"disconnect",value:function(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}},{key:"getTitle",value:function(){return this.title}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var g=this.options.scaling.customScalingFunction(t,e,i,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var n=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+g*n}this.options.width=this.options.scaling.min+g*o}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}},{key:"_setInteractionWidths",value:function(){"function"==typeof this.options.hoverWidth?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,"function"==typeof this.options.selectionWidth?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}},{key:"draw",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode(),g={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,e.fromArrow&&(g.from=this.edgeType.getArrowData(t,"from",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.fromPoint=g.from.core)),e.toArrow&&(g.to=this.edgeType.getArrowData(t,"to",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.toPoint=g.to.core)),e.middleArrow&&(g.middle=this.edgeType.getArrowData(t,"middle",i,this.selected,this.hover,e)),this.edgeType.drawLine(t,e,this.selected,this.hover,i),this.drawArrows(t,g,e),this.drawLabel(t,i)}}},{key:"drawArrows",value:function(t,e,i){i.fromArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.from),i.middleArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.middle),i.toArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.to)}},{key:"drawLabel",value:function(t,e){if(void 0!==this.options.label){var i=this.from,g=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(t,this.selected,this.hover),i.id!=g.id){this.labelModule.pointToSelf=!1;var o=this.edgeType.getPoint(.5,e);t.save();var n=this._getRotation(t);0!=n.angle&&(t.translate(n.x,n.y),t.rotate(n.angle)),this.labelModule.draw(t,o.x,o.y,this.selected,this.hover),t.restore()}else{var s,A;this.labelModule.pointToSelf=!0;var C=this.options.selfReferenceSize;i.shape.width>i.shape.height?(s=i.x+.5*i.shape.width,A=i.y-C):(s=i.x+C,A=i.y-.5*i.shape.height),o=this._pointOnCircle(s,A,C,.125),this.labelModule.draw(t,o.x,o.y,this.selected,this.hover)}}}},{key:"getItemsOnPoint",value:function(t){var e=[];if(this.labelModule.visible()){var i=this._getRotation();a.pointInRect(this.labelModule.getSize(),t,i)&&e.push({edgeId:this.id,labelId:0})}var g={left:t.x,top:t.y};return this.isOverlappingWith(g)&&e.push({edgeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,g=this.to.x,o=this.to.y,n=t.left,s=t.top;return this.edgeType.getDistanceToEdge(e,i,g,o,n,s)<10}return!1}},{key:"_getRotation",value:function(t){var e=this.edgeType.getViaNode(),i=this.edgeType.getPoint(.5,e);void 0!==t&&this.labelModule.calculateLabelSize(t,this.selected,this.hover,i.x,i.y);var g={x:i.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return g;if("horizontal"===this.options.font.align)return g;var o=this.from.y-this.to.y,n=this.from.x-this.to.x,s=Math.atan2(o,n);return(s<-1&&n<0||s>0&&n<0)&&(s+=Math.PI),g.angle=s,g}},{key:"_pointOnCircle",value:function(t,e,i,g){var o=2*g*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}},{key:"remove",value:function(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}},{key:"endPointsValid",value:function(){return void 0!==this.body.nodes[this.fromId]&&void 0!==this.body.nodes[this.toId]}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},A=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(I.selectiveDeepExtend(["arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width","font","chosen","widthConstraint"],t,e,i),a.isValidLabel(e.label)?t.label=e.label:t.label=void 0,I.mergeOptions(t,e,"smooth",s),I.mergeOptions(t,e,"shadow",s),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:!0===i&&null===e.dashes&&(t.dashes=(0,n.default)(s.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),I.mergeOptions(t.scaling,e.scaling,"label",s.scaling)):!0===i&&null===e.scaling&&(t.scaling=(0,n.default)(s.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var C=e.arrows.toLowerCase();t.arrows.to.enabled=-1!=C.indexOf("to"),t.arrows.middle.enabled=-1!=C.indexOf("middle"),t.arrows.from.enabled=-1!=C.indexOf("from")}else{if("object"!==(0,o.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,g.default)(e.arrows));I.mergeOptions(t.arrows,e.arrows,"to",s.arrows),I.mergeOptions(t.arrows,e.arrows,"middle",s.arrows),I.mergeOptions(t.arrows,e.arrows,"from",s.arrows)}else!0===i&&null===e.arrows&&(t.arrows=(0,n.default)(s.arrows));if(void 0!==e.color&&null!==e.color){var r=e.color,d=t.color;if(A)I.deepExtend(d,s.color,!1,i);else for(var h in d)d.hasOwnProperty(h)&&delete d[h];if(I.isString(d))d.color=d,d.highlight=d,d.hover=d,d.inherit=!1,void 0===r.opacity&&(d.opacity=1);else{var l=!1;void 0!==r.color&&(d.color=r.color,l=!0),void 0!==r.highlight&&(d.highlight=r.highlight,l=!0),void 0!==r.hover&&(d.hover=r.hover,l=!0),void 0!==r.inherit&&(d.inherit=r.inherit),void 0!==r.opacity&&(d.opacity=Math.min(1,Math.max(0,r.opacity))),!0===l?d.inherit=!1:void 0===d.inherit&&(d.inherit="from")}}else!0===i&&null===e.color&&(t.color=I.bridgeObject(s.color));!0===i&&null===e.font&&(t.font=I.bridgeObject(s.font))}}]),t}();e.default=c},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"_findBorderPositionBezier",value:function(t,e){var i,g,o,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),s=0,A=0,C=1,I=this.to,r=!1;for(t.id===this.from.id&&(I=this.from,r=!0);A<=C&&s<10;){var a=.5*(A+C);if(i=this.getPoint(a,n),g=Math.atan2(I.y-i.y,I.x-i.x),o=I.distanceToBorder(e,g)-Math.sqrt(Math.pow(i.x-I.x,2)+Math.pow(i.y-I.y,2)),Math.abs(o)<.2)break;o<0?!1===r?A=a:C=a:!1===r?C=a:A=a,s++}return i.t=a,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,g,o,n,s){var A=1e9,C=void 0,I=void 0,r=void 0,a=void 0,d=void 0,h=t,l=e;for(I=1;I<10;I++)r=.1*I,a=Math.pow(1-r,2)*t+2*r*(1-r)*s.x+Math.pow(r,2)*i,d=Math.pow(1-r,2)*e+2*r*(1-r)*s.y+Math.pow(r,2)*g,I>0&&(A=(C=this._getDistanceToLine(h,l,a,d,o,n))1&&void 0!==arguments[1]?arguments[1]:[],g=1e9,o=-1e9,n=1e9,s=-1e9;if(i.length>0)for(var A=0;A(e=t[i[A]]).shape.boundingBox.left&&(n=e.shape.boundingBox.left),se.shape.boundingBox.top&&(g=e.shape.boundingBox.top),o1&&void 0!==arguments[1]?arguments[1]:[],g=1e9,o=-1e9,n=1e9,s=-1e9;if(i.length>0)for(var A=0;A(e=t[i[A]]).x&&(n=e.x),se.y&&(g=e.y),oC;)g(A,i=e[C++])&&(~n(I,i)||I.push(i));return I}},function(t,e,i){var g=i(22),o=i(41),n=i(56)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),g(t,n)?t[n]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,i){var g=i(50),o=i(13)("toStringTag"),n="Arguments"==g(function(){return arguments}());t.exports=function(t){var e,i,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),o))?i:n?g(e):"Object"==(s=g(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e,i){var g=i(17),o=i(7),n=i(28);t.exports=function(t,e){var i=(o.Object||{})[t]||Object[t],s={};s[t]=e(i),g(g.S+g.F*n(function(){i(1)}),"Object",s)}},function(t,e,i){var g=i(84),o=i(58).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return g(t,o)}},function(t,e,i){var g=i(42),o=i(39),n=i(25),s=i(53),A=i(22),C=i(81),I=Object.getOwnPropertyDescriptor;e.f=i(21)?I:function(t,e){if(t=n(t),e=s(e,!0),C)try{return I(t,e)}catch(t){}if(A(t,e))return o(!g.f.call(t,e),t[e])}},function(t,e,i){t.exports={default:i(162),__esModule:!0}},function(t,e,i){t.exports=function(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}},function(t,e,i){var g=i(2);function o(t,e){if(void 0===t)throw new Error("No container element defined");if(this.container=t,this.visible=!e||null==e.visible||e.visible,this.visible){this.frame=document.createElement("DIV"),this.frame.style.width="100%",this.frame.style.position="relative",this.container.appendChild(this.frame),this.frame.prev=document.createElement("INPUT"),this.frame.prev.type="BUTTON",this.frame.prev.value="Prev",this.frame.appendChild(this.frame.prev),this.frame.play=document.createElement("INPUT"),this.frame.play.type="BUTTON",this.frame.play.value="Play",this.frame.appendChild(this.frame.play),this.frame.next=document.createElement("INPUT"),this.frame.next.type="BUTTON",this.frame.next.value="Next",this.frame.appendChild(this.frame.next),this.frame.bar=document.createElement("INPUT"),this.frame.bar.type="BUTTON",this.frame.bar.style.position="absolute",this.frame.bar.style.border="1px solid red",this.frame.bar.style.width="100px",this.frame.bar.style.height="6px",this.frame.bar.style.borderRadius="2px",this.frame.bar.style.MozBorderRadius="2px",this.frame.bar.style.border="1px solid #7F7F7F",this.frame.bar.style.backgroundColor="#E5E5E5",this.frame.appendChild(this.frame.bar),this.frame.slide=document.createElement("INPUT"),this.frame.slide.type="BUTTON",this.frame.slide.style.margin="0px",this.frame.slide.value=" ",this.frame.slide.style.position="relative",this.frame.slide.style.left="-100px",this.frame.appendChild(this.frame.slide);var i=this;this.frame.slide.onmousedown=function(t){i._onMouseDown(t)},this.frame.prev.onclick=function(t){i.prev(t)},this.frame.play.onclick=function(t){i.togglePlay(t)},this.frame.next.onclick=function(t){i.next(t)}}this.onChangeCallback=void 0,this.values=[],this.index=void 0,this.playTimeout=void 0,this.playInterval=1e3,this.playLoop=!0}o.prototype.prev=function(){var t=this.getIndex();t>0&&(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&&(g=this.values.length-1),g},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),g.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",g.removeEventListener(document,"mousemove",this.onmousemove),g.removeEventListener(document,"mouseup",this.onmouseup),g.preventDefault()},t.exports=o},function(t,e,i){function g(t,e,i,g){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,g)}g.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},g.prototype.setRange=function(t,e,i,g){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||0,this._end=e||0,this.setStep(i,g)},g.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),!0===this.prettyStep?this._step=g.calculatePrettyStep(t):this._step=t)},g.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),g=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(g-t)<=Math.abs(n-t)&&(n=g),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),n<=0&&(n=1),n},g.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},g.prototype.getStep=function(){return this._step},g.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=g},function(t,e,i){var g,o=i(6),n=(g=o)&&g.__esModule?g:{default:g};var s=i(2),A=i(95),C=i(34),I={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},r={dot:I.DOT,"dot-line":I.DOTLINE,"dot-color":I.DOTCOLOR,"dot-size":I.DOTSIZE,line:I.LINE,grid:I.GRID,surface:I.SURFACE,bar:I.BAR,"bar-color":I.BARCOLOR,"bar-size":I.BARSIZE},a=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","dotSizeMinFraction","dotSizeMaxFraction","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],d=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],h=void 0;function l(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function u(t,e){return void 0===t||""===t?e:t+(void 0===(i=e)||""===i||"string"!=typeof i?i:i.charAt(0).toUpperCase()+i.slice(1));var i}function c(t,e,i,g){for(var o,n=0;ns&&(t=g(t)*s),i(e)>s&&(e=g(e)*s),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},A.prototype.getOffset=function(){return this.cameraOffset},A.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},A.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()},A.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},A.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())},A.prototype.getArmLength=function(){return this.armLength},A.prototype.getCameraLocation=function(){return this.cameraLocation},A.prototype.getCameraRotation=function(){return this.cameraRotation},A.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.z,i=this.cameraOffset.x,g=this.cameraOffset.y,o=Math.sin,n=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*n(e)+g*-o(e)*n(t),this.cameraLocation.y=this.cameraLocation.y+i*o(e)+g*n(e)*n(t),this.cameraLocation.z=this.cameraLocation.z+g*o(t)},t.exports=A},function(t,e,i){var g=i(12);function o(t,e,i){this.dataGroup=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=t.getDistinctValues(this.column),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}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 g(this.dataGroup.getDataSet(),{filter:function(t){return t[i.column]==i.value}}).get();e=this.dataGroup._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){var o=i.groupsData.getDataSet();o.get().forEach(function(t){if(t.nestedGroups){0!=t.showNested&&(t.showNested=!0);var e=[];t.nestedGroups.forEach(function(i){var g=o.get(i);g&&(g.nestedInGroup=t.id,0==t.showNested&&(g.visible=!1),e=e.concat(g))}),o.update(e,g)}})}},update:function(t,e,g){i._onUpdateGroups(e.items)},remove:function(t,e,g){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.popup=null,this.touchParams={},this.groupTouchParams={},this._create(),this.setOptions(e)}y.prototype=new a,y.types={background:p,box:l,range:c,point:u},y.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var g=document.createElement("div");g.className="vis-axis",this.dom.axis=g;var o=document.createElement("div");o.className="vis-labelset",this.dom.labelSet=o,this._updateUngrouped();var n=new h(v,null,this);n.show(),this.groups[v]=n,this.hammer=new s(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:s.DIRECTION_HORIZONTAL}),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.options.rtl?this.groupHammer=new s(this.body.dom.rightContainer):this.groupHammer=new s(this.body.dom.leftContainer),this.groupHammer.on("tap",this._onGroupClick.bind(this)),this.groupHammer.on("panstart",this._onGroupDragStart.bind(this)),this.groupHammer.on("panmove",this._onGroupDrag.bind(this)),this.groupHammer.on("panend",this._onGroupDragEnd.bind(this)),this.groupHammer.get("pan").set({threshold:5,direction:s.DIRECTION_VERTICAL}),this.body.dom.centerContainer.addEventListener("mouseover",this._onMouseOver.bind(this)),this.body.dom.centerContainer.addEventListener("mouseout",this._onMouseOut.bind(this)),this.body.dom.centerContainer.addEventListener("mousemove",this._onMouseMove.bind(this)),this.body.dom.centerContainer.addEventListener("contextmenu",this._onDragEnd.bind(this)),this.body.dom.centerContainer.addEventListener("mousewheel",this._onMouseWheel.bind(this)),this.show()},y.prototype.setOptions=function(t){if(t){A.selectiveExtend(["type","rtl","align","order","stack","stackSubgroups","selectable","multiselect","multiselectPerGroup","groupOrder","dataAttributes","template","groupTemplate","visibleFrameTemplate","hide","snap","groupOrderSwap","showTooltips","tooltip","tooltipOnItemUpdateTime"],this.options,t),"itemsAlwaysDraggable"in t&&("boolean"==typeof t.itemsAlwaysDraggable?(this.options.itemsAlwaysDraggable.item=t.itemsAlwaysDraggable,this.options.itemsAlwaysDraggable.range=!1):"object"===(0,o.default)(t.itemsAlwaysDraggable)&&(A.selectiveExtend(["item","range"],this.options.itemsAlwaysDraggable,t.itemsAlwaysDraggable),this.options.itemsAlwaysDraggable.item||(this.options.itemsAlwaysDraggable.range=!1))),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.item="top"===t.orientation?"top":"bottom":"object"===(0,o.default)(t.orientation)&&"item"in t.orientation&&(this.options.orientation.item=t.orientation.item)),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"===(0,o.default)(t.margin)&&(A.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"===(0,o.default)(t.margin.item)&&A.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable,this.options.editable.overrideItems=!1):"object"===(0,o.default)(t.editable)&&A.selectiveExtend(["updateTime","updateGroup","add","remove","overrideItems"],this.options.editable,t.editable)),"groupEditable"in t&&("boolean"==typeof t.groupEditable?(this.options.groupEditable.order=t.groupEditable,this.options.groupEditable.add=t.groupEditable,this.options.groupEditable.remove=t.groupEditable):"object"===(0,o.default)(t.groupEditable)&&A.selectiveExtend(["order","add","remove"],this.options.groupEditable,t.groupEditable));var e=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onDropObjectOnItem","onAdd","onUpdate","onRemove","onMove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup"].forEach(e),this.markDirty()}},y.prototype.markDirty=function(t){this.groupIds=[],t&&t.refreshItems&&A.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},y.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},y.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},y.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||(this.options.rtl?this.body.dom.right.appendChild(this.dom.labelSet):this.body.dom.left.appendChild(this.dom.labelSet))},y.prototype.setSelection=function(t){var e,i,g,o;for(null==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;et&&g.push(C.id):C.lefte&&g.push(C.id)}return g},y.prototype._deselect=function(t){for(var e=this.selection,i=0,g=e.length;i0){for(var b={},w=0;wo)return}if(i&&i!=this.groupTouchParams.group){var C=e.get(i.groupId),r=e.get(this.groupTouchParams.group.groupId);r&&C&&(this.options.groupOrderSwap(r,C,e),e.update(r),e.update(C));var a=e.getIds({order:this.options.groupOrder});if(!A.equalArray(a,this.groupTouchParams.originalOrder))for(var d=this.groupTouchParams.originalOrder,h=this.groupTouchParams.group.groupId,l=Math.min(d.length,a.length),u=0,c=0,p=0;u=l)break;if(a[u+c]==h)c=1;else if(d[u+p]==h)p=1;else{var f=a.indexOf(d[u+p]),m=e.get(a[u+c]),v=e.get(d[u+p]);this.options.groupOrderSwap(m,v,e),e.update(m),e.update(v);var y=a[u+c];a[u+c]=d[u+p],a[f]=y,u++}}}}},y.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,g=e.groupsData.getDataSet(),o=A.extend({},g.get(i));e.options.onMoveGroup(o,function(t){if(t)t[g._fieldId]=i,g.update(t);else{var o=g.getIds({order:e.options.groupOrder});if(!A.equalArray(o,e.groupTouchParams.originalOrder))for(var n=e.groupTouchParams.originalOrder,s=Math.min(n.length,o.length),C=0;C=s)break;var I=o.indexOf(n[C]),r=g.get(o[C]),a=g.get(n[C]);e.options.groupOrderSwap(r,a,g),g.update(r),g.update(a);var d=o[C];o[C]=n[C],o[I]=d,C++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},y.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)this._onMultiSelectItem(t);else{var g=this.getSelection(),o=this.itemFromTarget(t),n=o?[o.id]:[];this.setSelection(n);var s=this.getSelection();(s.length>0||g.length>0)&&this.body.emitter.emit("select",{items:s,event:t})}}},y.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e&&e!==this.itemFromRelatedTarget(t)){var i=e.getTitle();if(this.options.showTooltips&&i){null==this.popup&&(this.popup=new f(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(i);var g=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-A.getAbsoluteLeft(g)+g.offsetLeft,t.clientY-A.getAbsoluteTop(g)+g.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}},y.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);e&&(e!==this.itemFromRelatedTarget(t)&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t})))},y.prototype._onMouseMove=function(t){if(this.itemFromTarget(t)&&this.options.showTooltips&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var e=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-A.getAbsoluteLeft(e)+e.offsetLeft,t.clientY-A.getAbsoluteTop(e)+e.offsetTop),this.popup.show()}},y.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},y.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)})}}},y.prototype._onDropObjectOnItem=function(t){var e=this.itemFromTarget(t),i=JSON.parse(t.dataTransfer.getData("text"));this.options.onDropObjectOnItem(i,e)},y.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e,i,g=this,o=this.options.snap||null;this.options.rtl?i=(e=A.getAbsoluteRight(this.dom.frame))-t.center.x:(e=A.getAbsoluteLeft(this.dom.frame),i=t.center.x-e);var n,s,C=this.body.util.toTime(i),I=this.body.util.getScale(),r=this.body.util.getStep();"drop"==t.type?((s=JSON.parse(t.dataTransfer.getData("text"))).content=s.content?s.content:"new item",s.start=s.start?s.start:o?o(C,I,r):C,s.type=s.type||"box",s[this.itemsData._fieldId]=s.id||A.randomUUID(),"range"!=s.type||s.end||(n=this.body.util.toTime(i+this.props.width/5),s.end=o?o(n,I,r):n)):((s={start:o?o(C,I,r):C,content:"new item"})[this.itemsData._fieldId]=A.randomUUID(),"range"===this.options.type&&(n=this.body.util.toTime(i+this.props.width/5),s.end=o?o(n,I,r):n));var a=this.groupFromTarget(t);a&&(s.group=a.groupId),s=this._cloneItemData(s),this.options.onAdd(s,function(e){e&&(g.itemsData.getDataSet().add(e),"drop"==t.type&&g.setSelection([e.id]))})}},y.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 g=this.itemsData.get(e.id).group,o=void 0;this.options.multiselectPerGroup&&i.length>0&&(o=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&null!=o&&o!=g||i.push(e.id);var n=y._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||o==g)for(var s in i=[],this.items)if(this.items.hasOwnProperty(s)){var A=this.items[s],C=A.data.start,I=void 0!==A.data.end?A.data.end:C;!(C>=n.min&&I<=n.max)||this.options.multiselectPerGroup&&o!=this.itemsData.get(A.id).group||A instanceof p||i.push(A.id)}}else{var r=i.indexOf(e.id);-1==r?i.push(e.id):i.splice(r,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},y._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}},y.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},y.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},y.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},y.prototype.groupFromTarget=function(t){var e=t.center?t.center.y:t.clientY,i=this.groupIds;i.length<=0&&this.groupsData&&(i=this.groupsData.getIds({order:this.options.groupOrder}));for(var g=0;gC&&eC)return n}else if(0===g&&en&&(n=s.top+s.height)}while(A)}}g.height=n-g.top+.5*i.item.vertical},e.nostack=function(t,i,g,o){for(var n=0;ng[s].index&&e.collisionByTimes(g[o],g[s])){n=g[s];break}null!=n&&(g[o].top=n.top+n.height)}while(n)}for(var A=0;Ag[C].index&&(g[s].top+=g[C].height);for(var I=t[s],r=0;re.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){var g=i(38);function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&null==t.start)throw new Error('Property "start" missing in item '+t);g.call(this,t,e,i)}o.prototype=new g(null,null,null),o.prototype.isVisible=function(t){var e=this.options.align,i=this.width*t.getMillisecondsPerPixel();return"right"==e?this.data.start.getTime()>t.start&&this.data.start.getTime()-it.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-i/2t.start&&this.data.startt.start},s.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dirty=!0)},s.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.background;if(!t)throw new Error("Cannot redraw item: parent has no background container element");t.appendChild(this.dom.box)}this.displayed=!0},s.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var t=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");this.dom.box.className=this.baseClassName+t}},s.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.content).overflow,{content:{width:this.dom.content.offsetWidth}}},s.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=0,this.dirty=!1},s.prototype._repaintDomAdditionals=function(){},s.prototype.redraw=function(t){var e,i,g=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];return t?g:(g.forEach(function(t){i=t()}),i)},s.prototype.show=n.prototype.show,s.prototype.hide=n.prototype.hide,s.prototype.repositionX=n.prototype.repositionX,s.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var g=this.data.subgroup;this.dom.box.style.height=this.parent.subgroups[g].height+"px",this.dom.box.style.top="top"==i?this.parent.top+this.parent.subgroups[g].top+"px":this.parent.top+this.parent.height-this.parent.subgroups[g].top-this.parent.subgroups[g].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof o?(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=s},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=function(){function t(e,i){(0,g.default)(this,t),this.container=e,this.overflowMethod=i||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}return(0,o.default)(t,[{key:"setPosition",value:function(t,e){this.x=parseInt(t),this.y=parseInt(e)}},{key:"setText",value:function(t){t instanceof Element?(this.frame.innerHTML="",this.frame.appendChild(t)):this.frame.innerHTML=t}},{key:"show",value:function(t){if(void 0===t&&(t=!0),!0===t){var e=this.frame.clientHeight,i=this.frame.clientWidth,g=this.frame.parentNode.clientHeight,o=this.frame.parentNode.clientWidth,n=0,s=0;if("flip"==this.overflowMethod){var A=!1,C=!0;this.y-eo-this.padding&&(A=!0),n=A?this.x-i:this.x,s=C?this.y-e:this.y}else(s=this.y-e)+e+this.padding>g&&(s=g-e-this.padding),so&&(n=o-i-this.padding),n0){var s={};for(this._getRelevantData(n,s,g,o),this._applySampling(n,s),e=0;e0)switch(t.options.style){case"line":I.hasOwnProperty(n[e])||(I[n[e]]=u.calcPath(s[n[e]],t)),u.draw(I[n[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||c.draw(s[n[e]],t,this.framework)}}}return A.cleanupElements(this.svgElements),!1},p.prototype._stack=function(t,e){var i,g,o,n,s;i=0;for(var A=0;At[A].x){s=e[C],n=0==C?s:e[C-1],i=C;break}}void 0===s&&(n=e[e.length-1],s=e[e.length-1]),g=s.x-n.x,o=s.y-n.y,t[A].y=0==g?t[A].orginalY+s.y:t[A].orginalY+o/g*(t[A].x-n.x)+n.y}},p.prototype._getRelevantData=function(t,e,i,g){var o,n,A,C;if(t.length>0)for(n=0;n0)for(var i=0;i0){var o,n=g.length,s=n/(this.body.util.toGlobalScreen(g[g.length-1].x)-this.body.util.toGlobalScreen(g[0].x));o=Math.min(Math.ceil(.2*n),Math.max(1,Math.round(s)));for(var A=new Array(n),C=0;C0){for(n=0;n0&&(o=this.groups[t[n]],!0===s.stack&&"bar"===s.style?"left"===s.yAxisOrientation?A=A.concat(g):C=C.concat(g):i[t[n]]=o.getYRange(g,t[n]));l.getStackedYRange(A,i,t,"__barStackLeft","left"),l.getStackedYRange(C,i,t,"__barStackRight","right")}},p.prototype._updateYAxis=function(t,e){var i,g,o=!1,n=!1,s=!1,A=1e9,C=1e9,I=-1e9,r=-1e9;if(t.length>0){for(var a=0;ai?i:A,I=Ii?i:C,r=r=0&&t._redrawLabel(g-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),!0===t.master&&(o?t._redrawLine(g,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(g,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var s=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(s=this.props.titleCharHeight);var C=!0===this.options.icons?Math.max(this.options.iconWidth,s)+this.options.labelOffsetX+15:s+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-C&&!0===this.options.visible?(this.width=this.maxLabelSize+C,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+C),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},r.prototype.convertValue=function(t){return this.scale.convertValue(t)},r.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},r.prototype._redrawLabel=function(t,e,i,g,o){var n=A.getDOMElement("div",this.DOMelements.labels,this.dom.frame);n.className=g,n.innerHTML=e,"left"===i?(n.style.left="-"+this.options.labelOffsetX+"px",n.style.textAlign="right"):(n.style.right="-"+this.options.labelOffsetX+"px",n.style.textAlign="left"),n.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var s=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=o,this.majorCharHeight=n,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=s,this.autoScaleStart=i,this.autoScaleEnd=g,this.formattingFunction=A,i||g){var C=this,I=function(t){var e=t-t%(C.magnitudefactor*C.minorSteps[C.minorStepIdx]);return t%(C.magnitudefactor*C.minorSteps[C.minorStepIdx])>C.magnitudefactor*C.minorSteps[C.minorStepIdx]*.5?e+C.magnitudefactor*C.minorSteps[C.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=I(this._start)),g&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=I(this._end)),this.determineScale()}}g.prototype.setCharHeight=function(t){this.majorCharHeight=t},g.prototype.setHeight=function(t){this.containerHeight=t},g.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 g=0;i<0&&(g=i);for(var o=!1,n=g;Math.abs(n)<=Math.abs(i);n++){this.magnitudefactor=Math.pow(10,n);for(var s=0;s=e){o=!0,this.minorStepIdx=s;break}}if(!0===o)break}},g.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])==0},g.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},g.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},g.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)},g.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,g=this._start+i;this._end-g>1e-5;g+=e)g!=this._start&&t.push({major:this.is_major(g),y:this.convertValue(g),val:this.formatValue(g)});return t},g.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,g=this._end,o=this,n=function(){o.magnitudefactor*=2},s=function(){o.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxg+1e-5)s(),I=!1;else{if(!this.autoScaleStart&&this._start=0)){s(),I=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ae.x?1:-1})):this.itemsData=[]},r.prototype.getItems=function(){return this.itemsData},r.prototype.setZeroPosition=function(t){this.zeroPosition=t},r.prototype.setOptions=function(t){if(void 0!==t){s.selectiveDeepExtend(["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"],this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),s.mergeOptions(this.options,t,"interpolation"),s.mergeOptions(this.options,t,"drawPoints"),s.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,n.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))}},r.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)},r.prototype.getLegend=function(t,e,i,g,o){null!=i&&null!=i||(i={svg:document.createElementNS("http://www.w3.org/2000/svg","svg"),svgElements:{},options:this.options,groups:[this]});switch(null!=g&&null!=g||(g=0),null!=o&&null!=o||(o=.5*e),this.options.style){case"line":C.drawIcon(this,g,o,t,e,i);break;case"points":case"point":I.drawIcon(this,g,o,t,e,i);break;case"bar":A.drawIcon(this,g,o,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},r.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,g=0;gt[g].y?t[g].y:e,i=i0&&(i=Math.min(i,Math.abs(e[g-1].screen_x-e[g].screen_x))),0===i&&(void 0===t[e[g].screen_x]&&(t[e[g].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[g].screen_x].amount+=1)},n._getSafeDrawData=function(t,e,i){var g,o;return t0?(g=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[n].screen_y?e[n].screen_y:g,o=ot[s].accumulatedNegative?t[s].accumulatedNegative:g)>t[s].accumulatedPositive?t[s].accumulatedPositive:g,o=(o=o0){return 1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,n,s){var A,C,I=.5*n,r=g.getSVGElement("rect",s.svgElements,s.svg);if(r.setAttributeNS(null,"x",e),r.setAttributeNS(null,"y",i-I),r.setAttributeNS(null,"width",o),r.setAttributeNS(null,"height",2*I),r.setAttributeNS(null,"class","vis-outline"),(A=g.getSVGElement("path",s.svgElements,s.svg)).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&&(C=g.getSVGElement("path",s.svgElements,s.svg),"top"==t.options.shaded.orientation?C.setAttributeNS(null,"d","M"+e+", "+(i-I)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-I)):C.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+I)+" L"+(e+o)+","+(i+I)+"L"+(e+o)+","+i),C.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&C.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var a={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};g.drawPoint(e+.5*o,i,a,s.svgElements,s.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var n,s=Number(o.svg.style.height.replace("px","")),A=g.getSVGElement("path",o.svgElements,o.svg),C="L";1==e.options.interpolation.enabled&&(C="C");var I=0;I="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),n="group"==e.options.shaded.orientation&&null!=i&&null!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,C,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,C,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,C,!1)+" V"+I+" H"+t[0][0]+" Z",A.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&A.setAttributeNS(null,"style",e.options.shaded.style),A.setAttributeNS(null,"d",n)}},o.draw=function(t,e,i){if(null!=t&&null!=t){var o=g.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var n="L";1==e.options.interpolation.enabled&&(n="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,n,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var g,o=e;if(i)for(g=t.length-2;g>0;g--)o+=t[g][0]+","+t[g][1]+" ";else for(g=1;g0&&(l=1/l),(u=3*c*(c+p))>0&&(u=1/u),A={screen_x:(-m*g.screen_x+d*o.screen_x+v*n.screen_x)*l,screen_y:(-m*g.screen_y+d*o.screen_y+v*n.screen_y)*l},C={screen_x:(f*o.screen_x+h*n.screen_x-m*s.screen_x)*u,screen_y:(f*o.screen_y+h*n.screen_y-m*s.screen_y)*u},0==A.screen_x&&0==A.screen_y&&(A=o),0==C.screen_x&&0==C.screen_y&&(C=n),b.push([A.screen_x,A.screen_y]),b.push([C.screen_x,C.screen_y]),b.push([n.screen_x,n.screen_y]);return b},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"}},I.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,n.default)(this.groups);t.sort(function(t,e){return t":!0,"--":!0},a="",d=0,h="",l="",u=I.NULL;function c(){d++,h=a.charAt(d)}function p(){return a.charAt(d+1)}var f=/[a-zA-Z_0-9.:#]/;function m(t){return f.test(t)}function v(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function y(t,e,i){for(var g=e.split("."),o=t;g.length;){var n=g.shift();g.length?(o[n]||(o[n]={}),o=o[n]):o[n]=i}}function b(t,e){for(var i,g,o=null,n=[t],s=t;s.parent;)n.push(s.parent),s=s.parent;if(s.nodes)for(i=0,g=s.nodes.length;i=0;i--){var A=n[i];A.nodes||(A.nodes=[]),-1===A.nodes.indexOf(o)&&A.nodes.push(o)}e.attr&&(o.attr=v(o.attr,e.attr))}function w(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=v({},t.edge);e.attr=v(i,e.attr)}}function x(t,e,i,g,o){var n={from:e,to:i,type:g};return t.edge&&(n.attr=v({},t.edge)),n.attr=v(n.attr||{},o),n}function k(){for(u=I.NULL,l="";" "===h||"\t"===h||"\n"===h||"\r"===h;)c();do{var t=!1;if("#"===h){for(var e=d-1;" "===a.charAt(e)||"\t"===a.charAt(e);)e--;if("\n"===a.charAt(e)||""===a.charAt(e)){for(;""!=h&&"\n"!=h;)c();t=!0}}if("/"===h&&"/"===p()){for(;""!=h&&"\n"!=h;)c();t=!0}if("/"===h&&"*"===p()){for(;""!=h;){if("*"===h&&"/"===p()){c(),c();break}c()}t=!0}for(;" "===h||"\t"===h||"\n"===h||"\r"===h;)c()}while(t);if(""!==h){var i=h+p();if(r[i])return u=I.DELIMITER,l=i,c(),void c();if(r[h])return u=I.DELIMITER,l=h,void c();if(m(h)||"-"===h){for(l+=h,c();m(h);)l+=h,c();return"false"===l?l=!1:"true"===l?l=!0:isNaN(Number(l))||(l=Number(l)),void(u=I.IDENTIFIER)}if('"'===h){for(c();""!=h&&('"'!=h||'"'===h&&'"'===p());)'"'===h?(l+=h,c()):"\\"===h&&"n"===p()?(l+="\n",c()):l+=h,c();if('"'!=h)throw E('End of string " expected');return c(),void(u=I.IDENTIFIER)}for(u=I.UNKNOWN;""!=h;)l+=h,c();throw new SyntaxError('Syntax error in part "'+S(l,30)+'"')}u=I.DELIMITER}function D(t){for(;""!==l&&"}"!=l;)_(t),";"===l&&k()}function _(t){var e=T(t);if(e)O(t,e);else if(!function(t){if("node"===l)return k(),t.node=M(),"node";if("edge"===l)return k(),t.edge=M(),"edge";if("graph"===l)return k(),t.graph=M(),"graph";return null}(t)){if(u!=I.IDENTIFIER)throw E("Identifier expected");var i=l;if(k(),"="===l){if(k(),u!=I.IDENTIFIER)throw E("Identifier expected");t[i]=l,k()}else!function(t,e){var i={id:e},g=M();g&&(i.attr=g);b(t,i),O(t,e)}(t,i)}}function T(t){var e=null;if("subgraph"===l&&((e={}).type="subgraph",k(),u===I.IDENTIFIER&&(e.id=l,k())),"{"===l){if(k(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,D(e),"}"!=l)throw E("Angle bracket } expected");k(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function O(t,e){for(;"->"===l||"--"===l;){var i,g=l;k();var o=T(t);if(o)i=o;else{if(u!=I.IDENTIFIER)throw E("Identifier or subgraph expected");b(t,{id:i=l}),k()}w(t,x(t,e,i,g,M())),e=i}}function M(){for(var t=null,e={dashed:!0,solid:!1,dotted:[1,5]};"["===l;){for(k(),t={};""!==l&&"]"!=l;){if(u!=I.IDENTIFIER)throw E("Attribute name expected");var i=l;if(k(),"="!=l)throw E("Equal sign = expected");if(k(),u!=I.IDENTIFIER)throw E("Attribute value expected");var g=l;"style"===i&&(g=e[g]),y(t,i,g),k(),","==l&&k()}if("]"!=l)throw E("Bracket ] expected");k()}return t}function E(t){return new SyntaxError(t+', got "'+S(l,30)+'" (char '+d+")")}function S(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function N(t,e,i){for(var g=e.split("."),o=g.pop(),n=t,s=0;s2&&void 0!==arguments[2]&&arguments[2];(0,n.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=g}return(0,s.default)(t,[{key:"setOptions",value:function(t){if(this.elementOptions=t,this.initFontOptions(t.font),I.isValidLabel(t.label)?this.labelDirty=!0:t.label="",void 0!==t.font&&null!==t.font)if("string"==typeof t.font)this.baseSize=this.fontOptions.size;else if("object"===(0,o.default)(t.font)){var e=t.font.size;void 0!==e&&(this.baseSize=e)}}},{key:"initFontOptions",value:function(e){var i=this;C.forEach(a,function(t){i.fontOptions[t]={}}),t.parseFontString(this.fontOptions,e)?this.fontOptions.vadjust=0:C.forEach(e,function(t,e){null!=t&&"object"!==(void 0===t?"undefined":(0,o.default)(t))&&(i.fontOptions[e]=t)})}},{key:"constrain",value:function(t){var e={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},i=C.topMost(t,"widthConstraint");if("number"==typeof i)e.maxWdt=Number(i),e.minWdt=Number(i);else if("object"===(void 0===i?"undefined":(0,o.default)(i))){var g=C.topMost(t,["widthConstraint","maximum"]);"number"==typeof g&&(e.maxWdt=Number(g));var n=C.topMost(t,["widthConstraint","minimum"]);"number"==typeof n&&(e.minWdt=Number(n))}var s=C.topMost(t,"heightConstraint");if("number"==typeof s)e.minHgt=Number(s);else if("object"===(void 0===s?"undefined":(0,o.default)(s))){var A=C.topMost(t,["heightConstraint","minimum"]);"number"==typeof A&&(e.minHgt=Number(A));var I=C.topMost(t,["heightConstraint","valign"]);"string"==typeof I&&("top"!==I&&"bottom"!==I||(e.valign=I))}return e}},{key:"update",value:function(t,e){this.setOptions(t,!0),this.propagateFonts(e),C.deepExtend(this.fontOptions,this.constrain(e)),this.fontOptions.chooser=I.choosify("label",e)}},{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:"addFontOptionsToPile",value:function(t,e){for(var i=0;i5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var s=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&s=this.elementOptions.scaling.label.maxVisible&&(s=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(t,g,o,e,i,n),this._drawBackground(t),this._drawText(t,e,this.size.yLine,n,s))}}},{key:"_drawBackground",value:function(t){if(void 0!==this.fontOptions.background&&"none"!==this.fontOptions.background){t.fillStyle=this.fontOptions.background;var e=this.getSize();t.fillRect(e.left,e.top,e.width,e.height)}}},{key:"_drawText",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",n=arguments[4],s=this._setAlignment(t,e,i,o),A=(0,g.default)(s,2);e=A[0],i=A[1],t.textAlign="left",e-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(i-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(i+=(this.size.height-this.size.labelHeight)/2));for(var C=0;C0&&(t.lineWidth=d.strokeWidth,t.strokeStyle=c,t.lineJoin="round"),t.fillStyle=u,d.strokeWidth>0&&t.strokeText(d.text,e+r,i+d.vadjust),t.fillText(d.text,e+r,i+d.vadjust),r+=d.width}i+=I.height}}}},{key:"_setAlignment",value:function(t,e,i,g){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&!1===this.pointToSelf){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=g;return[e,i]}},{key:"_getColor",value:function(t,e,i){var g=t||"#000000",o=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var n=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));g=C.overrideOpacity(g,n),o=C.overrideOpacity(o,n)}return[g,o]}},{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:"getSize",value:function(){var t=this.size.left,e=this.size.top-1;if(this.isEdgeLabel){var i=.5*-this.size.width;switch(this.fontOptions.align){case"middle":t=i,e=.5*-this.size.height;break;case"top":t=i,e=-(this.size.height+2);break;case"bottom":t=i,e=2}}return{left:t,top:e,width:this.size.width,height:this.size.height}}},{key:"calculateLabelSize",value:function(t,e,i){var g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(t,e,i),this.size.left=g-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===n&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(t,e,i,g){var o=function(t,e,i){return"normal"===e?"mod"===i?"":t[i]:void 0!==t[e][i]?t[e][i]:t[i]},n={color:o(this.fontOptions,g,"color"),size:o(this.fontOptions,g,"size"),face:o(this.fontOptions,g,"face"),mod:o(this.fontOptions,g,"mod"),vadjust:o(this.fontOptions,g,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(e||i)&&("normal"===g&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(n,this.elementOptions.id,e,i));var s="";return void 0!==n.mod&&""!==n.mod&&(s+=n.mod+" "),s+=n.size+"px "+n.face,t.font=s.replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.selectedState||e!==this.hoverState}},{key:"_processLabelText",value:function(t,e,i,g){return new r(t,this,e,i).process(g)}},{key:"_processLabel",value:function(t,e,i){if(!1!==this.labelDirty||this.differentState(e,i)){var g=this._processLabelText(t,e,i,this.elementOptions.label);this.fontOptions.minWdt>0&&g.width0&&g.heightg.shape.height?(e=g.x+.5*g.shape.width,i=g.y-o):(e=g.x+o,i=g.y-.5*g.shape.height),[e,i,o]}},{key:"_pointOnCircle",value:function(t,e,i,g){var o=2*g*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var g=i.x,o=i.y,n=i.low,s=i.high,A=i.direction,C=0,I=this.options.selfReferenceSize,r=void 0,a=void 0,d=void 0,h=.5*(n+s);n<=s&&C<10&&(h=.5*(n+s),r=this._pointOnCircle(g,o,I,h),a=Math.atan2(t.y-r.y,t.x-r.x),d=t.distanceToBorder(e,a)-Math.sqrt(Math.pow(r.x-t.x,2)+Math.pow(r.y-t.y,2)),!(Math.abs(d)<.05));)d>0?A>0?n=h:s=h:A>0?s=h:n=h,C++;return r.t=h,r}},{key:"getLineWidth",value:function(t,e){return!0===t?Math.max(this.selectionWidth,.3/this.body.view.scale):!0===e?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,g){if(!1!==e.inheritsColor){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var o=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),n=void 0,s=void 0;return n=this.from.options.color.highlight.border,s=this.to.options.color.highlight.border,!1===this.from.selected&&!1===this.to.selected?(n=A.overrideOpacity(this.from.options.color.border,e.opacity),s=A.overrideOpacity(this.to.options.color.border,e.opacity)):!0===this.from.selected&&!1===this.to.selected?s=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(n=this.from.options.color.border),o.addColorStop(0,n),o.addColorStop(1,s),o}return"to"===e.inheritsColor?A.overrideOpacity(this.to.options.color.border,e.opacity):A.overrideOpacity(this.from.options.color.border,e.opacity)}return A.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,g,o){this.enableShadow(t,e),t.beginPath(),t.arc(i,g,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,s,A,C){var I=0;if(this.from!=this.to)I=this._getDistanceToEdge(t,e,i,o,n,s,A);else{var r=this._getCircleData(void 0),a=(0,g.default)(r,3),d=a[0],h=a[1],l=a[2],u=d-n,c=h-s;I=Math.abs(Math.sqrt(u*u+c*c)-l)}return I}},{key:"_getDistanceToLine",value:function(t,e,i,g,o,n){var s=i-t,A=g-e,C=((o-t)*s+(n-e)*A)/(s*s+A*A);C>1?C=1:C<0&&(C=0);var I=t+C*s-o,r=e+C*A-n;return Math.sqrt(I*I+r*r)}},{key:"getArrowData",value:function(t,e,i,o,n,s){var A=void 0,C=void 0,I=void 0,r=void 0,a=void 0,d=void 0,h=void 0,l=s.width;if("from"===e?(I=this.from,r=this.to,a=.1,d=s.fromArrowScale,h=s.fromArrowType):"to"===e?(I=this.to,r=this.from,a=-.1,d=s.toArrowScale,h=s.toArrowType):(I=this.to,r=this.from,d=s.middleArrowScale,h=s.middleArrowType),I!=r)if("middle"!==e)if(!0===this.options.smooth.enabled){C=this.findBorderPosition(I,t,{via:i});var u=this.getPoint(Math.max(0,Math.min(1,C.t+a)),i);A=Math.atan2(C.y-u.y,C.x-u.x)}else A=Math.atan2(I.y-r.y,I.x-r.x),C=this.findBorderPosition(I,t);else A=Math.atan2(I.y-r.y,I.x-r.x),C=this.getPoint(.5,i);else{var c=this._getCircleData(t),p=(0,g.default)(c,3),f=p[0],m=p[1],v=p[2];"from"===e?A=-2*(C=this.findBorderPosition(this.from,t,{x:f,y:m,low:.25,high:.6,direction:-1})).t*Math.PI+1.5*Math.PI+.1*Math.PI:"to"===e?A=-2*(C=this.findBorderPosition(this.from,t,{x:f,y:m,low:.6,high:1,direction:1})).t*Math.PI+1.5*Math.PI-1.1*Math.PI:(C=this._pointOnCircle(f,m,v,.175),A=3.9269908169872414)}"middle"===e&&d<0&&(l*=-1);var y=15*d+3*l;return{point:C,core:{x:C.x-.9*y*Math.cos(A),y:C.y-.9*y*Math.sin(A)},angle:A,length:y,type:h}}},{key:"drawArrowHead",value:function(t,e,i,g,o){t.strokeStyle=this.getColor(t,e,i,g),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,C.draw(t,o),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(4)),n=C(i(5)),s=C(i(0)),A=C(i(1));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(){function t(){(0,s.default)(this,t)}return(0,A.default)(t,null,[{key:"transform",value:function(t,e){t instanceof Array||(t=[t]);for(var i=e.point.x,g=e.point.y,o=e.angle,n=e.length,s=0;s0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,g=i.length,o=this._formBarnesHutTree(e,i);this.barnesHutTree=o;for(var n=0;n0&&this._getForceContributions(o.root,t)}}},{key:"_getForceContributions",value:function(t,e){this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i,g,o;i=t.centerOfMass.x-e.x,g=t.centerOfMass.y-e.y,(o=Math.sqrt(i*i+g*g))*t.calcSize>this.thetaInversed?this._calculateForces(o,i,g,e,t):4===t.childrenCount?this._getForceContributions(t,e):t.children.data.id!=e.id&&this._calculateForces(o,i,g,e,t)}}},{key:"_calculateForces",value:function(t,e,i,g,o){0===t&&(e=t=.1),this.overlapAvoidanceFactor<1&&g.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*g.shape.radius,t-g.shape.radius));var n=this.options.gravitationalConstant*o.mass*g.options.mass/Math.pow(t,3),s=e*n,A=i*n;this.physicsBody.forces[g.id].x+=s,this.physicsBody.forces[g.id].y+=A}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,g=e.length,o=t[e[0]].x,n=t[e[0]].y,s=t[e[0]].x,A=t[e[0]].y,C=1;C0&&(rs&&(s=r),aA&&(A=a))}var d=Math.abs(s-o)-Math.abs(A-n);d>0?(n-=.5*d,A+=.5*d):(o+=.5*d,s-=.5*d);var h=Math.max(1e-5,Math.abs(s-o)),l=.5*h,u=.5*(o+s),c=.5*(n+A),p={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:u-l,maxX:u+l,minY:c-l,maxY:c+l},size:h,calcSize:1/h,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(p.root);for(var f=0;f0&&this._placeInTree(p.root,i);return p}},{key:"_updateBranchMass",value:function(t,e){var i=t.centerOfMass,g=t.mass+e.options.mass,o=1/g;i.x=i.x*t.mass+e.x*e.options.mass,i.x*=o,i.y=i.y*t.mass+e.y*e.options.mass,i.y*=o,t.mass=g;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?g.maxY>e.y?"NW":"SW":g.maxY>e.y?"NE":"SE",this._placeInRegion(t,e,o)}},{key:"_placeInRegion",value:function(t,e,i){var g=t.children[i];switch(g.childrenCount){case 0:g.children.data=e,g.childrenCount=1,this._updateBranchMass(g,e);break;case 1:g.children.data.x===e.x&&g.children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(g),this._placeInTree(g,e));break;case 4:this._placeInTree(g,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,g=void 0,o=void 0,n=void 0,s=.5*t.size;switch(e){case"NW":i=t.range.minX,g=t.range.minX+s,o=t.range.minY,n=t.range.minY+s;break;case"NE":i=t.range.minX+s,g=t.range.maxX,o=t.range.minY,n=t.range.minY+s;break;case"SW":i=t.range.minX,g=t.range.minX+s,o=t.range.minY+s,n=t.range.maxY;break;case"SE":i=t.range.minX+s,g=t.range.maxX,o=t.range.minY+s,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:g,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e.default=s},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=function(){function t(e,i,o){(0,g.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,o.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t=void 0,e=void 0,i=void 0,g=void 0,o=this.body.nodes,n=this.physicsBody.physicsNodeIndices,s=this.physicsBody.forces,A=0;A=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?i:"values"==e?t[i]:[i,t[i]])},"values"),n.Arguments=n.Array,g("keys"),g("values"),g("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){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var g=i(54),o=i(39),n=i(59),s={};i(26)(s,i(13)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=g(s,{next:o(1,i)}),n(t,e+" Iterator")}},function(t,e,i){var g=i(20),o=i(27),n=i(33);t.exports=i(21)?Object.defineProperties:function(t,e){o(t);for(var i,s=n(e),A=s.length,C=0;A>C;)g.f(t,i=s[C++],e[i]);return t}},function(t,e,i){var g=i(25),o=i(132),n=i(133);t.exports=function(t){return function(e,i,s){var A,C=g(e),I=o(C.length),r=n(s,I);if(t&&i!=i){for(;I>r;)if((A=C[r++])!=A)return!0}else for(;I>r;r++)if((t||r in C)&&C[r]===i)return t||r||0;return!t&&-1}}},function(t,e,i){var g=i(55),o=Math.min;t.exports=function(t){return t>0?o(g(t),9007199254740991):0}},function(t,e,i){var g=i(55),o=Math.max,n=Math.min;t.exports=function(t,e){return(t=g(t))<0?o(t+e,0):n(t,e)}},function(t,e,i){var g=i(18).document;t.exports=g&&g.documentElement},function(t,e,i){var g=i(55),o=i(51);t.exports=function(t){return function(e,i){var n,s,A=String(o(e)),C=g(i),I=A.length;return C<0||C>=I?t?"":void 0:(n=A.charCodeAt(C))<55296||n>56319||C+1===I||(s=A.charCodeAt(C+1))<56320||s>57343?t?A.charAt(C):n:t?A.slice(C,C+2):s-56320+(n-55296<<10)+65536}}},function(t,e,i){var g=i(27),o=i(137);t.exports=i(7).getIterator=function(t){var e=o(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return g(e.call(t))}},function(t,e,i){var g=i(86),o=i(13)("iterator"),n=i(31);t.exports=i(7).getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||n[g(t)]}},function(t,e,i){i(139);var g=i(7).Object;t.exports=function(t,e){return g.create(t,e)}},function(t,e,i){var g=i(17);g(g.S,"Object",{create:i(54)})},function(t,e,i){i(141),t.exports=i(7).Object.keys},function(t,e,i){var g=i(41),o=i(33);i(87)("keys",function(){return function(t){return o(g(t))}})},function(t,e,i){t.exports={default:i(143),__esModule:!0}},function(t,e,i){i(60),i(49),t.exports=i(61).f("iterator")},function(t,e,i){t.exports={default:i(145),__esModule:!0}},function(t,e,i){i(146),i(151),i(152),i(153),t.exports=i(7).Symbol},function(t,e,i){var g=i(18),o=i(22),n=i(21),s=i(17),A=i(83),C=i(147).KEY,I=i(28),r=i(57),a=i(59),d=i(40),h=i(13),l=i(61),u=i(62),c=i(148),p=i(149),f=i(27),m=i(25),v=i(53),y=i(39),b=i(54),w=i(150),x=i(89),k=i(20),D=i(33),_=x.f,T=k.f,O=w.f,M=g.Symbol,E=g.JSON,S=E&&E.stringify,N=h("_hidden"),R=h("toPrimitive"),P={}.propertyIsEnumerable,z=r("symbol-registry"),L=r("symbols"),B=r("op-symbols"),G=Object.prototype,F="function"==typeof M,Z=g.QObject,Y=!Z||!Z.prototype||!Z.prototype.findChild,j=n&&I(function(){return 7!=b(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(t,e,i){var g=_(G,e);g&&delete G[e],T(t,e,i),g&&t!==G&&T(G,e,g)}:T,V=function(t){var e=L[t]=b(M.prototype);return e._k=t,e},W=F&&"symbol"==typeof M.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof M},H=function(t,e,i){return t===G&&H(B,e,i),f(t),e=v(e,!0),f(i),o(L,e)?(i.enumerable?(o(t,N)&&t[N][e]&&(t[N][e]=!1),i=b(i,{enumerable:y(0,!1)})):(o(t,N)||T(t,N,y(1,{})),t[N][e]=!0),j(t,e,i)):T(t,e,i)},U=function(t,e){f(t);for(var i,g=c(e=m(e)),o=0,n=g.length;n>o;)H(t,i=g[o++],e[i]);return t},X=function(t){var e=P.call(this,t=v(t,!0));return!(this===G&&o(L,t)&&!o(B,t))&&(!(e||!o(this,t)||!o(L,t)||o(this,N)&&this[N][t])||e)},Q=function(t,e){if(t=m(t),e=v(e,!0),t!==G||!o(L,e)||o(B,e)){var i=_(t,e);return!i||!o(L,e)||o(t,N)&&t[N][e]||(i.enumerable=!0),i}},K=function(t){for(var e,i=O(m(t)),g=[],n=0;i.length>n;)o(L,e=i[n++])||e==N||e==C||g.push(e);return g},J=function(t){for(var e,i=t===G,g=O(i?B:m(t)),n=[],s=0;g.length>s;)!o(L,e=g[s++])||i&&!o(G,e)||n.push(L[e]);return n};F||(A((M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var t=d(arguments.length>0?arguments[0]:void 0),e=function(i){this===G&&e.call(B,i),o(this,N)&&o(this[N],t)&&(this[N][t]=!1),j(this,t,y(1,i))};return n&&Y&&j(G,t,{configurable:!0,set:e}),V(t)}).prototype,"toString",function(){return this._k}),x.f=Q,k.f=H,i(88).f=w.f=K,i(42).f=X,i(63).f=J,n&&!i(52)&&A(G,"propertyIsEnumerable",X,!0),l.f=function(t){return V(h(t))}),s(s.G+s.W+s.F*!F,{Symbol:M});for(var q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),$=0;q.length>$;)h(q[$++]);for(var tt=D(h.store),et=0;tt.length>et;)u(tt[et++]);s(s.S+s.F*!F,"Symbol",{for:function(t){return o(z,t+="")?z[t]:z[t]=M(t)},keyFor:function(t){if(!W(t))throw TypeError(t+" is not a symbol!");for(var e in z)if(z[e]===t)return e},useSetter:function(){Y=!0},useSimple:function(){Y=!1}}),s(s.S+s.F*!F,"Object",{create:function(t,e){return void 0===e?b(t):U(b(t),e)},defineProperty:H,defineProperties:U,getOwnPropertyDescriptor:Q,getOwnPropertyNames:K,getOwnPropertySymbols:J}),E&&s(s.S+s.F*(!F||I(function(){var t=M();return"[null]"!=S([t])||"{}"!=S({a:t})||"{}"!=S(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!W(t)){for(var e,i,g=[t],o=1;arguments.length>o;)g.push(arguments[o++]);return"function"==typeof(e=g[1])&&(i=e),!i&&p(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!W(e))return e}),g[1]=e,S.apply(E,g)}}}),M.prototype[R]||i(26)(M.prototype,R,M.prototype.valueOf),a(M,"Symbol"),a(Math,"Math",!0),a(g.JSON,"JSON",!0)},function(t,e,i){var g=i(40)("meta"),o=i(32),n=i(22),s=i(20).f,A=0,C=Object.isExtensible||function(){return!0},I=!i(28)(function(){return C(Object.preventExtensions({}))}),r=function(t){s(t,g,{value:{i:"O"+ ++A,w:{}}})},a=t.exports={KEY:g,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!n(t,g)){if(!C(t))return"F";if(!e)return"E";r(t)}return t[g].i},getWeak:function(t,e){if(!n(t,g)){if(!C(t))return!0;if(!e)return!1;r(t)}return t[g].w},onFreeze:function(t){return I&&a.NEED&&C(t)&&!n(t,g)&&r(t),t}}},function(t,e,i){var g=i(33),o=i(63),n=i(42);t.exports=function(t){var e=g(t),i=o.f;if(i)for(var s,A=i(t),C=n.f,I=0;A.length>I;)C.call(t,s=A[I++])&&e.push(s);return e}},function(t,e,i){var g=i(50);t.exports=Array.isArray||function(t){return"Array"==g(t)}},function(t,e,i){var g=i(25),o=i(88).f,n={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return s&&"[object Window]"==n.call(t)?function(t){try{return o(t)}catch(t){return s.slice()}}(t):o(g(t))}},function(t,e){},function(t,e,i){i(62)("asyncIterator")},function(t,e,i){i(62)("observable")},function(t,e,i){(function(t){var e;e=function(){var e,i;function g(){return e.apply(null,arguments)}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){return void 0===t}function A(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function C(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function I(t,e){var i,g=[];for(i=0;i>>0,g=0;g0)for(i=0;i=0?i?"+":"":"-")+Math.pow(10,Math.max(0,o)).toString().substr(1)+g}var G=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,F=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Z={},Y={};function j(t,e,i,g){var o=g;"string"==typeof g&&(o=function(){return this[g]()}),t&&(Y[t]=o),e&&(Y[e[0]]=function(){return B(o.apply(this,arguments),e[1],e[2])}),i&&(Y[i]=function(){return this.localeData().ordinal(o.apply(this,arguments),t)})}function V(t,e){return t.isValid()?(e=W(e,t.localeData()),Z[e]=Z[e]||function(t){var e,i,g,o=t.match(G);for(e=0,i=o.length;e=0&&F.test(t);)t=t.replace(F,g),F.lastIndex=0,i-=1;return t}var H=/\d/,U=/\d\d/,X=/\d{3}/,Q=/\d{4}/,K=/[+-]?\d{6}/,J=/\d\d?/,q=/\d\d\d\d?/,$=/\d\d\d\d\d\d?/,tt=/\d{1,3}/,et=/\d{1,4}/,it=/[+-]?\d{1,6}/,gt=/\d+/,ot=/[+-]?\d+/,nt=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,At=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ct={};function It(t,e,i){Ct[t]=O(e)?e:function(t,g){return t&&i?i:e}}function rt(t,e){return r(Ct,t)?Ct[t](e._strict,e._locale):new RegExp(at(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,g,o){return e||i||g||o})))}function at(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var dt={};function ht(t,e){var i,g=e;for("string"==typeof t&&(t=[t]),A(e)&&(g=function(t,i){i[e]=b(t)}),i=0;i68?1900:2e3)};var _t,Tt=Ot("FullYear",!0);function Ot(t,e){return function(i){return null!=i?(Et(this,t,i),g.updateOffset(this,e),this):Mt(this,t)}}function Mt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Et(t,e,i){t.isValid()&&!isNaN(i)&&("FullYear"===e&&Dt(t.year())?t._d["set"+(t._isUTC?"UTC":"")+e](i,t.month(),St(i,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](i))}function St(t,e){if(isNaN(t)||isNaN(e))return NaN;var i,g=(e%(i=12)+i)%i;return t+=(e-g)/12,1===g?Dt(t)?29:28:31-g%7%2}_t=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function Yt(t,e,i){var g=7+e-i;return-((7+Zt(t,0,g).getUTCDay()-e)%7)+g-1}function jt(t,e,i,g,o){var n,s,A=1+7*(e-1)+(7+i-g)%7+Yt(t,g,o);return A<=0?s=kt(n=t-1)+A:A>kt(t)?(n=t+1,s=A-kt(t)):(n=t,s=A),{year:n,dayOfYear:s}}function Vt(t,e,i){var g,o,n=Yt(t.year(),e,i),s=Math.floor((t.dayOfYear()-n-1)/7)+1;return s<1?g=s+Wt(o=t.year()-1,e,i):s>Wt(t.year(),e,i)?(g=s-Wt(t.year(),e,i),o=t.year()+1):(o=t.year(),g=s),{week:g,year:o}}function Wt(t,e,i){var g=Yt(t,e,i),o=Yt(t+1,e,i);return(kt(t)-g+o)/7}j("w",["ww",2],"wo","week"),j("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),L("week",5),L("isoWeek",5),It("w",J),It("ww",J,U),It("W",J),It("WW",J,U),lt(["w","ww","W","WW"],function(t,e,i,g){e[g.substr(0,1)]=b(t)}),j("d",0,"do","day"),j("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),j("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),j("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),j("e",0,0,"weekday"),j("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),L("day",11),L("weekday",11),L("isoWeekday",11),It("d",J),It("e",J),It("E",J),It("dd",function(t,e){return e.weekdaysMinRegex(t)}),It("ddd",function(t,e){return e.weekdaysShortRegex(t)}),It("dddd",function(t,e){return e.weekdaysRegex(t)}),lt(["dd","ddd","dddd"],function(t,e,i,g){var o=i._locale.weekdaysParse(t,g,i._strict);null!=o?e.d=o:h(i).invalidWeekday=t}),lt(["d","e","E"],function(t,e,i,g){e[g]=b(t)});var Ht="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ut="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Xt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Qt=At,Kt=At,Jt=At;function qt(){function t(t,e){return e.length-t.length}var e,i,g,o,n,s=[],A=[],C=[],I=[];for(e=0;e<7;e++)i=d([2e3,1]).day(e),g=this.weekdaysMin(i,""),o=this.weekdaysShort(i,""),n=this.weekdays(i,""),s.push(g),A.push(o),C.push(n),I.push(g),I.push(o),I.push(n);for(s.sort(t),A.sort(t),C.sort(t),I.sort(t),e=0;e<7;e++)A[e]=at(A[e]),C[e]=at(C[e]),I[e]=at(I[e]);this._weekdaysRegex=new RegExp("^("+I.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+C.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+A.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function $t(){return this.hours()%12||12}function te(t,e){j(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ee(t,e){return e._meridiemParse}j("H",["HH",2],0,"hour"),j("h",["hh",2],0,$t),j("k",["kk",2],0,function(){return this.hours()||24}),j("hmm",0,0,function(){return""+$t.apply(this)+B(this.minutes(),2)}),j("hmmss",0,0,function(){return""+$t.apply(this)+B(this.minutes(),2)+B(this.seconds(),2)}),j("Hmm",0,0,function(){return""+this.hours()+B(this.minutes(),2)}),j("Hmmss",0,0,function(){return""+this.hours()+B(this.minutes(),2)+B(this.seconds(),2)}),te("a",!0),te("A",!1),N("hour","h"),L("hour",13),It("a",ee),It("A",ee),It("H",J),It("h",J),It("k",J),It("HH",J,U),It("hh",J,U),It("kk",J,U),It("hmm",q),It("hmmss",$),It("Hmm",q),It("Hmmss",$),ht(["H","HH"],mt),ht(["k","kk"],function(t,e,i){var g=b(t);e[mt]=24===g?0:g}),ht(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),ht(["h","hh"],function(t,e,i){e[mt]=b(t),h(i).bigHour=!0}),ht("hmm",function(t,e,i){var g=t.length-2;e[mt]=b(t.substr(0,g)),e[vt]=b(t.substr(g)),h(i).bigHour=!0}),ht("hmmss",function(t,e,i){var g=t.length-4,o=t.length-2;e[mt]=b(t.substr(0,g)),e[vt]=b(t.substr(g,2)),e[yt]=b(t.substr(o)),h(i).bigHour=!0}),ht("Hmm",function(t,e,i){var g=t.length-2;e[mt]=b(t.substr(0,g)),e[vt]=b(t.substr(g))}),ht("Hmmss",function(t,e,i){var g=t.length-4,o=t.length-2;e[mt]=b(t.substr(0,g)),e[vt]=b(t.substr(g,2)),e[yt]=b(t.substr(o))});var ie,ge=Ot("Hours",!0),oe={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Rt,monthsShort:Pt,week:{dow:0,doy:6},weekdays:Ht,weekdaysMin:Xt,weekdaysShort:Ut,meridiemParse:/[ap]\.?m?\.?/i},ne={},se={};function Ae(t){return t?t.toLowerCase().replace("_","-"):t}function Ce(e){var i=null;if(!ne[e]&&void 0!==t&&t&&t.exports)try{i=ie._abbr;!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Ie(i)}catch(t){}return ne[e]}function Ie(t,e){var i;return t&&(i=s(e)?ae(t):re(t,e))&&(ie=i),ie._abbr}function re(t,e){if(null!==e){var i=oe;if(e.abbr=t,null!=ne[t])T("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=ne[t]._config;else if(null!=e.parentLocale){if(null==ne[e.parentLocale])return se[e.parentLocale]||(se[e.parentLocale]=[]),se[e.parentLocale].push({name:t,config:e}),null;i=ne[e.parentLocale]._config}return ne[t]=new E(M(i,e)),se[t]&&se[t].forEach(function(t){re(t.name,t.config)}),Ie(t),ne[t]}return delete ne[t],null}function ae(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return ie;if(!o(t)){if(e=Ce(t))return e;t=[t]}return function(t){for(var e,i,g,o,n=0;n0;){if(g=Ce(o.slice(0,e).join("-")))return g;if(i&&i.length>=e&&w(o,i,!0)>=e-1)break;e--}n++}return null}(t)}function de(t){var e,i=t._a;return i&&-2===h(t).overflow&&(e=i[pt]<0||i[pt]>11?pt:i[ft]<1||i[ft]>St(i[ct],i[pt])?ft:i[mt]<0||i[mt]>24||24===i[mt]&&(0!==i[vt]||0!==i[yt]||0!==i[bt])?mt:i[vt]<0||i[vt]>59?vt:i[yt]<0||i[yt]>59?yt:i[bt]<0||i[bt]>999?bt:-1,h(t)._overflowDayOfYear&&(eft)&&(e=ft),h(t)._overflowWeeks&&-1===e&&(e=wt),h(t)._overflowWeekday&&-1===e&&(e=xt),h(t).overflow=e),t}function he(t,e,i){return null!=t?t:null!=e?e:i}function le(t){var e,i,o,n,s=[];if(!t._d){for(o=function(t){var e=new Date(g.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[ft]&&null==t._a[pt]&&function(t){var e,i,g,o,n,s,A,C;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)n=1,s=4,i=he(e.GG,t._a[ct],Vt(Oe(),1,4).year),g=he(e.W,1),((o=he(e.E,1))<1||o>7)&&(C=!0);else{n=t._locale._week.dow,s=t._locale._week.doy;var I=Vt(Oe(),n,s);i=he(e.gg,t._a[ct],I.year),g=he(e.w,I.week),null!=e.d?((o=e.d)<0||o>6)&&(C=!0):null!=e.e?(o=e.e+n,(e.e<0||e.e>6)&&(C=!0)):o=n}g<1||g>Wt(i,n,s)?h(t)._overflowWeeks=!0:null!=C?h(t)._overflowWeekday=!0:(A=jt(i,g,o,n,s),t._a[ct]=A.year,t._dayOfYear=A.dayOfYear)}(t),null!=t._dayOfYear&&(n=he(t._a[ct],o[ct]),(t._dayOfYear>kt(n)||0===t._dayOfYear)&&(h(t)._overflowDayOfYear=!0),i=Zt(n,0,t._dayOfYear),t._a[pt]=i.getUTCMonth(),t._a[ft]=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[mt]&&0===t._a[vt]&&0===t._a[yt]&&0===t._a[bt]&&(t._nextDay=!0,t._a[mt]=0),t._d=(t._useUTC?Zt:function(t,e,i,g,o,n,s){var A=new Date(t,e,i,g,o,n,s);return t<100&&t>=0&&isFinite(A.getFullYear())&&A.setFullYear(t),A}).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[mt]=24),t._w&&void 0!==t._w.d&&t._w.d!==t._d.getDay()&&(h(t).weekdayMismatch=!0)}}var ue=/^\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)?)?$/,ce=/^\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)?)?$/,pe=/Z|[+-]\d\d(?::?\d\d)?/,fe=[["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}/]],me=[["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/]],ve=/^\/?Date\((\-?\d+)/i;function ye(t){var e,i,g,o,n,s,A=t._i,C=ue.exec(A)||ce.exec(A);if(C){for(h(t).iso=!0,e=0,i=fe.length;e0&&h(t).unusedInput.push(s),A=A.slice(A.indexOf(i)+i.length),I+=i.length),Y[n]?(i?h(t).empty=!1:h(t).unusedTokens.push(n),ut(n,i,t)):t._strict&&!i&&h(t).unusedTokens.push(n);h(t).charsLeftOver=C-I,A.length>0&&h(t).unusedInput.push(A),t._a[mt]<=12&&!0===h(t).bigHour&&t._a[mt]>0&&(h(t).bigHour=void 0),h(t).parsedDateParts=t._a.slice(0),h(t).meridiem=t._meridiem,t._a[mt]=function(t,e,i){var g;if(null==i)return e;return null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?((g=t.isPM(i))&&e<12&&(e+=12),g||12!==e||(e=0),e):e}(t._locale,t._a[mt],t._meridiem),le(t),de(t)}else ke(t);else ye(t)}function _e(t){var e=t._i,i=t._f;return t._locale=t._locale||ae(t._l),null===e||void 0===i&&""===e?u({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new m(de(e)):(C(e)?t._d=e:o(i)?function(t){var e,i,g,o,n;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(NaN));for(o=0;othis?this:t:u()});function Se(t,e){var i,g;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Oe();for(i=e[0],g=1;g(n=Wt(t,g,o))&&(e=n),function(t,e,i,g,o){var n=jt(t,e,i,g,o),s=Zt(n.year,0,n.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}.call(this,t,e,i,g,o))}j(0,["gg",2],0,function(){return this.weekYear()%100}),j(0,["GG",2],0,function(){return this.isoWeekYear()%100}),ii("gggg","weekYear"),ii("ggggg","weekYear"),ii("GGGG","isoWeekYear"),ii("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),L("weekYear",1),L("isoWeekYear",1),It("G",ot),It("g",ot),It("GG",J,U),It("gg",J,U),It("GGGG",et,Q),It("gggg",et,Q),It("GGGGG",it,K),It("ggggg",it,K),lt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,g){e[g.substr(0,2)]=b(t)}),lt(["gg","GG"],function(t,e,i,o){e[o]=g.parseTwoDigitYear(t)}),j("Q",0,"Qo","quarter"),N("quarter","Q"),L("quarter",7),It("Q",H),ht("Q",function(t,e){e[pt]=3*(b(t)-1)}),j("D",["DD",2],"Do","date"),N("date","D"),L("date",9),It("D",J),It("DD",J,U),It("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),ht(["D","DD"],ft),ht("Do",function(t,e){e[ft]=b(t.match(J)[0])});var oi=Ot("Date",!0);j("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),L("dayOfYear",4),It("DDD",tt),It("DDDD",X),ht(["DDD","DDDD"],function(t,e,i){i._dayOfYear=b(t)}),j("m",["mm",2],0,"minute"),N("minute","m"),L("minute",14),It("m",J),It("mm",J,U),ht(["m","mm"],vt);var ni=Ot("Minutes",!1);j("s",["ss",2],0,"second"),N("second","s"),L("second",15),It("s",J),It("ss",J,U),ht(["s","ss"],yt);var si,Ai=Ot("Seconds",!1);for(j("S",0,0,function(){return~~(this.millisecond()/100)}),j(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),j(0,["SSS",3],0,"millisecond"),j(0,["SSSS",4],0,function(){return 10*this.millisecond()}),j(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),j(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),j(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),j(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),j(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),L("millisecond",16),It("S",tt,H),It("SS",tt,U),It("SSS",tt,X),si="SSSS";si.length<=9;si+="S")It(si,gt);function Ci(t,e){e[bt]=b(1e3*("0."+t))}for(si="S";si.length<=9;si+="S")ht(si,Ci);var Ii=Ot("Milliseconds",!1);j("z",0,0,"zoneAbbr"),j("zz",0,0,"zoneName");var ri=m.prototype;function ai(t){return t}ri.add=Ke,ri.calendar=function(t,e){var i=t||Oe(),o=Fe(i,this).startOf("day"),n=g.calendarFormat(this,o)||"sameElse",s=e&&(O(e[n])?e[n].call(this,i):e[n]);return this.format(s||this.localeData().calendar(n,this,Oe(i)))},ri.clone=function(){return new m(this)},ri.diff=function(t,e,i){var g,o,n;if(!this.isValid())return NaN;if(!(g=Fe(t,this)).isValid())return NaN;switch(o=6e4*(g.utcOffset()-this.utcOffset()),e=R(e)){case"year":n=qe(this,g)/12;break;case"month":n=qe(this,g);break;case"quarter":n=qe(this,g)/3;break;case"second":n=(this-g)/1e3;break;case"minute":n=(this-g)/6e4;break;case"hour":n=(this-g)/36e5;break;case"day":n=(this-g-o)/864e5;break;case"week":n=(this-g-o)/6048e5;break;default:n=this-g}return i?n:y(n)},ri.endOf=function(t){return void 0===(t=R(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))},ri.format=function(t){t||(t=this.isUtc()?g.defaultFormatUtc:g.defaultFormat);var e=V(this,t);return this.localeData().postformat(e)},ri.from=function(t,e){return this.isValid()&&(v(t)&&t.isValid()||Oe(t).isValid())?We({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},ri.fromNow=function(t){return this.from(Oe(),t)},ri.to=function(t,e){return this.isValid()&&(v(t)&&t.isValid()||Oe(t).isValid())?We({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},ri.toNow=function(t){return this.to(Oe(),t)},ri.get=function(t){return O(this[t=R(t)])?this[t]():this},ri.invalidAt=function(){return h(this).overflow},ri.isAfter=function(t,e){var i=v(t)?t:Oe(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=R(s(e)?"millisecond":e))?this.valueOf()>i.valueOf():i.valueOf()9999?V(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):O(Date.prototype.toISOString)?this.toDate().toISOString():V(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},ri.inspect=function(){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+'("]',g=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",o=e+'[")]';return this.format(i+g+"-MM-DD[T]HH:mm:ss.SSS"+o)},ri.toJSON=function(){return this.isValid()?this.toISOString():null},ri.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},ri.unix=function(){return Math.floor(this.valueOf()/1e3)},ri.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},ri.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},ri.year=Tt,ri.isLeapYear=function(){return Dt(this.year())},ri.weekYear=function(t){return gi.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},ri.isoWeekYear=function(t){return gi.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},ri.quarter=ri.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},ri.month=Lt,ri.daysInMonth=function(){return St(this.year(),this.month())},ri.week=ri.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},ri.isoWeek=ri.isoWeeks=function(t){var e=Vt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},ri.weeksInYear=function(){var t=this.localeData()._week;return Wt(this.year(),t.dow,t.doy)},ri.isoWeeksInYear=function(){return Wt(this.year(),1,4)},ri.date=oi,ri.day=ri.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},ri.weekday=function(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")},ri.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},ri.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},ri.hour=ri.hours=ge,ri.minute=ri.minutes=ni,ri.second=ri.seconds=Ai,ri.millisecond=ri.milliseconds=Ii,ri.utcOffset=function(t,e,i){var o,n=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Ge(st,t)))return this}else Math.abs(t)<16&&!i&&(t*=60);return!this._isUTC&&e&&(o=Ze(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!e||this._changeInProgress?Qe(this,We(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,g.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?n:Ze(this)},ri.utc=function(t){return this.utcOffset(0,t)},ri.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ze(this),"m")),this},ri.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Ge(nt,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},ri.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Oe(t).utcOffset():0,(this.utcOffset()-t)%60==0)},ri.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},ri.isLocal=function(){return!!this.isValid()&&!this._isUTC},ri.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},ri.isUtc=Ye,ri.isUTC=Ye,ri.zoneAbbr=function(){return this._isUTC?"UTC":""},ri.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},ri.dates=k("dates accessor is deprecated. Use date instead.",oi),ri.months=k("months accessor is deprecated. Use month instead",Lt),ri.years=k("years accessor is deprecated. Use year instead",Tt),ri.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),ri.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(p(t,this),(t=_e(t))._a){var e=t._isUTC?d(t._a):Oe(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var di=E.prototype;function hi(t,e,i,g){var o=ae(),n=d().set(g,e);return o[i](n,t)}function li(t,e,i){if(A(t)&&(e=t,t=void 0),t=t||"",null!=e)return hi(t,e,i,"month");var g,o=[];for(g=0;g<12;g++)o[g]=hi(t,g,i,"month");return o}function ui(t,e,i,g){"boolean"==typeof t?(A(e)&&(i=e,e=void 0),e=e||""):(i=e=t,t=!1,A(e)&&(i=e,e=void 0),e=e||"");var o,n=ae(),s=t?n._week.dow:0;if(null!=i)return hi(e,(i+s)%7,g,"day");var C=[];for(o=0;o<7;o++)C[o]=hi(e,(o+s)%7,g,"day");return C}di.calendar=function(t,e,i){var g=this._calendar[t]||this._calendar.sameElse;return O(g)?g.call(e,i):g},di.longDateFormat=function(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},di.invalidDate=function(){return this._invalidDate},di.ordinal=function(t){return this._ordinal.replace("%d",t)},di.preparse=ai,di.postformat=ai,di.relativeTime=function(t,e,i,g){var o=this._relativeTime[i];return O(o)?o(t,e,i,g):o.replace(/%d/i,t)},di.pastFuture=function(t,e){var i=this._relativeTime[t>0?"future":"past"];return O(i)?i(e):i.replace(/%s/i,e)},di.set=function(t){var e,i;for(i in t)O(e=t[i])?this[i]=e:this["_"+i]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},di.months=function(t,e){return t?o(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Nt).test(e)?"format":"standalone"][t.month()]:o(this._months)?this._months:this._months.standalone},di.monthsShort=function(t,e){return t?o(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Nt.test(e)?"format":"standalone"][t.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},di.monthsParse=function(t,e,i){var g,o,n;if(this._monthsParseExact)return function(t,e,i){var g,o,n,s=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],g=0;g<12;++g)n=d([2e3,g]),this._shortMonthsParse[g]=this.monthsShort(n,"").toLocaleLowerCase(),this._longMonthsParse[g]=this.months(n,"").toLocaleLowerCase();return i?"MMM"===e?-1!==(o=_t.call(this._shortMonthsParse,s))?o:null:-1!==(o=_t.call(this._longMonthsParse,s))?o:null:"MMM"===e?-1!==(o=_t.call(this._shortMonthsParse,s))?o:-1!==(o=_t.call(this._longMonthsParse,s))?o:null:-1!==(o=_t.call(this._longMonthsParse,s))?o:-1!==(o=_t.call(this._shortMonthsParse,s))?o:null}.call(this,t,e,i);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),g=0;g<12;g++){if(o=d([2e3,g]),i&&!this._longMonthsParse[g]&&(this._longMonthsParse[g]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[g]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),i||this._monthsParse[g]||(n="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[g]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[g].test(t))return g;if(i&&"MMM"===e&&this._shortMonthsParse[g].test(t))return g;if(!i&&this._monthsParse[g].test(t))return g}},di.monthsRegex=function(t){return this._monthsParseExact?(r(this,"_monthsRegex")||Ft.call(this),t?this._monthsStrictRegex:this._monthsRegex):(r(this,"_monthsRegex")||(this._monthsRegex=Gt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},di.monthsShortRegex=function(t){return this._monthsParseExact?(r(this,"_monthsRegex")||Ft.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(r(this,"_monthsShortRegex")||(this._monthsShortRegex=Bt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},di.week=function(t){return Vt(t,this._week.dow,this._week.doy).week},di.firstDayOfYear=function(){return this._week.doy},di.firstDayOfWeek=function(){return this._week.dow},di.weekdays=function(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},di.weekdaysMin=function(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin},di.weekdaysShort=function(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort},di.weekdaysParse=function(t,e,i){var g,o,n;if(this._weekdaysParseExact)return function(t,e,i){var g,o,n,s=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],g=0;g<7;++g)n=d([2e3,1]).day(g),this._minWeekdaysParse[g]=this.weekdaysMin(n,"").toLocaleLowerCase(),this._shortWeekdaysParse[g]=this.weekdaysShort(n,"").toLocaleLowerCase(),this._weekdaysParse[g]=this.weekdays(n,"").toLocaleLowerCase();return i?"dddd"===e?-1!==(o=_t.call(this._weekdaysParse,s))?o:null:"ddd"===e?-1!==(o=_t.call(this._shortWeekdaysParse,s))?o:null:-1!==(o=_t.call(this._minWeekdaysParse,s))?o:null:"dddd"===e?-1!==(o=_t.call(this._weekdaysParse,s))?o:-1!==(o=_t.call(this._shortWeekdaysParse,s))?o:-1!==(o=_t.call(this._minWeekdaysParse,s))?o:null:"ddd"===e?-1!==(o=_t.call(this._shortWeekdaysParse,s))?o:-1!==(o=_t.call(this._weekdaysParse,s))?o:-1!==(o=_t.call(this._minWeekdaysParse,s))?o:null:-1!==(o=_t.call(this._minWeekdaysParse,s))?o:-1!==(o=_t.call(this._weekdaysParse,s))?o:-1!==(o=_t.call(this._shortWeekdaysParse,s))?o:null}.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),g=0;g<7;g++){if(o=d([2e3,1]).day(g),i&&!this._fullWeekdaysParse[g]&&(this._fullWeekdaysParse[g]=new RegExp("^"+this.weekdays(o,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[g]=new RegExp("^"+this.weekdaysShort(o,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[g]=new RegExp("^"+this.weekdaysMin(o,"").replace(".",".?")+"$","i")),this._weekdaysParse[g]||(n="^"+this.weekdays(o,"")+"|^"+this.weekdaysShort(o,"")+"|^"+this.weekdaysMin(o,""),this._weekdaysParse[g]=new RegExp(n.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[g].test(t))return g;if(i&&"ddd"===e&&this._shortWeekdaysParse[g].test(t))return g;if(i&&"dd"===e&&this._minWeekdaysParse[g].test(t))return g;if(!i&&this._weekdaysParse[g].test(t))return g}},di.weekdaysRegex=function(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(r(this,"_weekdaysRegex")||(this._weekdaysRegex=Qt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},di.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(r(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Kt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},di.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(r(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Jt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},di.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},di.meridiem=function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},Ie("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===b(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),g.lang=k("moment.lang is deprecated. Use moment.locale instead.",Ie),g.langData=k("moment.langData is deprecated. Use moment.localeData instead.",ae);var ci=Math.abs;function pi(t,e,i,g){var o=We(e,i);return t._milliseconds+=g*o._milliseconds,t._days+=g*o._days,t._months+=g*o._months,t._bubble()}function fi(t){return t<0?Math.floor(t):Math.ceil(t)}function mi(t){return 4800*t/146097}function vi(t){return 146097*t/4800}function yi(t){return function(){return this.as(t)}}var bi=yi("ms"),wi=yi("s"),xi=yi("m"),ki=yi("h"),Di=yi("d"),_i=yi("w"),Ti=yi("M"),Oi=yi("y");function Mi(t){return function(){return this.isValid()?this._data[t]:NaN}}var Ei=Mi("milliseconds"),Si=Mi("seconds"),Ni=Mi("minutes"),Ri=Mi("hours"),Pi=Mi("days"),zi=Mi("months"),Li=Mi("years"),Bi=Math.round,Gi={ss:44,s:45,m:45,h:22,d:26,M:11},Fi=Math.abs;function Zi(t){return(t>0)-(t<0)||+t}function Yi(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i=Fi(this._milliseconds)/1e3,g=Fi(this._days),o=Fi(this._months);t=y(i/60),e=y(t/60),i%=60,t%=60;var n=y(o/12),s=o%=12,A=g,C=e,I=t,r=i?i.toFixed(3).replace(/\.?0+$/,""):"",a=this.asSeconds();if(!a)return"P0D";var d=a<0?"-":"",h=Zi(this._months)!==Zi(a)?"-":"",l=Zi(this._days)!==Zi(a)?"-":"",u=Zi(this._milliseconds)!==Zi(a)?"-":"";return d+"P"+(n?h+n+"Y":"")+(s?h+s+"M":"")+(A?l+A+"D":"")+(C||I||r?"T":"")+(C?u+C+"H":"")+(I?u+I+"M":"")+(r?u+r+"S":"")}var ji=Re.prototype;return ji.isValid=function(){return this._isValid},ji.abs=function(){var t=this._data;return this._milliseconds=ci(this._milliseconds),this._days=ci(this._days),this._months=ci(this._months),t.milliseconds=ci(t.milliseconds),t.seconds=ci(t.seconds),t.minutes=ci(t.minutes),t.hours=ci(t.hours),t.months=ci(t.months),t.years=ci(t.years),this},ji.add=function(t,e){return pi(this,t,e,1)},ji.subtract=function(t,e){return pi(this,t,e,-1)},ji.as=function(t){if(!this.isValid())return NaN;var e,i,g=this._milliseconds;if("month"===(t=R(t))||"year"===t)return e=this._days+g/864e5,i=this._months+mi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(vi(this._months)),t){case"week":return e/7+g/6048e5;case"day":return e+g/864e5;case"hour":return 24*e+g/36e5;case"minute":return 1440*e+g/6e4;case"second":return 86400*e+g/1e3;case"millisecond":return Math.floor(864e5*e)+g;default:throw new Error("Unknown unit "+t)}},ji.asMilliseconds=bi,ji.asSeconds=wi,ji.asMinutes=xi,ji.asHours=ki,ji.asDays=Di,ji.asWeeks=_i,ji.asMonths=Ti,ji.asYears=Oi,ji.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*b(this._months/12):NaN},ji._bubble=function(){var t,e,i,g,o,n=this._milliseconds,s=this._days,A=this._months,C=this._data;return n>=0&&s>=0&&A>=0||n<=0&&s<=0&&A<=0||(n+=864e5*fi(vi(A)+s),s=0,A=0),C.milliseconds=n%1e3,t=y(n/1e3),C.seconds=t%60,e=y(t/60),C.minutes=e%60,i=y(e/60),C.hours=i%24,s+=y(i/24),A+=o=y(mi(s)),s-=fi(vi(o)),g=y(A/12),A%=12,C.days=s,C.months=A,C.years=g,this},ji.clone=function(){return We(this)},ji.get=function(t){return t=R(t),this.isValid()?this[t+"s"]():NaN},ji.milliseconds=Ei,ji.seconds=Si,ji.minutes=Ni,ji.hours=Ri,ji.days=Pi,ji.weeks=function(){return y(this.days()/7)},ji.months=zi,ji.years=Li,ji.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),i=function(t,e,i){var g=We(t).abs(),o=Bi(g.as("s")),n=Bi(g.as("m")),s=Bi(g.as("h")),A=Bi(g.as("d")),C=Bi(g.as("M")),I=Bi(g.as("y")),r=o<=Gi.ss&&["s",o]||o0,r[4]=i,function(t,e,i,g,o){return o.relativeTime(e||1,!!i,t,g)}.apply(null,r)}(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)},ji.toISOString=Yi,ji.toString=Yi,ji.toJSON=Yi,ji.locale=$e,ji.localeData=ei,ji.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Yi),ji.lang=ti,j("X",0,0,"unix"),j("x",0,0,"valueOf"),It("x",ot),It("X",/[+-]?\d+(\.\d{1,3})?/),ht("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),ht("x",function(t,e,i){i._d=new Date(b(t))}),g.version="2.19.1",e=Oe,g.fn=ri,g.min=function(){return Se("isBefore",[].slice.call(arguments,0))},g.max=function(){return Se("isAfter",[].slice.call(arguments,0))},g.now=function(){return Date.now?Date.now():+new Date},g.utc=d,g.unix=function(t){return Oe(1e3*t)},g.months=function(t,e){return li(t,e,"months")},g.isDate=C,g.locale=Ie,g.invalid=u,g.duration=We,g.isMoment=v,g.weekdays=function(t,e,i){return ui(t,e,i,"weekdays")},g.parseZone=function(){return Oe.apply(null,arguments).parseZone()},g.localeData=ae,g.isDuration=Pe,g.monthsShort=function(t,e){return li(t,e,"monthsShort")},g.weekdaysMin=function(t,e,i){return ui(t,e,i,"weekdaysMin")},g.defineLocale=re,g.updateLocale=function(t,e){if(null!=e){var i,g=oe;null!=ne[t]&&(g=ne[t]._config),(i=new E(e=M(g,e))).parentLocale=ne[t],ne[t]=i,Ie(t)}else null!=ne[t]&&(null!=ne[t].parentLocale?ne[t]=ne[t].parentLocale:null!=ne[t]&&delete ne[t]);return ne[t]},g.locales=function(){return D(ne)},g.weekdaysShort=function(t,e,i){return ui(t,e,i,"weekdaysShort")},g.normalizeUnits=R,g.relativeTimeRounding=function(t){return void 0===t?Bi:"function"==typeof t&&(Bi=t,!0)},g.relativeTimeThreshold=function(t,e){return void 0!==Gi[t]&&(void 0===e?Gi[t]:(Gi[t]=e,"s"===t&&(Gi.ss=e-1),!0))},g.calendarFormat=function(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"},g.prototype=ri,g},t.exports=e()}).call(e,i(155)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),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=156},function(t,e,i){(function(e){var i,g="undefined"!=typeof window?window:void 0!==e?e:null;if(g&&g.crypto&&crypto.getRandomValues){var o=new Uint8Array(16);i=function(){return crypto.getRandomValues(o),o}}if(!i){var n=new Array(16);i=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),n[e]=t>>>((3&e)<<3)&255;return n}}for(var s=[],A={},C=0;C<256;C++)s[C]=(C+256).toString(16).substr(1),A[s[C]]=C;function I(t,e){var i=e||0,g=s;return g[t[i++]]+g[t[i++]]+g[t[i++]]+g[t[i++]]+"-"+g[t[i++]]+g[t[i++]]+"-"+g[t[i++]]+g[t[i++]]+"-"+g[t[i++]]+g[t[i++]]+"-"+g[t[i++]]+g[t[i++]]+g[t[i++]]+g[t[i++]]+g[t[i++]]+g[t[i++]]}var r=i(),a=[1|r[0],r[1],r[2],r[3],r[4],r[5]],d=16383&(r[6]<<8|r[7]),h=0,l=0;function u(t,e,g){var o=e&&g||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null);var n=(t=t||{}).random||(t.rng||i)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e)for(var s=0;s<16;s++)e[o+s]=n[s];return e||I(n)}var c=u;c.v1=function(t,e,i){var g=e&&i||0,o=e||[],n=void 0!==(t=t||{}).clockseq?t.clockseq:d,s=void 0!==t.msecs?t.msecs:(new Date).getTime(),A=void 0!==t.nsecs?t.nsecs:l+1,C=s-h+(A-l)/1e4;if(C<0&&void 0===t.clockseq&&(n=n+1&16383),(C<0||s>h)&&void 0===t.nsecs&&(A=0),A>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=s,l=A,d=n;var r=(1e4*(268435455&(s+=122192928e5))+A)%4294967296;o[g++]=r>>>24&255,o[g++]=r>>>16&255,o[g++]=r>>>8&255,o[g++]=255&r;var u=s/4294967296*1e4&268435455;o[g++]=u>>>8&255,o[g++]=255&u,o[g++]=u>>>24&15|16,o[g++]=u>>>16&255,o[g++]=n>>>8|128,o[g++]=255&n;for(var c=t.node||a,p=0;p<6;p++)o[g+p]=c[p];return e||I(o)},c.v4=u,c.parse=function(t,e,i){var g=e&&i||0,o=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){o<16&&(e[g+o++]=A[t])});o<16;)e[g+o++]=0;return e},c.unparse=I,t.exports=c}).call(e,i(158))},function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){e.util=i(2),e.DOMutil=i(14),e.DataSet=i(11),e.DataView=i(12),e.Queue=i(43),e.Graph3d=i(161),e.graph3d={Camera:i(95),Filter:i(96),Point2d:i(91),Point3d:i(34),Slider:i(92),StepNumber:i(93)},e.moment=i(9),e.Hammer=i(10),e.keycharm=i(35)},function(t,e,i){var g=i(7),o=g.JSON||(g.JSON={stringify:JSON.stringify});t.exports=function(t){return o.stringify.apply(o,arguments)}},function(t,e,i){var g,o=i(90),n=(g=o)&&g.__esModule?g:{default:g};var s=i(44),A=i(2),C=i(34),I=i(91),r=i(92),a=i(93),d=i(94),h=i(15).default,l=i(15).printStyle,u=i(172).allOptions,c=i(173);p.STYLE=d.STYLE;function p(t,e,i){if(!(this instanceof p))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.dataGroup=new c,this.dataPoints=null,this.create(),d.setDefaults(p.DEFAULTS,this),this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.setOptions(i),this.setData(e)}function f(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function m(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}p.DEFAULTS={width:"400px",height:"400px",filterLabel:"time",legendLabel:"value",xLabel:"x",yLabel:"y",zLabel:"z",xValueLabel:function(t){return t},yValueLabel:function(t){return t},zValueLabel:function(t){return t},showXAxis:!0,showYAxis:!0,showZAxis:!0,showGrid:!0,showPerspective:!0,showShadow:!1,keepAspectRatio:!0,verticalRatio:.5,dotSizeRatio:.02,dotSizeMinFraction:.5,dotSizeMaxFraction:2.5,showAnimationControls:void 0,animationInterval:1e3,animationPreload:!1,animationAutoStart:void 0,axisColor:"#4D4D4D",gridColor:"#D3D3D3",xCenter:"55%",yCenter:"50%",style:p.STYLE.DOT,tooltip:!1,tooltipStyle:{content:{padding:"10px",border:"1px solid #4d4d4d",color:"#1a1a1a",background:"rgba(255,255,255,0.7)",borderRadius:"2px",boxShadow:"5px 5px 10px rgba(128,128,128,0.5)"},line:{height:"40px",width:"0",borderLeft:"1px solid #4d4d4d"},dot:{height:"0",width:"0",border:"5px solid #4d4d4d",borderRadius:"5px"}},dataColor:{fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},cameraPosition:{horizontal:1,vertical:.5,distance:1.7},showLegend:void 0,backgroundColor:void 0,xBarWidth:void 0,yBarWidth:void 0,valueMin:void 0,valueMax:void 0,xMin:void 0,xMax:void 0,xStep:void 0,yMin:void 0,yMax:void 0,yStep:void 0,zMin:void 0,zMax:void 0,zStep:void 0},s(p.prototype),p.prototype._setScale=function(){this.scale=new C(1/this.xRange.range(),1/this.yRange.range(),1/this.zRange.range()),this.keepAspectRatio&&(this.scale.x0&&(n[g-1].pointNext=n[g]);return n},p.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;A.addEventListener(this.frame.canvas,"mousedown",function(t){e._onMouseDown(t)}),A.addEventListener(this.frame.canvas,"touchstart",function(t){e._onTouchStart(t)}),A.addEventListener(this.frame.canvas,"mousewheel",function(t){e._onWheel(t)}),A.addEventListener(this.frame.canvas,"mousemove",function(t){e._onTooltip(t)}),A.addEventListener(this.frame.canvas,"click",function(t){e._onClick(t)}),this.containerElement.appendChild(this.frame)},p.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},p.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"},p.prototype.animationStart=function(){if(this.animationAutoStart&&this.dataGroup.dataFilter){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()}},p.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},p.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)},p.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},p.prototype._readData=function(t){this.dataPoints=this.dataGroup.initializeData(this,t,this.style),this._initializeRanges(),this._redrawFilter()},p.prototype.setData=function(t){null!=t&&(this._readData(t),this.redraw(),this.animationStart())},p.prototype.setOptions=function(t){void 0!==t&&(!0===h.validate(t,u)&&console.log("%cErrors have been found in the supplied options object.",l),this.animationStop(),d.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.setData(this.dataGroup.getDataTable()),this.animationStart())},p.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case p.STYLE.BAR:t=p.prototype._redrawBarGraphPoint;break;case p.STYLE.BARCOLOR:t=p.prototype._redrawBarColorGraphPoint;break;case p.STYLE.BARSIZE:t=p.prototype._redrawBarSizeGraphPoint;break;case p.STYLE.DOT:t=p.prototype._redrawDotGraphPoint;break;case p.STYLE.DOTLINE:t=p.prototype._redrawDotLineGraphPoint;break;case p.STYLE.DOTCOLOR:t=p.prototype._redrawDotColorGraphPoint;break;case p.STYLE.DOTSIZE:t=p.prototype._redrawDotSizeGraphPoint;break;case p.STYLE.SURFACE:t=p.prototype._redrawSurfaceGraphPoint;break;case p.STYLE.GRID:t=p.prototype._redrawGridGraphPoint;break;case p.STYLE.LINE:t=p.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},p.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()},p.prototype._getContext=function(){var t=this.frame.canvas.getContext("2d");return t.lineJoin="round",t.lineCap="round",t},p.prototype._redrawClear=function(){var t=this.frame.canvas;t.getContext("2d").clearRect(0,0,t.width,t.height)},p.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},p.prototype._getLegendWidth=function(){var t;this.style===p.STYLE.DOTSIZE?t=this._dotSize()*this.dotSizeMaxFraction:t=this.style===p.STYLE.BARSIZE?this.xBarWidth:20;return t},p.prototype._redrawLegend=function(){if(!0===this.showLegend&&this.style!==p.STYLE.LINE&&this.style!==p.STYLE.BARSIZE){var t=this.style===p.STYLE.BARSIZE||this.style===p.STYLE.DOTSIZE,e=this.style===p.STYLE.DOTSIZE||this.style===p.STYLE.DOTCOLOR||this.style===p.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),g=this.margin,o=this._getLegendWidth(),n=this.frame.clientWidth-this.margin,s=n-o,A=g+i,C=this._getContext();if(C.lineWidth=1,C.font="14px arial",!1===t){var r,d=i;for(r=0;r0?(t.textAlign="center",t.textBaseline="top",n.y+=o):Math.sin(2*g)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,n.x,n.y)},p.prototype.drawAxisLabelY=function(t,e,i,g,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);Math.cos(2*g)<0?(t.textAlign="center",t.textBaseline="top",n.y+=o):Math.sin(2*g)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,n.x,n.y)},p.prototype.drawAxisLabelZ=function(t,e,i,g){void 0===g&&(g=0);var o=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,o.x-g,o.y)},p.prototype._line3d=function(t,e,i,g){var o=this._convert3Dto2D(e),n=this._convert3Dto2D(i);this._line(t,o,n,g)},p.prototype._redrawAxis=function(){var t,e,i,g,o,n,s,A,r,d,h=this._getContext();h.font=24/this.camera.getArmLength()+"px arial";var l,u,c,p=.025/this.scale.x,f=.025/this.scale.y,m=5/this.camera.getArmLength(),v=this.camera.getArmRotation().horizontal,y=new I(Math.cos(v),Math.sin(v)),b=this.xRange,w=this.yRange,x=this.zRange;for(h.lineWidth=1,g=void 0===this.defaultXStep,(i=new a(b.min,b.max,this.xStep,g)).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(h,t,e,this.gridColor)):this.showXAxis&&(t=new C(k,w.min,x.min),e=new C(k,w.min+p,x.min),this._line3d(h,t,e,this.axisColor),t=new C(k,w.max,x.min),e=new C(k,w.max-p,x.min),this._line3d(h,t,e,this.axisColor)),this.showXAxis){s=y.x>0?w.min:w.max,l=new C(k,s,x.min);var D=" "+this.xValueLabel(k)+" ";this.drawAxisLabelX(h,l,D,v,m)}i.next()}for(h.lineWidth=1,g=void 0===this.defaultYStep,(i=new a(w.min,w.max,this.yStep,g)).start(!0);!i.end();){var _=i.getCurrent();if(this.showGrid?(t=new C(b.min,_,x.min),e=new C(b.max,_,x.min),this._line3d(h,t,e,this.gridColor)):this.showYAxis&&(t=new C(b.min,_,x.min),e=new C(b.min+f,_,x.min),this._line3d(h,t,e,this.axisColor),t=new C(b.max,_,x.min),e=new C(b.max-f,_,x.min),this._line3d(h,t,e,this.axisColor)),this.showYAxis){n=y.y>0?b.min:b.max,l=new C(n,_,x.min);var T=" "+this.yValueLabel(_)+" ";this.drawAxisLabelY(h,l,T,v,m)}i.next()}if(this.showZAxis){for(h.lineWidth=1,g=void 0===this.defaultZStep,(i=new a(x.min,x.max,this.zStep,g)).start(!0),n=y.x>0?b.min:b.max,s=y.y<0?w.min:w.max;!i.end();){var O=i.getCurrent(),M=new C(n,s,O),E=this._convert3Dto2D(M);e=new I(E.x-m,E.y),this._line(h,E,e,this.axisColor);var S=this.zValueLabel(O)+" ";this.drawAxisLabelZ(h,M,S,5),i.next()}h.lineWidth=1,t=new C(n,s,x.min),e=new C(n,s,x.max),this._line3d(h,t,e,this.axisColor)}this.showXAxis&&(h.lineWidth=1,u=new C(b.min,w.min,x.min),c=new C(b.max,w.min,x.min),this._line3d(h,u,c,this.axisColor),u=new C(b.min,w.max,x.min),c=new C(b.max,w.max,x.min),this._line3d(h,u,c,this.axisColor));this.showYAxis&&(h.lineWidth=1,t=new C(b.min,w.min,x.min),e=new C(b.min,w.max,x.min),this._line3d(h,t,e,this.axisColor),t=new C(b.max,w.min,x.min),e=new C(b.max,w.max,x.min),this._line3d(h,t,e,this.axisColor));var N=this.xLabel;N.length>0&&this.showXAxis&&(d=.1/this.scale.y,n=(b.max+3*b.min)/4,s=y.x>0?w.min-d:w.max+d,o=new C(n,s,x.min),this.drawAxisLabelX(h,o,N,v));var R=this.yLabel;R.length>0&&this.showYAxis&&(r=.1/this.scale.x,n=y.y>0?b.min-r:b.max+r,s=(w.max+3*w.min)/4,o=new C(n,s,x.min),this.drawAxisLabelY(h,o,R,v));var P=this.zLabel;P.length>0&&this.showZAxis&&(30,n=y.x>0?b.min:b.max,s=y.y<0?w.min:w.max,A=(x.max+3*x.min)/4,o=new C(n,s,A),this.drawAxisLabelZ(h,o,P,30))},p.prototype._hsv2rgb=function(t,e,i){var g,o,n,s,A,C;switch(s=i*e,A=Math.floor(t/60),C=s*(1-Math.abs(t/60%2-1)),A){case 0:g=s,o=C,n=0;break;case 1:g=C,o=s,n=0;break;case 2:g=0,o=s,n=C;break;case 3:g=0,o=C,n=s;break;case 4:g=C,o=0,n=s;break;case 5:g=s,o=0,n=C;break;default:g=0,o=0,n=0}return"RGB("+parseInt(255*g)+","+parseInt(255*o)+","+parseInt(255*n)+")"},p.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},p.prototype._redrawBar=function(t,e,i,g,o,n){var s,A=this,I=e.point,r=this.zRange.min,a=[{point:new C(I.x-i,I.y-g,I.z)},{point:new C(I.x+i,I.y-g,I.z)},{point:new C(I.x+i,I.y+g,I.z)},{point:new C(I.x-i,I.y+g,I.z)}],d=[{point:new C(I.x-i,I.y-g,r)},{point:new C(I.x+i,I.y-g,r)},{point:new C(I.x+i,I.y+g,r)},{point:new C(I.x-i,I.y+g,r)}];a.forEach(function(t){t.screen=A._convert3Dto2D(t.point)}),d.forEach(function(t){t.screen=A._convert3Dto2D(t.point)});var h=[{corners:a,center:C.avg(d[0].point,d[2].point)},{corners:[a[0],a[1],d[1],d[0]],center:C.avg(d[1].point,d[0].point)},{corners:[a[1],a[2],d[2],d[1]],center:C.avg(d[2].point,d[1].point)},{corners:[a[2],a[3],d[3],d[2]],center:C.avg(d[3].point,d[2].point)},{corners:[a[3],a[0],d[0],d[3]],center:C.avg(d[0].point,d[3].point)}];e.surfaces=h;for(var l=0;l0}if(A){var h,l=240*(1-((e.point.z+i.point.z+g.point.z+o.point.z)/4-this.zRange.min)*this.scale.z/this.verticalRatio);this.showShadow?(h=Math.min(1+a.x/d/2,1),s=n=this._hsv2rgb(l,1,h)):(h=1,n=this._hsv2rgb(l,1,h),s=this.axisColor)}else n="gray",s=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var u=[e,i,o,g];this._polygon(t,u,n,s)}},p.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var g=240*(1-((e.point.z+i.point.z)/2-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(g,1,1),this._line(t,e.screen,i.screen)}},p.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},p.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))},p.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 s=n((g.x-i.x)*(t.y-i.y)-(g.y-i.y)*(t.x-i.x)),A=n((o.x-g.x)*(t.y-g.y)-(o.y-g.y)*(t.x-g.x)),C=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!=C&&A!=C||0!=s&&0!=C&&s!=C)},p.prototype._dataPointFromXY=function(t,e){var i,g=null,o=null,n=null,s=new I(t,e);if(this.style===p.STYLE.BAR||this.style===p.STYLE.BARCOLOR||this.style===p.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){var A=(g=this.dataPoints[i]).surfaces;if(A)for(var C=A.length-1;C>=0;C--){var r=A[C].corners,a=[r[0].screen,r[1].screen,r[2].screen],d=[r[2].screen,r[3].screen,r[0].screen];if(this._insideTriangle(s,a)||this._insideTriangle(s,d))return g}}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(g);var o=e.offsetWidth,s=e.offsetHeight,A=i.offsetHeight,C=g.offsetWidth,I=g.offsetHeight,r=t.screen.x-o/2;r=Math.min(Math.max(r,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-A+"px",e.style.left=r+"px",e.style.top=t.screen.y-A-s+"px",g.style.left=t.screen.x-C/2+"px",g.style.top=t.screen.y-I/2+"px"},p.prototype._hideTooltip=function(){if(this.tooltip)for(var t in this.tooltip.dataPoint=null,this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}},p.prototype.setCameraPosition=function(t){d.setCameraPosition(t,this),this.redraw()},p.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=p},function(t,e,i){i(163),t.exports=i(7).Object.assign},function(t,e,i){var g=i(17);g(g.S+g.F,"Object",{assign:i(164)})},function(t,e,i){var g=i(33),o=i(63),n=i(42),s=i(41),A=i(78),C=Object.assign;t.exports=!C||i(28)(function(){var t={},e={},i=Symbol(),g="abcdefghijklmnopqrst";return t[i]=7,g.split("").forEach(function(t){e[t]=t}),7!=C({},t)[i]||Object.keys(C({},e)).join("")!=g})?function(t,e){for(var i=s(t),C=arguments.length,I=1,r=o.f,a=n.f;C>I;)for(var d,h=A(arguments[I++]),l=r?g(h).concat(r(h)):g(h),u=l.length,c=0;u>c;)a.call(h,d=l[c++])&&(i[d]=h[d]);return i}:C},function(t,e,i){t.exports={default:i(166),__esModule:!0}},function(t,e,i){i(167),t.exports=i(7).Math.sign},function(t,e,i){var g=i(17);g(g.S,"Math",{sign:i(168)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,i){t.exports={default:i(170),__esModule:!0}},function(t,e,i){i(171);var g=i(7).Object;t.exports=function(t,e,i){return g.defineProperty(t,e,i)}},function(t,e,i){var g=i(17);g(g.S+g.F*!i(21),"Object",{defineProperty:i(20).f})},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g="string",o="boolean",n="number",s={fill:{string:g},stroke:{string:g},strokeWidth:{number:n},__type__:{string:g,object:"object",undefined:"undefined"}},A={animationAutoStart:{boolean:o,undefined:"undefined"},animationInterval:{number:n},animationPreload:{boolean:o},axisColor:{string:g},backgroundColor:s,xBarWidth:{number:n,undefined:"undefined"},yBarWidth:{number:n,undefined:"undefined"},cameraPosition:{distance:{number:n},horizontal:{number:n},vertical:{number:n},__type__:{object:"object"}},xCenter:{string:g},yCenter:{string:g},dataColor:s,dotSizeMinFraction:{number:n},dotSizeMaxFraction:{number:n},dotSizeRatio:{number:n},filterLabel:{string:g},gridColor:{string:g},onclick:{function:"function"},keepAspectRatio:{boolean:o},xLabel:{string:g},yLabel:{string:g},zLabel:{string:g},legendLabel:{string:g},xMin:{number:n,undefined:"undefined"},yMin:{number:n,undefined:"undefined"},zMin:{number:n,undefined:"undefined"},xMax:{number:n,undefined:"undefined"},yMax:{number:n,undefined:"undefined"},zMax:{number:n,undefined:"undefined"},showAnimationControls:{boolean:o,undefined:"undefined"},showGrid:{boolean:o},showLegend:{boolean:o,undefined:"undefined"},showPerspective:{boolean:o},showShadow:{boolean:o},showXAxis:{boolean:o},showYAxis:{boolean:o},showZAxis:{boolean:o},xStep:{number:n,undefined:"undefined"},yStep:{number:n,undefined:"undefined"},zStep:{number:n,undefined:"undefined"},style:{number:n,string:["bar","bar-color","bar-size","dot","dot-line","dot-color","dot-size","line","grid","surface"]},tooltip:{boolean:o,function:"function"},tooltipStyle:{content:{color:{string:g},background:{string:g},border:{string:g},borderRadius:{string:g},boxShadow:{string:g},padding:{string:g},__type__:{object:"object"}},line:{borderLeft:{string:g},height:{string:g},width:{string:g},__type__:{object:"object"}},dot:{border:{string:g},borderRadius:{string:g},height:{string:g},width:{string:g},__type__:{object:"object"}},__type__:{object:"object"}},xValueLabel:{function:"function"},yValueLabel:{function:"function"},zValueLabel:{function:"function"},valueMax:{number:n,undefined:"undefined"},valueMin:{number:n,undefined:"undefined"},verticalRatio:{number:n},height:{string:g},width:{string:g},__type__:{object:"object"}};e.allOptions=A},function(t,e,i){var g=i(11),o=i(12),n=i(174),s=i(96),A=i(94),C=i(34);function I(){this.dataTable=null}I.prototype.initializeData=function(t,e,i){if(void 0!==e){var n;if(Array.isArray(e)&&(e=new g(e)),!(e instanceof g||e instanceof o))throw new Error("Array, DataSet, or DataView expected");if(0!=(n=e.get()).length){this.style=i,this.dataSet&&this.dataSet.off("*",this._onChange),this.dataSet=e,this.dataTable=n;var A=this;this._onChange=function(){t.setData(A.dataSet)},this.dataSet.on("*",this._onChange),this.colX="x",this.colY="y",this.colZ="z";var C=t.hasBars(i);if(C&&(void 0!==t.defaultXBarWidth?this.xBarWidth=t.defaultXBarWidth:this.xBarWidth=this.getSmallestDifference(n,this.colX)||1,void 0!==t.defaultYBarWidth?this.yBarWidth=t.defaultYBarWidth:this.yBarWidth=this.getSmallestDifference(n,this.colY)||1),this._initializeRange(n,this.colX,t,C),this._initializeRange(n,this.colY,t,C),this._initializeRange(n,this.colZ,t,!1),n[0].hasOwnProperty("style")){this.colValue="style";var I=this.getColumnRange(n,this.colValue);this._setRangeDefaults(I,t.defaultValueMin,t.defaultValueMax),this.valueRange=I}return this.getDataTable()[0].hasOwnProperty("filter")&&void 0===this.dataFilter&&(this.dataFilter=new s(this,"filter",t),this.dataFilter.setOnLoadCallback(function(){t.redraw()})),this.dataFilter?this.dataFilter._getDataPoints():this._getDataPoints(this.getDataTable())}}},I.prototype._collectRangeSettings=function(t,e){if(-1==["x","y","z"].indexOf(t))throw new Error("Column '"+t+"' invalid");var i=t.toUpperCase();return{barWidth:this[t+"BarWidth"],min:e["default"+i+"Min"],max:e["default"+i+"Max"],step:e["default"+i+"Step"],range_label:t+"Range",step_label:t+"Step"}},I.prototype._initializeRange=function(t,e,i,g){var o=this._collectRangeSettings(e,i),n=this.getColumnRange(t,e);g&&"z"!=e&&n.expand(o.barWidth/2),this._setRangeDefaults(n,o.min,o.max),this[o.range_label]=n,this[o.step_label]=void 0!==o.step?o.step:n.range()/5},I.prototype.getDistinctValues=function(t,e){void 0===e&&(e=this.dataTable);for(var i=[],g=0;gn)&&(g=n)}return g},I.prototype.getColumnRange=function(t,e){for(var i=new n,g=0;g0&&(e[i-1].pointNext=e[i]);return e},I.prototype._checkValueField=function(t){if(this.style===A.STYLE.BARCOLOR||this.style===A.STYLE.BARSIZE||this.style===A.STYLE.DOTCOLOR||this.style===A.STYLE.DOTSIZE){if(void 0===this.colValue)throw new Error("Expected data to have field 'style' for graph style '"+this.style+"'");if(void 0===t[0][this.colValue])throw new Error("Expected data to have field '"+this.colValue+"' for graph style '"+this.style+"'")}},t.exports=I},function(t,e,i){function g(){this.min=void 0,this.max=void 0}g.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}},g.prototype.range=function(){return this.max-this.min},g.prototype.center=function(){return(this.min+this.max)/2},t.exports=g},function(t,e,i){var g,o,n;o=[],void 0===(n="function"==typeof(g=function(){var t=null;return function e(i,g){var o=g||{preventDefault:!1};if(i.Manager){var n=i,s=function(t,i){var g=Object.create(o);return i&&n.assign(g,i),e(new n(t,g),g)};return n.assign(s,n),s.Manager=function(t,i){var g=Object.create(o);return i&&n.assign(g,i),e(new n.Manager(t,g),g)},s}var A=Object.create(i),C=i.element;function I(t){return t.match(/[^ ]+/g)}function r(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var g=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof g&&(e.srcEvent.stopPropagation=function(){g(),e.stopPropagation()}),e.firstTarget=t;for(var o=t;o&&!i;){var n=o.hammer;if(n)for(var s,A=0;A0?A._handlers[t]=g:(i.off(t,r),delete A._handlers[t]))}),A},A.emit=function(e,g){t=g.target,i.emit(e,g)},A.destroy=function(){var t=i.element.hammer,e=t.indexOf(A);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,A._handlers={},i.destroy()},A}})?g.apply(e,o):g)||(t.exports=n)},function(t,e,i){var g;!function(o,n,s,A){var C,I=["","webkit","Moz","MS","ms","o"],r=n.createElement("div"),a="function",d=Math.round,h=Math.abs,l=Date.now;function u(t,e,i){return setTimeout(b(t,i),e)}function c(t,e,i){return!!Array.isArray(t)&&(p(t,i[e],i),!0)}function p(t,e,i){var g;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==A)for(g=0;g\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",n=o.console&&(o.console.warn||o.console.log);return n&&n.call(o.console,g,i),t.apply(this,arguments)}}C="function"!=typeof Object.assign?function(t){if(t===A||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i-1}function O(t){return t.trim().split(/\s+/g)}function M(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var g=0;gi[e]}):g.sort()),g}function N(t,e){for(var i,g,o=e[0].toUpperCase()+e.slice(1),n=0;n1&&!i.firstMultiple?i.firstMultiple=it(e):1===o&&(i.firstMultiple=!1);var n=i.firstInput,s=i.firstMultiple,C=s?s.center:n.center,I=e.center=gt(g);e.timeStamp=l(),e.deltaTime=e.timeStamp-n.timeStamp,e.angle=At(C,I),e.distance=st(C,I),function(t,e){var i=e.center,g=t.offsetDelta||{},o=t.prevDelta||{},n=t.prevInput||{};e.eventType!==F&&n.eventType!==Y||(o=t.prevDelta={x:n.deltaX||0,y:n.deltaY||0},g=t.offsetDelta={x:i.x,y:i.y});e.deltaX=o.x+(i.x-g.x),e.deltaY=o.y+(i.y-g.y)}(i,e),e.offsetDirection=nt(e.deltaX,e.deltaY);var r=ot(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=r.x,e.overallVelocityY=r.y,e.overallVelocity=h(r.x)>h(r.y)?r.x:r.y,e.scale=s?(a=s.pointers,d=g,st(d[0],d[1],$)/st(a[0],a[1],$)):1,e.rotation=s?function(t,e){return At(e[1],e[0],$)+At(t[1],t[0],$)}(s.pointers,g):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,g,o,n,s=t.lastInterval||e,C=e.timeStamp-s.timeStamp;if(e.eventType!=j&&(C>G||s.velocity===A)){var I=e.deltaX-s.deltaX,r=e.deltaY-s.deltaY,a=ot(C,I,r);g=a.x,o=a.y,i=h(a.x)>h(a.y)?a.x:a.y,n=nt(I,r),t.lastInterval=e}else i=s.velocity,g=s.velocityX,o=s.velocityY,n=s.direction;e.velocity=i,e.velocityX=g,e.velocityY=o,e.direction=n}(i,e);var a,d;var u=t.element;_(e.srcEvent.target,u)&&(u=e.srcEvent.target);e.target=u}(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function it(t){for(var e=[],i=0;i=h(e)?t<0?W:H:e<0?U:X}function st(t,e,i){i||(i=q);var g=e[i[0]]-t[i[0]],o=e[i[1]]-t[i[1]];return Math.sqrt(g*g+o*o)}function At(t,e,i){i||(i=q);var g=e[i[0]]-t[i[0]],o=e[i[1]]-t[i[1]];return 180*Math.atan2(o,g)/Math.PI}tt.prototype={handler:function(){},init:function(){this.evEl&&k(this.element,this.evEl,this.domHandler),this.evTarget&&k(this.target,this.evTarget,this.domHandler),this.evWin&&k(P(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&D(this.element,this.evEl,this.domHandler),this.evTarget&&D(this.target,this.evTarget,this.domHandler),this.evWin&&D(P(this.element),this.evWin,this.domHandler)}};var Ct={mousedown:F,mousemove:Z,mouseup:Y},It="mousedown",rt="mousemove mouseup";function at(){this.evEl=It,this.evWin=rt,this.pressed=!1,tt.apply(this,arguments)}y(at,tt,{handler:function(t){var e=Ct[t.type];e&F&&0===t.button&&(this.pressed=!0),e&Z&&1!==t.which&&(e=Y),this.pressed&&(e&Y&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var dt={pointerdown:F,pointermove:Z,pointerup:Y,pointercancel:j,pointerout:j},ht={2:"touch",3:"pen",4:"mouse",5:"kinect"},lt="pointerdown",ut="pointermove pointerup pointercancel";function ct(){this.evEl=lt,this.evWin=ut,tt.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}o.MSPointerEvent&&!o.PointerEvent&&(lt="MSPointerDown",ut="MSPointerMove MSPointerUp MSPointerCancel"),y(ct,tt,{handler:function(t){var e=this.store,i=!1,g=t.type.toLowerCase().replace("ms",""),o=dt[g],n=ht[t.pointerType]||t.pointerType,s="touch"==n,A=M(e,t.pointerId,"pointerId");o&F&&(0===t.button||s)?A<0&&(e.push(t),A=e.length-1):o&(Y|j)&&(i=!0),A<0||(e[A]=t,this.callback(this.manager,o,{pointers:e,changedPointers:[t],pointerType:n,srcEvent:t}),i&&e.splice(A,1))}});var pt={touchstart:F,touchmove:Z,touchend:Y,touchcancel:j},ft="touchstart",mt="touchstart touchmove touchend touchcancel";function vt(){this.evTarget=ft,this.evWin=mt,this.started=!1,tt.apply(this,arguments)}y(vt,tt,{handler:function(t){var e=pt[t.type];if(e===F&&(this.started=!0),this.started){var i=function(t,e){var i=E(t.touches),g=E(t.changedTouches);e&(Y|j)&&(i=S(i.concat(g),"identifier",!0));return[i,g]}.call(this,t,e);e&(Y|j)&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:"touch",srcEvent:t})}}});var yt={touchstart:F,touchmove:Z,touchend:Y,touchcancel:j},bt="touchstart touchmove touchend touchcancel";function wt(){this.evTarget=bt,this.targetIds={},tt.apply(this,arguments)}y(wt,tt,{handler:function(t){var e=yt[t.type],i=function(t,e){var i=E(t.touches),g=this.targetIds;if(e&(F|Z)&&1===i.length)return g[i[0].identifier]=!0,[i,i];var o,n,s=E(t.changedTouches),A=[],C=this.target;if(n=i.filter(function(t){return _(t.target,C)}),e===F)for(o=0;o-1&&g.splice(t,1)},xt)}}y(Dt,tt,{handler:function(t,e,i){var g="touch"==i.pointerType,o="mouse"==i.pointerType;if(!(o&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(g)(function(t,e){t&F?(this.primaryTouch=e.changedPointers[0].identifier,_t.call(this,e)):t&(Y|j)&&_t.call(this,e)}).call(this,e,i);else if(o&&function(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,g=0;g-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){var e=this,i=this.state;function g(i){e.manager.emit(i,t)}i=Ft&&g(e.options.event+Vt(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&o&e.direction},attrTest:function(t){return Ut.prototype.attrTest.call(this,t)&&(this.state&Bt||!(this.state&Bt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Wt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),y(Qt,Ut,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[St]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Bt)},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)}}),y(Kt,jt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Mt]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,g=t.distancee.time;if(this._input=t,!g||!i||t.eventType&(Y|j)&&!o)this.reset();else if(t.eventType&F)this.reset(),this._timer=u(function(){this.state=Zt,this.tryEmit()},e.time,this);else if(t.eventType&Y)return Zt;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===Zt&&(t&&t.eventType&Y?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=l(),this.manager.emit(this.options.event,this._input)))}}),y(Jt,Ut,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[St]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Bt)}}),y(qt,Ut,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Q|K,pointers:1},getTouchAction:function(){return Xt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Q|K)?e=t.overallVelocity:i&Q?e=t.overallVelocityX:i&K&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&h(e)>this.options.velocity&&t.eventType&Y},emit:function(t){var e=Wt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),y($t,jt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Et]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,g=t.distanceI+i?n+=C()+a-i+t.itemSet.options.margin.item.vertical:s=!1,{shouldScroll:s,scrollOffset:n=Math.min(n,g-i),itemTop:r}}f.prototype=new C,f.prototype._createConfigurator=function(){return new c(this,this.dom.container,u)},f.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},f.prototype.setOptions=function(t){if(!0===p.validate(t,l)&&console.log("%cErrors have been found in the supplied options object.",h),C.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var e=this.itemsData;if(e){var i=this.getSelection();this.setItems(null),this.setItems(e),this.setSelection(i)}}},f.prototype.setItems=function(t){var e;e=t?t instanceof n||t instanceof s?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e)},f.prototype.setGroups=function(t){var e;if(t){var i=function(t){return!1!==t.visible};e=t instanceof n||t instanceof s?new s(t,{filter:i}):new n(t.filter(i))}else e=null;this.groupsData=e,this.itemSet.setGroups(e)},f.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},f.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},f.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},f.prototype.focus=function(t,e){if(this.itemsData&&null!=t){var i=Array.isArray(t)?t:[t],g=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(g.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||en)&&(n=i)}),null!==o&&null!==n){var s=this,A=this.itemSet.items[i[0]],C=-1*this._getScrollTop(),I=null,r=function(){var t=y(s,A);t.shouldScroll&&t.itemTop!=I.itemTop&&(s._setScrollTop(-t.scrollOffset),s._redraw())},a=(o+n)/2,d=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=!e||void 0===e.animation||e.animation;h||(I={shouldScroll:!1,scrollOffset:-1,itemTop:-1}),this.range.setRange(a-d/2,a+d/2,{animation:h},function(){r(),setTimeout(r,100)},function(t,e,i){var g=y(s,A);if(I||(I=g),I.itemTop!=g.itemTop||I.shouldScroll){I.itemTop!=g.itemTop&&g.shouldScroll&&(I=g,C=-1*s._getScrollTop());var o=C,n=I.scrollOffset,r=i?n:o+(n-o)*t;s._setScrollTop(-r),e||s._redraw()}})}}},f.prototype.fit=function(t,e){var i,g=!t||void 0===t.animation||t.animation,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(i=this.getDataRange(),this.moveTo(i.min.valueOf(),{animation:g},e)):(i=this.getItemRange(),this.range.setRange(i.min,i.max,{animation:g},e))},f.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,g=null,n=null;if(null!=e&&null!=i){var s=i-e;s<=0&&(s=10);var A=s/this.props.center.width,C={},I=0;if(o.forEach(this.itemSet.items,function(t,e){if(t.groupShowing){C[e]=t.redraw(!0),I=C[e].length}}),I>0)for(var r=0;ri&&(i=s,n=t)}.bind(this)),g&&n){var a=g.getWidthLeft()+10,d=n.getWidthRight()+10,h=this.props.center.width-a-d;h>0&&(this.options.rtl?(e=m(g)-d*s/h,i=v(n)+a*s/h):(e=m(g)-a*s/h,i=v(n)+d*s/h))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},f.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var g=o.convert(i.start,"Date").valueOf(),n=o.convert(null!=i.end?i.end:i.start,"Date").valueOf();(null===t||ge)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},f.prototype.getEventProperties=function(t){var e,i=t.center?t.center.x:t.clientX,g=t.center?t.center.y:t.clientY;e=this.options.rtl?o.getAbsoluteRight(this.dom.centerContainer)-i:i-o.getAbsoluteLeft(this.dom.centerContainer);var n=g-o.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),A=this.itemSet.groupFromTarget(t),C=a.customTimeFromTarget(t),I=this.itemSet.options.snap||null,r=this.body.util.getScale(),d=this.body.util.getStep(),h=this._toTime(e),l=I?I(h,r,d):h,u=o.getTarget(t),c=null;return null!=s?c="item":null!=C?c="custom-time":o.hasParent(u,this.timeAxis.dom.foreground)?c="axis":this.timeAxis2&&o.hasParent(u,this.timeAxis2.dom.foreground)?c="axis":o.hasParent(u,this.itemSet.dom.labelSet)?c="group-label":o.hasParent(u,this.currentTime.bar)?c="current-time":o.hasParent(u,this.dom.center)&&(c="background"),{event:t,item:s?s.id:null,group:A?A.groupId:null,what:c,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:e,y:n,time:h,snappedTime:l}},f.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(null==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=f},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=s(i(19)),o=s(i(0)),n=s(i(1));function s(t){return t&&t.__esModule?t:{default:t}}var A=i(10),C=i(37),I=i(2),r=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;(0,o.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,n.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){if("string"==typeof t)return{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"}[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),!0===I.isString(t)){if(!0===I.isValidRGB(t)){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(!0===I.isValidRGBA(t)){var s=t.substr(5).substr(0,t.length-6).split(",");i={r:s[0],g:s[1],b:s[2],a:s[3]}}else if(!0===I.isValidHex(t)){var A=I.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 C=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:C}}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,g.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;!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(this.previousColor=I.extend({},this.color)),!0===this.applied&&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){!0===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(this.initialColor=I.extend({},t)),this.color=t;var e=I.RGBToHSV(t.r,t.g,t.b),i=2*Math.PI,g=this.r*e.s,o=this.centerCoordinates.x+g*Math.sin(i*e.h),n=this.centerCoordinates.y+g*Math.cos(i*e.h);this.colorPickerSelector.style.left=o-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=n-.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=I.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=I.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=I.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 g=this.colorPickerCanvas.clientWidth,o=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,g,o),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 A(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),C.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(!1===this.generated){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 g=void 0,o=void 0,n=void 0,s=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var A=2*Math.PI/360,C=1/this.r,r=void 0;for(n=0;n<360;n++)for(s=0;ss?s:t,e=null==e?s:e0&&r.push(d.screenToValue(n)),!h.hidden&&this.itemsData.length>0&&r.push(h.screenToValue(n)),{event:t,what:I,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:g,y:n,time:s,value:r}},f.prototype._createConfigurator=function(){return new c(this,this.dom.container,u)},t.exports=f},function(t,e,i){e.util=i(2),e.DOMutil=i(14),e.DataSet=i(11),e.DataView=i(12),e.Queue=i(43),e.Network=i(182),e.network={Images:i(116),dotparser:i(114),gephiParser:i(115),allOptions:i(122)},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(9),e.Hammer=i(10),e.keycharm=i(35)},function(t,e,i){i(183);var g=i(44),o=i(2),n=i(114),s=i(115),A=i(97),C=i(184),I=i(116).default,r=i(186).default,a=i(187).default,d=i(214).default,h=i(220).default,l=i(227).default,u=i(229).default,c=i(230).default,p=i(231).default,f=i(232).default,m=i(234).default,v=i(235).default,y=i(237).default,b=i(71).default,w=i(15).default,x=i(15).printStyle,k=i(122),D=k.allOptions,_=k.configureOptions,T=i(238).default;function O(t,e,i){var g=this;if(!(this instanceof O))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:C,clickToUse:!1},o.extend(this.options,this.defaultOptions),this.body={container:t,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners(),this.images=new I(function(){return g.body.emitter.emit("_requestRedraw")}),this.groups=new r,this.canvas=new c(this.body),this.selectionHandler=new m(this.body,this.canvas),this.interactionHandler=new f(this.body,this.canvas,this.selectionHandler),this.view=new p(this.body,this.canvas),this.renderer=new u(this.body,this.canvas),this.physics=new h(this.body),this.layoutEngine=new v(this.body),this.clustering=new l(this.body),this.manipulation=new y(this.body,this.canvas,this.selectionHandler),this.nodesHandler=new a(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new d(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new T(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(e)}g(O.prototype),O.prototype.setOptions=function(t){var e=this;if(void 0!==t){!0===w.validate(t,D)&&console.log("%cErrors have been found in the supplied options object.",x);if(o.selectiveDeepExtend(["locale","locales","clickToUse"],this.options,t),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t,this.options),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),void 0!==t.groups&&this.body.emitter.emit("refreshNodes"),"configure"in t&&(this.configurator||(this.configurator=new b(this,this.body.container,_,this.canvas.pixelRatio)),this.configurator.setOptions(t.configure)),this.configurator&&!0===this.configurator.options.enabled){var i={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};o.deepExtend(i.nodes,this.nodesHandler.options),o.deepExtend(i.edges,this.edgesHandler.options),o.deepExtend(i.layout,this.layoutEngine.options),o.deepExtend(i.interaction,this.selectionHandler.options),o.deepExtend(i.interaction,this.renderer.options),o.deepExtend(i.interaction,this.interactionHandler.options),o.deepExtend(i.manipulation,this.manipulation.options),o.deepExtend(i.physics,this.physics.options),o.deepExtend(i.global,this.canvas.options),o.deepExtend(i.global,this.options),this.configurator.setModuleOptions(i)}void 0!==t.clickToUse?!0===t.clickToUse?void 0===this.activator&&(this.activator=new A(this.canvas.frame),this.activator.on("change",function(){e.body.emitter.emit("activate")})):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},O.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;for(var i in this.body.nodeIndices=[],this.body.edgeIndices=[],t)t.hasOwnProperty(i)&&(this.clustering._isClusteredNode(i)||!1!==t[i].options.hidden||this.body.nodeIndices.push(t[i].id));for(var g in e)if(e.hasOwnProperty(g)){var o=e[g],n=t[o.fromId],s=t[o.toId],A=void 0!==n&&void 0!==s;!this.clustering._isClusteredEdge(g)&&!1===o.options.hidden&&A&&!1===n.options.hidden&&!1===s.options.hidden&&this.body.edgeIndices.push(o.id)}},O.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.edgesHandler._updateState(),t.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){t.clustering._updateState(),t._updateVisibleIndices(),t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation"),t.body.emitter.emit("_requestRedraw")})},O.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){console.log("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var e=n.DOTToGraph(t.dot);this.setData(e)}else if(t&&t.gephi){console.log("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=s.parseGephi(t.gephi);this.setData(i)}else this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},O.prototype.destroy=function(){for(var t in this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images,this.body.nodes)this.body.nodes.hasOwnProperty(t)&&delete this.body.nodes[t];for(var e in this.body.edges)this.body.edges.hasOwnProperty(e)&&delete this.body.edges[e];o.recursiveDOMDelete(this.body.container)},O.prototype._updateValueRange=function(t){var e,i=void 0,g=void 0,o=0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),g=void 0===g?n:Math.max(n,g),o+=n)}if(void 0!==i&&void 0!==g)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,g,o)},O.prototype.isActive=function(){return!this.activator||this.activator.active},O.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},O.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},O.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},O.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},O.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},O.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},O.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},O.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},O.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},O.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},O.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},O.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},O.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},O.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},O.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},O.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},O.prototype.editNodeMode=function(){return console.log("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},O.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},O.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},O.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},O.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},O.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},O.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},O.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},O.prototype.getConnectedNodes=function(t){return void 0!==this.body.nodes[t]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},O.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},O.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},O.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},O.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},O.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},O.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},O.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},O.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},O.prototype.getNodeAt=function(){var t=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},O.prototype.getEdgeAt=function(){var t=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},O.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},O.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},O.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.redraw()},O.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},O.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},O.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},O.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},O.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},O.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},O.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},O.prototype.getOptionsFromConfigurator=function(){var t={};return this.configurator&&(t=this.configurator.getOptions.apply(this.configurator)),t},t.exports=O},function(t,e,i){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),e+=.275*(i*=1.15);var g=2*i,o=g/2,n=Math.sqrt(3)/6*g,s=Math.sqrt(g*g-o*o);this.moveTo(t,e-(s-n)),this.lineTo(t+o,e+n),this.lineTo(t-o,e+n),this.lineTo(t,e-(s-n)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),e-=.275*(i*=1.15);var g=2*i,o=g/2,n=Math.sqrt(3)/6*g,s=Math.sqrt(g*g-o*o);this.moveTo(t,e+(s-n)),this.lineTo(t+o,e-n),this.lineTo(t-o,e-n),this.lineTo(t,e+(s-n)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),e+=.1*(i*=.82);for(var g=0;g<10;g++){var o=g%2==0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*g*Math.PI/10),e-o*Math.cos(2*g*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,g,o){var n=Math.PI/180;i-2*o<0&&(o=i/2),g-2*o<0&&(o=g/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+g-o),this.arc(t+i-o,e+g-o,o,0,90*n,!1),this.lineTo(t+o,e+g),this.arc(t+o,e+g-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse_vis=function(t,e,i,g){var o=i/2*.5522848,n=g/2*.5522848,s=t+i,A=e+g,C=t+i/2,I=e+g/2;this.beginPath(),this.moveTo(t,I),this.bezierCurveTo(t,I-n,C-o,e,C,e),this.bezierCurveTo(C+o,e,s,I-n,s,I),this.bezierCurveTo(s,I+n,C+o,A,C,A),this.bezierCurveTo(C-o,A,t,I+n,t,I),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,g){var o=g*(1/3),n=i/2*.5522848,s=o/2*.5522848,A=t+i,C=e+o,I=t+i/2,r=e+o/2,a=e+(g-o/2),d=e+g;this.beginPath(),this.moveTo(A,r),this.bezierCurveTo(A,r+s,I+n,C,I,C),this.bezierCurveTo(I-n,C,t,r+s,t,r),this.bezierCurveTo(t,r-s,I-n,e,I,e),this.bezierCurveTo(I+n,e,A,r-s,A,r),this.lineTo(A,a),this.bezierCurveTo(A,a+s,I+n,d,I,d),this.bezierCurveTo(I-n,d,t,a+s,t,a),this.lineTo(t,r)},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,g,o){this.beginPath(),this.moveTo(t,e);for(var n=o.length,s=i-t,A=g-e,C=A/s,I=Math.sqrt(s*s+A*A),r=0,a=!0,d=0,h=o[0];I>=.1;)(h=o[r++%n])>I&&(h=I),d=Math.sqrt(h*h/(1+C*C)),t+=d=s<0?-d:d,e+=C*d,!0===a?this.lineTo(t,e):this.moveTo(t,e),I-=h,a=!a},CanvasRenderingContext2D.prototype.hexagon=function(t,e,i){this.beginPath();var g=2*Math.PI/6;this.moveTo(t+i,e);for(var o=1;o<6;o++)this.lineTo(t+i*Math.cos(g*o),e+i*Math.sin(g*o));this.closePath()})},function(t,e,i){e.en={edit:"Edit",del:"Delete selected",back:"Back",addNode:"Add Node",addEdge:"Add Edge",editNode:"Edit Node",editEdge:"Edit Edge",addDescription:"Click in an empty space to place a new node.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",createEdgeError:"Cannot link edges to a cluster.",deleteClusterError:"Clusters cannot be deleted.",editClusterError:"Clusters cannot be edited."},e.en_EN=e.en,e.en_US=e.en,e.de={edit:"Editieren",del:"Lösche Auswahl",back:"Zurück",addNode:"Knoten hinzufügen",addEdge:"Kante hinzufügen",editNode:"Knoten editieren",editEdge:"Kante editieren",addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",deleteClusterError:"Cluster können nicht gelöscht werden.",editClusterError:"Cluster können nicht editiert werden."},e.de_DE=e.de,e.es={edit:"Editar",del:"Eliminar selección",back:"Átras",addNode:"Añadir nodo",addEdge:"Añadir arista",editNode:"Editar nodo",editEdge:"Editar arista",addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",createEdgeError:"No se puede conectar una arista a un grupo.",deleteClusterError:"No es posible eliminar grupos.",editClusterError:"No es posible editar grupos."},e.es_ES=e.es,e.it={edit:"Modifica",del:"Cancella la selezione",back:"Indietro",addNode:"Aggiungi un nodo",addEdge:"Aggiungi un vertice",editNode:"Modifica il nodo",editEdge:"Modifica il vertice",addDescription:"Clicca per aggiungere un nuovo nodo",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",createEdgeError:"Non si possono collegare vertici ad un cluster",deleteClusterError:"I cluster non possono essere cancellati",editClusterError:"I clusters non possono essere modificati."},e.it_IT=e.it,e.nl={edit:"Wijzigen",del:"Selectie verwijderen",back:"Terug",addNode:"Node toevoegen",addEdge:"Link toevoegen",editNode:"Node wijzigen",editEdge:"Link wijzigen",addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",createEdgeError:"Kan geen link maken naar een cluster.",deleteClusterError:"Clusters kunnen niet worden verwijderd.",editClusterError:"Clusters kunnen niet worden aangepast."},e.nl_NL=e.nl,e.nl_BE=e.nl,e["pt-br"]={edit:"Editar",del:"Remover selecionado",back:"Voltar",addNode:"Adicionar nó",addEdge:"Adicionar aresta",editNode:"Editar nó",editEdge:"Editar aresta",addDescription:"Clique em um espaço em branco para adicionar um novo nó",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",createEdgeError:"Não foi possível linkar arestas a um cluster.",deleteClusterError:"Clusters não puderam ser removidos.",editClusterError:"Clusters não puderam ser editados."},e["pt-BR"]=e["pt-br"],e.pt_BR=e["pt-br"],e.pt_br=e["pt-br"],e.ru={edit:"Редактировать",del:"Удалить выбранное",back:"Назад",addNode:"Добавить узел",addEdge:"Добавить ребро",editNode:"Редактировать узел",editEdge:"Редактировать ребро",addDescription:"Кликните в свободное место, чтобы добавить новый узел.",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",createEdgeError:"Невозможно соединить ребра в кластер.",deleteClusterError:"Кластеры не могут быть удалены",editClusterError:"Кластеры недоступны для редактирования."},e.ru_RU=e.ru,e.cn={edit:"编辑",del:"删除选定",back:"返回",addNode:"添加节点",addEdge:"添加连接线",editNode:"编辑节点",editEdge:"编辑连接线",addDescription:"单击空白处放置新节点。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",createEdgeError:"无法将连接线连接到群集。",deleteClusterError:"无法删除群集。",editClusterError:"无法编辑群集。"},e.zh_CN=e.cn},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=function(){function t(){(0,g.default)(this,t),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return(0,o.default)(t,[{key:"init",value:function(){if(!this.initialized()){this.src=this.image.src;var t=this.image.width,e=this.image.height;this.width=t,this.height=e;var i=Math.floor(e/2),g=Math.floor(e/4),o=Math.floor(e/8),n=Math.floor(e/16),s=Math.floor(t/2),A=Math.floor(t/4),C=Math.floor(t/8),I=Math.floor(t/16);this.canvas.width=3*A,this.canvas.height=i,this.coordinates=[[0,0,s,i],[s,0,A,g],[s,g,C,o],[5*C,g,I,n]],this._fillMipMap()}}},{key:"initialized",value:function(){return void 0!==this.coordinates}},{key:"_fillMipMap",value:function(){var t=this.canvas.getContext("2d"),e=this.coordinates[0];t.drawImage(this.image,e[0],e[1],e[2],e[3]);for(var i=1;i2){e*=.5;for(var s=0;e>2&&s=this.NUM_ITERATIONS&&(s=this.NUM_ITERATIONS-1);var A=this.coordinates[s];t.drawImage(this.canvas,A[0],A[1],A[2],A[3],i,g,o,n)}else t.drawImage(this.image,i,g,o,n)}}]),t}();e.default=s},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=i(2),A=function(){function t(){(0,g.default)(this,t),this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},s.extend(this.options,this.defaultOptions)}return(0,o.default)(t,[{key:"setOptions",value:function(t){var e=["useDefaultGroups"];if(void 0!==t)for(var i in t)if(t.hasOwnProperty(i)&&-1===e.indexOf(i)){var g=t[i];this.add(i,g)}}},{key:"clear",value:function(){this.groups={},this.groupsArray=[]}},{key:"get",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.groups[t];if(void 0===i&&e)if(!1===this.options.useDefaultGroups&&this.groupsArray.length>0){var g=this.groupIndex%this.groupsArray.length;this.groupIndex++,(i={}).color=this.groups[this.groupsArray[g]],this.groups[t]=i}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,(i={}).color=this.defaultGroups[o],this.groups[t]=i}return i}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e.default=A},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=i(2),A=i(11),C=i(12),I=i(47).default,r=function(){function t(e,i,o,n){var A=this;if((0,g.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){A.add(e.items)},update:function(t,e){A.update(e.items,e.data,e.oldData)},remove:function(t,e){A.remove(e.items)}},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:"monospace",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,g){if(e===t)return.5;var o=1/(e-t);return Math.max(0,(g-t)*o)}},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},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=s.bridgeObject(this.defaultOptions),this.bindEventListeners()}return(0,o.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(){s.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(void 0!==t){if(I.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)for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i].needsRefresh());if(void 0!==t.size)for(var g in this.body.nodes)this.body.nodes.hasOwnProperty(g)&&this.body.nodes[g].needsRefresh();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 A||t instanceof C)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new A,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new A}if(i&&s.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var g=this;s.forEach(this.nodesListeners,function(t,e){g.body.data.nodes.on(e,t)});var o=this.body.data.nodes.getIds();this.add(o,!0)}!1===e&&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,g=[],o=0;o1&&void 0!==arguments[1]?arguments[1]:I)(t,this.body,this.images,this.groups,this.options,this.defaultOptions)}},{key:"refresh",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];s.forEach(this.body.nodes,function(i,g){var o=t.body.data.nodes.get(g);void 0!==o&&(!0===e&&i.setOptions({x:null,y:null}),i.setOptions({fixed:!1}),i.setOptions(o))})}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(!0===Array.isArray(t)){for(var i=0;i0)for(var s=0;s0)for(var h=0;h0&&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="")},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(g):(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(g)?/</.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(g),i.position++}return i.emitBlock(),e}},{key:"splitMarkdownBlocks",value:function(t){for(var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[],mod:function(){return 0===this.modStack.length?"normal":this.modStack[0]},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},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="")},add:function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)}};i.positionthis.parent.fontOptions.maxWdt}},{key:"getLongestFit",value:function(t){for(var e="",i=0;i1&&void 0!==arguments[1]?arguments[1]:"normal",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],g=(t=(t=t.replace(/^( +)/g,"$1\r")).replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r")).split("\r");g.length>0;){var o=this.getLongestFit(g);if(0===o){var n=g[0],s=this.getLongestFitWord(n);this.lines.newLine(n.slice(0,s),e),g[0]=n.slice(s)}else{var A=o;" "===g[o-1]?o--:" "===g[A]&&A++;var C=g.slice(0,o).join("");o==g.length&&i?this.lines.append(C,e):this.lines.newLine(C,e),g=g.slice(A)}}}}]),t}();e.default=C},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=s(i(90)),o=s(i(0)),n=s(i(1));function s(t){return t&&t.__esModule?t:{default:t}}var A=function(){function t(e){(0,o.default)(this,t),this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}return(0,n.default)(t,[{key:"_add",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"normal";void 0===this.lines[t]&&(this.lines[t]={width:0,height:0,blocks:[]});var o=e;void 0!==e&&""!==e||(o=" ");var n=this.measureText(o,i),s=(0,g.default)({},n.values);s.text=e,s.width=n.width,s.mod=i,void 0!==e&&""!==e||(s.width=0),this.lines[t].blocks.push(s),this.lines[t].width+=s.width}},{key:"curWidth",value:function(){var t=this.lines[this.current];return void 0===t?0:t.width}},{key:"append",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e)}},{key:"newLine",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e),this.current++}},{key:"determineLineHeights",value:function(){for(var t=0;tt&&(t=g.width),e+=g.height}this.width=t,this.height=e}},{key:"removeEmptyBlocks",value:function(){for(var t=[],e=0;e1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var g=this.getDimensionsFromLabel(t,e,i);this.width=g.width+this.margin.right+this.margin.left,this.height=g.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,g,o,n){this.resize(t,g,o),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,n),t.roundRect(this.left,this.top,this.width,this.height,n.borderRadius),this.performFill(t,n),this.updateBoundingBox(e,i,t,g,o),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,g,o)}},{key:"updateBoundingBox",value:function(t,e,i,g,o){this._updateBoundingBox(t,e,i,g,o);var n=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(n)}},{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}(C(i(23)).default);e.default=I},function(t,e,i){i(195),t.exports=i(7).Object.getPrototypeOf},function(t,e,i){var g=i(41),o=i(85);i(87)("getPrototypeOf",function(){return function(t){return o(g(t))}})},function(t,e,i){t.exports={default:i(197),__esModule:!0}},function(t,e,i){i(198),t.exports=i(7).Object.setPrototypeOf},function(t,e,i){var g=i(17);g(g.S,"Object",{setPrototypeOf:i(199).set})},function(t,e,i){var g=i(32),o=i(27),n=function(t,e){if(o(t),!g(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,g){try{(g=i(80)(Function.call,i(89).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return n(t,i),e?t.__proto__=i:g(t,i),t}}({},!1):void 0),check:n}},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){(0,o.default)(this,e);var A=(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n));return A._setMargins(n),A}return(0,A.default)(e,t),(0,n.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(this.needsRefresh(e,i)){var g=this.getDimensionsFromLabel(t,e,i),o=Math.max(g.width+this.margin.right+this.margin.left,g.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,g,o,n){this.resize(t,g,o),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,n),this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,g,o)}},{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}(C(i(73)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n,A,C){(0,o.default)(this,e);var I=(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n));return I.setImages(A,C),I}return(0,A.default)(e,t),(0,n.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){var g=2*this.options.size;return this.width=g,this.height=g,void(this.radius=.5*this.width)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,g,o,n){this.switchImages(g),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,n),t.save(),t.clip(),this._drawImageAtPosition(t,n),t.restore(),this._drawImageLabel(t,e,i,g,o),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}(C(i(73)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){(0,o.default)(this,e);var A=(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n));return A._setMargins(n),A}return(0,A.default)(e,t),(0,n.default)(e,[{key:"resize",value:function(t,e,i){if(this.needsRefresh(e,i)){var g=this.getDimensionsFromLabel(t,e,i).width+this.margin.right+this.margin.left;this.width=g,this.height=g,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,g,o,n){this.resize(t,g,o),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,n),t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.performFill(t,n),this.updateBoundingBox(e,i,t,g,o),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,g,o)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(C(i(23)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"draw",value:function(t,e,i,g,o,n){this._drawShape(t,"diamond",4,e,i,g,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(C(i(24)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"draw",value:function(t,e,i,g,o,n){this._drawShape(t,"circle",2,e,i,g,o,n)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(C(i(24)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.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(this.needsRefresh(e,i)){var g=this.getDimensionsFromLabel(t,e,i);this.height=2*g.height,this.width=g.width+g.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,g,o,n){this.resize(t,g,o),this.left=e-.5*this.width,this.top=i-.5*this.height,this.initContextForDraw(t,n),t.ellipse_vis(this.left,this.top,this.width,this.height),this.performFill(t,n),this.updateBoundingBox(e,i,t,g,o),this.labelModule.draw(t,e,i,g,o)}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,g=.5*this.height,o=Math.sin(e)*i,n=Math.cos(e)*g;return i*g/Math.sqrt(o*o+n*n)}}]),e}(C(i(23)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){(0,o.default)(this,e);var A=(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n));return A._setMargins(n),A}return(0,A.default)(e,t),(0,n.default)(e,[{key:"resize",value:function(t,e,i){this.needsRefresh(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,g,o,n){if(this.resize(t,g,o),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,g,o,n),void 0!==this.options.label){this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+5,g)}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,g,o,n){var s=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(g?"bold ":"")+s+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,n),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,n)):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}(C(i(23)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n,A,C){(0,o.default)(this,e);var I=(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n));return I.setImages(A,C),I}return(0,A.default)(e,t),(0,n.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){var g=2*this.options.size;return this.width=g,void(this.height=g)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,g,o,n){if(this.switchImages(g),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,!0===this.options.shapeProperties.useBorderWithImage){var s=this.options.borderWidth,A=this.options.borderWidthSelected||2*this.options.borderWidth,C=(g?A:s)/this.body.view.scale;t.lineWidth=Math.min(this.width,C),t.beginPath(),t.strokeStyle=g?this.options.color.highlight.border:o?this.options.color.hover.border:this.options.color.border,t.fillStyle=g?this.options.color.highlight.background:o?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(),this.performStroke(t,n),t.closePath()}this._drawImageAtPosition(t,n),this._drawImageLabel(t,e,i,g,o),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this._updateBoundingBox(t,e),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}(C(i(73)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"draw",value:function(t,e,i,g,o,n){this._drawShape(t,"square",2,e,i,g,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(C(i(24)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"draw",value:function(t,e,i,g,o,n){this._drawShape(t,"hexagon",4,e,i,g,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(C(i(24)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"draw",value:function(t,e,i,g,o,n){this._drawShape(t,"star",4,e,i,g,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(C(i(24)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){(0,o.default)(this,e);var A=(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n));return A._setMargins(n),A}return(0,A.default)(e,t),(0,n.default)(e,[{key:"resize",value:function(t,e,i){this.needsRefresh(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,g,o,n){this.resize(t,g,o),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,g,o),this.disableShadow(t,n),this.updateBoundingBox(e,i,t,g,o)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(C(i(23)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"draw",value:function(t,e,i,g,o,n){this._drawShape(t,"triangle",3,e,i,g,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(C(i(24)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"draw",value:function(t,e,i,g,o,n){this._drawShape(t,"triangleDown",3,e,i,g,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(C(i(24)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=i(2),A=i(11),C=i(12),I=i(74).default,r=function(){function t(e,i,o){var n=this;(0,g.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,g){if(e===t)return.5;var o=1/(e-t);return Math.max(0,(g-t)*o)}},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},s.deepExtend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,o.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"dynamic"===e&&(e="continuous");var g=!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 A=s.smooth;void 0!==A&&!0===A.enabled&&"dynamic"===A.type&&(void 0===e?n.setOptions({smooth:!1}):n.setOptions({smooth:{type:e}}),g=!0)}}!0===i&&!0===g&&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(){s.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(void 0!==t){I.parseOptions(this.options,t,!0,this.defaultOptions,!0);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)for(var g in this.body.edges)this.body.edges.hasOwnProperty(g)&&this.body.edges[g].updateLabelModule();void 0===t.hidden&&void 0===t.physics&&!0!==e||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],g=this.body.data.edges;if(t instanceof A||t instanceof C)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new A,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new A}if(g&&s.forEach(this.edgesListeners,function(t,e){g.off(e,t)}),this.body.edges={},this.body.data.edges){s.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var o=this.body.data.edges.getIds();this.add(o,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===i&&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,g=this.body.data.edges,o=0;o1&&void 0!==arguments[1])||arguments[1];if(0!==t.length){var i=this.body.edges;s.forEach(t,function(t){var e=i[t];void 0!==e&&e.remove()}),e&&this.body.emitter.emit("_dataChanged")}}},{key:"refresh",value:function(){var t=this;s.forEach(this.body.edges,function(e,i){var g=t.body.data.edges._data[i];void 0!==g&&e.setOptions(g)})}},{key:"create",value:function(t){return new I(t,this.body,this.options,this.defaultOptions)}},{key:"reconnectEdges",value:function(){var t,e=this.body.nodes,i=this.body.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[]);for(t in i)if(i.hasOwnProperty(t)){var g=i[t];g.from=null,g.to=null,g.connect()}}},{key:"getConnectedNodes",value:function(t){var e=[];if(void 0!==this.body.edges[t]){var i=this.body.edges[t];void 0!==i.fromId&&e.push(i.fromId),void 0!==i.toId&&e.push(i.toId)}return e}},{key:"_updateState",value:function(){this._addMissingEdges(),this._removeInvalidEdges()}},{key:"_removeInvalidEdges",value:function(){var t=this,e=[];s.forEach(this.body.edges,function(i,g){var o=t.body.nodes[i.toId],n=t.body.nodes[i.fromId];void 0!==o&&!0===o.isCluster||void 0!==n&&!0===n.isCluster||void 0!==o&&void 0!==n||e.push(g)}),this.remove(e,!1)}},{key:"_addMissingEdges",value:function(){var t=this.body.edges,e=this.body.data.edges,i=[];e.forEach(function(e,g){void 0===t[g]&&i.push(g)}),this.add(i,!0)}}]),t}();e.default=r},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=I(i(30)),o=I(i(3)),n=I(i(0)),s=I(i(1)),A=I(i(4)),C=I(i(5));function I(t){return t&&t.__esModule?t:{default:t}}var r=function(t){function e(t,i,g){return(0,n.default)(this,e),(0,A.default)(this,(e.__proto__||(0,o.default)(e)).call(this,t,i,g))}return(0,C.default)(e,t),(0,s.default)(e,[{key:"_line",value:function(t,e,i){var g=i[0],o=i[1];this._bezierCurve(t,e,g,o)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,g=void 0,o=void 0,n=void 0,s=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(g=this.from.y,n=this.to.y,i=this.from.x-s*t,o=this.to.x+s*t):(g=this.from.y-s*e,n=this.to.y+s*e,i=this.from.x,o=this.to.x),[{x:i,y:g},{x:o,y:n}]}},{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,s){var A=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),C=(0,g.default)(A,2),I=C[0],r=C[1];return this._getDistanceToBezierEdge(t,e,i,o,n,s,I,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,g.default)(e,2),o=i[0],n=i[1],s=t,A=[];return A[0]=Math.pow(1-s,3),A[1]=3*s*Math.pow(1-s,2),A[2]=3*Math.pow(s,2)*(1-s),A[3]=Math.pow(s,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}(I(i(216)).default);e.default=r},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,g,o,n,s,A){var C=1e9,I=void 0,r=void 0,a=void 0,d=void 0,h=void 0,l=t,u=e,c=[0,0,0,0];for(r=1;r<10;r++)a=.1*r,c[0]=Math.pow(1-a,3),c[1]=3*a*Math.pow(1-a,2),c[2]=3*Math.pow(a,2)*(1-a),c[3]=Math.pow(a,3),d=c[0]*t+c[1]*s.x+c[2]*A.x+c[3]*i,h=c[0]*e+c[1]*s.y+c[2]*A.y+c[3]*g,r>0&&(C=(I=this._getDistanceToLine(l,u,d,h,o,n))1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var s=this._getCircleData(this.from),A=(0,g.default)(s,3),C=A[0],I=A[1],r=A[2],a=2*Math.PI*(1-i);o=C+r*Math.sin(a),n=I+r-r*(1-Math.cos(a))}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,g,o,n){return this._getDistanceToBezierEdge(t,e,i,g,o,n,this.via)}}]),e}(I(i(75)).default);e.default=r},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.default)(e,[{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,g=this.options.smooth.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);if("discrete"===g||"diagonalCross"===g){var s=void 0,A=void 0;s=A=o<=n?i*n:i*o,this.from.x>this.to.x&&(s=-s),this.from.y>=this.to.y&&(A=-A),t=this.from.x+s,e=this.from.y+A,"discrete"===g&&(o<=n?t=othis.to.x&&(f=-f),this.from.y>=this.to.y&&(m=-m),t=this.from.x+f,e=this.from.y+m,o<=n?t=this.from.x<=this.to.x?this.to.xt?this.to.x:t:e=this.from.y>=this.to.y?this.to.y>e?this.to.y:e:this.to.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,g,o,n){var s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,g,o,n,s)}},{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}(C(i(75)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=function(t){function e(t,i,n){return(0,o.default)(this,e),(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n))}return(0,A.default)(e,t),(0,n.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,g=this.from;t.id===this.from.id&&(i=this.from,g=this.to);var o=Math.atan2(i.y-g.y,i.x-g.x),n=i.x-g.x,s=i.y-g.y,A=Math.sqrt(n*n+s*s),C=(A-t.distanceToBorder(e,o))/A,I={};return I.x=(1-C)*g.x+C*i.x,I.y=(1-C)*g.y+C*i.y,I}},{key:"_getDistanceToEdge",value:function(t,e,i,g,o,n){return this._getDistanceToLine(t,e,i,g,o,n)}}]),e}(C(i(118)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=s(i(8)),o=s(i(0)),n=s(i(1));function s(t){return t&&t.__esModule?t:{default:t}}var A=i(120).default,C=i(221).default,I=i(222).default,r=i(223).default,a=i(224).default,d=i(121).default,h=i(225).default,l=i(226).default,u=i(2),c=i(119).default,p=function(){function t(e){(0,o.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},u.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,n.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),!0===t.ready&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){!0===t.ready&&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&&(!1===t?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):!0===t?(this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation()):(this.physicsEnabled=!0,u.selectiveNotDeepExtend(["stabilization"],this.options,t),u.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),!1===this.options.enabled&&(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 h(this.body,this.physicsBody,t),this.edgesSolver=new r(this.body,this.physicsBody,t),this.gravitySolver=new l(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new C(this.body,this.physicsBody,t),this.edgesSolver=new r(this.body,this.physicsBody,t),this.gravitySolver=new d(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new I(this.body,this.physicsBody,t),this.edgesSolver=new a(this.body,this.physicsBody,t),this.gravitySolver=new d(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new A(this.body,this.physicsBody,t),this.edgesSolver=new r(this.body,this.physicsBody,t),this.gravitySolver=new d(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?!0===this.options.stabilization.enabled?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(){!0===this.physicsEnabled&&!0===this.options.enabled?(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,!0===t&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,!0===t&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick(),(Date.now()-t<.4*this.simulationInterval||!0===this.runDoubleSpeed)&&!1===this.stabilized&&(this.physicsTick(),this.runDoubleSpeed=!0),!0===this.stabilized&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||!0===this.startedStabilization)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsStep",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}},{key:"adjustTimeStep",value:function(){!0===this._evaluateStepQuality()?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=0,i=0,g=0;gg&&(t=t>0?g:-g),t}},{key:"_performStep",value:function(t){var e=this.body.nodes[t],i=this.physicsBody.forces[t],g=this.physicsBody.velocities[t];return this.previousStates[t]={x:e.x,y:e.y,vx:g.x,vy:g.y},!1===e.options.fixed.x?(g.x=this.calculateComponentVelocity(g.x,i.x,e.options.mass),e.x+=g.x*this.timestep):(i.x=0,g.x=0),!1===e.options.fixed.y?(g.y=this.calculateComponentVelocity(g.y,i.y,e.options.mass),e.y+=g.y*this.timestep):(i.y=0,g.y=0),Math.sqrt(Math.pow(g.x,2)+Math.pow(g.y,2))}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)if(t.hasOwnProperty(e)&&t[e].x&&t[e].y){var i=t[e].options.fixed;this.freezeCache[e]={x:i.x,y:i.y},i.x=!0,i.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;"number"!=typeof e&&(e=this.options.stabilization.iterations,console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),0!==this.physicsBody.physicsNodeIndices.length?(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,!0===this.options.stabilization.onlyDynamicEdges&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(function(){return t._stabilizationBatch()},0)):this.ready=!0}},{key:"_startStabilizing",value:function(){return!0!==this.startedStabilization&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}},{key:"_stabilizationBatch",value:function(){var t=this,e=function(){return!1===t.stabilized&&t.stabilizationIterations0){var n=o.edges.length+1,s=this.options.centralGravity*n*o.options.mass;g[o.id].x=e*s,g[o.id].y=i*s}}}]),e}(C(i(121)).default);e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=A(i(8)),o=A(i(6)),n=A(i(0)),s=A(i(1));function A(t){return t&&t.__esModule?t:{default:t}}var C=i(2),I=i(76).default,r=i(228).default,a=i(74).default,d=i(47).default,h=function(){function t(e){var i=this;(0,n.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},C.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,s.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===(void 0===t?"undefined":(0,o.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],g=0;g=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===e.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);var g={},o={};C.forEach(this.body.nodes,function(i,n){var s=I.cloneOptions(i);!0===e.joinCondition(s)&&(g[n]=i,C.forEach(i.edges,function(e){void 0===t.clusteredEdges[e.id]&&(o[e.id]=e)}))}),this._cluster(g,o,e,i)}},{key:"clusterByEdgeCount",value:function(t,e){var i=this,o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var n=[],s={},A=void 0,C=void 0,r=void 0,a=function(o){var a={},d={},u=i.body.nodeIndices[o],c=i.body.nodes[u];if(void 0===s[u]){r=0,C=[];for(var p=0;p0&&(0,g.default)(d).length>0&&!0===f)if(void 0!==(l=function(){for(var t=0;t1&&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];void 0===(e=this._checkOptions(e,o)).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={},s={},A=o.id,C=I.cloneOptions(o);n[A]=o;for(var r=0;r-1&&(s[p.id]=p)}this._cluster(n,s,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,s=void 0,A=void 0,C=void 0,I=void 0,r=void 0,a=(0,g.default)(t),d=[],h=0;h0&&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],n=[];for(var s in t)t.hasOwnProperty(s)&&void 0!==this.clusteredNodes[s]&&n.push(s);for(var A=0;Ao?A.x:o,n=A.ys?A.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{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.");var g=this.body.nodes[t];if(void 0===g)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==g.isCluster||void 0===g.containedNodes||void 0===g.containedEdges)throw new Error("The node:"+t+" is not a valid cluster.");var o=this.findNode(t),n=o.indexOf(t)-1;if(n>=0){var s=o[n];return this.body.nodes[s]._openChildCluster(t),delete this.body.nodes[t],void(!0===i&&this.body.emitter.emit("_dataChanged"))}var A=g.containedNodes,I=g.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:g.x,y:g.y};for(var d in A)if(A.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 A)if(A.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?g.x:l[u].x,c.y=void 0===l[u].y?g.y:l[u].y)}}else C.forEach(A,function(t){!1===t.options.fixed.x&&(t.x=g.x),!1===t.options.fixed.y&&(t.y=g.y)});for(var p in A)if(A.hasOwnProperty(p)){var f=this.body.nodes[p];f.vx=g.vx,f.vy=g.vy,f.setOptions({physics:!0}),delete this.clusteredNodes[p]}for(var m=[],v=0;v0&&o<100;){var n=e.pop();if(void 0!==n){var s=this.body.edges[n];if(void 0!==s){o++;var A=s.clusteringEdgeReplacingIds;if(void 0===A)g.push(n);else for(var C=0;Cg&&(g=n.edges.length),t+=n.edges.length,e+=Math.pow(n.edges.length,2),i+=1}t/=i;var s=(e/=i)-Math.pow(t,2),A=Math.sqrt(s),C=Math.floor(t+2*A);return C>g&&(C=g),C}},{key:"_createClusteredEdge",value:function(t,e,i,g,o){var n=I.cloneOptions(i,"edge");C.deepExtend(n,g),n.from=t,n.to=e,n.id="clusterEdge:"+C.randomUUID(),void 0!==o&&C.deepExtend(n,o);var s=this.body.functions.createEdge(n);return s.clusteringEdgeReplacingIds=[i.id],s.connect(),this.body.edges[s.id]=s,s}},{key:"_clusterEdges",value:function(t,e,i,g){if(e instanceof a){var o=e,n={};n[o.id]=o,e=n}if(t instanceof d){var s=t,A={};A[s.id]=s,t=A}if(null==i)throw new Error("_clusterEdges: parameter clusterNode required");for(var C in void 0===g&&(g=i.clusterEdgeProperties),this._createClusterEdges(t,e,i,g),e)if(e.hasOwnProperty(C)&&void 0!==this.body.edges[C]){var I=this.body.edges[C];this._backupEdgeOptions(I),I.setOptions({physics:!1})}for(var r in t)t.hasOwnProperty(r)&&(this.clusteredNodes[r]={clusterId:i.id,node:this.body.nodes[r]},this.body.nodes[r].setOptions({physics:!1}))}},{key:"_getClusterNodeForNode",value:function(t){if(void 0!==t){var e=this.clusteredNodes[t];if(void 0!==e){var i=e.clusterId;if(void 0!==i)return this.body.nodes[i]}}}},{key:"_filter",value:function(t,e){var i=[];return C.forEach(t,function(t){e(t)&&i.push(t)}),i}},{key:"_updateState",value:function(){var t=this,e=void 0,i=[],o=[],n=function(e){C.forEach(t.body.nodes,function(t){!0===t.isCluster&&e(t)})};for(e in this.clusteredNodes){if(this.clusteredNodes.hasOwnProperty(e))void 0===this.body.nodes[e]&&i.push(e)}n(function(t){for(var e=0;e0}e.endPointsValid()&&g||o.push(i)}),n(function(e){C.forEach(o,function(i){delete e.containedEdges[i],C.forEach(e.edges,function(g,n){g.id!==i?g.clusteringEdgeReplacingIds=t._filter(g.clusteringEdgeReplacingIds,function(t){return-1===o.indexOf(t)}):e.edges[n]=null}),e.edges=t._filter(e.edges,function(t){return null!==t})})}),C.forEach(o,function(e){delete t.clusteredEdges[e]}),C.forEach(o,function(e){delete t.body.edges[e]});var A=(0,g.default)(this.body.edges);C.forEach(A,function(e){var i=t.body.edges[e],g=t._isClusteredNode(i.fromId)||t._isClusteredNode(i.toId);if(g!==t._isClusteredEdge(i.id)){if(!g)throw new Error("remove edge from clustering not implemented!");var o=t._getClusterNodeForNode(i.fromId);void 0!==o&&t._clusterEdges(t.body.nodes[i.fromId],i,o);var n=t._getClusterNodeForNode(i.toId);void 0!==n&&t._clusterEdges(t.body.nodes[i.toId],i,n)}});for(var I=!1,r=!0,a=function(){var e=[];n(function(t){var i=(0,g.default)(t.containedNodes).length,o=!0===t.options.allowSingleNodeCluster;(o&&i<1||!o&&i<2)&&e.push(t.id)});for(var i=0;i0,I=I||r};r;)a();I&&this._updateState()}},{key:"_isClusteredNode",value:function(t){return void 0!==this.clusteredNodes[t]}},{key:"_isClusteredEdge",value:function(t){return void 0!==this.clusteredEdges[t]}}]),t}();e.default=h},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(3)),o=C(i(0)),n=C(i(1)),s=C(i(4)),A=C(i(5));function C(t){return t&&t.__esModule?t:{default:t}}var I=i(2),r=function(t){function e(t,i,n,A,C,I){(0,o.default)(this,e);var r=(0,s.default)(this,(e.__proto__||(0,g.default)(e)).call(this,t,i,n,A,C,I));return r.isCluster=!0,r.containedNodes={},r.containedEdges={},r}return(0,A.default)(e,t),(0,n.default)(e,[{key:"_openChildCluster",value:function(t){var e=this,i=this.body.nodes[t];if(void 0===this.containedNodes[t])throw new Error("node with id: "+t+" not in current cluster");if(!i.isCluster)throw new Error("node with id: "+t+" is not a cluster");delete this.containedNodes[t],I.forEach(i.edges,function(t){delete e.containedEdges[t.id]}),I.forEach(i.containedNodes,function(t,i){e.containedNodes[i]=t}),i.containedNodes={},I.forEach(i.containedEdges,function(t,i){e.containedEdges[i]=t}),i.containedEdges={},I.forEach(i.edges,function(t){I.forEach(e.edges,function(i){var g=i.clusteringEdgeReplacingIds.indexOf(t.id);-1!==g&&(I.forEach(t.clusteringEdgeReplacingIds,function(t){i.clusteringEdgeReplacingIds.push(t),e.body.edges[t].edgeReplacedById=i.id}),i.clusteringEdgeReplacingIds.splice(g,1))})}),i.edges=[]}}]),e}(i(47).default);e.default=r},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=i(2),A=function(){function t(e,i){var o;(0,g.default)(this,t),void 0!==window&&(o=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===o?function(t){t()}:o,this.body=e,this.canvas=i,this.redrawRequested=!1,this.renderTimer=void 0,this.requiresTimeout=!0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideNodesOnDrag:!1},s.extend(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return(0,o.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("dragStart",function(){t.dragging=!0}),this.body.emitter.on("dragEnd",function(){t.dragging=!1}),this.body.emitter.on("_resizeNodes",function(){t._resizeNodes()}),this.body.emitter.on("_redraw",function(){!1===t.renderingActive&&t._redraw()}),this.body.emitter.on("_blockRedraw",function(){t.allowRedraw=!1}),this.body.emitter.on("_allowRedraw",function(){t.allowRedraw=!0,t.redrawRequested=!1}),this.body.emitter.on("_requestRedraw",this._requestRedraw.bind(this)),this.body.emitter.on("_startRendering",function(){t.renderRequests+=1,t.renderingActive=!0,t._startRendering()}),this.body.emitter.on("_stopRendering",function(){t.renderRequests-=1,t.renderingActive=t.renderRequests>0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,!0===t.requiresTimeout?clearTimeout(t.renderTimer):window.cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){s.selectiveDeepExtend(["hideEdgesOnDrag","hideNodesOnDrag"],this.options,t)}}},{key:"_requestNextFrame",value:function(t,e){if("undefined"!=typeof window){var i=void 0,g=window;return!0===this.requiresTimeout?i=g.setTimeout(t,e):g.requestAnimationFrame&&(i=g.requestAnimationFrame(t)),i}}},{key:"_startRendering",value:function(){!0===this.renderingActive&&void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(this._renderStep.bind(this),this.simulationInterval))}},{key:"_renderStep",value:function(){!0===this.renderingActive&&(this.renderTimer=void 0,!0===this.requiresTimeout&&this._startRendering(),this._redraw(),!1===this.requiresTimeout&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;!0!==this.redrawRequested&&!1===this.renderingActive&&!0===this.allowRedraw&&(this.redrawRequested=!0,this._requestNextFrame(function(){t._redraw(!1)},0))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!0===this.allowRedraw){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1,0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var e=this.canvas.getContext(),i=this.canvas.frame.canvas.clientWidth,g=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,g),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(),!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&this._drawEdges(e),(!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),!0===t&&e.clearRect(0,0,i,g)}}},{key:"_resizeNodes",value:function(){this.canvas.setTransform();var t=this.canvas.getContext();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 g in e)e.hasOwnProperty(g)&&((i=e[g]).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,g=this.body.nodeIndices,o=void 0,n=[],s=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}),C={top:s.y,left:s.x,bottom:A.y,right:A.x},I=0;I0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;!0===this.initialized&&(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 g=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),o={x:g.x-this.cameraState.position.x,y:g.y-this.cameraState.position.y};this.body.view.translation.x+=o.x*this.body.view.scale,this.body.view.translation.y+=o.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(-1!==t.indexOf("%")||-1!==t.indexOf("px"))return t;if(-1===t.indexOf("%"))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)this._setPixelRatio(),this.setTransform();else{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.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 s(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:s.DIRECTION_ALL}),A.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 s(this.frame),A.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,g=this.frame.canvas.width,o=this.frame.canvas.height,n=this.pixelRatio;if(this._setPixelRatio(),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e)this._getCameraState(n),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;else{var s=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),A=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);this.frame.canvas.width===s&&this.frame.canvas.height===A||this._getCameraState(n),this.frame.canvas.width!==s&&(this.frame.canvas.width=s,i=!0),this.frame.canvas.height!==A&&(this.frame.canvas.height=A,i=!0)}return!0===i&&(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(g/this.pixelRatio),oldHeight:Math.round(o/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"getContext",value:function(){return this.frame.canvas.getContext("2d")}},{key:"_determinePixelRatio",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");var e=1;return"undefined"!=typeof window&&(e=window.devicePixelRatio||1),e/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},{key:"_setPixelRatio",value:function(){this.pixelRatio=this._determinePixelRatio()}},{key:"setTransform",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}},{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=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=i(2),A=i(76).default,C=function(){function t(e,i){var o=this;(0,g.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,o.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,g=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),!0===e){var o=0;for(var n in this.body.nodes){if(this.body.nodes.hasOwnProperty(n))!0===this.body.nodes[n].predefinedPosition&&(o+=1)}if(o>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=A.getRange(this.body.nodes,t.nodes),g=12.662/(this.body.nodeIndices.length+7.4147)+.0964822,g*=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600)}else{this.body.emitter.emit("_resizeNodes"),i=A.getRange(this.body.nodes,t.nodes);var s=1.1*Math.abs(i.maxX-i.minX),C=1.1*Math.abs(i.maxY-i.minY),I=this.canvas.frame.canvas.clientWidth/s,r=this.canvas.frame.canvas.clientHeight/C;g=I<=r?I:r}g>1?g=1:0===g&&(g=1);var a={position:A.findCenter(i),scale:g,animation:t.animation};this.moveTo(a)}},{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){void 0!==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}),!1===t.animation&&(t.animation={duration:0}),!0===t.animation&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),this.animateView(t)):t={}}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),!0===t.locked&&(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=e.x-t.position.x,g=e.y-t.position.y;this.targetTranslation={x:this.sourceTranslation.x+i*this.targetScale+t.offset.x,y:this.sourceTranslation.y+g*this.targetScale+t.offset.y},0===t.animation.duration?null!=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=this.body.nodes[this.lockedOnNodeId].x,e=this.body.nodes[this.lockedOnNodeId].y,i=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),g=i.x-t,o=i.y-e,n=this.body.view.translation,s={x:n.x+g*this.body.view.scale+this.lockedOnNodeOffset.x,y:n.y+o*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=s}},{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=!0===t?1:this.easingTime;var e=s.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,null!=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=C},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=i(2),A=i(233).default,C=i(104).default,I=function(){function t(e,i,o){(0,g.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new A(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},s.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,o.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){s.selectiveNotDeepExtend(["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,t),s.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(s.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=s.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-s.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-s.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],g=this.selectionHandler.getSelection(),o=!1;o=!0===i?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var n=this.selectionHandler.getSelection(),s=this._determineDifference(g,n),A=this._determineDifference(n,g);s.edges.length>0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,g),o=!0),s.nodes.length>0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,g),o=!0),A.nodes.length>0&&(this.selectionHandler._generateClickEvent("selectNode",e,t),o=!0),A.edges.length>0&&(this.selectionHandler._generateClickEvent("selectEdge",e,t),o=!0),!0===o&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineDifference",value:function(t,e){var i=function(t,e){for(var i=[],g=0;g10&&(t=10);var g=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(g=this.canvas.DOMtoCanvas(this.drag.pointer));var o=this.body.view.translation,n=t/i,s=(1-n)*e.x+o.x*n,A=(1-n)*e.y+o.y*n;if(this.body.view.scale=t,this.body.view.translation={x:s,y:A},null!=g){var C=this.canvas.canvasToDOM(g);this.drag.pointer.x=C.x,this.drag.pointer.y=C.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=I[a[a.length-1]],n=!0)}if(void 0===this.popupObj&&!1===n){for(var h=this.body.edgeIndices,l=this.body.edges,u=void 0,c=[],p=0;p0&&(this.popupObj=l[c[c.length-1]],s="edge")}void 0!==this.popupObj?this.popupObj.id!==o&&(void 0===this.popup&&(this.popup=new C(this.canvas.frame)),this.popup.popupTargetType=s,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]&&!0===(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))){var g=this.selectionHandler.getNodeAt(t);i=void 0!==g&&g.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));!1===i&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=i(10),A=i(37),C=i(35),I=function(){function t(e,i){var o=this;(0,g.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,o.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){!0===this.options.navigationButtons?!1===this.iconsCreated&&this.loadNavigationElements():!0===this.iconsCreated&&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,g=e/t,o=(1-g)*this.canvas.canvasViewCenter.x+i.x*g,n=(1-g)*this.canvas.canvasViewCenter.y+i.y*g;this.body.view.scale=e,this.body.view.translation={x:o,y:n},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,g=e/t,o=(1-g)*this.canvas.canvasViewCenter.x+i.x*g,n=(1-g)*this.canvas.canvasViewCenter.y+i.y*g;this.body.view.scale=e,this.body.view.translation={x:o,y:n},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(),!0===this.options.keyboard.enabled&&(!0===this.options.keyboard.bindToWindow?this.keycharm=C({container:window,preventDefault:!0}):this.keycharm=C({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(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=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=n(i(0)),o=n(i(1));function n(t){return t&&t.__esModule?t:{default:t}}var s=i(47).default,A=i(74).default,C=i(2),I=function(){function t(e,i){var o=this;(0,g.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,o.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){C.selectiveDeepExtend(["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"],this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){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(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,!0===i.isSelected()?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_initBaseEvent",value:function(t,e){var i={};return i.pointer={DOM:{x:e.x,y:e.y},canvas:this.canvas.DOMtoCanvas(e)},i.event=t,i}},{key:"_generateClickEvent",value:function(t,e,i,g){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],n=this._initBaseEvent(e,i);if(!0===o)n.nodes=[],n.edges=[];else{var s=this.getSelection();n.nodes=s.nodes,n.edges=s.edges}void 0!==g&&(n.previousSelection=g),"click"==t&&(n.items=this.getClickedItems(i)),this.body.emitter.emit(t,n)}},{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 s&&!0===e&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){!0===t.isSelected()&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,g=0;g1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),g=this._getAllNodesOverlappingWith(i);return g.length>0?!0===e?this.body.nodes[g[g.length-1]]:g[g.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,g=0;g1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),g=10,o=null,n=this.body.edges,s=0;s1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,g=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])}},{key:"getClickedItems",value:function(t){for(var e=this.canvas.DOMtoCanvas(t),i=[],g=this.body.nodeIndices,o=this.body.nodes,n=g.length-1;n>=0;n--){var s=o[g[n]].getItemsOnPoint(e);i.push.apply(i,s)}for(var A=this.body.edgeIndices,C=this.body.edges,I=A.length-1;I>=0;I--){var r=C[A[I]].getItemsOnPoint(e);i.push.apply(i,r)}return i}}]),t}();e.default=I},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(30)),o=C(i(6)),n=C(i(8)),s=C(i(0)),A=C(i(1));function C(t){return t&&t.__esModule?t:{default:t}}var I=i(2),r=i(76).default,a=i(236),d=a.HorizontalStrategy,h=a.VerticalStrategy,l=function(){function t(){(0,s.default)(this,t),this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}return(0,A.default)(t,[{key:"addRelation",value:function(t,e){void 0===this.childrenReference[t]&&(this.childrenReference[t]=[]),this.childrenReference[t].push(e),void 0===this.parentReference[e]&&(this.parentReference[e]=[]),this.parentReference[e].push(t)}},{key:"checkIfTree",value:function(){for(var t in this.parentReference)if(this.parentReference[t].length>1)return void(this.isTree=!1);this.isTree=!0}},{key:"numTrees",value:function(){return this.treeIndex+1}},{key:"setTreeIndex",value:function(t,e){void 0!==e&&void 0===this.trees[t.id]&&(this.trees[t.id]=e,this.treeIndex=Math.max(e,this.treeIndex))}},{key:"ensureLevel",value:function(t){void 0===this.levels[t]&&(this.levels[t]=0)}},{key:"getMaxLevel",value:function(t){var e=this,i={};return function t(g){if(void 0!==i[g])return i[g];var o=e.levels[g];if(e.childrenReference[g]){var n=e.childrenReference[g];if(n.length>0)for(var s=0;s0&&(i.levelSeparation*=-1):i.levelSeparation<0&&(i.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(!0===g)return this.body.emitter.emit("refresh"),I.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(!0===this.options.hierarchical.enabled){var e=this.optionsBackup.physics;void 0===t.physics||!0===t.physics?(t.physics={enabled:void 0===e.enabled||e.enabled,solver:"hierarchicalRepulsion"},e.enabled=void 0===e.enabled||e.enabled,e.solver=e.solver||"barnesHut"):"object"===(0,o.default)(t.physics)?(e.enabled=void 0===t.physics.enabled||t.physics.enabled,e.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):!1!==t.physics&&(e.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var i=this.direction.curveType();if(void 0===t.edges)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1};else if(void 0===t.edges.smooth)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1;else if("boolean"==typeof t.edges.smooth)this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:i};else{var g=t.edges.smooth;void 0!==g.type&&"dynamic"!==g.type&&(i=g.type),this.optionsBackup.edges={smooth:void 0===g.enabled||g.enabled,type:void 0===g.type?"dynamic":g.type,roundness:void 0===g.roundness?.5:g.roundness,forceDirection:void 0!==g.forceDirection&&g.forceDirection},t.edges.smooth={enabled:void 0===g.enabled||g.enabled,type:i,roundness:void 0===g.roundness?.5:g.roundness,forceDirection:void 0!==g.forceDirection&&g.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",i)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(!0!==this.options.hierarchical.enabled){this.randomSeed=this.initialRandomSeed;for(var e=t.length+50,i=0;i150){for(var n=t.length;t.length>150&&g<=10;){g+=1;var s=t.length;if(g%3==0?this.body.modules.clustering.clusterBridges(o):this.body.modules.clustering.clusterOutliers(o),s==t.length&&g%3!=0)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*n)})}g>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(t,this.body.edgeIndices,!0),this._shiftToCenter();for(var A=0;A0){var t=void 0,e=void 0,i=!1,g=!1;for(e in this.lastNodeOnLevel={},this.hierarchical=new l,this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(void 0!==(t=this.body.nodes[e]).options.level?(i=!0,this.hierarchical.levels[e]=t.options.level):g=!0);if(!0===g&&!0===i)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");if(!0===g){var o=this.options.hierarchical.sortMethod;"hubsize"===o?this._determineLevelsByHubsize():"directed"===o?this._determineLevelsDirected():"custom"===o&&this._determineLevelsCustomCallback()}for(var n in this.body.nodes)this.body.nodes.hasOwnProperty(n)&&this.hierarchical.ensureLevel(n);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){var g=t.hierarchical.trees;for(var o in g)g.hasOwnProperty(o)&&g[o]===e&&t.direction.shift(o,i)},n=function(){for(var e=[],i=0;i0)for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,A=-1e9;for(var C in e)if(e.hasOwnProperty(C)){var I=t.body.nodes[C],r=t.hierarchical.levels[I.id],a=t.direction.getPosition(I),d=t._getSpaceAroundNode(I,e),h=(0,g.default)(d,2),l=h[0],u=h[1];o=Math.min(l,o),n=Math.min(u,n),r<=i&&(s=Math.min(a,s),A=Math.max(a,A))}return[s,A,o,n]},C=function(e,i,g){for(var o=t.hierarchical,n=0;n1)for(var C=0;C2&&void 0!==arguments[2]&&arguments[2],n=t.direction.getPosition(i),C=t.direction.getPosition(g),I=Math.abs(C-n),r=t.options.hierarchical.nodeSpacing;if(I>r){var a={},d={};s(i,a),s(g,d);var h=function(e,i){var g=t.hierarchical.getMaxLevel(e.id),o=t.hierarchical.getMaxLevel(i.id);return Math.min(g,o)}(i,g),l=A(a,h),u=A(d,h),c=l[1],p=u[0],f=u[2];if(Math.abs(c-p)>r){var m=c-p+r;m<-f+r&&(m=-f+r),m<0&&(t._shiftBlock(g.id,m),e=!0,!0===o&&t._centerParent(g))}}},r=function(o,n){for(var C=n.id,I=n.edges,r=t.hierarchical.levels[n.id],a=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,d={},h=[],l=0;l0?h=Math.min(d,a-t.options.hierarchical.nodeSpacing):d<0&&(h=-Math.min(-d,r-t.options.hierarchical.nodeSpacing)),0!=h&&(t._shiftBlock(n.id,h),e=!0)}(v),function(i){var o=t.direction.getPosition(n),s=t._getSpaceAroundNode(n),A=(0,g.default)(s,2),C=A[0],I=A[1],r=i-o,a=o;r>0?a=Math.min(o+(I-t.options.hierarchical.nodeSpacing),i):r<0&&(a=Math.max(o-(C-t.options.hierarchical.nodeSpacing),i)),a!==o&&(t.direction.setPosition(n,a),e=!0)}(v=m(o,I))};!0===this.options.hierarchical.blockShifting&&(function(i){var g=t.hierarchical.getLevels();g=g.reverse();for(var o=0;o0&&Math.abs(h)0&&(C=this.direction.getPosition(i[o-1])+A),this.direction.setPosition(s,C,e),this._validatePositionAndContinue(s,e,C),g++}}}}},{key:"_placeBranchNodes",value:function(t,e){var i=this.hierarchical.childrenReference[t];if(void 0!==i){for(var g=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var C=this.options.hierarchical.nodeSpacing,I=void 0;I=0===n?this.direction.getPosition(this.body.nodes[t]):this.direction.getPosition(g[n-1])+C,this.direction.setPosition(s,I,A),this._validatePositionAndContinue(s,A,I)}var r=this._getCenterPosition(g);this.direction.setPosition(this.body.nodes[t],r,e)}}},{key:"_validatePositionAndContinue",value:function(t,e,i){if(this.hierarchical.isTree){if(void 0!==this.lastNodeOnLevel[e]){var g=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[e]]);if(i-gt.hierarchical.levels[e.id]&&t.hierarchical.addRelation(e.id,i.id)}),this.hierarchical.checkIfTree()}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],g={},o=function i(o,n){if(void 0===g[o.id]){t.hierarchical.setTreeIndex(o,n),g[o.id]=!0;for(var s=void 0,A=t._getActiveEdges(o),C=0;C2&&void 0!==arguments[2]?arguments[2]:void 0;this.fake_use(t,e,i),this.abstract()}},{key:"getTreeSize",value:function(t){return this.fake_use(t),this.abstract()}},{key:"sort",value:function(t){this.fake_use(t),this.abstract()}},{key:"fix",value:function(t,e){this.fake_use(t,e),this.abstract()}},{key:"shift",value:function(t,e){this.fake_use(t,e),this.abstract()}}]),t}(),r=function(t){function e(t){(0,s.default)(this,e);var i=(0,o.default)(this,(e.__proto__||(0,g.default)(e)).call(this));return i.layout=t,i}return(0,n.default)(e,t),(0,A.default)(e,[{key:"curveType",value:function(){return"horizontal"}},{key:"getPosition",value:function(t){return t.x}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.x=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_x,max:e.max_x}}},{key:"sort",value:function(t){t.sort(function(t,e){return void 0===t.x||void 0===e.x?0:t.x-e.x})}},{key:"fix",value:function(t,e){t.y=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.y=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].x+=e}}]),e}(I),a=function(t){function e(t){(0,s.default)(this,e);var i=(0,o.default)(this,(e.__proto__||(0,g.default)(e)).call(this));return i.layout=t,i}return(0,n.default)(e,t),(0,A.default)(e,[{key:"curveType",value:function(){return"vertical"}},{key:"getPosition",value:function(t){return t.y}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.y=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_y,max:e.max_y}}},{key:"sort",value:function(t){t.sort(function(t,e){return void 0===t.y||void 0===e.y?0:t.y-e.y})}},{key:"fix",value:function(t,e){t.x=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.x=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].y+=e}}]),e}(I);e.HorizontalStrategy=a,e.VerticalStrategy=r},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=C(i(8)),o=C(i(19)),n=C(i(6)),s=C(i(0)),A=C(i(1));function C(t){return t&&t.__esModule?t:{default:t}}var I=i(2),r=i(10),a=i(37),d=function(){function t(e,i,g){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=g,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}},I.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){o._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,A.default)(t,[{key:"_restore",value:function(){!1!==this.inMode&&(!0===this.options.initiallyActive?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,I.deepExtend(this.options,t)),!0===this.options.initiallyActive&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){!0===this.editMode?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),!0===this.guiEnabled&&(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(),!0===this.guiEnabled&&(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={},!0===this.guiEnabled){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,g=this.options.locales[this.options.locale],o=!1;!1!==this.options.addNode&&(this._createAddNodeButton(g),o=!0),!1!==this.options.addEdge&&(!0===o?this._createSeperator(1):o=!0,this._createAddEdgeButton(g)),1===t&&"function"==typeof this.options.editNode?(!0===o?this._createSeperator(2):o=!0,this._createEditNodeButton(g)):1===e&&0===t&&!1!==this.options.editEdge&&(!0===o?this._createSeperator(3):o=!0,this._createEditEdgeButton(g)),0!==i&&(t>0&&!1!==this.options.deleteNode?(!0===o&&this._createSeperator(4),this._createDeleteButton(g)):0===t&&!1!==this.options.deleteEdge&&(!0===o&&this._createSeperator(4),this._createDeleteButton(g))),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(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addNode",!0===this.guiEnabled){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;!0!==this.editMode&&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(!0!==e.isCluster){var i=I.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&&"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(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addEdge",!0===this.guiEnabled){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",this._dragStartEdge.bind(this)),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"!==(0,n.default)(this.options.editEdge)||"function"!=typeof this.options.editEdge.editWithoutDrag||(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0===this.edgeBeingEditedId)){if(!0===this.guiEnabled){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.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 e=this.body.edges[this.edgeBeingEditedId],i=this._getNewTargetNode(e.from.x,e.from.y),g=this._getNewTargetNode(e.to.x,e.to.y);this.temporaryIds.nodes.push(i.id),this.temporaryIds.nodes.push(g.id),this.body.nodes[i.id]=i,this.body.nodeIndices.push(i.id),this.body.nodes[g.id]=g,this.body.nodeIndices.push(g.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 o=e.edgeType.findBorderPositions(t);!1===i.selected&&(i.x=o.from.x,i.y=o.from.y),!1===g.selected&&(g.x=o.to.x,g.y=o.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}else{var o=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(o.from,o.to)}}},{key:"deleteSelected",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),g=void 0;if(e.length>0){for(var o=0;o0&&"function"==typeof this.options.deleteEdge&&(g=this.options.deleteEdge);if("function"==typeof g){var n={nodes:e,edges:i};if(2!==g.length)throw new Error("The function for delete does not support two arguments (data, callback)");g(n,function(e){null!=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(){!0===this.options.enabled?(this.guiEnabled=!0,this._createWrappers(),!1===this.editMode?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",!0===this.editMode?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",!0===this.editMode?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=I.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+I.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var g=this.body.functions.createNode(i);return g.shape.boundingBox={left:t,right:t,top:e,bottom:e},g}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},I.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,!0===this.guiEnabled&&(I.recursiveDOMDelete(this.editModeDiv),I.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){var e;e=this.options.rtl?"vis-button vis-delete-rtl":"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 g=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=g,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,o.default)((0,g.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;s--)if(o[s]!==this.selectedControlNode.id){n=this.body.nodes[o[s]];break}if(void 0!==n&&void 0!==this.selectedControlNode)if(!0===n.isCluster)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(n.id,g.to.id):this._performEditEdge(g.from.id,n.id)}else g.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=I.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(!0===i.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var g=this._getNewTargetNode(i.x,i.y);this.body.nodes[g.id]=g,this.body.nodeIndices.push(g.id);var o=this.body.functions.createEdge({id:"connectionEdge"+I.randomUUID(),from:i.id,to:g.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[o.id]=o,this.body.edgeIndices.push(o.id),this.temporaryIds.nodes.push(g.id),this.temporaryIds.edges.push(o.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 g=e.x-this.lastTouch.x,o=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+g,y:this.lastTouch.translation.y+o}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),g=void 0;void 0!==this.temporaryIds.edges[0]&&(g=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),n=void 0,s=o.length-1;s>=0;s--)if(-1===this.temporaryIds.nodes.indexOf(o[s])){n=this.body.nodes[o[s]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==n&&(!0===n.isCluster?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[g]&&void 0!==this.body.nodes[n.id]&&this._performAddEdge(g,n.id)),this.body.emitter.emit("_redraw")}},{key:"_dragStartEdge",value:function(t){var e=this.lastTouch;this.selectionHandler._generateClickEvent("dragStart",t,e,void 0,!0)}},{key:"_performAddNode",value:function(t){var e=this,i={id:I.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 this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!=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,g={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(g,function(t){null!=t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(g),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,g={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},o=this.options.editEdge;if("object"===(void 0===o?"undefined":(0,n.default)(o))&&(o=o.editWithoutDrag),"function"==typeof o){if(2!==o.length)throw new Error("The function for edit does not support two arguments (data, callback)");o(g,function(t){null==t||"editEdge"!==i.inMode?(i.body.edges[g.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(g),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=d},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var g=A(i(30)),o=A(i(0)),n=A(i(1)),s=A(i(239));function A(t){return t&&t.__esModule?t:{default:t}}var C=function(){function t(e,i,g){(0,o.default)(this,t),this.body=e,this.springLength=i,this.springConstant=g,this.distanceSolver=new s.default}return(0,n.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),this._createE_matrix();for(var n=0,s=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),A=1e9,C=0,I=0,r=0,a=0,d=0;A>.01&&n1&&d<5;){d+=1,this._moveNode(C,I,r);var u=this._getEnergy(C),c=(0,g.default)(u,3);a=c[0],I=c[1],r=c[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],s=0,A=0,C=0;C