UNPKG

highcharts

Version:
105 lines (103 loc) 201 kB
/* Highcharts JS v6.2.0 (2018-10-17) (c) 2009-2016 Torstein Honsi License: www.highcharts.com/license */ (function(P,L){"object"===typeof module&&module.exports?module.exports=P.document?L(P):L:"function"===typeof define&&define.amd?define(function(){return L(P)}):P.Highcharts=L(P)})("undefined"!==typeof window?window:this,function(P){var L=function(){var a="undefined"===typeof P?window:P,B=a.document,E=a.navigator&&a.navigator.userAgent||"",F=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,p=/(edge|msie|trident)/i.test(E)&&!a.opera,g=-1!==E.indexOf("Firefox"), d=-1!==E.indexOf("Chrome"),t=g&&4>parseInt(E.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highcharts",version:"6.2.0",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:t,hasTouch:B&&void 0!==B.documentElement.ontouchstart,isMS:p,isWebKit:-1!==E.indexOf("AppleWebKit"),isFirefox:g,isChrome:d,isSafari:!d&&-1!==E.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(E),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:F,win:a,marginNames:["plotTop", "marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var B=a.charts,E=a.doc,F=a.win;a.error=function(p,g){p=a.isNumber(p)?"Highcharts error #"+p+": www.highcharts.com/errors/"+p:p;if(g)throw Error(p);F.console&&console.log(p)};a.Fx=function(a,g,d){this.options=g;this.elem=a;this.prop=d};a.Fx.prototype={dSetter:function(){var a=this.paths[0],g=this.paths[1],d=[],t=this.now,x=a.length,v;if(1===t)d=this.toD;else if(x===g.length&&1>t)for(;x--;)v=parseFloat(a[x]), d[x]=isNaN(v)?g[x]:t*parseFloat(g[x]-v)+v;else d=g;this.elem.attr("d",d,null,!0)},update:function(){var a=this.elem,g=this.prop,d=this.now,t=this.options.step;if(this[g+"Setter"])this[g+"Setter"]();else a.attr?a.element&&a.attr(g,d,null,!0):a.style[g]=d+this.unit;t&&t.call(a,d,this)},run:function(p,g,d){var t=this,x=t.options,v=function(a){return v.stopped?!1:t.step(a)},r=F.requestAnimationFrame||function(a){setTimeout(a,13)},f=function(){for(var c=0;c<a.timers.length;c++)a.timers[c]()||a.timers.splice(c--, 1);a.timers.length&&r(f)};p!==g||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=p,this.end=g,this.unit=d,this.now=this.start,this.pos=0,v.elem=this.elem,v.prop=this.prop,v()&&1===a.timers.push(v)&&r(f)):(delete x.curAnim[this.prop],x.complete&&0===a.keys(x.curAnim).length&&x.complete.call(this.elem))},step:function(p){var g=+new Date,d,t=this.options,x=this.elem,v=t.complete,r=t.duration,f=t.curAnim;x.attr&&!x.element?p=!1:p||g>=r+this.startTime?(this.now=this.end,this.pos= 1,this.update(),d=f[this.prop]=!0,a.objectEach(f,function(a){!0!==a&&(d=!1)}),d&&v&&v.call(x),p=!1):(this.pos=t.easing((g-this.startTime)/r),this.now=this.start+(this.end-this.start)*this.pos,this.update(),p=!0);return p},initPath:function(p,g,d){function t(a){var b,e;for(n=a.length;n--;)b="M"===a[n]||"L"===a[n],e=/[a-zA-Z]/.test(a[n+3]),b&&e&&a.splice(n+1,0,a[n+1],a[n+2],a[n+1],a[n+2])}function x(a,b){for(;a.length<m;){a[0]=b[m-a.length];var c=a.slice(0,l);[].splice.apply(a,[0,0].concat(c));e&&(c= a.slice(a.length-l),[].splice.apply(a,[a.length,0].concat(c)),n--)}a[0]="M"}function v(a,c){for(var f=(m-a.length)/l;0<f&&f--;)b=a.slice().splice(a.length/D-l,l*D),b[0]=c[m-l-f*l],u&&(b[l-6]=b[l-2],b[l-5]=b[l-1]),[].splice.apply(a,[a.length/D,0].concat(b)),e&&f--}g=g||"";var r,f=p.startX,c=p.endX,u=-1<g.indexOf("C"),l=u?7:3,m,b,n;g=g.split(" ");d=d.slice();var e=p.isArea,D=e?2:1,w;u&&(t(g),t(d));if(f&&c){for(n=0;n<f.length;n++)if(f[n]===c[0]){r=n;break}else if(f[0]===c[c.length-f.length+n]){r=n;w= !0;break}void 0===r&&(g=[])}g.length&&a.isNumber(r)&&(m=d.length+r*D*l,w?(x(g,d),v(d,g)):(x(d,g),v(g,d)));return[g,d]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var p,g=arguments,d,t={},x=function(d,r){"object"!==typeof d&&(d={});a.objectEach(r,function(f,c){!a.isObject(f,!0)||a.isClass(f)||a.isDOMElement(f)?d[c]=r[c]:d[c]=x(d[c]||{}, f)});return d};!0===g[0]&&(t=g[1],g=Array.prototype.slice.call(g,2));d=g.length;for(p=0;p<d;p++)t=x(t,g[p]);return t};a.pInt=function(a,g){return parseInt(a,g||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(p,g){return!!p&&"object"===typeof p&&(!g||!a.isArray(p))};a.isDOMElement=function(p){return a.isObject(p)&&"number"===typeof p.nodeType};a.isClass=function(p){var g= p&&p.constructor;return!(!a.isObject(p,!0)||a.isDOMElement(p)||!g||!g.name||"Object"===g.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,g){for(var d=a.length;d--;)if(a[d]===g){a.splice(d,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(p,g,d){var t;a.isString(g)?a.defined(d)?p.setAttribute(g,d):p&&p.getAttribute&&((t=p.getAttribute(g))||"class"!==g||(t=p.getAttribute(g+"Name"))):a.defined(g)&&a.isObject(g)&& a.objectEach(g,function(a,d){p.setAttribute(d,a)});return t};a.splat=function(p){return a.isArray(p)?p:[p]};a.syncTimeout=function(a,g,d){if(g)return setTimeout(a,g,d);a.call(0,d)};a.clearTimeout=function(p){a.defined(p)&&clearTimeout(p)};a.extend=function(a,g){var d;a||(a={});for(d in g)a[d]=g[d];return a};a.pick=function(){var a=arguments,g,d,t=a.length;for(g=0;g<t;g++)if(d=a[g],void 0!==d&&null!==d)return d};a.css=function(p,g){a.isMS&&!a.svg&&g&&void 0!==g.opacity&&(g.filter="alpha(opacity\x3d"+ 100*g.opacity+")");a.extend(p.style,g)};a.createElement=function(p,g,d,t,x){p=E.createElement(p);var v=a.css;g&&a.extend(p,g);x&&v(p,{padding:0,border:"none",margin:0});d&&v(p,d);t&&t.appendChild(p);return p};a.extendClass=function(p,g){var d=function(){};d.prototype=new p;a.extend(d.prototype,g);return d};a.pad=function(a,g,d){return Array((g||2)+1-String(a).replace("-","").length).join(d||0)+a};a.relativeLength=function(a,g,d){return/%$/.test(a)?g*parseFloat(a)/100+(d||0):parseFloat(a)};a.wrap= function(a,g,d){var t=a[g];a[g]=function(){var a=Array.prototype.slice.call(arguments),g=arguments,r=this;r.proceed=function(){t.apply(r,arguments.length?arguments:g)};a.unshift(t);a=d.apply(this,a);r.proceed=null;return a}};a.datePropsToTimestamps=function(p){a.objectEach(p,function(g,d){a.isObject(g)&&"function"===typeof g.getTime?p[d]=g.getTime():(a.isObject(g)||a.isArray(g))&&a.datePropsToTimestamps(g)})};a.formatSingle=function(p,g,d){var t=/\.([0-9])/,x=a.defaultOptions.lang;/f$/.test(p)?(d= (d=p.match(t))?d[1]:-1,null!==g&&(g=a.numberFormat(g,d,x.decimalPoint,-1<p.indexOf(",")?x.thousandsSep:""))):g=(d||a.time).dateFormat(p,g);return g};a.format=function(p,g,d){for(var t="{",x=!1,v,r,f,c,u=[],l;p;){t=p.indexOf(t);if(-1===t)break;v=p.slice(0,t);if(x){v=v.split(":");r=v.shift().split(".");c=r.length;l=g;for(f=0;f<c;f++)l&&(l=l[r[f]]);v.length&&(l=a.formatSingle(v.join(":"),l,d));u.push(l)}else u.push(v);p=p.slice(t+1);t=(x=!x)?"}":"{"}u.push(p);return u.join("")};a.getMagnitude=function(a){return Math.pow(10, Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(p,g,d,t,x){var v,r=p;d=a.pick(d,1);v=p/d;g||(g=x?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===t&&(1===d?g=a.grep(g,function(a){return 0===a%1}):.1>=d&&(g=[1/d])));for(t=0;t<g.length&&!(r=g[t],x&&r*d>=p||!x&&v<=(g[t]+(g[t+1]||g[t]))/2);t++);return r=a.correctFloat(r*d,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,g){var d=a.length,t,x;for(x=0;x<d;x++)a[x].safeI=x;a.sort(function(a,d){t=g(a,d);return 0===t? a.safeI-d.safeI:t});for(x=0;x<d;x++)delete a[x].safeI};a.arrayMin=function(a){for(var g=a.length,d=a[0];g--;)a[g]<d&&(d=a[g]);return d};a.arrayMax=function(a){for(var g=a.length,d=a[0];g--;)a[g]>d&&(d=a[g]);return d};a.destroyObjectProperties=function(p,g){a.objectEach(p,function(a,t){a&&a!==g&&a.destroy&&a.destroy();delete p[t]})};a.discardElement=function(p){var g=a.garbageBin;g||(g=a.createElement("div"));p&&g.appendChild(p);g.innerHTML=""};a.correctFloat=function(a,g){return parseFloat(a.toPrecision(g|| 14))};a.setAnimation=function(p,g){g.renderer.globalAnimation=a.pick(p,g.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,g,d,t){p=+p||0;g=+g;var x=a.defaultOptions.lang,v=(p.toString().split(".")[1]||"").split("e")[0].length,r,f,c=p.toString().split("e");-1===g?g=Math.min(v,20):a.isNumber(g)?g&&c[1]&&0>c[1]&& (r=g+ +c[1],0<=r?(c[0]=(+c[0]).toExponential(r).split("e")[0],g=r):(c[0]=c[0].split(".")[0]||0,p=20>g?(c[0]*Math.pow(10,c[1])).toFixed(g):0,c[1]=0)):g=2;f=(Math.abs(c[1]?c[0]:p)+Math.pow(10,-Math.max(g,v)-1)).toFixed(g);v=String(a.pInt(f));r=3<v.length?v.length%3:0;d=a.pick(d,x.decimalPoint);t=a.pick(t,x.thousandsSep);p=(0>p?"-":"")+(r?v.substr(0,r)+t:"");p+=v.substr(r).replace(/(\d{3})(?=\d)/g,"$1"+t);g&&(p+=d+f.slice(-g));c[1]&&0!==+p&&(p+="e"+c[1]);return p};Math.easeInOutSine=function(a){return-.5* (Math.cos(Math.PI*a)-1)};a.getStyle=function(p,g,d){if("width"===g)return Math.max(0,Math.min(p.offsetWidth,p.scrollWidth)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"));if("height"===g)return Math.max(0,Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"));F.getComputedStyle||a.error(27,!0);if(p=F.getComputedStyle(p,void 0))p=p.getPropertyValue(g),a.pick(d,"opacity"!==g)&&(p=a.pInt(p));return p};a.inArray=function(p,g,d){return(a.indexOfPolyfill|| Array.prototype.indexOf).call(g,p,d)};a.grep=function(p,g){return(a.filterPolyfill||Array.prototype.filter).call(p,g)};a.find=Array.prototype.find?function(a,g){return a.find(g)}:function(a,g){var d,t=a.length;for(d=0;d<t;d++)if(g(a[d],d))return a[d]};a.some=function(p,g,d){return(a.somePolyfill||Array.prototype.some).call(p,g,d)};a.map=function(a,g){for(var d=[],t=0,x=a.length;t<x;t++)d[t]=g.call(a[t],a[t],t,a);return d};a.keys=function(p){return(a.keysPolyfill||Object.keys).call(void 0,p)};a.reduce= function(p,g,d){return(a.reducePolyfill||Array.prototype.reduce).apply(p,2<arguments.length?[g,d]:[g])};a.offset=function(a){var g=E.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(F.pageYOffset||g.scrollTop)-(g.clientTop||0),left:a.left+(F.pageXOffset||g.scrollLeft)-(g.clientLeft||0)}};a.stop=function(p,g){for(var d=a.timers.length;d--;)a.timers[d].elem!==p||g&&g!==a.timers[d].prop||(a.timers[d].stopped=!0)};a.each=function(p,g,d){return(a.forEachPolyfill|| Array.prototype.forEach).call(p,g,d)};a.objectEach=function(a,g,d){for(var t in a)a.hasOwnProperty(t)&&g.call(d||a[t],a[t],t,a)};a.addEvent=function(p,g,d,t){var x,v=p.addEventListener||a.addEventListenerPolyfill;x="function"===typeof p&&p.prototype?p.prototype.protoEvents=p.prototype.protoEvents||{}:p.hcEvents=p.hcEvents||{};a.Point&&p instanceof a.Point&&p.series&&p.series.chart&&(p.series.chart.runTrackerClick=!0);v&&v.call(p,g,d,!1);x[g]||(x[g]=[]);x[g].push(d);t&&a.isNumber(t.order)&&(d.order= t.order,x[g].sort(function(a,f){return a.order-f.order}));return function(){a.removeEvent(p,g,d)}};a.removeEvent=function(p,g,d){function t(f,c){var d=p.removeEventListener||a.removeEventListenerPolyfill;d&&d.call(p,f,c,!1)}function x(f){var c,d;p.nodeName&&(g?(c={},c[g]=!0):c=f,a.objectEach(c,function(a,c){if(f[c])for(d=f[c].length;d--;)t(c,f[c][d])}))}var v,r;a.each(["protoEvents","hcEvents"],function(f){var c=p[f];c&&(g?(v=c[g]||[],d?(r=a.inArray(d,v),-1<r&&(v.splice(r,1),c[g]=v),t(g,d)):(x(c), c[g]=[])):(x(c),p[f]={}))})};a.fireEvent=function(p,g,d,t){var x,v,r,f,c;d=d||{};E.createEvent&&(p.dispatchEvent||p.fireEvent)?(x=E.createEvent("Events"),x.initEvent(g,!0,!0),a.extend(x,d),p.dispatchEvent?p.dispatchEvent(x):p.fireEvent(g,x)):a.each(["protoEvents","hcEvents"],function(u){if(p[u])for(v=p[u][g]||[],r=v.length,d.target||a.extend(d,{preventDefault:function(){d.defaultPrevented=!0},target:p,type:g}),f=0;f<r;f++)(c=v[f])&&!1===c.call(p,d)&&d.preventDefault()});t&&!d.defaultPrevented&&t.call(p, d)};a.animate=function(p,g,d){var t,x="",v,r,f;a.isObject(d)||(f=arguments,d={duration:f[2],easing:f[3],complete:f[4]});a.isNumber(d.duration)||(d.duration=400);d.easing="function"===typeof d.easing?d.easing:Math[d.easing]||Math.easeInOutSine;d.curAnim=a.merge(g);a.objectEach(g,function(c,f){a.stop(p,f);r=new a.Fx(p,d,f);v=null;"d"===f?(r.paths=r.initPath(p,p.d,g.d),r.toD=g.d,t=0,v=1):p.attr?t=p.attr(f):(t=parseFloat(a.getStyle(p,f))||0,"opacity"!==f&&(x="px"));v||(v=c);v&&v.match&&v.match("px")&& (v=v.replace(/px/g,""));r.run(t,v,x)})};a.seriesType=function(p,g,d,t,x){var v=a.getOptions(),r=a.seriesTypes;v.plotOptions[p]=a.merge(v.plotOptions[g],d);r[p]=a.extendClass(r[g]||function(){},t);r[p].prototype.type=p;x&&(r[p].prototype.pointClass=a.extendClass(a.Point,x));return r[p]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),g=0;return function(){return"highcharts-"+a+"-"+g++}}();F.jQuery&&(F.jQuery.fn.highcharts=function(){var p=[].slice.call(arguments);if(this[0])return p[0]? (new (a[a.isString(p[0])?p.shift():"Chart"])(this[0],p[0],p[1]),this):B[a.attr(this[0],"data-highcharts-chart")]})})(L);(function(a){var B=a.each,E=a.isNumber,F=a.map,p=a.merge,g=a.pInt;a.Color=function(d){if(!(this instanceof a.Color))return new a.Color(d);this.init(d)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[g(a[1]),g(a[2]),g(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/, parse:function(a){return[g(a[1]),g(a[2]),g(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(d){var g,x,v,r;if((this.input=d=this.names[d&&d.toLowerCase?d.toLowerCase():""]||d)&&d.stops)this.stops=F(d.stops,function(f){return new a.Color(f[1])});else if(d&&d.charAt&&"#"===d.charAt()&&(g=d.length,d=parseInt(d.substr(1),16),7===g?x=[(d&16711680)>>16,(d&65280)>>8,d&255,1]:4===g&&(x=[(d&3840)>>4|(d&3840)>>8,(d&240)>>4|d&240,(d&15)<<4|d&15,1])),!x)for(v=this.parsers.length;v--&&!x;)r=this.parsers[v], (g=r.regex.exec(d))&&(x=r.parse(g));this.rgba=x||[]},get:function(a){var d=this.input,x=this.rgba,g;this.stops?(g=p(d),g.stops=[].concat(g.stops),B(this.stops,function(d,f){g.stops[f]=[g.stops[f][0],d.get(a)]})):g=x&&E(x[0])?"rgb"===a||!a&&1===x[3]?"rgb("+x[0]+","+x[1]+","+x[2]+")":"a"===a?x[3]:"rgba("+x.join(",")+")":d;return g},brighten:function(a){var d,x=this.rgba;if(this.stops)B(this.stops,function(d){d.brighten(a)});else if(E(a)&&0!==a)for(d=0;3>d;d++)x[d]+=g(255*a),0>x[d]&&(x[d]=0),255<x[d]&& (x[d]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,g){var d=this.rgba,v=a.rgba;v.length&&d&&d.length?(a=1!==v[3]||1!==d[3],g=(a?"rgba(":"rgb(")+Math.round(v[0]+(d[0]-v[0])*(1-g))+","+Math.round(v[1]+(d[1]-v[1])*(1-g))+","+Math.round(v[2]+(d[2]-v[2])*(1-g))+(a?","+(v[3]+(d[3]-v[3])*(1-g)):"")+")"):g=a.input||"none";return g}};a.color=function(d){return new a.Color(d)}})(L);(function(a){var B,E,F=a.addEvent,p=a.animate,g=a.attr,d=a.charts,t=a.color,x=a.css, v=a.createElement,r=a.defined,f=a.deg2rad,c=a.destroyObjectProperties,u=a.doc,l=a.each,m=a.extend,b=a.erase,n=a.grep,e=a.hasTouch,D=a.inArray,w=a.isArray,H=a.isFirefox,A=a.isMS,z=a.isObject,q=a.isString,C=a.isWebKit,G=a.merge,I=a.noop,J=a.objectEach,k=a.pick,y=a.pInt,O=a.removeEvent,h=a.splat,K=a.stop,T=a.svg,R=a.SVG_NS,Q=a.symbolSizes,N=a.win;B=a.SVGElement=function(){return this};m(B.prototype,{opacity:1,SVG_NS:R,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "), init:function(a,b){this.element="span"===b?v(b):u.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,h,y){h=a.animObject(k(h,this.renderer.globalAnimation,!0));0!==h.duration?(y&&(h.complete=y),p(this,b,h)):(this.attr(b,null,y),h.step&&h.step.call(this));return this},complexColor:function(b,h,k){var y=this.renderer,M,e,c,q,m,f,d,n,K,D,C,u=[],O;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?e="radialGradient":b.linearGradient&&(e="linearGradient"); e&&(c=b[e],m=y.gradients,d=b.stops,D=k.radialReference,w(c)&&(b[e]=c={x1:c[0],y1:c[1],x2:c[2],y2:c[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===e&&D&&!r(c.gradientUnits)&&(q=c,c=G(c,y.getRadialAttr(D,q),{gradientUnits:"userSpaceOnUse"})),J(c,function(a,b){"id"!==b&&u.push(b,a)}),J(d,function(a){u.push(a)}),u=u.join(","),m[u]?C=m[u].attr("id"):(c.id=C=a.uniqueKey(),m[u]=f=y.createElement(e).attr(c).add(y.defs),f.radAttr=q,f.stops=[],l(d,function(b){0===b[1].indexOf("rgba")?(M=a.color(b[1]), n=M.get("rgb"),K=M.get("a")):(n=b[1],K=1);b=y.createElement("stop").attr({offset:b[0],"stop-color":n,"stop-opacity":K}).add(f);f.stops.push(b)})),O="url("+y.url+"#"+C+")",k.setAttribute(h,O),k.gradient=u,b.toString=function(){return O})})},applyTextOutline:function(h){var k=this.element,y,M,e,c,q;-1!==h.indexOf("contrast")&&(h=h.replace(/contrast/g,this.renderer.getContrast(k.style.fill)));h=h.split(" ");M=h[h.length-1];if((e=h[0])&&"none"!==e&&a.svg){this.fakeTS=!0;h=[].slice.call(k.getElementsByTagName("tspan")); this.ySetter=this.xSetter;e=e.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,h){return 2*b+h});for(q=h.length;q--;)y=h[q],"highcharts-text-outline"===y.getAttribute("class")&&b(h,k.removeChild(y));c=k.firstChild;l(h,function(a,b){0===b&&(a.setAttribute("x",k.getAttribute("x")),b=k.getAttribute("y"),a.setAttribute("y",b||0),null===b&&k.setAttribute("y",0));a=a.cloneNode(1);g(a,{"class":"highcharts-text-outline",fill:M,stroke:M,"stroke-width":e,"stroke-linejoin":"round"});k.insertBefore(a,c)})}},attr:function(a, b,h,k){var y,e=this.element,M,c=this,q,m;"string"===typeof a&&void 0!==b&&(y=a,a={},a[y]=b);"string"===typeof a?c=(this[a+"Getter"]||this._defaultGetter).call(this,a,e):(J(a,function(b,h){q=!1;k||K(this,h);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(h)&&(M||(this.symbolAttr(a),M=!0),q=!0);!this.rotation||"x"!==h&&"y"!==h||(this.doTransform=!0);q||(m=this[h+"Setter"]||this._defaultSetter,m.call(this,b,h,e))},this),this.afterSetters());h&&h.call(this);return c},afterSetters:function(){this.doTransform&& (this.updateTransform(),this.doTransform=!1)},addClass:function(a,b){var h=this.attr("class")||"";-1===h.indexOf(a)&&(b||(a=(h+(h?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==D(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;l("x y r start end width height innerR anchorX anchorY".split(" "),function(h){b[h]=k(a[h],b[h])});b.attr({d:b.renderer.symbols[b.symbolName](b.x, b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var h;b=b||a.strokeWidth||0;h=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+h;a.y=Math.floor(a.y||this.y||0)+h;a.width=Math.floor((a.width||this.width||0)-2*h);a.height=Math.floor((a.height||this.height||0)-2*h);r(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,h={},k=this.element,e,c="",M,q=!b,f=["textOutline","textOverflow", "width"];a&&a.color&&(a.fill=a.color);b&&J(a,function(a,k){a!==b[k]&&(h[k]=a,q=!0)});q&&(b&&(a=m(b,h)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===k.nodeName.toLowerCase()&&a.width&&(e=this.textWidth=y(a.width))),this.styles=a,e&&!T&&this.renderer.forExport&&delete a.width,k.namespaceURI===this.SVG_NS?(M=function(a,b){return"-"+b.toLowerCase()},J(a,function(a,b){-1===D(b,f)&&(c+=b.replace(/([A-Z])/g,M)+":"+a+";")}),c&&g(k,"style",c)):x(k,a),this.added&&("text"===this.element.nodeName&& this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return N.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=y(a):(b=u.createElementNS(R,"rect"),g(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,b){var h=this,k=h.element;e&&"click"=== a?(k.ontouchstart=function(a){h.touchEventFired=Date.now();a.preventDefault();b.call(k,a)},k.onclick=function(a){(-1===N.navigator.userAgent.indexOf("Android")||1100<Date.now()-(h.touchEventFired||0))&&b.call(k,a)}):k["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})}, invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,h=this.scaleX,y=this.scaleY,e=this.inverted,c=this.rotation,q=this.matrix,m=this.element;e&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];r(q)&&a.push("matrix("+q.join(",")+")");e?a.push("rotate(90) scale(-1,1)"):c&&a.push("rotate("+c+" "+k(this.rotationOriginX,m.getAttribute("x"),0)+" "+k(this.rotationOriginY,m.getAttribute("y")||0)+")");(r(h)|| r(y))&&a.push("scale("+k(h,1)+" "+k(y,1)+")");a.length&&m.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,h,y){var e,c,m,M,f={};c=this.renderer;m=c.alignedObjects;var d,l;if(a){if(this.alignOptions=a,this.alignByTranslate=h,!y||q(y))this.alignTo=e=y||"renderer",b(m,this),m.push(this),y=null}else a=this.alignOptions,h=this.alignByTranslate,e=this.alignTo;y=k(y,c[e],c);e=a.align;c=a.verticalAlign;m=(y.x||0)+(a.x|| 0);M=(y.y||0)+(a.y||0);"right"===e?d=1:"center"===e&&(d=2);d&&(m+=(y.width-(a.width||0))/d);f[h?"translateX":"x"]=Math.round(m);"bottom"===c?l=1:"middle"===c&&(l=2);l&&(M+=(y.height-(a.height||0))/l);f[h?"translateY":"y"]=Math.round(M);this[this.placed?"animate":"attr"](f);this.placed=!0;this.alignAttr=f;return this},getBBox:function(a,b){var h,y=this.renderer,e,c=this.element,q=this.styles,M,d=this.textStr,n,K=y.cache,D=y.cacheKeys,C=c.namespaceURI===this.SVG_NS,G;b=k(b,this.rotation);e=b*f;M=c&& B.prototype.getStyle.call(c,"font-size");r(d)&&(G=d.toString(),-1===G.indexOf("\x3c")&&(G=G.replace(/[0-9]/g,"0")),G+=["",b||0,M,this.textWidth,q&&q.textOverflow].join());G&&!a&&(h=K[G]);if(!h){if(C||y.forExport){try{(n=this.fakeTS&&function(a){l(c.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&n("none"),h=c.getBBox?m({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight},n&&n("")}catch(X){}if(!h||0>h.width)h={width:0,height:0}}else h=this.htmlGetBBox();y.isSVG&& (a=h.width,y=h.height,C&&(h.height=y={"11px,17":14,"13px,20":16}[q&&q.fontSize+","+Math.round(y)]||y),b&&(h.width=Math.abs(y*Math.sin(e))+Math.abs(a*Math.cos(e)),h.height=Math.abs(y*Math.cos(e))+Math.abs(a*Math.sin(e))));if(G&&0<h.height){for(;250<D.length;)delete K[D.shift()];K[G]||D.push(G);K[G]=h}}return h},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a|| 150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,h=this.element,k;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)k=this.zIndexSetter();k||(a?a.element:b.box).appendChild(h);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,h=a.element||{},k=a.renderer.isSVG&&"SPAN"===h.nodeName&&a.parentGroup, y=h.ownerSVGElement,e=a.clipPath;h.onclick=h.onmouseout=h.onmouseover=h.onmousemove=h.point=null;K(a);e&&y&&(l(y.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),h=e.element.id;(-1<b.indexOf("(#"+h+")")||-1<b.indexOf('("#'+h+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=e.destroy());if(a.stops){for(y=0;y<a.stops.length;y++)a.stops[y]=a.stops[y].destroy();a.stops=null}for(a.safeRemoveChild(h);k&&k.div&&0===k.div.childNodes.length;)h=k.parentGroup,a.safeRemoveChild(k.div), delete k.div,k=h;a.alignTo&&b(a.renderer.alignedObjects,a);J(a,function(b,h){delete a[h]});return null},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=k(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,h){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(h.setAttribute(b,a), this[b]=a)},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,h){this[b]=a;h.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=u.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(u.createTextNode(String(k(a),"").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g, "\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,h){"string"===typeof a?h.setAttribute(b,a):a&&this.complexColor(a,b,h)},visibilitySetter:function(a,b,h){"inherit"===a?h.removeAttribute(b):this[b]!==a&&h.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var h=this.renderer,k=this.parentGroup,e=(k||h).element||h.box,c,q=this.element,m,f,h=e===h.box;c=this.added;var d;r(a)?(q.setAttribute("data-z-index", a),a=+a,this[b]===a&&(c=!1)):r(this[b])&&q.removeAttribute("data-z-index");this[b]=a;if(c){(a=this.zIndex)&&k&&(k.handleZ=!0);b=e.childNodes;for(d=b.length-1;0<=d&&!m;d--)if(k=b[d],c=k.getAttribute("data-z-index"),f=!r(c),k!==q)if(0>a&&f&&!h&&!d)e.insertBefore(q,b[d]),m=!0;else if(y(c)<=a||f&&(!r(a)||0<=a))e.insertBefore(q,b[d+1]||null),m=!0;m||(e.insertBefore(q,b[h?3:0]||null),m=!0)}return m},_defaultSetter:function(a,b,h){h.setAttribute(b,a)}});B.prototype.yGetter=B.prototype.xGetter;B.prototype.translateXSetter= B.prototype.translateYSetter=B.prototype.rotationSetter=B.prototype.verticalAlignSetter=B.prototype.rotationOriginXSetter=B.prototype.rotationOriginYSetter=B.prototype.scaleXSetter=B.prototype.scaleYSetter=B.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};E=a.SVGRenderer=function(){this.init.apply(this,arguments)};m(E.prototype,{Element:B,SVG_NS:R,init:function(a,b,h,k,y,e){var c;k=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});c=k.element;a.appendChild(c); g(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&g(c,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=c;this.boxWrapper=k;this.alignedObjects=[];this.url=(H||C)&&u.getElementsByTagName("base").length?N.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(u.createTextNode("Created with Highcharts 6.2.0"));this.defs=this.createElement("defs").add();this.allowHTML=e;this.forExport=y;this.gradients={}; this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,h,!1);var q;H&&a.getBoundingClientRect&&(b=function(){x(a,{left:0,top:0});q=a.getBoundingClientRect();x(a,{left:Math.ceil(q.left)-q.left+"px",top:Math.ceil(q.top)-q.top+"px"})},b(),this.unSubPixelFix=F(N,"resize",b))},definition:function(a){function b(a,y){var e;l(h(a),function(a){var h=k.createElement(a.tagName),c={};J(a,function(a,b){"tagName"!==b&&"children"!==b&&"textContent"!==b&&(c[b]=a)});h.attr(c);h.add(y||k.defs);a.textContent&& h.element.appendChild(u.createTextNode(a.textContent));b(a.children||[],h);e=h});return e}var k=this;return b(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();c(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:I,getRadialAttr:function(a, b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},truncate:function(a,b,h,k,y,e,c){var q=this,m=a.rotation,f,d=k?1:0,l=(h||k).length,n=l,K=[],G=function(a){b.firstChild&&b.removeChild(b.firstChild);a&&b.appendChild(u.createTextNode(a))},D=function(e,m){m=m||e;if(void 0===K[m])if(b.getSubStringLength)try{K[m]=y+b.getSubStringLength(0,k?m+1:m)}catch(Y){}else q.getSpanWidth&&(G(c(h||k,e)),K[m]=y+q.getSpanWidth(a,b));return K[m]},C,w;a.rotation=0;C=D(b.textContent.length);if(w= y+C>e){for(;d<=l;)n=Math.ceil((d+l)/2),k&&(f=c(k,n)),C=D(n,f&&f.length-1),d===l?d=l+1:C>e?l=n-1:d=n;0===l?G(""):h&&l===h.length-1||G(f||c(h||k,n))}k&&k.splice(0,n);a.actualWidth=C;a.rotation=m;return w},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,h=this,e=h.forExport,c=k(a.textStr,"").toString(),q=-1!==c.indexOf("\x3c"),m=b.childNodes,f,d=g(b,"x"),K=a.styles,G=a.textWidth,C=K&&K.lineHeight,w=K&&K.textOutline,O= K&&"ellipsis"===K.textOverflow,z=K&&"nowrap"===K.whiteSpace,r=K&&K.fontSize,A,I,H=m.length,K=G&&!a.added&&this.box,M=function(a){return C?y(C):h.fontMetrics(void 0,a.getAttribute("style")?a:b).h},v=function(a,b){J(h.escapes,function(h,k){b&&-1!==D(h,b)||(a=a.toString().replace(new RegExp(h,"g"),k))});return a},t=function(a,b){var h;h=a.indexOf("\x3c");a=a.substring(h,a.indexOf("\x3e")-h);h=a.indexOf(b+"\x3d");if(-1!==h&&(h=h+b.length+1,b=a.charAt(h),'"'===b||"'"===b))return a=a.substring(h+1),a.substring(0, a.indexOf(b))};A=[c,O,z,C,w,r,G].join();if(A!==a.textCache){for(a.textCache=A;H--;)b.removeChild(m[H]);q||w||O||G||-1!==c.indexOf(" ")?(K&&K.appendChild(b),c=q?c.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[c],c=n(c,function(a){return""!==a}),l(c,function(k,y){var c,q=0,m=0;k=k.replace(/^\s+|\s+$/g,"").replace(/<span/g, "|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");c=k.split("|||");l(c,function(k){if(""!==k||1===c.length){var K={},l=u.createElementNS(h.SVG_NS,"tspan"),n,C;(n=t(k,"class"))&&g(l,"class",n);if(n=t(k,"style"))n=n.replace(/(;| |^)color([ :])/,"$1fill$2"),g(l,"style",n);(C=t(k,"href"))&&!e&&(g(l,"onclick",'location.href\x3d"'+C+'"'),g(l,"class","highcharts-anchor"));k=v(k.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==k){l.appendChild(u.createTextNode(k));q?K.dx=0:y&&null!==d&&(K.x=d);g(l, K);b.appendChild(l);!q&&I&&(!T&&e&&x(l,{display:"block"}),g(l,"dy",M(l)));if(G){var D=k.replace(/([^\^])-/g,"$1- ").split(" "),K=!z&&(1<c.length||y||1<D.length);C=0;var w=M(l);if(O)f=h.truncate(a,l,k,void 0,0,Math.max(0,G-parseInt(r||12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(K)for(;D.length;)D.length&&!z&&0<C&&(l=u.createElementNS(R,"tspan"),g(l,{dy:w,x:d}),n&&g(l,"style",n),l.appendChild(u.createTextNode(D.join(" ").replace(/- /g,"-"))),b.appendChild(l)),h.truncate(a,l,null, D,0===C?m:0,G,function(a,b){return D.slice(0,b).join(" ").replace(/- /g,"-")}),m=a.actualWidth,C++}q++}}});I=I||b.childNodes.length}),O&&f&&a.attr("title",v(a.textStr,["\x26lt;","\x26gt;"])),K&&K.removeChild(b),w&&a.applyTextOutline&&a.applyTextOutline(w)):b.appendChild(u.createTextNode(v(c)))}},getContrast:function(a){a=t(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,h,k,y,e,c,q,m){var f=this.label(a,b,h,m,null,null,null,null,"button"),d=0; f.attr(G({padding:8,r:2},y));F(f.element,A?"mouseover":"mouseenter",function(){3!==d&&f.setState(1)});F(f.element,A?"mouseout":"mouseleave",function(){3!==d&&f.setState(d)});f.setState=function(a){1!==a&&(f.state=d=a);f.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0])};return f.on("click",function(a){3!==d&&k.call(f,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&& (a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b={};w(a)?b.d=a:z(a)&&m(b,a);return this.createElement("path").attr(b)},circle:function(a,b,h){a=z(a)?a:{x:a,y:b,r:h};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,h){h.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,h,k,y,e){z(a)?(k=a,b=k.y,h=k.r,a=k.x):k={innerR:k,start:y,end:e};a=this.symbol("arc",a,b,h,h,k);a.r=h;return a},rect:function(a,b,h,k,y,e){y=z(a)?a.r:y;e=this.createElement("rect");a=z(a)?a: void 0===a?{}:{x:a,y:b,width:Math.max(h,0),height:Math.max(k,0)};y&&(a.r=y);e.rSetter=function(a,b,h){g(h,{rx:a,ry:a})};return e.attr(a)},setSize:function(a,b,h){var y=this.alignedObjects,e=y.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(h,!0)?void 0:0});e--;)y[e].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a, b,h,k,y,e){var c={preserveAspectRatio:"none"},q,f=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",b)},d=function(b){f(q.element,a);e.call(q,b)};1<arguments.length&&m(c,{x:b,y:h,width:k,height:y});q=this.createElement("image").attr(c);e?(f(q.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),c=new N.Image,F(c,"load",d),c.src=a,c.complete&&d({})):f(q.element,a);return q},symbol:function(a, b,h,y,e,c){var q=this,f,K=/^url\((.*?)\)$/,n=K.test(a),C=!n&&(this.symbols[a]?a:"circle"),G=C&&this.symbols[C],D=r(b)&&G&&G.call(this.symbols,Math.round(b),Math.round(h),y,e,c),w,O;G?(f=this.path(D),m(f,{symbolName:C,x:b,y:h,width:y,height:e}),c&&m(f,c)):n&&(w=a.match(K)[1],f=this.image(w),f.imgwidth=k(Q[w]&&Q[w].width,c&&c.width),f.imgheight=k(Q[w]&&Q[w].height,c&&c.height),O=function(){f.attr({width:f.width,height:f.height})},l(["width","height"],function(a){f[a+"Setter"]=function(a,b){var h={}, k=this["img"+b],y="width"===b?"translateX":"translateY";this[b]=a;r(k)&&(this.element&&this.element.setAttribute(b,k),this.alignByTranslate||(h[y]=((this[b]||0)-k)/2,this.attr(h)))}}),r(b)&&f.attr({x:b,y:h}),f.isImg=!0,r(f.imgwidth)&&r(f.imgheight)?O():(f.attr({width:0,height:0}),v("img",{onload:function(){var a=d[q.chartIndex];0===this.width&&(x(this,{position:"absolute",top:"-999em"}),u.body.appendChild(this));Q[w]={width:this.width,height:this.height};f.imgwidth=this.width;f.imgheight=this.height; f.element&&O();this.parentNode&&this.parentNode.removeChild(this);q.imgCount--;if(!q.imgCount&&a&&a.onload)a.onload()},src:w}),this.imgCount++));return f},symbols:{circle:function(a,b,h,k){return this.arc(a+h/2,b+k/2,h/2,k/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,h,k){return["M",a,b,"L",a+h,b,a+h,b+k,a,b+k,"Z"]},triangle:function(a,b,h,k){return["M",a+h/2,b,"L",a+h,b+k,a,b+k,"Z"]},"triangle-down":function(a,b,h,k){return["M",a,b,"L",a+h,b,a+h/2,b+k,"Z"]},diamond:function(a,b,h,k){return["M", a+h/2,b,"L",a+h,b+k/2,a+h/2,b+k,a,b+k/2,"Z"]},arc:function(a,b,h,y,e){var c=e.start,q=e.r||h,f=e.r||y||h,m=e.end-.001;h=e.innerR;y=k(e.open,.001>Math.abs(e.end-e.start-2*Math.PI));var d=Math.cos(c),l=Math.sin(c),K=Math.cos(m),m=Math.sin(m);e=.001>e.end-c-Math.PI?0:1;q=["M",a+q*d,b+f*l,"A",q,f,0,e,1,a+q*K,b+f*m];r(h)&&q.push(y?"M":"L",a+h*K,b+h*m,"A",h,h,0,e,0,a+h*d,b+h*l);q.push(y?"":"Z");return q},callout:function(a,b,h,k,y){var e=Math.min(y&&y.r||0,h,k),c=e+6,q=y&&y.anchorX;y=y&&y.anchorY;var f; f=["M",a+e,b,"L",a+h-e,b,"C",a+h,b,a+h,b,a+h,b+e,"L",a+h,b+k-e,"C",a+h,b+k,a+h,b+k,a+h-e,b+k,"L",a+e,b+k,"C",a,b+k,a,b+k,a,b+k-e,"L",a,b+e,"C",a,b,a,b,a+e,b];q&&q>h?y>b+c&&y<b+k-c?f.splice(13,3,"L",a+h,y-6,a+h+6,y,a+h,y+6,a+h,b+k-e):f.splice(13,3,"L",a+h,k/2,q,y,a+h,k/2,a+h,b+k-e):q&&0>q?y>b+c&&y<b+k-c?f.splice(33,3,"L",a,y+6,a-6,y,a,y-6,a,b+e):f.splice(33,3,"L",a,k/2,q,y,a,k/2,a,b+e):y&&y>k&&q>a+c&&q<a+h-c?f.splice(23,3,"L",q+6,b+k,q,b+k+6,q-6,b+k,a+e,b+k):y&&0>y&&q>a+c&&q<a+h-c&&f.splice(3,3,"L", q-6,b,q,b-6,q+6,b,h-e,b);return f}},clipRect:function(b,h,k,y){var e=a.uniqueKey(),c=this.createElement("clipPath").attr({id:e}).add(this.defs);b=this.rect(b,h,k,y,0).add(c);b.id=e;b.clipPath=c;b.count=0;return b},text:function(a,b,h,k){var y={};if(k&&(this.allowHTML||!this.forExport))return this.html(a,b,h);y.x=Math.round(b||0);h&&(y.y=Math.round(h));r(a)&&(y.text=a);a=this.createElement("text").attr(y);k||(a.xSetter=function(a,b,h){var k=h.getElementsByTagName("tspan"),y,e=h.getAttribute(b),c;for(c= 0;c<k.length;c++)y=k[c],y.getAttribute(b)===e&&y.setAttribute(b,a);h.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=b&&B.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?y(a):/em/.test(a)?parseFloat(a)*(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,h){var k=a;b&&h&&(k=Math.max(k*Math.cos(b*f),4));return{x:-a/3*Math.sin(b*f),y:k}},label:function(b,h,k,y,e,c,q,f,d){var K=this,n=K.g("button"!==d&&"label"), C=n.text=K.text("",0,0,q).attr({zIndex:1}),D,w,u=0,z=3,g=0,A,I,T,x,H,v={},J,R=/^url\((.*?)\)$/.test(y),t=R,p,Q,N,M;d&&n.addClass("highcharts-"+d);t=!0;p=function(){return D.strokeWidth()%2/2};Q=function(){var a=C.element.style,b={};w=(void 0===A||void 0===I||H)&&r(C.textStr)&&C.getBBox();n.width=(A||w.width||0)+2*z+g;n.height=(I||w.height||0)+2*z;J=z+K.fontMetrics(a&&a.fontSize,C).b;t&&(D||(n.box=D=K.symbols[y]||R?K.symbol(y):K.rect(),D.addClass(("button"===d?"":"highcharts-label-box")+(d?" highcharts-"+ d+"-box":"")),D.add(n),a=p(),b.x=a,b.y=(f?-J:0)+a),b.width=Math.round(n.width),b.height=Math.round(n.height),D.attr(m(b,v)),v={})};N=function(){var a=g+z,b;b=f?0:J;r(A)&&w&&("center"===H||"right"===H)&&(a+={center:.5,right:1}[H]*(A-w.width));if(a!==C.x||b!==C.y)C.attr("x",a),C.hasBoxWidthChanged&&(w=C.getBBox(!0),Q()),void 0!==b&&C.attr("y",b);C.x=a;C.y=b};M=function(a,b){D?D.attr(a,b):v[a]=b};n.onAdd=function(){C.add(n);n.attr({text:b||0===b?b:"",x:h,y:k});D&&r(e)&&n.attr({anchorX:e,anchorY:c})}; n.widthSetter=function(b){A=a.isNumber(b)?b:null};n.heightSetter=function(a){I=a};n["text-alignSetter"]=function(a){H=a};n.paddingSetter=function(a){r(a)&&a!==z&&(z=n.padding=a,N())};n.paddingLeftSetter=function(a){r(a)&&a!==g&&(g=a,N())};n.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==u&&(u=a,w&&n.attr({x:T}))};n.textSetter=function(a){void 0!==a&&C.textSetter(a);Q();N()};n["stroke-widthSetter"]=function(a,b){a&&(t=!0);this["stroke-width"]=a;M(b,a)};n.rSetter=function(a,b){M(b,a)}; n.anchorXSetter=function(a,b){e=n.anchorX=a;M(b,Math.round(a)-p()-T)};n.anchorYSetter=function(a,b){c=n.anchorY=a;M(b,a-x)};n.xSetter=function(a){n.x=a;u&&(a-=u*((A||w.width)+2*z),n["forceAnimate:x"]=!0);T=Math.round(a);n.attr("translateX",T)};n.ySetter=function(a){x=n.y=Math.round(a);n.attr("translateY",x)};var V=n.css;return m(n,{css:function(a){if(a){var b={};a=G(a);l(n.textProps,function(h){void 0!==a[h]&&(b[h]=a[h],delete a[h])});C.css(b);"width"in b&&Q()}return V.call(n,a)},getBBox:function(){return{width:w.width+ 2*z,height:w.height+2*z,x:w.x-z,y:w.y-z}},destroy:function(){O(n.element,"mouseenter");O(n.element,"mouseleave");C&&(C=C.destroy());D&&(D=D.destroy());B.prototype.destroy.call(n);n=K=Q=N=M=null}})}});a.Renderer=E})(L);(function(a){var B=a.attr,E=a.createElement,F=a.css,p=a.defined,g=a.each,d=a.extend,t=a.isFirefox,x=a.isMS,v=a.isWebKit,r=a.pick,f=a.pInt,c=a.SVGRenderer,u=a.win,l=a.wrap;d(a.SVGElement.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,c=r(b&&a.width, void 0);b&&(delete a.width,this.textWidth=c,this.htmlUpdateTransform());a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=d(this.styles,a);F(this.element,a);return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,c=this.x||0,e=this.y||0,d=this.textAlign||"left",l={left:0,center:.5,right:1}[d],u=this.styles, r=u&&u.whiteSpace;F(b,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&g(b.childNodes,function(e){a.invertChild(e,b)});if("SPAN"===b.tagName){var u=this.rotation,z=this.textWidth&&f(this.textWidth),q=[u,d,b.innerHTML,this.textWidth,this.textAlign].join(),C;(C=z!==this.oldTextWidth)&&!(C=z>this.oldTextWidth)&&((C=this.textPxLength)||(F(b,{width:"",whiteSpace:r||"nowrap"}),C=b.offsetWidth),C=C>z);C&&/[ \-]/.test(b.textContent||b.innerText)?(F(b,{width:z+"px",display:"block", whiteSpace:r||"normal"}),this.oldTextWidth=z,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;q!==this.cTT&&(r=a.fontMetrics(b.style.fontSize).b,!p(u)||u===(this.oldRotation||0)&&d===this.oldAlign||this.setSpanRotation(u,l,r),this.getSpanCorrection(!p(u)&&this.textPxLength||b.offsetWidth,r,l,u,d));F(b,{left:c+(this.xCorr||0)+"px",top:e+(this.yCorr||0)+"px"});this.cTT=q;this.oldRotation=u;this.oldAlign=d}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var e={},f=this.renderer.getTransformKey(); e[f]=e.transform="rotate("+a+"deg)";e[f+(t?"Origin":"-origin")]=e.transformOrigin=100*b+"% "+c+"px";F(this.element,e)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});d(c.prototype,{getTransformKey:function(){return x&&!/Edge/.test(u.navigator.userAgent)?"-ms-transform":v?"-webkit-transform":t?"MozTransform":u.opera?"-o-transform":""},html:function(a,b,c){var e=this.createElement("span"),f=e.element,n=e.renderer,m=n.isSVG,u=function(a,b){g(["opacity","visibility"],function(e){l(a, e+"Setter",function(a,e,c,k){a.call(this,e,c,k);b[c]=e})});a.addedSetters=!0};e.textSetter=function(a){a!==f.innerHTML&&delete this.bBox;this.textStr=a;f.innerHTML=r(a,"");e.doTransform=!0};m&&u(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=e.rotationSetter=function(a,b){"align"===b&&(b="textAlign");e[b]=a;e.doTransform=!0};e.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};e.attr({text:a,x:Math.round(b),y:Math.round(c)}).css({position:"absolute"}); f.style.whiteSpace="nowrap";e.css=e.htmlCss;m&&(e.add=function(a){var b,c=n.box.parentNode,m=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)m.push(a),a=a.parentGroup;g(m.reverse(),function(a){function q(b,h){a[h]=b;"translateX"===h?k.left=b+"px":k.top=b+"px";a.doTransform=!0}var k,y=B(a.element,"class");y&&(y={className:y});b=a.div=a.div||E("div",y,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents}, b||c);k=b.style;d(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){m[0].div&&e.on.apply({element:m[0].div},arguments);return a},translateXSetter:q,translateYSetter:q});a.addedSetters||u(a,k)})}}else b=c;b.appendChild(f);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e}})})(L);(function(a){var B=a.defined,E=a.each,F=a.extend,p=a.merge,g=a.pick,d=a.timeUnits,t=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype= {defaultOptions:{},update:function(a){var d=g(a&&a.useUTC,!0),r=this;this.options=a=p(!0,this.options||{},a);this.Date=a.Date||t.Date;this.timezoneOffset=(this.useUTC=d)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(d&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,c){var f=c.getTime(),d=f-r.getTimezoneOffset(c);c.setTime(d);a=c["getUTC"+a]();c.setTime(f);return a},this.set=function(a,c,d){var f;if("Milliseconds"===a|| "Seconds"===a||"Minutes"===a&&0===c.getTimezoneOffset()%60)c["set"+a](d);else f=r.getTimezoneOffset(c),f=c.getTime()-f,c.setTime(f),c["setUTC"+a](d),a=r.getTimezoneOffset(c),f=c.getTime()+a,c.setTime(f)}):d?(this.get=function(a,c){return c["getUTC"+a]()},this.set=function(a,c,d){return c["setUTC"+a](d)}):(this.get=function(a,c){return c["get"+a]()},this.set=function(a,c,d){return c["set"+a](d)})},makeTime:function(d,v,r,f,c,u){var l,m,b;this.useUTC?(l=this.Date.UTC.apply(0,arguments),m=this.getTimezoneOffset(l), l+=m,b=this.getTimezoneOffset(l),m!==b?l+=b-m:m-36E5!==this.getTimezoneOffset(l-36E5)||a.isSafari||(l-=36E5)):l=(new this.Date(d,v,g(r,1),g(f,0),g(c,0),g(u,0))).getTime();return l},timezoneOffsetFunction:function(){var d=this,g=this.options,r=t.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(g.timezone){if(r)return function(a){return 6E4*-r.tz(a,g.timezone).utcOffset()};a.error(25)}return this.useUTC&&g.getTimezoneOffset?function(a){return 6E4*g.getTimezoneOffset(a)}: function(){return 6E4*(d.timezoneOffset||0)}},dateFormat:function(d,g,r){if(!a.defined(g)||isNaN(g))return a.defaultOptions.lang.invalidDate||"";d=a.pick(d,"%Y-%m-%d %H:%M:%S");var f=this,c=new this.Date(g),u=this.get("Hours",c),l=this.get("Day",c),m=this.get("Date",c),b=this.get("Month",c),n=this.get("FullYear",c),e=a.defaultOptions.lang,D=e.weekdays,w=e.shortWeekdays,x=a.pad,c=a.extend({a:w?w[l]:D[l].substr(0,3),A:D[l],d:x(m),e:x(m,2," "),w:l,b:e.shortMonths[b],B:e.months[b],m:x(b+1),o:b+1,y:n.toString().substr(2, 2),Y:n,H:x(u),k:u,I:x(u%12||12),l:u%12||12,M:x(f.get("Minutes",c)),p:12>u?"AM":"PM",P:12>u?"am":"pm",S:x(c.getSeconds()),L:x(Math.floor(g%1E3),3)},a.dateFormats);a.objectEach(c,function(a,b){for(;-1!==d.indexOf("%"+b);)d=d.replace("%"+b,"function"===typeof a?a.call(f,g):a)});return r?d.substr(0,1).toUpperCase()+d.substr(1):d},resolveDTLFormat:function(d){return a.isObject(d,!0)?d:(d=a.splat(d),{main:d[0],from:d[1],to:d[2]})},getTimeTicks:function(a,v,r,f){var c=this,u=[],l,m={},b;l=new c.Date(v); var n=a.unitRange,e=a.count||1,D;f=g(f,1);if(B(v)){c.set("Milliseconds",l,n>=d.second?0:e*Math.floor(c.get("Milliseconds",l)/e));n>=d.second&&c.set("Seconds",l,n>=d.minute?0:e*Math.floor(c.get("Seconds",l)/e));n>=d.minute&&c.set("Minutes",l,n>=d.hour?0:e*Math.floor(c.get("Minutes",l)/e));n>=d.hour&&c.set("Hours",l,n>=d.day?0:e*Math.floor(c.get("Hours",l)/e));n>=d.day&&c.set("Date",l,n>=d.month?1:e*Math.floor(c.get("Date",l)/e));n>=d.month&&(c.set("Month",l,n>=d.year?0:e*Math.floor(c.get("Month",l)/ e)),b=c.get("FullYear",l));n>=d.year&&c.set("FullYear",l,b-b%e);n===d.week&&(b=c.get("Day",l),c.set("Date",l,c.get("Date",l)-b+f+(b<f?-7:0)));b=c.get("FullYear",l);f=c.get("Month",l);var w=c.get("Date",l),x=c.get("Hours",l);v=l.getTime();c.variableTimezone&&(D=r-v>4*d.month||c.getTimezoneOffset(v)!==c.getTimezoneOffset(r));v=l.getTime();for(l=1;v<r;)u.push(v),v=n===d.year?c.makeTime(b+l*e,0):n===d.month?c.makeTime(b,f+l*e):!D||n!==d.day&&n!==d.week?D&&n===d.hour&&1<e?c.makeTime(b,f,w,x+l*e):v+n*e: c.makeTime(b,f,w+l*e*(n===d.day?1:7)),l++;u.push(v);n<=d.hour&&1E4>u.length&&E(u,function(a){0===a%18E5&&"000000000"===c.dateFormat("%H%M%S%L",a)&&(m[a]="day")})}u.info=F(a,{higherRanks:m,totalRange:n*e});return u}}})(L);(function(a){var B=a.merge;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null},title:{text:"Chart title",align:"center",margin:15, widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{}},loading:{},tooltip:{enabled:!0,animation:a.svg,borderRadius:3, dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cspan class\x3d"highcharts-strong"\x3e{point.y}\x3c/span\x3e\x3cbr/\x3e'}, credits:{enabled:!0,href:"https://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(E){a.defaultOptions=B(!0,a.defaultOptions,E);a.time.update(B(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions}